【元來如此】第一章——大模型技術(shù) · 起航&推理篇(內(nèi)含產(chǎn)品試用申請)!

正文共:3149字 15圖
預(yù)計(jì)閱讀時(shí)間:5分鐘
作者:思成
軟件生態(tài)中心 · 應(yīng)用平臺部
前言

LM 語言模型
說到LLM就不得不提LM(language model語言模型)。語言模型是這樣一個(gè)模型:對于一句話(由詞組成的序列),它能夠計(jì)算出這句話出現(xiàn)的概率。為了讓模型給出這樣的概率P,最簡單的方法就是將其用概率論中的方法進(jìn)行展開,這樣只要想辦法得到每一個(gè)P(xm|x1x2...xm-1)即可。這樣從另一個(gè)角度來看,如果我們可以找到一個(gè)模型:它能夠計(jì)算P(xm|x1x2...xm-1),那么它就是一個(gè)語言模型。

圖1 什么是語言模型

圖2 基于統(tǒng)計(jì)的語言模型和基于神經(jīng)網(wǎng)絡(luò)的語言模型

LLM 大語言模型

圖3 基于海量數(shù)據(jù)和大參數(shù)量的語言模型

圖4 大語言模型近3年發(fā)展時(shí)間線,引用自[2]

大模型的應(yīng)用

圖5 大模型應(yīng)用廣泛的下游任務(wù),引用自[3]

圖6 大語言模型在搜索問答中的應(yīng)用

圖7 大語言模型在輔助編程上的應(yīng)用

圖8 大語言模型在智能客服場景上的應(yīng)用
當(dāng)大家都去挖金礦時(shí),應(yīng)該去賣鏟子。如果將大模型比作金子,那么鏟子是什么呢?答案是算力+推理服務(wù),接下來我們來看Tecorigin準(zhǔn)備了什么樣的“鏟子”。

大模型推理核心技術(shù)
“
1
“
2
“
3
“
4
Large memory footprint(大量顯存開銷),GPT/LLaMA等大模型的模型結(jié)構(gòu)與解碼方式直接導(dǎo)致了在推理過程中會產(chǎn)生大量的顯存開銷,由Parameter(參數(shù))和Intermediate states(中間激活值)組成。
Low parallelizability(低并行度),當(dāng)前主流自然語言模型均是Autoregressive(自回歸),這種自回歸的模式導(dǎo)致了非常低的并行度。

圖9 大語言模型推理過程
基于以上的目標(biāo)和挑戰(zhàn),為了更好的支持用戶并提高大模型推理性能,Tecorigin從下面幾方面入手。
Large 盡可能小的Memory footprint
支持多種推理框架
基于不同的業(yè)務(wù)場景,需要靈活選擇一個(gè)合適的推理框架。當(dāng)前比較主流的推理框架有vLLM,F(xiàn)astertransformer+Triton Server,TGI(Text generation inference)等。
其中vLLM框架支持PagedAttention[3]和Continuous batching[4]等技術(shù)。
PagedAttention技術(shù)可以讓KV Cache通過固定大小的“頁”來實(shí)現(xiàn)顯存的分配而不需要框架分配max_seq_len長度的連續(xù)內(nèi)存,大大降低了不必要的顯存開銷,從而極大的提升了推理更大batch的可能,這意味著更高的Throughput。

圖10 PagedAttention算法示意,引用自[4]
Continuous batching在進(jìn)行batch>1的推理場景下,一旦batch中的某一個(gè)序列推理完成,那么就可以在之后插入一個(gè)新序列,從而充分利用GPU使用率。

圖11 Continuous batching算法示意,引用自[5]
多卡模型并行推理
下圖展示了基于模型并行的大模型推理切分方案,通過模型縱向切分,充分利用多卡訪存/算力,并深度優(yōu)化通信算子,高效降低多卡并行推理帶來通信開銷。

圖12 模型并行推理模型切分方案示意
同時(shí),我們也開發(fā)了Shard buffer、KV Cache等核心技術(shù)減少顯存開銷和提高推理性能。以此作為后端,前端接入了vLLM/Triton Server等主流框架。

圖13 模型量化、模型蒸餾、模型剪枝算法示意,來自網(wǎng)絡(luò)
GPTQ(weight only)

除此之外……
Low 盡可能高的parallelizability
為了解決Low parallelizability,我們在8月份提出了RecycleGPT[6],一種可重復(fù)利用模型狀態(tài)加速解碼過程的模型,在近乎無效果損失的前提下,實(shí)現(xiàn)了1.4倍的推理加速,并引起了廣泛關(guān)注。

圖14 RecycleGPT算法示意
RecycleGPT[6]在傳統(tǒng)的自回歸語言模型基礎(chǔ)上增加了一個(gè)Recyclable Module(再利用模塊)。這個(gè)結(jié)構(gòu)很好的回收了當(dāng)前step輸出的隱狀態(tài)并再利用于Next Next token(下下個(gè)令牌)生成。通過這樣的方式提高了一次推理的利用率,從而端到端提升模型的推理性能。


圖15 RecycleGPT得到廣泛關(guān)注
至此,本文簡要介紹了大語言模型的近3年發(fā)展現(xiàn)狀,以及大模型推理的核心挑戰(zhàn)及其對應(yīng)的主流優(yōu)化方案,并簡要介紹了Tecorigin在大模型推理上已有的技術(shù)能力,《大模型技術(shù)·起航&推理篇》到此結(jié)束。未來,會有更多的大模型技術(shù)跟大家一起分享、交流、討論。
入局者,厚積方可薄發(fā)。太初元碁Tecorigin將持續(xù)深耕產(chǎn)業(yè)創(chuàng)新沃土,與時(shí)代發(fā)展同頻共振,共育數(shù)智卓越人才,憑借深厚技術(shù)沉淀與領(lǐng)先研發(fā)實(shí)力,驅(qū)動(dòng)算力之輪駛向未來智能世界!

免費(fèi)試用申請
如果您對我們的產(chǎn)品感興趣,可點(diǎn)擊底部“閱讀原文”,進(jìn)行試用申請;
或復(fù)制下方鏈接:https://shimo.im/forms/KrkElNNyO7uWeRqJ/fill 在瀏覽器中打開,即可搶先試用!
參考文獻(xiàn)
[1] [1706.03762] Attention Is All You Need (arxiv.org)
[2] [2303.18223] A Survey of Large Language Models (arxiv.org)
[3] [2108.07258] On the Opportunities and Risks of Foundation Models (arxiv.org)
[4] [2309.06180] Efficient Memory Management for Large Language Model Serving with PagedAttention (arxiv.org)
[5] Achieve 23x LLM Inference Throughput & Reduce p50 Latency (anyscale.com)
[6] [2308.03421] RecycleGPT: An Autoregressive Language Model with Recyclable Module (arxiv.org)