Adding `safetensors` variant of this model
#1
by SFconvertbot - opened
- .gitattributes +0 -1
- README.md +3 -105
- config.json +26 -104
- generation_config.json +7 -0
- hibiki-pytorch-77f82164@110.safetensors +0 -3
- merges.txt +0 -0
- mimi-pytorch-e351c8d8@125.safetensors → model.safetensors +2 -2
- tokenizer_spm_48k_multi6_2.model → pytorch_model.bin +2 -2
- special_tokens_map.json +1 -0
- tokenizer_config.json +1 -0
- vocab.json +0 -0
.gitattributes
CHANGED
|
@@ -33,4 +33,3 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
-
*.gguf filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
README.md
CHANGED
|
@@ -1,105 +1,3 @@
|
|
| 1 |
-
---
|
| 2 |
-
|
| 3 |
-
-
|
| 4 |
-
- es
|
| 5 |
-
- pt
|
| 6 |
-
- de
|
| 7 |
-
- en
|
| 8 |
-
metrics:
|
| 9 |
-
- bleu
|
| 10 |
-
- comet
|
| 11 |
-
base_model:
|
| 12 |
-
- kyutai/hibiki-zero-3b-pytorch-bf16
|
| 13 |
-
pipeline_tag: audio-to-audio
|
| 14 |
-
---
|
| 15 |
-
# Hibiki-Zero
|
| 16 |
-
|
| 17 |
-
[Hibiki-Zero](https://github.com/kyutai-labs/hibiki-zero) is a model for **simultaneous speech translation**. Traditional approaches for building simultaneous translation systems rely on supervised training with word-level aligned data between the source and the target content. Hibiki-Zero eliminates the need for word-level alignments entirely so that it fundamentally simplifies the training pipeline and enables **seamless scaling to multiple languages** with varying grammatical structures.
|
| 18 |
-
|
| 19 |
-
Hibiki-Zero supports translation from 🇫🇷 French, 🇪🇸 Spanish, 🇵🇹 Portuguese and 🇩🇪 German to 🇬🇧 English. At inference, Hibiki-Zero **adapts its flow** to accumulate just enough context so that it produces a real-time and natural speech translation with voice transfer along with a text translation. Hibiki-Zero can also be **adapted to a new input language with less than 1000h of speech data**.
|
| 20 |
-
|
| 21 |
-
---
|
| 22 |
-
|
| 23 |
-
## Model Details
|
| 24 |
-
|
| 25 |
-
This is the model simply referred to as *Hibiki-Zero* in our [paper][paper], a 3B-parameter hierarchical Transformer producing speech and text tokens at a framerate of 12.5Hz, with audio being generated at a 2.2kbps bitrate.
|
| 26 |
-
|
| 27 |
-
### Model Description
|
| 28 |
-
|
| 29 |
-
Hibiki-Zero is a decoder-only model that can receive and generate audio tokens produced by the the streaming neural audio codec [Mimi](https://huggingface.co/kyutai/mimi). It leverages the same **multistream** architecture as [Moshi](https://arxiv.org/abs/2410.00037) or [Hibiki](https://arxiv.org/abs/2502.03382) to model source and target speech jointly. This allows Hibiki-Zero to continuously process the input stream while generating the target speech and text tokens at a constant framerate of 12.5Hz producing a **continuous output audio stream**, along with timestamped text translation. Hibiki-Zero consist of a main backbone of 3 billion parameters.
|
| 30 |
-
|
| 31 |
-
At inference, Hibiki-Zero continuously encodes the input user speech and produces **real-time speech and text translation**. Our model relies on simple temperature sampling and is thus compatible with batching unlike models using complex inference policies. It is also possible to run **batched inference 3x faster than real-time** on a single H100 GPU as demonstrated by our [inference code](https://github.com/kyutai-labs/hibiki-zero). Hibiki-Zero only supports a single speaker in a single language per session. However, it shows zero-shot capabilities for translation with voice transfer of multiple speakers with different languages in the same audio.
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
- **Developed by:** Kyutai
|
| 35 |
-
- **Model type:** Simultaneous speech-to-speech and speech-to-text translation.
|
| 36 |
-
- **Languages:** {French,Spanish,Portuguese,German}-to-English
|
| 37 |
-
- **License:** CC BY-NC-SA 4.0
|
| 38 |
-
|
| 39 |
-
### Model Sources
|
| 40 |
-
|
| 41 |
-
- **Paper:** [Simultaneous Speech-to-Speech Translation Without Aligned Data][paper]
|
| 42 |
-
- **Inference code:** [github.com/kyutai-labs/hibiki-zero](https://github.com/kyutai-labs/hibiki-zero)
|
| 43 |
-
- **Examples:** [huggingface.co/spaces/kyutai/hibiki-zero-samples](https://huggingface.co/spaces/kyutai/hibiki-zero-samples)
|
| 44 |
-
|
| 45 |
-
---
|
| 46 |
-
|
| 47 |
-
## Usage
|
| 48 |
-
|
| 49 |
-
### Direct Use
|
| 50 |
-
|
| 51 |
-
The model can be used for streaming translation from French, Spanish, Portuguese and German to English in real-time settings, or for batched simultaneous translation of many input sequences. It is robust to noisy conditions and is trained on sequences up to 120 seconds.
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
### Downstream Use
|
| 55 |
-
|
| 56 |
-
Some components of the model can be used independently or repurposed relatively easily. For instance the [Mimi](https://huggingface.co/kyutai/mimi) codec is a state-of-the-art audio neural codec that combines semantic and acoustic information into audio tokens running at 12Hz and a bitrate of 1.1kbps, which make it particularly adapted to train speech language models or text-to-speech systems. Regarding the main Hibiki-Zero architecture, we demonstrated that it was possible to finetune it to adapt to a new input language with less than 1000h of speech and explicit the method in our [paper][paper].
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
### Out-of-Scope Use
|
| 60 |
-
|
| 61 |
-
The model is not intended to be used to impersonate other people or any malicious use of any kind.
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
## How to Get Started with the Model
|
| 65 |
-
|
| 66 |
-
See the [README](https://github.com/kyutai-labs/hibiki-zero) file for the inference code.
|
| 67 |
-
|
| 68 |
-
---
|
| 69 |
-
|
| 70 |
-
## Training Details
|
| 71 |
-
|
| 72 |
-
### Training Data
|
| 73 |
-
|
| 74 |
-
- *Textual data:* The underlying text LLM model [Helium-1-2B](https://huggingface.co/kyutai/helium-1-2b) is trained on a mix of data including: Wikipedia, Stack Exchange, open-access scientific articles (from peS2o) and Common Crawl.
|
| 75 |
-
|
| 76 |
-
- *Audio data:*
|
| 77 |
-
- **Unsupervised audio dataset:** This dataset used for audio pretraining is a large collection readily available audio content in French, Spanish, Portuguese, German and English. Our data mixture contains approximately 12% of audio in each source language, 50% of English and less than 2% of Italian (see [Section 4.2.2][paper]).
|
| 78 |
-
- **Speech translation dataset:** This dataset used for speech translation training and reinforcement contains around 40k hours of real speech data for each source language with synthetic sentence-level aligned speech in English (see [Sections 4.2.3 and 4.2.4][paper]).
|
| 79 |
-
- **Speech translation fine-tuning dataset:** This dataset is a small 200h resynthesized subset of the *speech translation dataset* with natural pauses to improve audio quality and speech naturalness (see [Section 4.2.5][paper]).
|
| 80 |
-
|
| 81 |
-
### Training procedure and hyper-parameters
|
| 82 |
-
|
| 83 |
-
The different training stages along with the hyper-parameters are detailled in the [paper][paper].
|
| 84 |
-
|
| 85 |
-
### Compute Infrastructure
|
| 86 |
-
|
| 87 |
-
The final model was trained on 48 H100 Nvidia GPUs.
|
| 88 |
-
|
| 89 |
-
---
|
| 90 |
-
|
| 91 |
-
## Citation
|
| 92 |
-
|
| 93 |
-
If you use this model, please cite:
|
| 94 |
-
|
| 95 |
-
```bibtex
|
| 96 |
-
@unpublished{hibikizero2026,
|
| 97 |
-
title={Simultaneous Speech-to-Speech Translation Without Aligned Data},
|
| 98 |
-
author={Tom Labiausse and Romain Fabre and Yannick Estève and Alexandre Défossez and Neil Zeghidour},
|
| 99 |
-
note={Preprint},
|
| 100 |
-
year={2026},
|
| 101 |
-
url={https://arxiv.org/abs/2602.11072v1}
|
| 102 |
-
}
|
| 103 |
-
```
|
| 104 |
-
|
| 105 |
-
[paper]: https://arxiv.org/abs/2602.11072v1
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config.json
CHANGED
|
@@ -1,106 +1,28 @@
|
|
| 1 |
{
|
| 2 |
-
"
|
| 3 |
-
"
|
| 4 |
-
"
|
| 5 |
-
"
|
| 6 |
-
|
| 7 |
-
0,
|
| 8 |
-
2,
|
| 9 |
-
2,
|
| 10 |
-
2,
|
| 11 |
-
2,
|
| 12 |
-
2,
|
| 13 |
-
2,
|
| 14 |
-
2,
|
| 15 |
-
2,
|
| 16 |
-
2,
|
| 17 |
-
2,
|
| 18 |
-
2,
|
| 19 |
-
2,
|
| 20 |
-
2,
|
| 21 |
-
2,
|
| 22 |
-
2,
|
| 23 |
-
0,
|
| 24 |
-
2,
|
| 25 |
-
2,
|
| 26 |
-
2,
|
| 27 |
-
2,
|
| 28 |
-
2,
|
| 29 |
-
2,
|
| 30 |
-
2,
|
| 31 |
-
2,
|
| 32 |
-
2,
|
| 33 |
-
2,
|
| 34 |
-
2,
|
| 35 |
-
2,
|
| 36 |
-
2,
|
| 37 |
-
2,
|
| 38 |
-
2
|
| 39 |
],
|
| 40 |
-
"
|
| 41 |
-
"
|
| 42 |
-
"
|
| 43 |
-
"
|
| 44 |
-
"
|
| 45 |
-
"
|
| 46 |
-
"
|
| 47 |
-
"
|
| 48 |
-
"
|
| 49 |
-
"
|
| 50 |
-
"
|
| 51 |
-
"
|
| 52 |
-
"
|
| 53 |
-
"
|
| 54 |
-
"
|
| 55 |
-
"
|
| 56 |
-
"
|
| 57 |
-
"
|
| 58 |
-
"
|
| 59 |
-
"
|
| 60 |
-
|
| 61 |
-
"demux_second_stream": false,
|
| 62 |
-
"kv_repeat": 2,
|
| 63 |
-
"depformer_kv_repeat": 1,
|
| 64 |
-
"text_card_out": null,
|
| 65 |
-
"conditioners": {},
|
| 66 |
-
"fuser": {
|
| 67 |
-
"cross_attention_pos_emb": false,
|
| 68 |
-
"cross_attention_pos_emb_scale": 1,
|
| 69 |
-
"sum": [],
|
| 70 |
-
"prepend": [],
|
| 71 |
-
"cross": []
|
| 72 |
-
},
|
| 73 |
-
"cross_attention": false,
|
| 74 |
-
"model_id": {
|
| 75 |
-
"sig": "77f82164",
|
| 76 |
-
"epoch": 110
|
| 77 |
-
},
|
| 78 |
-
"depformer_weights_per_step_schedule": [
|
| 79 |
-
0,
|
| 80 |
-
1,
|
| 81 |
-
2,
|
| 82 |
-
3,
|
| 83 |
-
4,
|
| 84 |
-
5,
|
| 85 |
-
6,
|
| 86 |
-
7,
|
| 87 |
-
8,
|
| 88 |
-
8,
|
| 89 |
-
8,
|
| 90 |
-
8,
|
| 91 |
-
8,
|
| 92 |
-
8,
|
| 93 |
-
8,
|
| 94 |
-
8
|
| 95 |
-
],
|
| 96 |
-
"model_type": "hibiki",
|
| 97 |
-
"lm_gen_config": {
|
| 98 |
-
"temp": 0.8,
|
| 99 |
-
"temp_text": 0.8,
|
| 100 |
-
"top_k": 250,
|
| 101 |
-
"top_k_text": 250
|
| 102 |
-
},
|
| 103 |
-
"mimi_name": "mimi-pytorch-e351c8d8@125.safetensors",
|
| 104 |
-
"tokenizer_name": "tokenizer_spm_48k_multi6_2.model",
|
| 105 |
-
"moshi_name": "hibiki-pytorch-77f82164@110.safetensors"
|
| 106 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"_name_or_path": "opt-350m",
|
| 3 |
+
"activation_dropout": 0.0,
|
| 4 |
+
"activation_function": "relu",
|
| 5 |
+
"architectures": [
|
| 6 |
+
"OPTForCausalLM"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
],
|
| 8 |
+
"attention_dropout": 0.0,
|
| 9 |
+
"bos_token_id": 2,
|
| 10 |
+
"do_layer_norm_before": false,
|
| 11 |
+
"dropout": 0.1,
|
| 12 |
+
"eos_token_id": 2,
|
| 13 |
+
"ffn_dim": 4096,
|
| 14 |
+
"hidden_size": 1024,
|
| 15 |
+
"init_std": 0.02,
|
| 16 |
+
"layerdrop": 0.0,
|
| 17 |
+
"max_position_embeddings": 2048,
|
| 18 |
+
"model_type": "opt",
|
| 19 |
+
"num_attention_heads": 16,
|
| 20 |
+
"num_hidden_layers": 24,
|
| 21 |
+
"pad_token_id": 1,
|
| 22 |
+
"prefix": "</s>",
|
| 23 |
+
"torch_dtype": "float16",
|
| 24 |
+
"transformers_version": "4.20.0.dev0",
|
| 25 |
+
"use_cache": true,
|
| 26 |
+
"vocab_size": 50272,
|
| 27 |
+
"word_embed_proj_dim": 512
|
| 28 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
generation_config.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_from_model_config": true,
|
| 3 |
+
"bos_token_id": 2,
|
| 4 |
+
"eos_token_id": 2,
|
| 5 |
+
"pad_token_id": 1,
|
| 6 |
+
"transformers_version": "4.27.0.dev0"
|
| 7 |
+
}
|
hibiki-pytorch-77f82164@110.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:cd78e453b3b80299255bea02be439bcc2552b57c03cd82dbf0e9792e20100db8
|
| 3 |
-
size 6263420344
|
|
|
|
|
|
|
|
|
|
|
|
merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
mimi-pytorch-e351c8d8@125.safetensors → model.safetensors
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9da6494f3af047e5e96ad93912f347aafed1bf6be00e03751b2db0d6e927eca1
|
| 3 |
+
size 662435448
|
tokenizer_spm_48k_multi6_2.model → pytorch_model.bin
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a5223ae6f3c26c6d90003f96a6bcd9a4aaaef0d36fca6469112efeeb985f2842
|
| 3 |
+
size 662513657
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"bos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, "eos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, "unk_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, "pad_token": {"content": "<pad>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}}
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"errors": "replace", "unk_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "bos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "eos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "pad_token": {"content": "<pad>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "add_prefix_space": false, "add_bos_token": true, "special_tokens_map_file": null, "name_or_path": "patrickvonplaten/opt-30b"}
|
vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|