Mini Ichigo Llama3.2 3B S Instruct
Llama-3アーキテクチャに基づくマルチモーダル言語モデルで、音声とテキスト入力の理解をネイティブにサポートし、大規模言語モデルの音声理解能力向上に焦点を当てています。
ダウンロード数 14
リリース時間 : 10/8/2024
モデル概要
このシリーズモデルはWhisperVQを音声ファイルトークナイザーとして使用し、音声セマンティックトークン実験を拡張、英語言語処理をサポートします。
モデル特徴
マルチモーダル入力サポート
音声とテキストのデュアルモーダル入力をネイティブにサポートし、音声ファイル変換のセマンティックトークンを処理可能。
効率的な音声処理
WhisperVQ音声トークナイザーを統合し、効率的な音声特徴抽出と変換を実現。
指示ファインチューニング最適化
約10億トークンの指示音声データセットを使用してファインチューニングを行い、音声理解能力を最適化。
モデル能力
音声理解
テキスト生成
マルチモーダル推論
指示追従
使用事例
音声インタラクション研究
音声指示理解
音声入力を含む複雑な指示を解析・実行
AudioBench評価で3.68点(GPT-4-Oスコア基準)を達成
教育技術
言語学習支援
音声入力を通じてリアルタイムの言語学習フィードバックを提供
🚀 Ichigo-llama3s
Homebrew Researchによって開発された、音声とテキスト入力をネイティブに理解するモデルファミリーです。研究用途に最適で、音声理解能力を向上させます。
🚀 クイックスタート
このモデルをGoogle Colab Notebookを使って試すことができます。
まず、音声ファイルを音声トークンに変換する必要があります。
device = "cuda" if torch.cuda.is_available() else "cpu"
if not os.path.exists("whisper-vq-stoks-medium-en+pl-fixed.model"):
hf_hub_download(
repo_id="jan-hq/WhisperVQ",
filename="whisper-vq-stoks-medium-en+pl-fixed.model",
local_dir=".",
)
vq_model = RQBottleneckTransformer.load_model(
"whisper-vq-stoks-medium-en+pl-fixed.model"
).to(device)
vq_model.ensure_whisper(device)
def audio_to_sound_tokens(audio_path, target_bandwidth=1.5, device=device):
wav, sr = torchaudio.load(audio_path)
if sr != 16000:
wav = torchaudio.functional.resample(wav, sr, 16000)
with torch.no_grad():
codes = vq_model.encode_audio(wav.to(device))
codes = codes[0].cpu().tolist()
result = ''.join(f'<|sound_{num:04d}|>' for num in codes)
return f'<|sound_start|>{result}<|sound_end|>'
次に、他のLLMと同じようにモデルを推論することができます。
def setup_pipeline(model_path, use_4bit=False, use_8bit=False):
tokenizer = AutoTokenizer.from_pretrained(model_path)
model_kwargs = {"device_map": "auto"}
if use_4bit:
model_kwargs["quantization_config"] = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
)
elif use_8bit:
model_kwargs["quantization_config"] = BitsAndBytesConfig(
load_in_8bit=True,
bnb_8bit_compute_dtype=torch.bfloat16,
bnb_8bit_use_double_quant=True,
)
else:
model_kwargs["torch_dtype"] = torch.bfloat16
model = AutoModelForCausalLM.from_pretrained(model_path, **model_kwargs)
return pipeline("text-generation", model=model, tokenizer=tokenizer)
def generate_text(pipe, messages, max_new_tokens=64, temperature=0.0, do_sample=False):
generation_args = {
"max_new_tokens": max_new_tokens,
"return_full_text": False,
"temperature": temperature,
"do_sample": do_sample,
}
output = pipe(messages, **generation_args)
return output[0]['generated_text']
# Usage
llm_path = "homebrewltd/llama3.1-s-instruct-v0.2"
pipe = setup_pipeline(llm_path, use_8bit=True)
✨ 主な機能
- 音声とテキストの入力をネイティブに理解することができます。
- 音声理解能力を向上させるために設計されています。
- 研究用途に最適です。
📦 インストール
このモデルを使用するには、上記のクイックスタートセクションに記載されている手順に従ってください。
💻 使用例
基本的な使用法
device = "cuda" if torch.cuda.is_available() else "cpu"
if not os.path.exists("whisper-vq-stoks-medium-en+pl-fixed.model"):
hf_hub_download(
repo_id="jan-hq/WhisperVQ",
filename="whisper-vq-stoks-medium-en+pl-fixed.model",
local_dir=".",
)
vq_model = RQBottleneckTransformer.load_model(
"whisper-vq-stoks-medium-en+pl-fixed.model"
).to(device)
vq_model.ensure_whisper(device)
def audio_to_sound_tokens(audio_path, target_bandwidth=1.5, device=device):
wav, sr = torchaudio.load(audio_path)
if sr != 16000:
wav = torchaudio.functional.resample(wav, sr, 16000)
with torch.no_grad():
codes = vq_model.encode_audio(wav.to(device))
codes = codes[0].cpu().tolist()
result = ''.join(f'<|sound_{num:04d}|>' for num in codes)
return f'<|sound_start|>{result}<|sound_end|>'
高度な使用法
def setup_pipeline(model_path, use_4bit=False, use_8bit=False):
tokenizer = AutoTokenizer.from_pretrained(model_path)
model_kwargs = {"device_map": "auto"}
if use_4bit:
model_kwargs["quantization_config"] = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
)
elif use_8bit:
model_kwargs["quantization_config"] = BitsAndBytesConfig(
load_in_8bit=True,
bnb_8bit_compute_dtype=torch.bfloat16,
bnb_8bit_use_double_quant=True,
)
else:
model_kwargs["torch_dtype"] = torch.bfloat16
model = AutoModelForCausalLM.from_pretrained(model_path, **model_kwargs)
return pipeline("text-generation", model=model, tokenizer=tokenizer)
def generate_text(pipe, messages, max_new_tokens=64, temperature=0.0, do_sample=False):
generation_args = {
"max_new_tokens": max_new_tokens,
"return_full_text": False,
"temperature": temperature,
"do_sample": do_sample,
}
output = pipe(messages, **generation_args)
return output[0]['generated_text']
# Usage
llm_path = "homebrewltd/llama3.1-s-instruct-v0.2"
pipe = setup_pipeline(llm_path, use_8bit=True)
📚 ドキュメント
モデルの詳細
Homebrew Researchによって開発およびリリースされたIchigo-llama3sファミリーは、音声とテキストの入力をネイティブに理解することができます。
このファミリーでは、homebrewltd/mini-Ichigo-llama3.2-3B-s-baseから、Instruction Speech WhisperVQ v3データセットの約10億トークンを使用して、WhisperVQを音声ファイルのトークナイザーとして使用するセマンティックトークン実験を拡張しています。
属性 | 详情 |
---|---|
モデル開発者 | Homebrew Research |
入力 | テキストと音声 |
出力 | テキスト |
モデルアーキテクチャ | Llama-3 |
言語 | 英語 |
想定される用途
このファミリーは主に研究用途を想定しています。このバージョンは、LLMの音声理解能力をさらに向上させることを目的としています。
想定外の用途
法令に違反する方法でllama3-sを使用することは、厳格に禁止されています。
🔧 技術詳細
トレーニングプロセス
トレーニングメトリクス画像
以下は、トレーニング損失曲線を視覚化したスナップショットです。
MMLU
モデル | MMLUスコア |
---|---|
llama3.1-instruct-8b | 69.40 |
ichigo-llama3.1-s-v0.3: phase 3 | 63.79 |
ichigo-llama3.1-s-v0.3: phase 2 | 63.08 |
ichigo-llama3.1-s-base-v0.3 | 42.11 |
mini-ichigo-llama3.2-3B-s-instruct | 58.60 |
mini-ichigo-llama3.2-3B-s-base | 59.61 |
llama3.1-s-instruct-v0.2 | 50.27 |
AudioBench評価
モデルベンチ | Open-hermes Instruction Audio (GPT-4-O judge 0:5) | Alpaca Instruction Audio (GPT-4-O judge 0:5) |
---|---|---|
Llama3.1-s-v2 | 3.45 | 3.53 |
Ichigo-llama3.1-s v0.3-phase2 -cp7000 | 3.42 | 3.62 |
Ichigo-llama3.1-s v0.3-phase2-cplast | 3.31 | 3.6 |
Ichigo-llama3.1-s v0.3-phase3 | 3.64 | 3.68 |
mini-Ichigo-llama3.2-3B-s-instruct | 2.58 | 2.07 |
Qwen2-audio-7B | 2.63 | 2.24 |
ハードウェア
- GPU構成: 10台のNVIDIA A6000-48GBのクラスター
- GPU使用時間: 微調整に12時間
トレーニング引数
最新のFSDP2トレーニングコード実装には、torchtuneライブラリを使用しています。
パラメータ | 命令微調整 |
---|---|
エポック | 1 |
グローバルバッチサイズ | 360 |
学習率 | 7e-5 |
学習スケジューラー | ウォームアップ付きLambdaLR |
オプティマイザー | Adam torch fused |
ウォームアップ比率 | 0.01 |
重み減衰 | 0.005 |
最大シーケンス長 | 4096 |
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
引用情報
BibTeX:
@article{Llama3-S: Sound Instruction Language Model 2024,
title={Llama3-S},
author={Homebrew Research},
year=2024,
month=August},
url={https://huggingface.co/homebrewltd/llama3.1-s-2024-08-20}
謝辞
Phi 4 Multimodal Instruct
MIT
Phi-4-multimodal-instructは、軽量でオープンソースのマルチモーダル基盤モデルで、Phi-3.5と4.0モデルの言語、視覚、音声研究データを統合しています。テキスト、画像、音声入力をサポートし、テキスト出力を生成し、128Kトークンのコンテキスト長を備えています。
テキスト生成オーディオ
Transformers 複数言語対応

P
microsoft
584.02k
1,329
Ultravox V0 5 Llama 3 2 1b
MIT
UltravoxはLlama3.2-1BとWhisper-large-v3を基に構築されたマルチモーダル音声大規模言語モデルで、音声とテキスト入力を同時に処理できます。
テキスト生成オーディオ
Transformers 複数言語対応

U
fixie-ai
167.25k
21
Seamless M4t V2 Large
SeamlessM4T v2 は Facebook がリリースした大規模多言語マルチモーダル機械翻訳モデルで、約100言語の音声とテキスト翻訳をサポートしています。
テキスト生成オーディオ
Transformers 複数言語対応

S
facebook
64.59k
821
Ultravox V0 3
MIT
UltravoxはLlama3.1-8B-InstructとWhisper-smallを基に構築されたマルチモーダル音声大規模言語モデルで、音声とテキスト入力を同時に処理できます。
テキスト生成オーディオ
Transformers 英語

U
fixie-ai
48.30k
17
Ultravox V0 5 Llama 3 1 8b
MIT
UltravoxはLlama3.1-8B-Instructとwhisper-large-v3-turboを基に構築されたマルチモーダル音声大規模言語モデルで、音声とテキスト入力を同時に処理できます。
テキスト生成オーディオ
Transformers 複数言語対応

U
fixie-ai
17.86k
12
Hf Seamless M4t Medium
SeamlessM4Tは多言語翻訳モデルで、音声とテキストの入出力をサポートし、言語を超えたコミュニケーションを実現します。
テキスト生成オーディオ
Transformers

H
facebook
14.74k
30
Granite Speech 3.3 8b
Apache-2.0
自動音声認識(ASR)と自動音声翻訳(AST)向けに設計されたコンパクトで効率的な音声言語モデル。オーディオとテキストを二段階で処理する設計
テキスト生成オーディオ
Transformers 英語

G
ibm-granite
5,532
35
Voila Tokenizer
MIT
Voilaは人間と機械のインタラクション体験を向上させるために設計された大規模な音声-言語基盤モデルシリーズで、様々な音声タスクと言語をサポートします。
テキスト生成オーディオ
Transformers 複数言語対応

V
maitrix-org
4,912
3
Hf Seamless M4t Large
SeamlessM4Tは、多言語音声・テキスト翻訳をサポートする統一モデルで、音声から音声、音声からテキスト、テキストから音声、テキストからテキストへの翻訳タスクを実現できます。
テキスト生成オーディオ
Transformers

H
facebook
4,648
57
Minicpm O 2 6 Int4
MiniCPM-o 2.6のint4量子化バージョンで、GPUのVRAM使用量を大幅に削減し、マルチモーダル処理能力をサポートします。
テキスト生成オーディオ
Transformers その他

M
openbmb
4,249
42
おすすめAIモデル
Llama 3 Typhoon V1.5x 8b Instruct
タイ語専用に設計された80億パラメータの命令モデルで、GPT-3.5-turboに匹敵する性能を持ち、アプリケーションシナリオ、検索拡張生成、制限付き生成、推論タスクを最適化
大規模言語モデル
Transformers 複数言語対応

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-TinyはSODAデータセットでトレーニングされた超小型対話モデルで、エッジデバイス推論向けに設計されており、体積はCosmo-3Bモデルの約2%です。
対話システム
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
RoBERTaアーキテクチャに基づく中国語抽出型QAモデルで、与えられたテキストから回答を抽出するタスクに適しています。
質問応答システム 中国語
R
uer
2,694
98