数据集:
- 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
支持语言:
- 阿拉伯语
- 德语
- 英语
- 西班牙语
- 法语
- 印地语
- 意大利语
- 日语
- 荷兰语
- 葡萄牙语
- 俄语
- 瑞典语
- 土耳其语
- 乌克兰语
- 中文
库名称: transformers
许可证: mit
评估指标:
- bleu
管道标签: 音频文本转文本
Ultravox模型卡
Ultravox是基于预训练模型Llama3.1-8B-Instruct和whisper-large-v3-turbo构建的多模态语音大语言模型。
更多信息请访问GitHub仓库:https://ultravox.ai
模型详情
模型描述
Ultravox是一个多模态模型,可以同时接收语音和文本输入(例如系统文本提示和用户语音消息)。模型输入采用包含特殊伪标记<|audio|>
的文本提示,模型处理器会将该标记替换为输入音频生成的嵌入向量。使用合并后的嵌入作为输入,模型将像常规情况一样生成文本输出。
在Ultravox的未来版本中,我们计划扩展标记词汇表以支持生成语义和声学音频标记,这些标记可输入声码器生成语音输出。当前版本尚未应用偏好调优。
模型来源
- 代码仓库: https://ultravox.ai
- 演示: 参见仓库
使用方式
可将该模型视为具备听觉和理解语音能力的LLM。因此它可用作语音代理,也可用于语音翻译、语音分析等场景。
使用方法示例:
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 = "<音频文件路径>"
audio, sr = librosa.load(path, sr=16000)
对话轮次 = [
{
"role": "system",
"content": "你是一个友善且乐于助人的角色,喜欢回答人们的问题。"
},
]
pipe({'audio': audio, 'turns': 对话轮次, 'sampling_rate': sr}, max_new_tokens=30)
训练详情
模型采用预训练的Llama3.1-8B-Instruct主干网络和whisper-large-v3-turbo的编码器部分。
仅训练多模态适配器,Whisper编码器和Llama保持冻结状态。
采用基于知识蒸馏的损失函数,使Ultravox尽可能匹配文本版Llama主干的逻辑输出。
训练数据
训练数据集混合了ASR数据集(通过Llama 3.1 8B生成扩展内容)和语音翻译数据集,后者在翻译评估中带来了适度提升。
训练流程
通过知识蒸馏进行有监督的语音指令微调。详见Ultravox仓库的训练代码。
训练超参数
- 训练模式: BF16混合精度训练
- 硬件配置: 8块H100 GPU
速度/规模/耗时
当前版本在使用A100-40GB GPU时,音频内容的首token延迟(TTFT)约150ms,token生成速度约50-100个/秒(基于Llama 3.1 8B主干)。
实时性能对比可查看TheFastest.ai音频榜单。
评估结果
|
Ultravox 0.4 8B |
Ultravox 0.4.1 8B |
英阿翻译 |
11.17 |
12.28 |
英德翻译 |
25.47 |
27.13 |
西英翻译 |
37.11 |
39.16 |
俄英翻译 |
38.96 |
39.65 |
英加翻译 |
27.46 |
29.94 |
中英翻译 |
10.08 |
14.55 |