模型:

vasista22/whisper-hindi-large-v2

英文

Whisper Hindi Large-v2

这个模型是在公开可用的ASR数据上进行的 openai/whisper-large-v2 的微调版本,这些数据包括多个不同来源的印地语数据。它是作为Whisper微调计划的一部分进行微调的。

注意:训练此模型所使用的代码可在 whisper-finetune 存储库中复用。

使用方法

要在整个数据集上评估此模型,可以使用 whisper-finetune 存储库中提供的评估代码。

同样的存储库还提供了使用whisper-jax进行更快推理的脚本。

要使用此模型对单个音频文件进行推理,可以使用以下代码片段:

>>> import torch
>>> from transformers import pipeline

>>> # path to the audio file to be transcribed
>>> audio = "/path/to/audio.format"
>>> device = "cuda:0" if torch.cuda.is_available() else "cpu"

>>> transcribe = pipeline(task="automatic-speech-recognition", model="vasista22/whisper-hindi-large-v2", chunk_length_s=30, device=device)
>>> transcribe.model.config.forced_decoder_ids = transcribe.tokenizer.get_decoder_prompt_ids(language="hi", task="transcribe")

>>> print('Transcription: ', transcribe(audio)["text"])

要更快地对whisper模型进行推理,可以使用 whisper-jax 库。在使用以下代码片段之前,请按照 here 中提到的必要安装步骤进行安装:

>>> import jax.numpy as jnp
>>> from whisper_jax import FlaxWhisperForConditionalGeneration, FlaxWhisperPipline

>>> # path to the audio file to be transcribed
>>> audio = "/path/to/audio.format"

>>> transcribe = FlaxWhisperPipline("vasista22/whisper-hindi-large-v2", batch_size=16)
>>> transcribe.model.config.forced_decoder_ids = transcribe.tokenizer.get_decoder_prompt_ids(language="hi", task="transcribe")

>>> print('Transcription: ', transcribe(audio)["text"])

训练和评估数据

训练数据:

评估数据:

训练超参数

训练过程中使用了以下超参数:

  • learning_rate: 0.75e-05
  • train_batch_size: 8
  • eval_batch_size: 24
  • seed: 22
  • optimizer: adamw_bnb_8bit
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 25000
  • training_steps: 57000(最初设置为116255步)
  • mixed_precision_training: True

致谢

此工作于 Speech Lab, IIT Madras 完成。

此工作的计算资源由印度政府电子和信息技术部(MeitY)的“Bhashini: 国家语言翻译任务”项目资助。