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类对应的模型,不然会报错。

相关推荐
慕木沐13 小时前
【Spring AI + Google ADK 】流式输出时 outputKey 状态缓存失败的问题
人工智能·spring·缓存
wuhanzhanhui13 小时前
智能工厂升级新风口,2026武汉智能工业自动化及机器人展览会引领未来
人工智能
云烟成雨TD13 小时前
Agent Scope Java 2.x 系列【4】模型层
java·人工智能·agent
大蚂蚁2号13 小时前
短视频批量生成技术深度解析与实战方案
python·aigc·音视频
dozenyaoyida13 小时前
AI与大模型新闻日报 | 2026-06-12
人工智能·ai·大模型·新闻
Blb12365413 小时前
技术解析-固体绝缘材料表面电阻率测试
人工智能·功能测试·制造·材料工程
云淡风轻~窗明几净13 小时前
角谷猜想的任意算法测试
数据结构·人工智能·算法
SaaS_Product13 小时前
同步盘操作教程:如何自动同步文件
人工智能·云计算·saas·onedrive
Z-D-K13 小时前
考验AI的“自我和意识“-AI对《红楼梦》后40回的改写(21)
人工智能·ai·aigc·交互·agi
CIO_Alliance13 小时前
API激增时代,如何用iPaaS实现API全生命周期治理
人工智能·ai·ipaas·系统集成·企业ai化转型