LlamaFamily / Llama-Chinese

Llama中文社区,Llama3在线体验和微调模型已开放,实时汇总最新Llama3学习资料,已将所有代码更新适配Llama3,构建最好的中文Llama大模型,完全开源可商用
https://llama.family
13.85k stars 1.24k forks source link

关于atom-7b-chat长文本微调应如何进行? #295

Open hbj52 opened 7 months ago

hbj52 commented 7 months ago

感谢项目组提供的模型,非常优秀,也因此我希望基于你们模型再微调以供后续使用。

在使用的时候遇到两个问题。 1> 模型调用,在 https://huggingface.co/FlagAlpha/Atom-7B-Chat 上开篇提到 Atom-7B-32k-Chat ,不知该模型本身是否已经支持32K?是否使用的时候直接加载即可,不需要额外修改文件或参数,能使用32k长度 2> 模型微调,在该项目内提到 “Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel (NTK)方法,经过微调可以将上下文长度扩增到32K”,不知是否有微调的DEMO?我想在长文本QA上尝试微调,但不知基于本项目应该如何入手。

先行感谢。

yjmm10 commented 7 months ago

感谢项目组提供的模型,非常优秀,也因此我希望基于你们模型再微调以供后续使用。

在使用的时候遇到两个问题。 1> 模型调用,在 https://huggingface.co/FlagAlpha/Atom-7B-Chat 上开篇提到 Atom-7B-32k-Chat ,不知该模型本身是否已经支持32K?是否使用的时候直接加载即可,不需要额外修改文件或参数,能使用32k长度 2> 模型微调,在该项目内提到 “Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel (NTK)方法,经过微调可以将上下文长度扩增到32K”,不知是否有微调的DEMO?我想在长文本QA上尝试微调,但不知基于本项目应该如何入手。

先行感谢。

我最近也在做相关的工作,可以交流一下,目前也还没调通

hbj52 commented 7 months ago

感谢项目组提供的模型,非常优秀,也因此我希望基于你们模型再微调以供后续使用。 在使用的时候遇到两个问题。 1> 模型调用,在 https://huggingface.co/FlagAlpha/Atom-7B-Chat 上开篇提到 Atom-7B-32k-Chat ,不知该模型本身是否已经支持32K?是否使用的时候直接加载即可,不需要额外修改文件或参数,能使用32k长度 2> 模型微调,在该项目内提到 “Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel (NTK)方法,经过微调可以将上下文长度扩增到32K”,不知是否有微调的DEMO?我想在长文本QA上尝试微调,但不知基于本项目应该如何入手。 先行感谢。

我最近也在做相关的工作,可以交流一下,目前也还没调通

目前我在尝试用longlora https://github.com/dvlab-research/LongLoRA ,原生支持llama2,尝试了一下他们的sft脚本,能启动,看起来loss也是在下降。不过我的机器很慢,训完估计很久,你的机器如果不错,可以尝试。据他们作者说如果用几个80g的a100,几个小时能训完样例。

我准备等当前llama-chinese项目组的回复看看,不知道他们怎么实现的

yjmm10 commented 7 months ago

感谢项目组提供的模型,非常优秀,也因此我希望基于你们模型再微调以供后续使用。 在使用的时候遇到两个问题。 1> 模型调用,在 https://huggingface.co/FlagAlpha/Atom-7B-Chat 上开篇提到 Atom-7B-32k-Chat ,不知该模型本身是否已经支持32K?是否使用的时候直接加载即可,不需要额外修改文件或参数,能使用32k长度 2> 模型微调,在该项目内提到 “Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel (NTK)方法,经过微调可以将上下文长度扩增到32K”,不知是否有微调的DEMO?我想在长文本QA上尝试微调,但不知基于本项目应该如何入手。 先行感谢。

我最近也在做相关的工作,可以交流一下,目前也还没调通

目前我在尝试用longlora https://github.com/dvlab-research/LongLoRA ,原生支持llama2,尝试了一下他们的sft脚本,能启动,看起来loss也是在下降。不过我的机器很慢,训完估计很久,你的机器如果不错,可以尝试。据他们作者说如果用几个80g的a100,几个小时能训完样例。

我准备等当前llama-chinese项目组的回复看看,不知道他们怎么实现的

目前我使用transformer的微调,今天用8张4090尝试了开启flash attention的话,上下文的长度可以提高,但还没办法达到很大 另外我补充一点,我微调的是codellama的模型,基于llama2的

hbj52 commented 7 months ago

感谢项目组提供的模型,非常优秀,也因此我希望基于你们模型再微调以供后续使用。 在使用的时候遇到两个问题。 1> 模型调用,在 https://huggingface.co/FlagAlpha/Atom-7B-Chat 上开篇提到 Atom-7B-32k-Chat ,不知该模型本身是否已经支持32K?是否使用的时候直接加载即可,不需要额外修改文件或参数,能使用32k长度 2> 模型微调,在该项目内提到 “Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel (NTK)方法,经过微调可以将上下文长度扩增到32K”,不知是否有微调的DEMO?我想在长文本QA上尝试微调,但不知基于本项目应该如何入手。 先行感谢。

