File size: 4,197 Bytes
b110422
38b1be3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b110422
38b1be3
 
 
b110422
 
38b1be3
b110422
38b1be3
b110422
38b1be3
b110422
 
 
 
 
 
38b1be3
 
b110422
38b1be3
b110422
38b1be3
 
b110422
38b1be3
b110422
38b1be3
 
b110422
38b1be3
b110422
50735b6
b110422
 
38b1be3
b110422
38b1be3
b110422
38b1be3
b110422
38b1be3
b110422
 
 
38b1be3
b110422
 
 
38b1be3
b110422
 
 
 
38b1be3
 
b110422
 
 
a4d6b79
38b1be3
 
aec6738
dde1ba6
 
 
38b1be3
 
aec6738
 
dde1ba6
 
 
 
 
 
 
 
92a7961
463acde
3cab719
 
 
 
463acde
 
a849a09
3cab719
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
---
language:
- ar
- be
- bg
- bn
- cs
- cy
- da
- de
- el
- en
- es
- et
- fa
- fi
- fr
- gl
- hi
- hu
- it
- ja
- ka
- lt
- lv
- mk
- mr
- nl
- pl
- pt
- ro
- ru
- sk
- sl
- sr
- sv
- sw
- ta
- th
- tr
- uk
- ur
- vi
- zh
license: mit
library_name: transformers
metrics:
- bleu
pipeline_tag: audio-text-to-text
---

# Model Card for Ultravox

Ultravox is a multimodal Speech LLM built around a pretrained LLM (GLM 4.6 in this case) and a speech encoder ([whisper-large-v3-turbo](https://huggingface.co/openai/whisper-large-v3-turbo)) backbone.

See https://ultravox.ai for the GitHub repo and more information.


## Model Details

### Model Description

Ultravox is a multimodal model that can consume both speech and text as input (e.g., a text system prompt and voice user message). 
The input to the model is given as a text prompt with a special `<|audio|>` pseudo-token, and the model processor will replace this magic token with embeddings derived from the input audio. Using the merged embeddings as input, the model will then generate output text as usual. 

In the v0.7 series, the Ultravox model is trained on GLM 4.6, taking the lead on audio reasoning tasks over closed source models like gpt4o-audio, while retaining advantages in speech understanding from previous versions. 

- **Developed by:** Ultravox.ai
- **License:** MIT

### Model Sources

- **Repository:** https://ultravox.ai
- **Demo:** See repo

## Usage

Coming soon.


## Training Details

The model uses a pre-trained LLM (GLM, Llama, Gemma, Qwen, etc) backbone as well as the encoder part of [whisper-large-v3-turbo](https://huggingface.co/openai/whisper-large-v3-turbo).

The multi-modal adapter is trained, the Whisper encoder is fine-tuned, and the LLM is kept frozen.

We use a knowledge-distillation loss where Ultravox is trying to match the logits of the text-based LLM backbone.

### Training Data

The training dataset is a mix of ASR datasets, extended with continuations generated by Llama 3.1 8B, speech translation datasets, and noise datasets.

### Training Procedure

Supervised speech instruction finetuning via knowledge-distillation. For more info, see [training code in Ultravox repo](https://github.com/fixie-ai/ultravox/blob/main/ultravox/training/train.py).


#### Training Hyperparameters

- **Training regime:** BF16 mixed precision training
- **Hardware used:** 8x B200 GPUs

## Evaluation

Evaluations are conducted [big bench audio](https://huggingface.co/blog/big-bench-audio-release) (audio reasoning measured in accuracy), [VoiceBench](https://github.com/MatthewCYM/VoiceBench) (overall score averaged across multiple evaluations), as well as on covost2 (speech translation measured in BLEU), and LibriSpeech (speech recognition measured in WER).

### Audio Reasoning & General Understanding
| | **v0_7-glm-4_6 w/ reasoning** | **v0_7-glm-4_6 w/o reasoning** | v0_6-llama-3_3-70b | v0_6-gemma-3-27b | v0_6-qwen-3-32b | **gpt4o-audio** |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| **big bench audio** | **97.00** |  **91.80** | 85.48 | 83.84 | 84.22 | 82.80 |
| **voicebench overall** | **90.75** | **87.05** | 81.81 | – | – | 86.75 |


### Speech Translation & Recognition 
| | **v0_7-glm-4_6** | v0_6-llama-3_3-70b | v0_6-gemma-3-27b | v0_6-qwen-3-32b |
| --- | ---: | ---: | ---: | ---: |
| **covost2 en_ar** | **22.89** | 18.92 | 22.68 | 16.91 |
| **covost2 en_ca** | **41.48** | 38.73 | 39.67 | 33.63 |
| **covost2 en_de** | **35.44** | 33.69 | 34.76 | 31.09 |
| **covost2 es_en** | **42.88** | 41.39 | 41.11 | 41.20 |
| **covost2 ru_en** | **50.30** | 43.73 | 49.29 | 47.08 |
| **covost2 zh_en** | **23.85** | 17.81 | 20.88 | 22.24 |
| **librispeech** | **2.28** | 2.55 | 2.73 | 2.88 |

Note that custom system prompts are used with v0_7-glm-4_6 on VoiceBench and BigBenchAudio:
- BigBenchAudio in non-reasoning mode:
  ```
  You are a helpful assistant. Answer the question at the end of your response.
  ```
- VoiceBench in both reasoning and non-reasoning modes:
   ```
   You are a helpful assistant. When answering questions: For multiple choice questions (A/B/C/D options): End your response with "The answer is [X]" where X is the letter (A, B, C, or D)
   ```