DataLearner 标志DataLearnerAI
最新AI资讯
大模型排行榜
大模型评测基准
大模型列表
大模型对比
资源中心
工具
语言中文
DataLearner 标志DataLearner AI

专注大模型评测、数据资源与实践教学的知识平台,持续更新可落地的 AI 能力图谱。

产品

  • 评测榜单
  • 模型对比
  • 数据资源

资源

  • 部署教程
  • 原创内容
  • 工具导航

关于

  • 关于我们
  • 隐私政策
  • 数据收集方法
  • 联系我们

© 2026 DataLearner AI. DataLearner 持续整合行业数据与案例,为科研、企业与开发者提供可靠的大模型情报与实践指南。

隐私政策服务条款
  1. 首页/
  2. 博客列表/
  3. 博客详情

在消费级显卡上微调OpenAI开源的自动语言识别模型Whisper:8GB显存即可针对你自己的数据建立ASR模型

2023/05/17 23:08:02
3,590 阅读
ASRLoRAPEFTWhisper微调

尽管自动语音识别(Auto Speech Recognition,ASR)已经有很多的解决方案,但是能够媲美人类水平的ASR模型屈指可数。与大语言模型不同的是,ASR领域可用的预训练模型很少,基于预训练模型在特定数据集上微调更是困难。而德国的一位博士生开源了一个使用LoRA(Low Rank Adaptation)技术和PEFT(Parameter Efficient Fine Tuning)方法对Whisper模型进行高效微调的项目。可以让大家在消费级显卡(显存8GB)上对OpenAI开源的WhisperV2模型进行微调!

语音识别预训练模型Whisper简介

OpenAI在2022年9月21日开源的Whisper模型声称在英语的语音识别方面接近人类(Whisper模型卡信息:https://www.datalearner.com/ai-models/pretrained-models/Whisper )。并在同年的12月9日发布了Whisper V2版本。该模型参数规模15.5亿,表现十分优秀。由于Whisper是在一个大型和多样化的数据集上训练的,并没有针对任何特定的数据集进行微调,它并没有击败专门从事LibriSpeech性能的模型(这是一个著名的语音识别竞争基准)。然而,当在许多不同的数据集上测量Whisper的零散性能时,它比那些模型要稳健得多,犯的错误要少50%。

尽管如此,对于很多语言来说,Whisper识别准确率不够。而它本身已经是在80000多小时的数据上训练的,参数规模15.5亿,运行需要10GB显存起步,要求不低。进一步的,如果想要对Whisper-large-v2进行微调,则至少需要24GB显存,并且对训练过程种的每一个checkpoint需要7GB存储。对于个人来说,这样的硬件要求略高。

德国一个学生Vaibhav Srivastav发布了一个使用LoRA(Low Rank Adaptation)技术和PEFT(Parameter Efficient Fine Tuning)方法对Whisper模型进行高效微调的项目,只需要8GB显存即可对Whisper-large-v2进行微调,十分值得搞ASR的童鞋关注。

Faster Whisper Finetuning项目简介

Parameter Efficient Fine Tuning (PEFT)和Low Rank Adaptation (LoRA)是2种非常重要的模型微调方法。这两种方法只微调模型的一小部分(额外的)参数,同时冻结预训练模型的大部分参数,从而大大降低了计算和存储成本。尤其是LoRA,它在Transformer架构的每一层中注入可训练的秩分解矩阵,从而大大减少了下游任务的可训练参数数量。而且,LoRA的表现与完全微调的模型质量相当或更好,尽管它的可训练参数更少,训练吞吐量更高,并且与适配器不同,它没有额外的推理延迟。

在这个项目中,Vaibhav Srivastav提供了一份详细的步骤指南,指导大家如何使用🤗Transformers和PEFT在Google Colab中微调Whisper模型。

在这个Colab中,开发人员详细描述了利用PEFT和bitsandbytes无缝地训练一个whisper-large-v2的checkpoint,使用的是一块免费的T4 GPU(16 GB VRAM)。

此外,该项目还进行了一些基准测试,比较了使用LoRA进行Whisper微调和传统的Whisper微调。结果显示,即使在使用低于8GB VRAM的消费级GPU的情况下,使用LoRA进行微调的Whisper模型的性能与全面微调的性能相当,但是训练速度提高了5倍。

项目提供了一个对比:

训练方法可训练参数占比显存大小最大的batch size
LoRA<1%8GB24
adaLoRA<0.9%7.9GB24
Full-fine-tuning100%OOM on T4OOM on T4

经过上述微调得到的最终的模型仅仅只有60MB大小,还不到原有模型的1%(OpenAI开源的模型大小约6.17GB)

Faster Whisper Finetuning项目主要步骤

这个项目其实最大的优点我认为是提供了一个非常详细的基于PEFT微调ASR预训练模型的教程。它提供的Google Colab教程十分详细,而且是一个基于Common Voice 13.0数据集微调的真实案例。使用该模型微调印地语的数据。

这里列举一下该项目中微调Whisper模型的主要步骤:

  1. 安装环境:本项目依赖了多个开源库,包括datasets、transformers等。
  2. 加载数据集:本项目针对Common Voice 13.0的数据进行微调。这是由mozilla提供的一个开源语音数据集,包括2.7万小时各种语言的音频和文本数据集。
  3. 特征抽取、tokenizer等:ASR的主要步骤包括数据抽取和音频数据预处理、seq-to-seq的映射、将模型的输出变成文本
  4. 训练与验证:为模型准备输入数据,设置评估方法,加载预训练模型并配置LoRA,然后训练。

这里我们只展示其中加载预训练模型并设置LoRA的核心的代码:

from transformers import WhisperForConditionalGeneration
from peft import prepare_model_for_int8_training, LoraConfig, PeftModel, LoraModel, LoraConfig, get_peft_model

# 加载预训练模型
model = WhisperForConditionalGeneration.from_pretrained(model_name_or_path, load_in_8bit=True, device_map="auto")

# 在8bit模型上做后处理
model = prepare_model_for_int8_training(model, output_embedding_layer_name="proj_out")

# 由于Whisper模型在编码器中使用了卷积层,checkpointing会禁用梯度计算,因此我们需要将输入设为可训练。
def make_inputs_require_grad(module, input, output):
    output.requires_grad_(True)

model.model.encoder.conv1.register_forward_hook(make_inputs_require_grad)

# 对模型应用LoRA
config = LoraConfig(r=32, lora_alpha=64, target_modules=["q_proj", "v_proj"], lora_dropout=0.05, bias="none")

model = get_peft_model(model, config)
model.print_trainable_parameters()

基于上述核心代码进行微调即可,正常情况,低配置的硬件需要6-8个小时完成微调。

完整项目地址:https://github.com/Vaibhavs10/fast-whisper-finetuning

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码
返回博客列表

相关博客

  • 智谱发布 GLM-ASR(闭源)与开源 1.5B GLM-ASR-Nano-2512:针对中文与方言场景的语音识别尝试
  • Qwen3家族新成员:阿里发布自动语音识别大模型Qwen3-ASR-Flash,中英文语音识别错误率低于GPT-4o和Gemini 2.5 Pro!
  • 三年后OpenAI再次发布自动语音识别和语音合成大模型(替换Whisper系列):不开源,仅提供API,英文错字率已经下降到2.46%
  • MetaAI发布语音识别错误率是OpenAI的Whisper模型的一半且支持1107种语言的ASR模型:MMS
  • 比OpenAI原始的Whisper快70倍的开源语音识别模型Whisper JAX发布!
  • 大模型微调过程中的几个常见问题
  • 华盛顿大学提出QLoRA及开源预训练模型Guanaco:将650亿参数规模的大模型微调的显存需求从780G降低到48G!单张显卡可用!
  • 康奈尔大学发布可以在一张消费级显卡上微调650亿参数规模大模型的框架:LLMTune

热门博客

  • 1Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
  • 2回归模型中的交互项简介(Interactions in Regression)
  • 3贝塔分布(Beta Distribution)简介及其应用
  • 4矩母函数简介(Moment-generating function)
  • 5普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
  • 6使用R语言进行K-means聚类并分析结果
  • 7深度学习技巧之Early Stopping(早停法)
  • 8手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署