《劉政寧-基于計圖框架的代碼大模型.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成本低成本低:相比同類框架,本庫可大幅降低硬件配置要求(內存顯存
7、減少80%),人人皆可在普通機器上,實現大模型本地部署;n支持廣支持廣:華為盤古大模型;清華唐杰團隊的ChatGLM大模型;blinkdl的ChatRWKV;國外Meta的LLAMA大模型;n自主可控自主可控:支持軟硬件異構化,Pytorch被JTorch和Jittor替代后,速度全面提升ChatGLM盤古LLaMA稟臨科技 ChatRWKV顯存內存硬盤動態swap機制Jittor NLP 生態FastNLP基礎算子Transformer加速庫.16計圖語言大模型推理庫計圖語言大模型推理庫n動態swap機制大模型在推理過程中,常常碰到參數文件過大,模型加載效率低下等問題Jittor通過內存直通
8、讀取,減少內存拷貝數量,大大提升模型加載效率相比PyTorch,模型加載效率提升40%顯存內存硬盤JittorPyTorch加載ChatGLM 6B用時 7s12s17計圖語言大模型推理庫計圖語言大模型推理庫n統一內存管理大模型在推理過程中,常常顯存和內存消耗過大,無法運行Jittor通過基于元算子的內存切分技術與統一內存管理,使得數據可以在顯存,內存和硬盤之間快速切換精度不變的情況下,大幅降低硬件配置要求(減少80%),普通筆記本純CPU也能跑大模型運行ChatGLM 6B速度(fp16)JittorPyTorchTITAN RTX 24G21 token/s20 token/sRTX305
9、0 4G2 token/s無法運行CPU 6G0.3 token/s 無法運行18計圖語言大模型推理庫計圖語言大模型推理庫n前向推理加速大模型計算量大,推理延遲高,速度越快越提升體驗;計圖基于PagedAttention、FlashAttention、FlashDecoder等技術減少冗余的顯存占用和GPU計算,實現低延遲、高吞吐將輸入序列的劃分為塊,緩存生成過程中的Attention中間結果(KV),減少無效存儲共享同一個Prompt的中間結果,減少重復計算三條輸入序列,batch表示分塊存儲三條輸入序列,黃色為prompt共享顯存19計圖語言大模型推理庫計圖語言大模型推理庫n代碼場景長上下
10、文支持相較于一般的對話交流場景,代碼和文檔數據普遍 Token 數量較多,需要大模型支持更大的上下文窗口20計圖語言大模型推理庫計圖語言大模型推理庫n前向推理加速大模型計算量大,推理延遲高,速度越快越提升體驗;計圖基于PagedAttention、FlashAttention、FlashDecoder等技術減少冗余的顯存占用和GPU計算,實現低延遲、高吞吐結合多種優化技術,進一步提升推理速度目前已經將15B大模型加速到原版PyTorch實現的10倍以上,比 OpenAI api、Huggingface tgi、vllm 更快。l 定制化 GPU kernel 實現l 自適應低精度量化l 多卡加
11、速優化推理優化優化效果21一:Fitten推理加速框架騰訊代碼團隊大模型推理加速需求:1.大模型對推理延遲要求高,速度越快越提升體驗;2.原始大模型推理方案延遲難以接受,希望優化15B大模型,能夠達到 OpenAI的速度。目前已經將15B大模型加速到原版PyTorch實現的10倍以上,比 OpenAI api 更快。l 定制化 GPU kernel 實現l 自適應低精度量化l 多卡加速優化推理優化已經實現優化效果22一:Fitten推理加速框架吞吐量顯著增加,大幅節省成本1.輸出吞吐量超過騰訊Code業務團隊原使用的開源加速框架10倍,部署成本大大降低為原來的1/10;2.以服務騰訊內部1萬程
12、序員為例,原先預計需要400張卡降低至40張,預計成本從每年3000萬降低到300萬;延遲輸出token最大吞吐量A100 40G最大并發部署成本Huggingface TGI(Code業務團隊原來使用的加速框架)40ms400 token/s8高FittenFitten推理加速框推理加速框架(基于架(基于JittorJittor)2030ms4000 token/s64低(1/10)提升1.6X10X8X10X23一:Fitten推理加速框架實時測試結果8k支持64 batch,延遲低于25ms(A100 40G)4k支持128 batch,延遲低于33ms(A100 40G)支持dynam
13、ic batch視頻為128路實時運行結果FittenCode速度、效果最領先的代碼大模型服務25二:代碼助手產品 FittenCode超越 OpenAI Copilot、智譜 CodeGeeX 等國內外知名產品:1.Human-Eval 測試中 FittenCode 代碼生成準確率超過其他產品2.FittenCode生成速度比Copilot快36%,比CodeGeeX快60%;35.99449.511060.11500306090120150準確率Human-Eval pass1生成速度Tokens/s智譜CodeGeeX2OpenAI CopilotFittenCodeGithub Cop
14、ilotFittenCode提升延遲平均約1秒平均約300ms233%代碼補全量平均1-2行平均3-5行200%準確率49.5%60.1%21%價格每月10美元免費N/A26二:代碼助手產品 FittenCode 效果最好超越Copilot、CodeGeeX等國內外知名產品:讓代碼大模型實現最長上升子序列算法,僅僅FittenCode成功實現了最優算法,Copilot、CodeGeeX未能實現最優算法27二:代碼助手產品 FittenCode 速度最快 實際運行效果對比:實際運行效果對比:測試使用代碼助手輔助編寫ResNet模型;延遲更低:延遲更低:Fitten Code平均延遲只有300ms
15、,可以交互式補全,然而GitHub Copilot首次延遲有足足5秒;質量更高:質量更高:Fitten Code生成了Resnet的完整代碼,而GitHubCopilot生成了大量不可用的重復片段。28二:代碼助手產品 FittenCode 功能豐富智能代碼補全自動添加注釋文檔29二:代碼助手產品 FittenCode 功能豐富根據自然語言生成代碼30二:代碼助手產品 FittenCode 使用方便產品網頁鏈接:https:/編輯器一鍵安裝插件VSCode 插件市場趨勢榜第一31總結總結n視覺信息在維度上的提升,對大模型的設計、訓練和推理都帶來了挑戰,需要探索新的骨干網絡和訓練優化算法;n深度學習時代的計算可視媒體需要算法、數據、算力以及框架協同發力;n希望計圖能為各位老師、同學的研究工作提供一個中國方案,讓大家多一種選擇!Jittor官網官網實驗室公眾號實驗室公眾號GithubGitlink非十科技非十科技