Views
No views yet
speech-llm model type (it needs
the speech-llm model family patches, see
TigreGotico/onnx-asr PR #3).facebook/seamless-m4t-v2-large, a concat projector, and the 9B AMALIA language model. It was
trained on the open FalAR and CAMOES corpora.encoder.onnx (feature frames -> projected audio embeddings), embed_tokens.onnx,
and a merged prefill and decode decoder.onnx with a 42-layer KV cache. The prompt token ids are
in config.json, so no tokenizer is needed at run time. The audio embeddings come before the
prompt, which is the SLAM-ASR layout. fp32 output matches the native PyTorch checkpoint character
for character on two FLEURS Portuguese clips.llm.* tensor of this checkpoint is bit
identical to amalia-llm/AMALIA-SFT-FALA, so embed_tokens.onnx, decoder.onnx, their int8
builds and vocab.json are the same files as in
OpenVoiceOS/amalia-sft-fala-onnx.
Only encoder.onnx and encoder_int8.onnx differ: this model hears through a Seamless conformer
encoder, the other one through a Whisper encoder.encoder.onnx takes a variable number of feature frames, so short clips cost less than long ones.
Full attention over the whole clip is used. This matches the source model for audio up to 400 s;
past that the source model switches to chunked attention and this graph does not.1import onnx_asr
2model = onnx_asr.load_model("speech-llm", "path/to/this/repo")
3print(model.recognize("audio_16khz.wav"))
4
5# or the int8 build, which is two times faster and needs a quarter of the memory
6model = onnx_asr.load_model("speech-llm", "path/to/this/repo", quantization="int8")| File | Size |
|---|---|
encoder.onnx + encoder.onnx_data | 2.4 GB |
encoder_int8.onnx | 0.6 GB |
embed_tokens.onnx + embed_tokens.onnx_data | 2.0 GB |
embed_tokens_int8.onnx | 0.5 GB |
decoder.onnx + decoder.onnx_data | 33 GB |
decoder_int8.onnx + decoder_int8.onnx_data | 8.0 GB |