-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about /hparams/MEMIT/llama3.2-3b.yaml #418
Comments
你好,我这边刚刚也打印了llama-3.2-3B的模型参数,最后的结果中是有lm_head,事实上作为unembedding矩阵,一个模型不太可能没有lm_head。
然后这是我使用的代码:
我个人推测可能是您环境中的transformers库版本的问题,因为llama-3.2系列需要版本为 4.44.2的transformers库支持。 |
感谢回复,我发现了我的错误。我的问题在于我打印参数是基于参数的,代码如下:
运行您给的代码后得到了lm_head的信息。 然而代码报错问题尚未解决,以下是发生错误的代码:
超参文件信息:
终端输出以及报错如下:
请问这个问题出在哪里了? |
这个地方确实是我们的问题,我们对于memit的llama-3.2-3B的支持没有做好,但这个问题已被修复,你只需将报错位置的EasyEdit/easyeditor/util/nethook.py中的def get_parameter(model, name):函数中改为以下代码:
就可以正常运行了,因为llama-3.2-3b的model.named_parameters()确实没有包含lm_head部件,但是model.named_modules()中是包含了lm_head部件,所以只需用get_module函数取出lm_head,然后返回 lm_head_module.weight,这和直接利用model.named_parameters()取得的参数的weight是等价的。 |
经打印llama-3.2-3b模型参数:
并没有超参文件中lm_head_module: "lm_head"提到的lm_head模块,运行时产生报错
The text was updated successfully, but these errors were encountered: