🚀 Ultravox模型介紹
Ultravox是一個多模態語音大語言模型,它基於預訓練的[Llama3.1 - 8B - Instruct](https://huggingface.co/meta - llama/Meta - Llama - 3.1 - 8B)和[whisper - large - v3 - turbo](https://huggingface.co/openai/whisper - large - v3 - turbo)骨幹網絡構建。該模型能夠同時處理語音和文本輸入,具有廣泛的應用前景。更多信息請訪問GitHub倉庫。
📦 模型信息
屬性 |
詳情 |
數據集 |
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 |
支持語言 |
ar、de、en、es、fr、hi、it、ja、nl、pt、ru、sv、tr、uk、zh |
庫名稱 |
transformers |
許可證 |
MIT |
評估指標 |
bleu |
任務類型 |
音頻文本轉文本 |
📚 詳細文檔
✨ 模型描述
Ultravox是一個多模態模型,它可以同時接受語音和文本作為輸入(例如,文本系統提示和語音用戶消息)。模型的輸入是帶有特殊<|audio|>
偽令牌的文本提示,模型處理器會用從輸入音頻中提取的嵌入替換這個特殊令牌。然後,模型將使用合併後的嵌入作為輸入,像往常一樣生成輸出文本。
在未來的版本中,我們計劃擴展令牌詞彙表,以支持生成語義和聲學音頻令牌,這些令牌可以被輸入到聲碼器中以產生語音輸出。此版本的模型尚未進行偏好調整。
🌐 模型來源
- 倉庫地址:https://ultravox.ai
- 演示地址:見倉庫
💻 使用示例
基礎用法
可以將該模型視為一個還能“聽”和理解語音的大語言模型。因此,它可以用作語音代理,也可用於語音到語音的翻譯、語音音頻分析等。
要使用該模型,可以嘗試以下代碼:
import transformers
import numpy as np
import librosa
pipe = transformers.pipeline(model='fixie-ai/ultravox-v0_4_1-llama-3_1-8b', 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)
🔧 技術細節
📈 訓練數據
訓練數據集是自動語音識別(ASR)數據集和語音翻譯數據集的混合,其中ASR數據集通過Llama 3.1 8B生成的後續內容進行了擴展,這在翻譯評估中帶來了適度的提升。
🛠️ 訓練過程
通過知識蒸餾進行有監督的語音指令微調。更多信息,請參閱Ultravox倉庫中的訓練代碼。
訓練超參數
- 訓練模式:BF16混合精度訓練
- 使用的硬件:8個H100 GPU
速度、大小和時間
當前版本的Ultravox在處理音頻內容時,使用Llama 3.1 8B骨幹網絡和A100 - 40GB GPU,首次輸出令牌的時間(TTFT)約為150ms,每秒輸出令牌的速率約為50 - 100。
請查看TheFastest.ai的音頻標籤,瞭解每日基準測試以及與其他現有模型的比較。
📊 評估結果
|
Ultravox 0.4 8B |
Ultravox 0.4.1 8B |
en_ar |
11.17 |
12.28 |
en_de |
25.47 |
27.13 |
es_en |
37.11 |
39.16 |
ru_en |
38.96 |
39.65 |
en_ca |
27.46 |
29.94 |
zh_en |
10.08 |
14.55 |
📄 許可證
本模型使用的許可證為MIT。