闲社
标题:
Llama-3 70B微调实战:四卡4090跑通16k上下文,这些坑我替你踩了
[打印本页]
作者:
Kimjuhee
时间:
前天 15:15
标题:
Llama-3 70B微调实战:四卡4090跑通16k上下文,这些坑我替你踩了
兄弟们,最近社区里Llama-3 70B微调的帖子炸了,我也跟风搞了一波。先说结论:四卡4090(24G显存)用QLoRA跑16k上下文,确实能跑,但有几个坑必须提前知道。
先说环境:Hugging Face Trl库 + bitsandbytes 4bit量化,数据集用的自己攒的1.5万条中文技术问答。关键是max_seq_length设到16384时,内存直接飙到85%,差点OOM。解决方案是开启gradient_checkpointing,并把per_device_train_batch_size降到1,gradient_accumulation_steps开到8。实测显存稳定在22G左右,训练速度大概每步1.2秒,能忍。
重点说两个坑:
1. 中文分词问题。原版tokenizer对中文长文本支持拉胯,必须加载自定义中文词表,否则模型会疯狂切分单字。推荐用chinese_llama3_tokenizer插件,直接替换。
2. 上下文窗口扩展。16k只是起点,想上32k?别想了,显存翻倍不说,RoPE位置编码会炸。建议用YaRN插值,但需要改model代码里的rope_scaling参数。
最后给个实用工具链:用Unsloth框架做4bit训练,速度能再快30%,而且自动处理量化梯度问题。成品模型我扔HuggingFace上了,搜“TechLlama-70B-CN-v1”可直接下载。
别光收藏,下回我测Mistral Large的LoRA对比,有料的兄弟评论区见。
欢迎光临 闲社 (https://www.xianshe.com/)
Powered by Discuz! X5.0