我最近也在做相关的工作,可以交流一下,目前也还没调通

目前我在尝试用longlora https://github.com/dvlab-research/LongLoRA ,原生支持llama2,尝试了一下他们的sft脚本,能启动,看起来loss也是在下降。不过我的机器很慢,训完估计很久,你的机器如果不错,可以尝试。据他们作者说如果用几个80g的a100,几个小时能训完样例。 我准备等当前llama-chinese项目组的回复看看,不知道他们怎么实现的

目前我使用transformer的微调,今天用8张4090尝试了开启flash attention的话,上下文的长度可以提高,但还没办法达到很大 另外我补充一点,我微调的是codellama的模型,基于llama2的

  1. 我尝试过的: 1> 我尝试过huggingface上llama2-7b为基础的16k模型, 开启flash attention的情况在8k token左右 24g单卡就oom了。 2> chatglm3-6b-32k 的显存占用量会小很多,8k token的时候似乎不会单卡超24g现存,但是我没尝试过微调他,如果你追求中文下长文本的微调,也许可以同时关注一下glm的项目和效果。

  2. 如果你用codellama且不追求中文对话,也许longlora会是一个不错的尝试。我看longlora项目组里,有人询问过类似的问题,项目组答复是没尝试但是应该可行。 https://github.com/dvlab-research/LongLoRA/issues/1 。以我的尝试看,sft样例里开启flash attention进行训练单卡显存占用大概30g。

  3. 我最近开始尝试微调长文本,跟你一样目前没有跑通的内容。我猜我们俩交流可能像病友沟通,痊愈与否要看主治医生。

综上,我猜你可以试试chatglm3-6b-32k的中文,关注一下longlora对codellama的微调,同时咱们等待llama-chinese项目组的答复,看看他们是如何实现拓展上下文以及对应的现存消耗情况。

yjmm10 commented 7 months ago

感谢项目组提供的模型,非常优秀,也因此我希望基于你们模型再微调以供后续使用。 在使用的时候遇到两个问题。 1> 模型调用,在 https://huggingface.co/FlagAlpha/Atom-7B-Chat 上开篇提到 Atom-7B-32k-Chat ,不知该模型本身是否已经支持32K?是否使用的时候直接加载即可,不需要额外修改文件或参数,能使用32k长度 2> 模型微调,在该项目内提到 “Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel (NTK)方法,经过微调可以将上下文长度扩增到32K”,不知是否有微调的DEMO?我想在长文本QA上尝试微调,但不知基于本项目应该如何入手。 先行感谢。

我最近也在做相关的工作,可以交流一下,目前也还没调通

目前我在尝试用longlora https://github.com/dvlab-research/LongLoRA ,原生支持llama2,尝试了一下他们的sft脚本,能启动,看起来loss也是在下降。不过我的机器很慢,训完估计很久,你的机器如果不错,可以尝试。据他们作者说如果用几个80g的a100,几个小时能训完样例。 我准备等当前llama-chinese项目组的回复看看,不知道他们怎么实现的

目前我使用transformer的微调,今天用8张4090尝试了开启flash attention的话,上下文的长度可以提高,但还没办法达到很大 另外我补充一点,我微调的是codellama的模型,基于llama2的

  1. 我尝试过的: 1> 我尝试过huggingface上llama2-7b为基础的16k模型, 开启flash attention的情况在8k token左右 24g单卡就oom了。 2> chatglm3-6b-32k 的显存占用量会小很多,8k token的时候似乎不会单卡超24g现存,但是我没尝试过微调他,如果你追求中文下长文本的微调,也许可以同时关注一下glm的项目和效果。
  2. 如果你用codellama且不追求中文对话,也许longlora会是一个不错的尝试。我看longlora项目组里,有人询问过类似的问题,项目组答复是没尝试但是应该可行。 https://github.com/dvlab-research/LongLoRA/issues/1 。以我的尝试看,sft样例里开启flash attention进行训练单卡显存占用大概30g。
  3. 我最近开始尝试微调长文本,跟你一样目前没有跑通的内容。我猜我们俩交流可能像病友沟通,痊愈与否要看主治医生。

综上,我猜你可以试试chatglm3-6b-32k的中文,关注一下longlora对codellama的微调,同时咱们等待llama-chinese项目组的答复,看看他们是如何实现拓展上下文以及对应的现存消耗情况。

感谢分享您的一些常识,之前忘记补充模型情况,我微调的是codellama-13b-instruct模型,目前通过一些量化精度的调整简单测试,上下文长度能够达到30k,再往上依然是爆显存,并且8卡4090显存基本都占满了,从个人观点可能有如下两个问题:

  1. 长文本对微调的GPU需求比较很大,目前拥有的4090还不足以训练的动100k的上下文
  2. 可以通过更多显存优化方法来降低显存占用大小,使得提升上下文的长度

对于您给的建议,晚些我也会去尝试一下看能不能有比较好的效果以及等待llama-chinese项目组的一些数据