Ultravox实时语音多模态大模型

MODEL ZOO Nov 16, 2024

Ultravox 是一种新型多模态 LLM,可以理解文本和人类语音,而无需单独的音频语音识别 (ASR) 阶段。

可以从Huggingface下载模型,源代码请访问Github

1、模型简介

基于 AudioLMSeamlessM4TGazelleSpeechGPT 等研究,Ultravox 能够使用多模态投影单元扩展任何开放权重 LLM,该投影单元将音频直接转换为 LLM 使用的高维空间。团队已经在 Llama 3、Mistral 和 Gemma 上训练了版本。这种直接耦合使 Ultravox 的响应速度比结合单独的 ASR 和 LLM 组件的系统快得多。在未来,这还将使 Ultravox 能够原生地理解人类语音中无处不在的时间和情感的副语言线索。

当前版本的 Ultravox (v0.4) 在调用音频内容时,第一个标记的时间 (TTFT) 约为 150 毫秒,使用 Llama 3.1 8B 主干的每秒标记速率约为 60。虽然速度很快,但团队认为这些数字还有很大的改进空间。

Ultravox 目前接收音频并发出流式文本。随着模型的发展,团队计划训练它能够发出语音标记流,然后可以通过适当的单元声码器将其直接转换为原始音频。

可以在官方演示页面上查看 Ultravox 的实际操作。

2、模型架构

3、使用方法

将该模型视为一个可以听到和理解语音的 LLM。因此,它可以用作语音代理,也可以进行语音到语音的翻译、口语音频分析等。

要使用该模型,请尝试以下操作:

# pip install transformers peft librosa

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>"  # TODO: pass the audio here
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)

4、性能评估

当前版本的 Ultravox 在调用音频内容时,第一个令牌时间 (TTFT) 约为 150 毫秒,使用 A100-40GB GPU 时令牌每秒速率约为 50-100,全部使用 Llama 3.1 8B 主干。

你可以查看 TheFastest.ai 上的音频选项卡,了解每日基准测试以及与其他现有模型的比较。

评估结果表:

en_de (BLEU) es_en (BLEU) LibriSpeech clean.test (WER)
Ultravox v0.3 22.66 24.74 6.67
Ultravox v0.4 25.47 37.11 4.45
Llama3.1(仅文本) 31.95 38.28 -

原文链接:Ultravox - A fast multimodal LLM for real-time voice

汇智网翻译整理, 转载请标明出处

Tags