Skip to content
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

考虑蒸馏较大模型到小模型吗? #31

Open
ningpengtao-coder opened this issue Sep 17, 2024 · 4 comments
Open

考虑蒸馏较大模型到小模型吗? #31

ningpengtao-coder opened this issue Sep 17, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@ningpengtao-coder
Copy link

我的需求是希望能够做专用的小模型(纯个人使用),但小模型需要具备基本的逻辑能力,并且个人没太多资源,顶多两张4090。

所以,我想通过看看是否能够通过蒸馏的方法解决这个需求。

这是一篇将transformers架构通过蒸馏的方法转换为ssm
Transformers to SSMs: Distilling Quadratic Knowledge to Subquadratic Models

@jingyaogong
Copy link
Owner

在我看到这条消息前确实没有这个打算,不过建议很不错。

我打算尝试对 qwen2-0.5B 模型的蒸馏 -> minimind (0.05B) 参数
如果效果不错,我更新它到minimind新系列中

感谢支持~

@ningpengtao-coder
Copy link
Author

ningpengtao-coder commented Sep 17, 2024

@jingyaogong 感谢你的回复。
最近看到的一篇论文,你看是否感兴趣,在比较小的模型上实现这样的效果,网传这个就是open ai o1的原理。
Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters

以下是通过txyz.ai 自动生成的总结:

Summary

这篇论文研究了大型语言模型(LLM)在推理时计算的缩放,以提高它们在具有挑战性的提示上的性能。作者分析了两种主要的机制来缩放测试时间计算:(1) 搜索基于密集的、基于过程的验证器奖励模型;以及(2) 根据测试时的提示自适应地更新模型对响应的分布。他们发现不同缩放测试时间计算的方法的有效性严重依赖于提示的难度。这一观察结果激发了应用"计算最优"缩放策略,该策略旨在最有效地根据每个提示自适应地分配测试时间计算。使用这种计算最优策略,作者可以将测试时间计算缩放的效率提高超过4倍,相比于最佳N个基线。此外,他们发现在较小的基础模型能够获得一定的成功率的问题上,测试时间计算可以用于超越一个14倍大的模型在FLOPS匹配的评估中的性能。

Key Points

  • 增加测试时计算量可能比增加模型参数更有效地提高大型语言模型在具有挑战性的提示上的性能。
  • 作者分析了两种主要的测试时计算扩展方法:(1) 搜索基于密集过程的验证器奖励模型,以及(2) 根据提示自适应更新模型的响应分布。
  • 不同的测试时计算扩展策略的有效性取决于提示的难度。
  • 作者提出了一种"计算最优"的扩展策略,根据提示的难度自适应地分配测试时计算,与最佳N个基准相比,效率提高了4倍以上。
  • 在某些情况下,对较小的基础模型应用额外的测试时计算可以在FLOPS匹配的评估中超过一个大14倍的模型。

@ningpengtao-coder
Copy link
Author

ningpengtao-coder commented Sep 17, 2024

@jingyaogong 有人基于mistral 7b用dsft和ddpo方法训练的新模型,你看是否可以参考。https://zhuanlan.zhihu.com/p/668544998

@jingyaogong jingyaogong added the enhancement New feature or request label Sep 21, 2024
@liyu98
Copy link

liyu98 commented Oct 23, 2024

在data_process.py 执行 sft_process(contain_history=True), 报错:
libwriters.write_csv_rows(
File "pandas/_libs/writers.pyx", line 72, in pandas._libs.writers.write_csv_rows
_csv.Error: need to escape, but no escapechar set

是处理 sft_data_zh.jsonl 的文件 还是 导出csv的时候,加个分割符?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants