You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将LoRa微调后的PeftModel转回带更新权重的Whisper原始模型?

将LoRa微调后的PeftModel合并为原始Whisper模型

你可以通过Peft库的merge_and_unload()方法实现LoRa权重与基础Whisper模型的合并,最终得到架构与原始WhisperForConditionalGeneration/WhisperModel一致的模型,具体步骤如下:

  • 加载基础模型与LoRa微调后的PeftModel

    from peft import PeftModel
    from transformers import WhisperForConditionalGeneration
    
    # 加载原始Whisper基础模型(需与微调时使用的基础模型一致)
    base_model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-small")
    # 加载LoRa微调后的模型
    peft_model = PeftModel.from_pretrained(base_model, "你的LoRa模型本地路径或Hub模型名")
    
  • 合并LoRa权重并恢复原始模型架构

    # 合并LoRa权重到基础模型,同时卸载Peft的包装层
    merged_model = peft_model.merge_and_unload()
    

    此时merged_model的类型就是WhisperForConditionalGeneration,完全保留原始模型的架构,且权重已整合了LoRa的微调参数。如果需要的是WhisperModel,只需将上述代码中的WhisperForConditionalGeneration替换为WhisperModel即可。

  • (可选)验证模型类型与保存模型

    # 验证模型类型
    print(type(merged_model))
    # 输出示例:<class 'transformers.models.whisper.modeling_whisper.WhisperForConditionalGeneration'>
    
    # 保存合并后的模型
    merged_model.save_pretrained("merged_whisper_model")
    # 若需要配套tokenizer,可一并保存
    from transformers import WhisperTokenizer
    tokenizer = WhisperTokenizer.from_pretrained("openai/whisper-small")
    tokenizer.save_pretrained("merged_whisper_model")
    

内容的提问来源于stack exchange,提问作者afsara_ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 16:25:08