-
Notifications
You must be signed in to change notification settings - Fork 394
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
关于ptuing #78
Comments
作者您好,您的代码是我见过写的最规范整洁可读性最好的代码,但是关于ptuing我真觉得存在一些问题,下面这行是您在ptuing里写的注释关于将原始数据转化为喂给模型的数据那部分 |
Hi,因为距离这个代码写的有点久了,所以我按照我的记忆回答一下您这个问题。 我理解您的问题可能是:我们只是把 unused token 喂给了模型, 而 label 却只有每个句子的 label token,也没有这些 unused token 的 label,那这些 prompt tokens 怎么学习? 在这个例子里,由于我们只需要学习每一个 prompt (unused) token 对应的 token embedding 就可以了(因为最后不需要知道这些 prompt tokens 的实际对应的文本是什么),因此我们只用通过在更新 MASK Label 的时候来附带的更新这些前缀 token 的 embedding 即可。 因为我们对每一个样本前面都拼接了同样 prompt tokens,所以这些前缀 token 的 embedding 就能够随着模型训练而慢慢得到更新,最终被训练成一串能完成指定任务的 embedding 序列。 下图来自这篇论文:
现在提出了一些微调更多参数的 PTuning 的方式(如:PTuning v2),不只是在 input embedding,而是在每一层都插入 prefix embedding 来训练模型,如 这篇论文,你可以在 这里 找到相关的代码实现: 希望这些是您想知道的内容。 |
非常感谢您的回复!我赞同您的说法,是的 ptuing ptuing-v2我都了解过,刘潇大佬的文章我也有很仔细的读过,作者论文里甚至是用了一个lstm来初始化前缀token的 embedding(他们的代码是在PET原作者的工作上写的,我觉得好难读(我太菜了呜呜))。 |
@init-neok 我和你的感受一样,一脸懵 |
佬你的p-tuing代码真的正确吗?似乎只是在cls后面加了一堆固定的字符,那些字符不能学习的呀,,,和p-tuing论文写的不是一回事呀,p-tuing原作者的论文太难理解了,有人能解答一下我的问题吗?
The text was updated successfully, but these errors were encountered: