《刘政宁-基于计图框架的代码大模型.pdf》由会员分享,可在线阅读,更多相关《刘政宁-基于计图框架的代码大模型.pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、1OS2ATC 2024刘政宁非十科技2汇报提纲汇报提纲n代码生成的历史n代码大模型的特点与挑战n深度学习框架计图n计图在代码大模型方面的探索nFitten code3代码生成的历史代码生成的历史n计算机辅助软件,北大青鸟n零代码编程4代码大模型的特点与挑战代码大模型的特点与挑战n分析代码大模型的特殊性与困难nLLM -自然语言 transformern代码:一维 行状 但是行之间有结构和逻辑 5计图的探索计图的探索n代码大模型训练需求高准确度要求高:语法规则、逻辑关系、上下文需要更大的参数量、更多的数据导致更长的训练时间与更高的资源需求和挑战6计图语言大模型训练与微调计图语言大模型训练与微调
2、n显存优化传统数据并行模式下,所有GPU都存储一份模型参数和优化器,则7B模型需要单卡112G显存,175B参数需要单卡2800G显存!Jittor实现零冗余优化器技术(Zero Redundancy Optimizer),将模型、优化器分片存储到不同GPU上,实现显存高效利用参数优化器GPU0GPU1GPU2GPUN.7计图语言大模型训练与微调计图语言大模型训练与微调n分布式训练,实现多类并行模式并高效结合数据并行:分割数据到不同设备上进行计算模型并行:将模型分割分布到多个设备流水并行:将模型不同层的计算按流水排布,实现并行计算pipeline Parallelisim8计图语言大模型训练与
3、微调计图语言大模型训练与微调n支持多种大模型的训练与微调n相比Deepspeed+PyTorch,Jittor具有以下优势训练和微调速度提升20%内存消耗减少30%相同硬件资源条件下,支持训练模型大小 提升30%以上ChatGLMLLaMAAlpacaChineseAlpaca9计图语言大模型训练与微调计图语言大模型训练与微调n代码大模型训练效果提升n1.海量训练数据采样优化HuggingFace 的均匀随机采样方案需要预处理生成海量冗余文件,并且占用大量内存;预计算所有训练文档的索引,在不占用大量存储和内存资源的同时实现快速采样10计图语言大模型训练与微调计图语言大模型训练与微调n代码大模型
4、训练效果提升n2.逐层梯度裁剪为防止代码大模型训练过程中出现梯度爆炸,使用“梯度裁剪”算法减小梯度范围:=/max(1,|2|),为模型的第i个参数由于经典算法需要统计所有梯度的平方和后才能更新梯度,增加了临时显存与访存次数,因此简化为逐层裁剪,即=/max(1,|2|),为模型的第L层的第i个参数实验发现逐层裁剪不影响收敛速度,并且减少了6%显存,加速10%11计图语言大模型训练与微调计图语言大模型训练与微调n代码大模型训练效果提升n2.长上下文支持相较于一般的对话交流场景,代码和文档数据普遍 Token 数量较多,需要大模型支持更大的上下文窗口;想增加大语言模型的上下文处理能力,需要更多的
5、算力支持。例如,将上下文长度从2048扩展至8192,需要多消耗16倍算力。采用 Llama2-Long 训练方案,即先用 80%数据 4K 窗口,再用剩余 20%数据训练 32K 窗口。此训练方案与直接训练 32K 窗口性能几乎相同,但最多可以减少 40%的总计算量。12计图大模型训练与微调计图大模型训练与微调n计图大模型训练特点模型精度、训练曲线与国际主流解决方案完全对齐,如图1所示,JittorLLM-Train在训练OpenLLaMA-Chinese应用案例中,与DeepSpeed+PyTorch的精度保持完全一致。精度完全对齐精度完全对齐l 大模型训练上提升20%的性能。l 减少显存
6、压力,大大提升模型训练规模,最大可支持万亿级别的模型训练。lhttps:/ 模型全量预训练,32K上下文500B tokens 的代码与通用文本训练 1 个月相比 LLaMA2,收敛更快,loss更低LLaMA27B代码大代码大模型模型14计图的探索计图的探索n代码大模型推理需求高在代码补全场景中:请求频率高,响应速度要求快以GitHub Copilot 为例,虽然能提升编程效率,但是其速度仍较慢,跟不上用户输入速度,体验较差因此推理系统应做到高吞吐量,低延迟对大模型推理系统提出了挑战15计图语言大模型推理库计图语言大模型推理库n成本低成本低:相比同类框架,本库可大幅降低硬件配置要求(内存显存