🚀 クイックスタート
Ultravoxは、事前学習された[Llama3.1 - 70B - Instruct](https://huggingface.co/meta - llama/Llama - 3.1 - 70B - Instruct)と[whisper - large - v3 - turbo](https://huggingface.co/openai/whisper - large - v3 - turbo)をバックボーンとして構築されたマルチモーダルな音声LLMです。GitHubリポジトリや詳細情報については、https://ultravox.ai を参照してください。
✨ 主な機能
Ultravoxは、音声とテキストの両方を入力として受け取ることができるマルチモーダルモデルです。入力は特殊な<|audio|>
疑似トークンを含むテキストプロンプトとして与えられ、モデルプロセッサはこのマジックトークンを入力音声から導出された埋め込みで置き換えます。そして、モデルは通常通り出力テキストを生成します。将来的には、トークンボキャブラリを拡張して、音声出力を生成できるようにする予定です。
📦 インストール
モデルを使用するには、以下のコマンドで必要なライブラリをインストールします。
💻 使用例
基本的な使用法
import transformers
import numpy as np
import librosa
pipe = transformers.pipeline(model='fixie-ai/ultravox-v0_4_1-llama-3_1-70b', trust_remote_code=True)
path = "<path-to-input-audio>"
audio, sr = librosa.load(path, sr=16000)
turns = [
{
"role": "system",
"content": "You are a friendly and helpful character. You love to answer questions for people."
},
]
pipe({'audio': audio, 'turns': turns, 'sampling_rate': sr}, max_new_tokens=30)
📚 ドキュメント
モデルの詳細
モデルの説明
Ultravoxは、音声とテキストの両方を入力として受け取ることができるマルチモーダルモデルです。入力は特殊な<|audio|>
疑似トークンを含むテキストプロンプトとして与えられ、モデルプロセッサはこのマジックトークンを入力音声から導出された埋め込みで置き換えます。そして、モデルは通常通り出力テキストを生成します。将来的なバージョンでは、トークンボキャブラリを拡張して、音声出力を生成できるようにする予定です。このバージョンのモデルには、嗜好調整は適用されていません。
モデルのソース
- リポジトリ: https://ultravox.ai
- デモ: リポジトリを参照
トレーニングの詳細
トレーニングデータ
トレーニングデータセットは、ASRデータセットと、Llama 3.1 8Bによって生成された続きで拡張されたデータ、および音声翻訳データセットの混合です。これにより、翻訳評価で若干の改善が見られます。
トレーニング手順
知識蒸留を通じた教師付き音声命令微調整です。詳細については、[Ultravoxリポジトリのトレーニングコード](https://github.com/fixie - ai/ultravox/blob/main/ultravox/training/train.py)を参照してください。
トレーニングハイパーパラメータ
- トレーニング方式: BF16混合精度トレーニング
- 使用ハードウェア: 8x H100 GPU
速度、サイズ、時間
現在のバージョンのUltravoxは、音声コンテンツを入力した場合、A100 - 40GB GPUを使用し、Llama 3.1 8Bバックボーンを使用すると、最初のトークンまでの時間(TTFT)は約150ms、1秒あたりのトークン生成速度は約50 - 100です。TheFastest.aiの音声タブで、毎日のベンチマークと他の既存モデルとの比較を確認できます。
評価
|
Ultravox 0.4 70B |
Ultravox 0.4.1 70B |
en_ar |
14.97 |
19.64 |
en_de |
30.30 |
32.47 |
es_en |
39.55 |
40.76 |
ru_en |
44.16 |
45.07 |
en_ca |
35.02 |
37.58 |
zh_en |
12.16 |
17.98 |
🔧 技術詳細
Ultravoxは、事前学習された[Llama3.1 - 70B - Instruct](https://huggingface.co/meta - llama/Llama - 3.1 - 70B - Instruct)と[whisper - large - v3 - turbo](https://huggingface.co/openai/whisper - large - v3 - turbo)をバックボーンとして使用しています。モデルには特殊な<|audio|>
疑似トークンを含むテキストプロンプトを入力し、モデルプロセッサがこのトークンを入力音声から導出された埋め込みで置き換えます。トレーニングでは、知識蒸留損失を使用して、UltravoxがテキストベースのLlamaバックボーンのロジットに一致するようにしています。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
サポート言語
- ar
- de
- en
- es
- fr
- hi
- it
- ja
- nl
- pt
- ru
- sv
- tr
- uk
- zh
使用データセット
- fixie - ai/librispeech_asr
- fixie - ai/common_voice_17_0
- fixie - ai/peoples_speech
- fixie - ai/gigaspeech
- fixie - ai/multilingual_librispeech
- fixie - ai/wenetspeech
- fixie - ai/covost2
評価指標
パイプラインタグ
audio - text - to - text