Instructions to use fixie-ai/ultravox-v0_7-glm-4_6 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use fixie-ai/ultravox-v0_7-glm-4_6 with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("fixie-ai/ultravox-v0_7-glm-4_6", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,199 +1,146 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
library_name: transformers
|
| 3 |
-
|
|
|
|
|
|
|
| 4 |
---
|
| 5 |
|
| 6 |
-
# Model Card for
|
| 7 |
|
| 8 |
-
|
| 9 |
|
|
|
|
| 10 |
|
| 11 |
|
| 12 |
## Model Details
|
| 13 |
|
| 14 |
### Model Description
|
| 15 |
|
| 16 |
-
|
|
|
|
| 17 |
|
| 18 |
-
|
| 19 |
|
| 20 |
-
- **Developed by:**
|
| 21 |
-
- **
|
| 22 |
-
- **Shared by [optional]:** [More Information Needed]
|
| 23 |
-
- **Model type:** [More Information Needed]
|
| 24 |
-
- **Language(s) (NLP):** [More Information Needed]
|
| 25 |
-
- **License:** [More Information Needed]
|
| 26 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
| 27 |
|
| 28 |
-
### Model Sources
|
| 29 |
|
| 30 |
-
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
-
- **Paper [optional]:** [More Information Needed]
|
| 34 |
-
- **Demo [optional]:** [More Information Needed]
|
| 35 |
|
| 36 |
-
|
| 37 |
|
| 38 |
-
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
|
|
|
|
|
|
|
| 41 |
|
| 42 |
-
|
| 43 |
|
| 44 |
-
|
|
|
|
| 45 |
|
| 46 |
-
### Downstream Use [optional]
|
| 47 |
|
| 48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
|
| 50 |
-
[More Information Needed]
|
| 51 |
|
| 52 |
-
##
|
| 53 |
-
|
| 54 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
| 55 |
-
|
| 56 |
-
[More Information Needed]
|
| 57 |
-
|
| 58 |
-
## Bias, Risks, and Limitations
|
| 59 |
-
|
| 60 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
| 61 |
-
|
| 62 |
-
[More Information Needed]
|
| 63 |
-
|
| 64 |
-
### Recommendations
|
| 65 |
-
|
| 66 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 67 |
-
|
| 68 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 69 |
-
|
| 70 |
-
## How to Get Started with the Model
|
| 71 |
|
| 72 |
-
|
| 73 |
|
| 74 |
-
|
| 75 |
|
| 76 |
-
|
| 77 |
|
| 78 |
### Training Data
|
| 79 |
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
[More Information Needed]
|
| 83 |
|
| 84 |
### Training Procedure
|
| 85 |
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
#### Preprocessing [optional]
|
| 89 |
-
|
| 90 |
-
[More Information Needed]
|
| 91 |
|
| 92 |
|
| 93 |
#### Training Hyperparameters
|
| 94 |
|
| 95 |
-
- **Training regime:**
|
| 96 |
-
|
| 97 |
-
#### Speeds, Sizes, Times [optional]
|
| 98 |
-
|
| 99 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 100 |
-
|
| 101 |
-
[More Information Needed]
|
| 102 |
|
| 103 |
## Evaluation
|
| 104 |
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
###
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
[More Information Needed]
|
| 126 |
-
|
| 127 |
-
### Results
|
| 128 |
-
|
| 129 |
-
[More Information Needed]
|
| 130 |
-
|
| 131 |
-
#### Summary
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
## Model Examination [optional]
|
| 136 |
-
|
| 137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 138 |
-
|
| 139 |
-
[More Information Needed]
|
| 140 |
-
|
| 141 |
-
## Environmental Impact
|
| 142 |
-
|
| 143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 144 |
-
|
| 145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 146 |
-
|
| 147 |
-
- **Hardware Type:** [More Information Needed]
|
| 148 |
-
- **Hours used:** [More Information Needed]
|
| 149 |
-
- **Cloud Provider:** [More Information Needed]
|
| 150 |
-
- **Compute Region:** [More Information Needed]
|
| 151 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 152 |
-
|
| 153 |
-
## Technical Specifications [optional]
|
| 154 |
-
|
| 155 |
-
### Model Architecture and Objective
|
| 156 |
-
|
| 157 |
-
[More Information Needed]
|
| 158 |
-
|
| 159 |
-
### Compute Infrastructure
|
| 160 |
-
|
| 161 |
-
[More Information Needed]
|
| 162 |
-
|
| 163 |
-
#### Hardware
|
| 164 |
-
|
| 165 |
-
[More Information Needed]
|
| 166 |
-
|
| 167 |
-
#### Software
|
| 168 |
-
|
| 169 |
-
[More Information Needed]
|
| 170 |
-
|
| 171 |
-
## Citation [optional]
|
| 172 |
-
|
| 173 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 174 |
-
|
| 175 |
-
**BibTeX:**
|
| 176 |
-
|
| 177 |
-
[More Information Needed]
|
| 178 |
-
|
| 179 |
-
**APA:**
|
| 180 |
-
|
| 181 |
-
[More Information Needed]
|
| 182 |
-
|
| 183 |
-
## Glossary [optional]
|
| 184 |
-
|
| 185 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 186 |
-
|
| 187 |
-
[More Information Needed]
|
| 188 |
-
|
| 189 |
-
## More Information [optional]
|
| 190 |
-
|
| 191 |
-
[More Information Needed]
|
| 192 |
-
|
| 193 |
-
## Model Card Authors [optional]
|
| 194 |
-
|
| 195 |
-
[More Information Needed]
|
| 196 |
-
|
| 197 |
-
## Model Card Contact
|
| 198 |
-
|
| 199 |
-
[More Information Needed]
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- ar
|
| 4 |
+
- be
|
| 5 |
+
- bg
|
| 6 |
+
- bn
|
| 7 |
+
- cs
|
| 8 |
+
- cy
|
| 9 |
+
- da
|
| 10 |
+
- de
|
| 11 |
+
- el
|
| 12 |
+
- en
|
| 13 |
+
- es
|
| 14 |
+
- et
|
| 15 |
+
- fa
|
| 16 |
+
- fi
|
| 17 |
+
- fr
|
| 18 |
+
- gl
|
| 19 |
+
- hi
|
| 20 |
+
- hu
|
| 21 |
+
- it
|
| 22 |
+
- ja
|
| 23 |
+
- ka
|
| 24 |
+
- lt
|
| 25 |
+
- lv
|
| 26 |
+
- mk
|
| 27 |
+
- mr
|
| 28 |
+
- nl
|
| 29 |
+
- pl
|
| 30 |
+
- pt
|
| 31 |
+
- ro
|
| 32 |
+
- ru
|
| 33 |
+
- sk
|
| 34 |
+
- sl
|
| 35 |
+
- sr
|
| 36 |
+
- sv
|
| 37 |
+
- sw
|
| 38 |
+
- ta
|
| 39 |
+
- th
|
| 40 |
+
- tr
|
| 41 |
+
- uk
|
| 42 |
+
- ur
|
| 43 |
+
- vi
|
| 44 |
+
- zh
|
| 45 |
+
license: mit
|
| 46 |
library_name: transformers
|
| 47 |
+
metrics:
|
| 48 |
+
- bleu
|
| 49 |
+
pipeline_tag: audio-text-to-text
|
| 50 |
---
|
| 51 |
|
| 52 |
+
# Model Card for Ultravox
|
| 53 |
|
| 54 |
+
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.
|
| 55 |
|
| 56 |
+
See https://ultravox.ai for the GitHub repo and more information.
|
| 57 |
|
| 58 |
|
| 59 |
## Model Details
|
| 60 |
|
| 61 |
### Model Description
|
| 62 |
|
| 63 |
+
Ultravox is a multimodal model that can consume both speech and text as input (e.g., a text system prompt and voice user message).
|
| 64 |
+
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.
|
| 65 |
|
| 66 |
+
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.
|
| 67 |
|
| 68 |
+
- **Developed by:** Ultravox.ai
|
| 69 |
+
- **License:** MIT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
|
| 71 |
+
### Model Sources
|
| 72 |
|
| 73 |
+
- **Repository:** https://ultravox.ai
|
| 74 |
+
- **Demo:** See repo
|
| 75 |
|
| 76 |
+
## Usage
|
|
|
|
|
|
|
| 77 |
|
| 78 |
+
Think of the model as an LLM that can also hear and understand speech. As such, it can be used as a voice agent, and also to do speech-to-speech translation, analysis of spoken audio, etc.
|
| 79 |
|
| 80 |
+
To use the model, try the following:
|
| 81 |
+
```python
|
| 82 |
+
# pip install transformers peft librosa
|
| 83 |
|
| 84 |
+
import transformers
|
| 85 |
+
import numpy as np
|
| 86 |
+
import librosa
|
| 87 |
|
| 88 |
+
pipe = transformers.pipeline(model='model_placeholder', trust_remote_code=True)
|
| 89 |
|
| 90 |
+
path = "<path-to-input-audio>" # TODO: pass the audio here
|
| 91 |
+
audio, sr = librosa.load(path, sr=16000)
|
| 92 |
|
|
|
|
| 93 |
|
| 94 |
+
turns = [
|
| 95 |
+
{
|
| 96 |
+
"role": "system",
|
| 97 |
+
"content": "You are a friendly and helpful character. You love to answer questions for people."
|
| 98 |
+
},
|
| 99 |
+
]
|
| 100 |
+
pipe({'audio': audio, 'turns': turns, 'sampling_rate': sr}, max_new_tokens=30)
|
| 101 |
+
```
|
| 102 |
|
|
|
|
| 103 |
|
| 104 |
+
## Training Details
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
|
| 106 |
+
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).
|
| 107 |
|
| 108 |
+
The multi-modal adapter is trained, the Whisper encoder is fine-tuned, and the LLM is kept frozen.
|
| 109 |
|
| 110 |
+
We use a knowledge-distillation loss where Ultravox is trying to match the logits of the text-based LLM backbone.
|
| 111 |
|
| 112 |
### Training Data
|
| 113 |
|
| 114 |
+
The training dataset is a mix of ASR datasets, extended with continuations generated by Llama 3.1 8B, speech translation datasets, and noise datasets.
|
|
|
|
|
|
|
| 115 |
|
| 116 |
### Training Procedure
|
| 117 |
|
| 118 |
+
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
|
| 120 |
|
| 121 |
#### Training Hyperparameters
|
| 122 |
|
| 123 |
+
- **Training regime:** BF16 mixed precision training
|
| 124 |
+
- **Hardware used:** 8x B200 GPUs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
|
| 126 |
## Evaluation
|
| 127 |
|
| 128 |
+
Evaluations are conducted on covost2 (speech translation measured in BLEU), big bench audio (audio reasoning measured in accuracy), as well as [VoiceBench](https://github.com/MatthewCYM/VoiceBench) .
|
| 129 |
+
|
| 130 |
+
### Audio Reasoning & General Understanding
|
| 131 |
+
| | **v0_7-glm (reasoning / no reasoning)** | v0_6-llama-3_3-70b | v0_6-gemma-3-27b | **gpt4o-audio** |
|
| 132 |
+
| --- | ---: | ---: | ---: | ---: |
|
| 133 |
+
| **big bench audio** | **97.00 / 91.80** | 85.48 | 83.84 | 82.80 |
|
| 134 |
+
| **voicebench overall** | **90.75 / 87.05** | 81.81 | – | 86.75 |
|
| 135 |
+
|
| 136 |
+
|
| 137 |
+
### Speech Understanding
|
| 138 |
+
| | **v0_7-glm** | v0_6-llama-3_1-8b | v0_6-llama-3_3-70b | v0_6-gemma-3-27b | v0_6-qwen-3-32b |
|
| 139 |
+
| --- | ---: | ---: | ---: | ---: | ---: |
|
| 140 |
+
| **covost2 en_ar** | **22.89** | 12.94 | 18.92 | 22.68 | 16.91 |
|
| 141 |
+
| **covost2 en_ca** | **41.48** | 31.47 | 38.73 | 39.67 | 33.63 |
|
| 142 |
+
| **covost2 en_de** | **35.44** | 28.66 | 33.69 | 34.76 | 31.09 |
|
| 143 |
+
| **covost2 es_en** | **42.88** | 40.36 | 41.39 | 41.11 | 41.20 |
|
| 144 |
+
| **covost2 ru_en** | **50.30** | 42.41 | 43.73 | 49.29 | 47.08 |
|
| 145 |
+
| **covost2 zh_en** | **23.85** | 17.24 | 17.81 | 20.88 | 22.24 |
|
| 146 |
+
| **librispeech (WER)** | 2.28 | **2.09** | 2.55 | 2.73 | 2.88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|