Instructions to use surus-ai/audio8-asr-0.1b-es-rioplatense with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use surus-ai/audio8-asr-0.1b-es-rioplatense with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="surus-ai/audio8-asr-0.1b-es-rioplatense", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("surus-ai/audio8-asr-0.1b-es-rioplatense", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Audio8-ASR-0.1B Spanish (Rioplatense) SFT
Fine-tune de Audio8/Audio8-ASR-0.1B especializado en español rioplatense / latinoamericano mediante SFT (supervised fine-tuning) completo.
El modelo base no incluía español entre sus 7 idiomas de entrenamiento (en, zh, fr, ja, yue, de, ko), por lo que su WER zero-shot en español rioplatense era ~65%. Tras el fine-tune baja a 12.39% WER / 5.25% CER.
Resultados (eval: 573 clips Argentinian Spanish, held-out)
| Modelo | WER | CER |
|---|---|---|
| Audio8/Audio8-ASR-0.1B (baseline, zero-shot) | 64.76% | 28.28% |
| Este modelo (es_google_v3) | 12.39% | 5.25% |
Arquitectura
Idéntica al modelo base (324M parámetros end-to-end):
- Audio encoder: Qwen3-ASR audio encoder (18 capas Conformer-like, 128 mel bins)
- MLP tower: 4 capas MLP residual (GELU)
- Projector: LayerNorm + Linear 1024→512
- LM: Qwen2-style causal LM, 8 capas, hidden 512, vocab 151936, tied embeddings
Se carga con trust_remote_code=True (custom code incluido en el repo).
Datos de entrenamiento
13.5k clips (15h) de habla leída en español latinoamericano, combinando:
ylacombe/google-argentinian-spanish(female + male)ylacombe/google-chilean-spanish(female + male)ylacombe/google-colombian-spanish(female + male)
Split 90/10 train/eval por dataset; el eval reportado es el held-out argentino.
Receta de entrenamiento
Full fine-tune (todos los módulos descongelados, incluido el audio encoder), en 3 etapas con learning rate decreciente:
- 8 epochs, lr 3e-5, audio encoder congelado
- +6 epochs, lr 1e-5, audio encoder descongelado
- +8 epochs, lr 5e-6 (esta versión)
bf16, batch efectivo 32, cosine schedule, warmup 2-3%, weight decay 0.005, grad clip 1.0, AdamW. Audio cap 30s @ 16kHz. transformers 4.57.3.
Uso
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
model_path = "surus-lat/audio8-asr-0.1b-es-rioplatense"
audio_path = "audio.wav"
device = "cuda" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.bfloat16 if device == "cuda" else torch.float32
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_path, trust_remote_code=True,
torch_dtype=torch_dtype, attn_implementation="eager",
).to(device)
model.eval()
conversation = [{
"role": "user",
"content": [
{"type": "audio", "path": audio_path},
{"type": "text", "text": "Please transcribe this audio."},
],
}]
batch = processor.apply_chat_template(
conversation, return_tensors="pt", sampling_rate=16000,
audio_padding="longest", add_generation_prompt=True,
audio_max_length=30 * 16000,
text_kwargs={"padding": "longest", "truncation": True, "max_length": 1000},
)
batch = {k: (v.to(device) if hasattr(v, "to") else v) for k, v in dict(batch).items()}
with torch.inference_mode():
ids = model.generate(**batch, max_new_tokens=128, do_sample=False)
prompt_len = int(batch["input_ids"].shape[1])
print(processor.decode(ids[0, prompt_len:], skip_special_tokens=True).strip())
Importante: usar transformers==4.57.3. En transformers 5.x el lm_head
ligado (tied) no se carga correctamente y el modelo degrada a salida aleatoria.
Limitaciones
- Optimizado para español rioplatense/latam de habla leída; puede rendir peor en otros dominios (conversacional espontáneo, ruido, otros acentos).
- Audio cap 30 segundos.
- Los errores residuales son mayormente ortografía fina (tildes, género/número) — limitación del LM de 0.1B.
- Licencia CC-BY-NC-4.0 (no comercial), heredada del modelo base.
Citation
Modelo base: Audio8-ASR-0.1B — Data-Efficient On-Policy Distillation for Automatic Speech Recognition (arXiv 2605.28139, AutoArk-AI).
- Downloads last month
- 16
Model tree for surus-ai/audio8-asr-0.1b-es-rioplatense
Base model
Audio8/Audio8-ASR-0.1B