🚀 Ultravox模型卡
Ultravox是一个多模态语音大语言模型(LLM),它基于预训练的Mistral - Nemo - Instruct - 2407和whisper - large - v3 - turbo主干构建。
请访问https://ultravox.ai查看GitHub仓库和更多信息。
🚀 快速开始
你可以将该模型视为一个也能“听”懂语音的大语言模型。因此,它可以用作语音代理,还能进行语音到语音的翻译、对语音音频进行分析等。
使用该模型,可尝试以下代码:
import transformers
import numpy as np
import librosa
pipe = transformers.pipeline(model='fixie-ai/ultravox-v0_4_1-mistral-nemo', 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)
✨ 主要特性
- 支持多种语言,包括阿拉伯语(ar)、德语(de)、英语(en)、西班牙语(es)、法语(fr)、印地语(hi)、意大利语(it)、日语(ja)、荷兰语(nl)、葡萄牙语(pt)、俄语(ru)、瑞典语(sv)、土耳其语(tr)、乌克兰语(uk)和中文(zh)。
- 能够同时处理语音和文本输入,例如文本系统提示和语音用户消息。
📚 详细文档
模型详情
模型描述
Ultravox是一个多模态模型,它可以同时接受语音和文本作为输入(例如,一个文本系统提示和一个语音用户消息)。模型的输入是一个带有特殊 <|audio|>
伪标记的文本提示,模型处理器会用从输入音频中提取的嵌入替换这个特殊标记。以合并后的嵌入作为输入,模型将像往常一样生成输出文本。
在Ultravox的未来版本中,我们计划扩展标记词汇表,以支持生成语义和声学音频标记,然后将这些标记输入到声码器中以产生语音输出。此版本的模型尚未进行偏好调整。
模型来源
- 仓库:https://ultravox.ai
- 演示:请查看仓库
训练详情
训练数据
训练数据集是自动语音识别(ASR)数据集的混合体,其中扩展了由Mistral Nemo生成的后续内容,以及语音翻译数据集,这在翻译评估中带来了适度的改进。
训练过程
通过知识蒸馏进行有监督的语音指令微调。更多信息,请参阅Ultravox仓库中的训练代码。
训练超参数
- 训练机制:BF16混合精度训练
- 使用的硬件:8个H100 GPU
速度、大小、时间
当前版本的Ultravox在处理音频内容时,当使用带有Mistral Nemo主干的A100 - 40GB GPU时,首次生成标记的时间(TTFT)约为150毫秒,每秒生成标记的速率约为50 - 100。
请查看TheFastest.ai上的音频页面,了解每日基准测试以及与其他现有模型的比较。
评估
|
Ultravox 0.4.1 Mistral Nemo |
英语 - 阿拉伯语(en_ar) |
10.36 |
英语 - 德语(en_de) |
28.39 |
西班牙语 - 英语(es_en) |
37.49 |
俄语 - 英语(ru_en) |
41.64 |
英语 - 加泰罗尼亚语(en_ca) |
26.85 |
中文 - 英语(zh_en) |
12.65 |
📄 许可证
本模型使用的许可证为MIT。