zqhuang commited on
Commit
38b1be3
·
verified ·
1 Parent(s): b110422

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +104 -157
README.md CHANGED
@@ -1,199 +1,146 @@
1
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  library_name: transformers
3
- tags: []
 
 
4
  ---
5
 
6
- # Model Card for Model ID
7
 
8
- <!-- Provide a quick summary of what the model is/does. -->
9
 
 
10
 
11
 
12
  ## Model Details
13
 
14
  ### Model Description
15
 
16
- <!-- Provide a longer summary of what this model is. -->
 
17
 
18
- This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
19
 
20
- - **Developed by:** [More Information Needed]
21
- - **Funded by [optional]:** [More Information Needed]
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 [optional]
29
 
30
- <!-- Provide the basic links for the model. -->
 
31
 
32
- - **Repository:** [More Information Needed]
33
- - **Paper [optional]:** [More Information Needed]
34
- - **Demo [optional]:** [More Information Needed]
35
 
36
- ## Uses
37
 
38
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
 
 
39
 
40
- ### Direct Use
 
 
41
 
42
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
43
 
44
- [More Information Needed]
 
45
 
46
- ### Downstream Use [optional]
47
 
48
- <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
 
 
 
 
 
 
 
49
 
50
- [More Information Needed]
51
 
52
- ### Out-of-Scope Use
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
- Use the code below to get started with the model.
73
 
74
- [More Information Needed]
75
 
76
- ## Training Details
77
 
78
  ### Training Data
79
 
80
- <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
81
-
82
- [More Information Needed]
83
 
84
  ### Training Procedure
85
 
86
- <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
87
-
88
- #### Preprocessing [optional]
89
-
90
- [More Information Needed]
91
 
92
 
93
  #### Training Hyperparameters
94
 
95
- - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
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
- <!-- This section describes the evaluation protocols and provides the results. -->
106
-
107
- ### Testing Data, Factors & Metrics
108
-
109
- #### Testing Data
110
-
111
- <!-- This should link to a Dataset Card if possible. -->
112
-
113
- [More Information Needed]
114
-
115
- #### Factors
116
-
117
- <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
118
-
119
- [More Information Needed]
120
-
121
- #### Metrics
122
-
123
- <!-- These are the evaluation metrics being used, ideally with a description of why. -->
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 |