七月论文审稿GPT第4.2版:通过15K条paper-review数据微调Llama2 70B(含各种坑)

💡 原文中文,约7600字,阅读约需19分钟。
📝

内容提要

本文记录了作者在微调LLaMA2 70B模型过程中遇到的报错信息及解决方法,包括GPU占用和数据截断等问题。作者成功微调了5K条数据,并进行了推理,结果超过了GPT4-1106模型。作者计划使用更大的15K数据集进行微调。

🔎

延伸解读

显存与硬件配置的实际需求

文章记录,微调LLaMA2 70B时显存最高占用达570GB,因此建议使用8张80GB的A100显卡。在尝试关闭flash_attn后,即使使用DeepSpeed Zero-3,8张A100训练到第4个batch仍会出现显存不足。这表明对于70B模型,flash_attn和足够的显存是训练成功的关键因素,硬件不足会直接导致训练中断。

数据清洗与问题定位的耗时

作者采用二分法定位引发训练报错的数据,从5000多条数据中逐步缩小范围,最终发现第1453行数据有问题。整个过程从下午1点持续到凌晨5点,耗时约12小时。这反映了在微调大模型时,数据质量排查可能消耗大量时间,且需要耐心和系统的方法。

小数据量微调的效果与局限

使用5K数据微调LLaMA2 70B后,在285条测试数据上推理,效果超过了GPT4-1106,且与7B模型使用15K数据的效果打平。但作者也指出,由于数据量只有5K,效果不一定稳定,因此计划提高数据质量并使用15K数据进一步微调。这说明小数据量可能取得不错结果,但扩大数据量和提升质量仍是后续方向。

❓

Q&A

在微调LLaMA2 70B模型时遇到了哪些主要问题?

主要问题包括GPU占用过高和数据截断错误。

作者是如何解决显存不足的问题的?

作者使用了DeepSpeed Zero-3优化训练,降低了显存占用。

微调5K条数据的结果如何?

推理结果显示5K数据的效果超过了GPT4-1106模型。

作者计划如何提高数据质量?

作者计划使用更大的15K数据集进行微调,以提高数据质量。

在微调过程中,如何处理数据中的错误?

作者通过二分法定位并剔除引发异常的数据,最终成功使用5089条数据完成训练。

训练过程中显存的最高占用是多少?

训练过程中显存的最高占用为570GB。

🏷️

标签

➡️

继续阅读