whisper-large-v3-chileno-lora

hablaip/whisper-large-v3-chileno-lora

作者
hablaip
任务
语音识别
下载量
21
点赞数
5
趋势分
4
许可证
apache-2.0
收录时间
2026/11/10

license: apache-2.0 language:

  • es base_model: openai/whisper-large-v3 library_name: peft tags:
  • whisper
  • automatic-speech-recognition
  • spanish
  • chilean-spanish
  • call-center
  • lora
  • peft pipeline_tag: automatic-speech-recognition

Whisper Large-v3 + LoRA, espanol chileno de call center

Adaptador LoRA para openai/whisper-large-v3, ajustado para reconocer espanol hablado en Chile en conversaciones telefonicas reales de call center (habla espontanea, modismos, ruido de linea telefonica).

Desarrollado por HablaIP SpA, proyecto CORFO 25CH2-306482.

Resultado

Medido sobre un test de 153 audios reales de call center nunca vistos en entrenamiento (78 llamadas distintas), con transcripcion humana literal como referencia:

ModeloWERCER
Whisper Large-v3 (sin ajustar)34.76%-
Este adaptador21.18%11.37%

Reduccion relativa del error de 39%, con significancia estadistica (intervalo de confianza al 95% por bootstrap agrupado por llamada, no cruza el baseline).

Como se entreno

  • Tecnica: LoRA (r=32, alpha=64, dropout=0.05) sobre las proyecciones q_proj/v_proj de los bloques de atencion. Solo se entrena aproximadamente 1% de los parametros del modelo, el resto del modelo base queda congelado.
  • Datos: aproximadamente 1.800 clips (~8 horas) de audio real de call center chileno, transcritos a mano, palabra por palabra, sin correccion gramatical, con fidelidad fonetica al habla chilena (muletillas, modismos). Los datos de entrenamiento son privados y no se publican junto con este modelo.
  • Division de datos por llamada completa (nunca por fragmento suelto), para evitar que el modelo memorice fragmentos de la misma conversacion que luego aparecen en la evaluacion.

Uso

import torch
from transformers import WhisperForConditionalGeneration, WhisperProcessor
from peft import PeftModel

processor = WhisperProcessor.from_pretrained(
    "openai/whisper-large-v3", language="spanish", task="transcribe"
)
model = WhisperForConditionalGeneration.from_pretrained(
    "openai/whisper-large-v3", torch_dtype=torch.bfloat16
)
model.generation_config.language = "spanish"
model.generation_config.task = "transcribe"
model.generation_config.forced_decoder_ids = None

model = PeftModel.from_pretrained(model, "hablaip/whisper-large-v3-chileno-lora")
model = model.eval()

# audio: arreglo numpy a 16kHz
inputs = processor.feature_extractor(audio, sampling_rate=16000, return_tensors="pt")
with torch.no_grad():
    generated_ids = model.generate(input_features=inputs.input_features.to(torch.bfloat16), max_new_tokens=225)
texto = processor.tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

Limitaciones

  • Ajustado especificamente para habla telefonica chilena de call center (telefonia, 8kHz re-muestreado, habla espontanea). El rendimiento en otros dominios (habla leida, otros acentos del espanol) no esta caracterizado por este modelo especifico, aunque el olvido fuera de dominio se midio como minimo durante el desarrollo.
  • Entrenado con un volumen de datos chico (~1.800 muestras). Un candidato posterior que usa audio adicional sin transcribir (pseudo-etiquetado) mostro una mejora adicional pequena (~0.8 puntos porcentuales) que todavia no esta confirmada con significancia estadistica completa.
  • Transcripcion verbatim (incluye muletillas y repeticiones tal como se dijeron), no transcripcion "limpia" de estilo editorial.

Cita / contacto

Proyecto CORFO 25CH2-306482, HablaIP SpA. Para mas detalle tecnico, contactar al equipo del proyecto.

内容来源:Hugging Face 模型卡

在 Hugging Face 查看