🚀 Ultravox模型介绍
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)主干架构,能够同时处理语音和文本输入,为语音交互和处理提供了强大的支持。
支持语言
该模型支持以下语言:阿拉伯语、德语、英语、西班牙语、法语、印地语、意大利语、日语、荷兰语、葡萄牙语、俄语、瑞典语、土耳其语、乌克兰语、中文。
许可证
本模型采用MIT许可证。
依赖库
主要使用了transformers
库。
训练数据集
- 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
评估指标
使用BLEU指标进行评估。
模型类型
属于音频文本到文本的处理模型。
🚀 快速开始
模型概述
Ultravox是一个多模态模型,它可以同时接受语音和文本作为输入(例如,一个文本系统提示和一个语音用户消息)。模型的输入是一个带有特殊<|audio|>
伪标记的文本提示,模型处理器会用从输入音频中提取的嵌入替换这个特殊标记。然后,模型将使用合并后的嵌入作为输入,像普通的大语言模型一样生成输出文本。
在未来的版本中,我们计划扩展模型的词表,以支持生成语义和声学音频标记,这些标记可以被送入声码器以产生语音输出。目前这个版本的模型尚未进行偏好调整。
模型信息
属性 |
详情 |
开发团队 |
Fixie.ai |
许可证 |
MIT |
模型仓库 |
https://ultravox.ai |
演示地址 |
见仓库 |
💻 使用示例
基础用法
可以将该模型看作一个能够“听”和理解语音的大语言模型。因此,它可以用作语音代理,也可以进行语音到语音的翻译、语音音频分析等。
要使用该模型,可以尝试以下代码:
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)
🔧 技术细节
模型架构
该模型使用了预训练的[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)的编码器部分。在训练过程中,仅对多模态适配器进行训练,而Whisper编码器和Llama保持冻结状态。
训练数据
训练数据集是自动语音识别(ASR)数据集和语音翻译数据集的混合。其中,ASR数据集通过Llama 3.1 8B生成的延续内容进行了扩展,这在翻译评估中带来了一定的提升。
训练过程
通过知识蒸馏进行有监督的语音指令微调。更多详细信息,请参阅[Ultravox仓库中的训练代码](https://github.com/fixie - ai/ultravox/blob/main/ultravox/training/train.py)。
训练超参数
- 训练模式:BF16混合精度训练
- 硬件使用:8个H100 GPU
速度、大小和时间
当前版本的Ultravox在处理音频内容时,使用A100 - 40GB GPU和Llama 3.1 8B主干架构,首次生成标记的时间(TTFT)约为150毫秒,每秒生成标记的速率约为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 |
📄 许可证
本模型采用MIT许可证。