🚀 Ultravox模型卡片
Ultravox是一個多模態語音大語言模型(LLM),它基於預訓練的Llama3.1 - 70B - Instruct和Whisper - medium骨幹架構構建。
請訪問https://ultravox.ai 查看GitHub倉庫和更多信息。
🚀 快速開始
將該模型視為一個還能“聽”懂語音的大語言模型(LLM)。因此,它可以用作語音代理,還能進行語音到語音的翻譯、語音音頻分析等。
要使用該模型,請嘗試以下操作:
import transformers
import numpy as np
import librosa
pipe = transformers.pipeline(model='fixie-ai/ultravox-v0_4', 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|>
偽標記的文本提示,模型處理器會用從輸入音頻中提取的嵌入向量替換這個特殊標記。以合併後的嵌入向量作為輸入,模型將像往常一樣生成輸出文本。
在Ultravox的未來版本中,我們計劃擴展詞表,以支持生成語義和聲學音頻標記,然後將這些標記輸入聲碼器以產生語音輸出。此版本的模型尚未進行偏好調優。
模型來源
- 倉庫:https://ultravox.ai
- 演示:請查看倉庫
訓練詳情
該模型使用預訓練的Llama3.1 - 70B - Instruct骨幹架構以及Whisper - medium的編碼器部分。
僅對多模態適配器進行訓練,而Whisper編碼器和Llama保持凍結狀態。
我們使用知識蒸餾損失,讓Ultravox嘗試匹配基於文本的Llama骨幹架構的對數幾率。
訓練數據
訓練數據集是由多個自動語音識別(ASR)數據集混合而成,並通過添加由Llama 3.1 70B生成的“延續內容”進行擴展。
訓練過程
有監督的語音到音頻微調。更多信息,請參閱Ultravox倉庫中的訓練代碼。
訓練超參數
- 訓練機制:BF16混合精度訓練
- 使用的硬件:8塊H100 GPU
速度、大小、時間
當前版本的Ultravox在處理音頻內容時,使用Llama 3.1 70B骨幹架構和4塊H100 SXM GPU,首次輸出標記時間(TTFT)約為400毫秒,每秒輸出標記速率約為50 - 100。
請訪問TheFastest.ai的音頻頁面,查看每日基準測試以及與其他現有模型的比較。
評估
|
英語到德語 (BLEU) |
西班牙語到英語 (BLEU) |
LibriSpeech clean.test (WER) |
Ultravox v0.3 |
22.66 |
24.74 |
6.67 |
Ultravox v0.4 8B |
25.47 |
37.11 |
4.45 |
Ultravox v0.4 70B |
30.30 |
39.55 |
4.49 |
Llama3.1 8B(僅文本) |
32.59 |
44.62 |
- |
Llama3.1 70B(僅文本) |
38.76 |
46.39 |
- |
其他信息
屬性 |
詳情 |
支持語言 |
英語、阿拉伯語、德語、西班牙語、法語、意大利語、日語、葡萄牙語、俄語 |
模型類型 |
多模態語音大語言模型 |
訓練數據集 |
fixie - ai/librispeech_asr、fixie - ai/common_voice_17_0、fixie - ai/peoples_speech、fnlp/AnyInstruct |
評估指標 |
BLEU |
任務類型 |
音頻文本到文本 |
📄 許可證
本模型使用MIT許可證。