We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
我用了一年多的第三方训练平台,比如 llama-factory、swift 这些。用下来最大的感受就是它们特别容易过拟合,对数据质量要求也特别高。
自从 GLM4 发布以来,就不一样了。用 finetune.py 加上 LoRA 方式训练,几十条数据就能训出特别好的效果。最神奇的是,在模型、数据、超参数都一模一样的情况下,GLM4 训出来的模型基本不会过拟合。
我拿动漫角色的数据来举个例子。其他项目(如 llama-factory)虽然初期表现尚可,达到七八成的效果,但随着对话深入,很快就会暴露出过拟合特征。这些特征包括:重复输出相同内容、角色身份认知混乱(将自己误认为用户)、无限循环某个词句等问题。但是用 GLM4 训练,完全是另一番景象,训练效果特别到位,而且就算数据再少也很难看到明显的过拟合。
我最近参加了阿里云天池的大模型竞赛,这也是我的首次参赛。仅使用 GLM4 项目和模型,采用 LoRA 微调方式,甚至没有用完全部比赛数据,就取得了第 8 名的成绩。为了验证这一差异,我尝试将相同的比赛数据放到 llama-factory 上训练,直接就梯度爆炸了,loss 飙升得没边了,调参也解决不了。
这些经历让我现在基本放弃了用了一年多的 llama-factory,改用 GLM4 来做各种任务。遇到人我就推荐这个项目。说实在的,我特别好奇它的训练代码到底有什么独到之处。是因为用了 Seq2SeqTrainer 这个训练器吗?还是其他什么原因?不管怎样,能写出这么优秀的训练代码,作者真的很厉害。
The text was updated successfully, but these errors were encountered:
我们的微调代码其实就是一个基本的基于transformers和 PEFT 框架书写的微调代码。 我觉得你可以关注一下 llama-factory微调和我们官方代码微调的不同,特别是loss和训练部分。 我对llama-factory不是很熟悉,但是我知道他的微调实现可能与 PEFT 有一点不同。 我们在微调数据集构造的时候可能没有考虑到兼容性(其他家模型),但是针对GLM-4的微调以及token的布局是正确的。 这可能是导致你用同一套数据集,但是我们的方法和lama-factory微调效果差距较大的原因 (个人理解)
Sorry, something went wrong.
zRzRzRzRzRzRzR
No branches or pull requests
我用了一年多的第三方训练平台,比如 llama-factory、swift 这些。用下来最大的感受就是它们特别容易过拟合,对数据质量要求也特别高。
自从 GLM4 发布以来,就不一样了。用 finetune.py 加上 LoRA 方式训练,几十条数据就能训出特别好的效果。最神奇的是,在模型、数据、超参数都一模一样的情况下,GLM4 训出来的模型基本不会过拟合。
我拿动漫角色的数据来举个例子。其他项目(如 llama-factory)虽然初期表现尚可,达到七八成的效果,但随着对话深入,很快就会暴露出过拟合特征。这些特征包括:重复输出相同内容、角色身份认知混乱(将自己误认为用户)、无限循环某个词句等问题。但是用 GLM4 训练,完全是另一番景象,训练效果特别到位,而且就算数据再少也很难看到明显的过拟合。
我最近参加了阿里云天池的大模型竞赛,这也是我的首次参赛。仅使用 GLM4 项目和模型,采用 LoRA 微调方式,甚至没有用完全部比赛数据,就取得了第 8 名的成绩。为了验证这一差异,我尝试将相同的比赛数据放到 llama-factory 上训练,直接就梯度爆炸了,loss 飙升得没边了,调参也解决不了。
这些经历让我现在基本放弃了用了一年多的 llama-factory,改用 GLM4 来做各种任务。遇到人我就推荐这个项目。说实在的,我特别好奇它的训练代码到底有什么独到之处。是因为用了 Seq2SeqTrainer 这个训练器吗?还是其他什么原因?不管怎样,能写出这么优秀的训练代码,作者真的很厉害。
The text was updated successfully, but these errors were encountered: