LlamaFactory——如何使用魔改后的模型

需求来源:有时我们可能想在llamafactory框架支持的模型上进行一些改动,例如修改forward()方法等,修改方法我们可以通过继承Transformers库中相应的class并重写相应的方法即可,那我们如何使用自己的模型呢?

首先,我们需要定位模型初始化的相关代码,具体路径为:LLaMA-Factory-main/src/llamafactory/model/loader.py

python 复制代码
# 大致在169行的位置
model = load_class.from_pretrained(**init_kwargs)

上述代码实现了模型的初始化,其中load_class是OrderDict的一个子类,功能主要是根据config的类型找到对应模型class,例如Qwen2VLConfig(源码:transformers/models/qwen2_vl/configuration_qwen2_vl.py)对应Qwen2VLForConditionalGeneration(源码:transformers/models/qwen2_vl/modeling_qwen2_vl.py),本质上类似于字典,那我们只需要把相应的值替换为我们自己的模型即可,具体代码如下:

python 复制代码
load_class.register(type(config), YourCustomModelClass, exist_ok=True)
model = load_class.from_pretrained(**init_kwargs)

使用load_class的register()方法,把模型class替换为自己的模型即可,一定注意参数exist_ok要设置为True,才能覆写已有Config类对应的模型,不然会报错。

相关推荐
rgeshfgreh5 分钟前
Python流程控制:从条件到循环实战
前端·数据库·python
百万彩票中奖候选人7 分钟前
在trae、qoder、Claude Code、Cursor等AI IDE中使用ui-ux-pro-max-skill
人工智能·ui·ux
luoluoal9 分钟前
基于python大数据的电影市场预测分析(源码+文档)
python·mysql·django·毕业设计·源码
Bigemap15 分钟前
如何保存WAsp软件需要的 map格式(.map)的文件
人工智能·无人机·政务·bigemappro添加地图
闲云一鹤17 分钟前
2026 最新 ComfyUI 教程 - 本地部署 AI 生图模型 - Z-Image-Turbo
前端·人工智能·ai编程
幻云201020 分钟前
Python深度学习:从入门到实战
人工智能·python
ldccorpora21 分钟前
Multiple-Translation Arabic (MTA) Part 2数据集介绍,官网编号LDC2005T05
人工智能·深度学习·自然语言处理·动态规划·语音识别
GISer_Jing34 分钟前
AI Agent 人类参与HITL与知识检索RAG
人工智能·设计模式·aigc
Zoey的笔记本1 小时前
敏捷与稳定并行:Scrum看板+BPM工具选型指南
大数据·前端·数据库·python·低代码
智界前沿1 小时前
2026可落地商用数字人选型指南:TOP5产品深度测评与实战对比
人工智能·aigc·数字人