国产成人亚洲综合无码99,《大胸护士》在线观看无码,久久精品国产亚洲AV麻豆小说,国产精品G乳久久久9999,久久频这里精品99香蕉

請輸入關(guān)鍵字
搜索

太初資訊

跨越技術(shù)壁壘,打破固有模式,用智慧重新鏈接關(guān)系。

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

TECORIGIN

大模型技術(shù)

起航&推理篇


                                 正文共:3149字 15圖

預(yù)計(jì)閱讀時(shí)間:5分鐘

作者:思成

軟件生態(tài)中心 · 應(yīng)用平臺部


前言


當(dāng)前大家討論的ChatGPT、LLaMA等都屬于LLM(Large language model大語言模型),讓我們簡單回顧一下LLM的前世今生。




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 什么是語言模型


基于這樣的認(rèn)知,不難想到我們只需要找到一個(gè)足夠大的語料庫,通過統(tǒng)計(jì)后就可以得到一個(gè)基本的“語言模型“。但是,可以想象基于統(tǒng)計(jì)的方法會遇到不可避免的稀疏問題,哪怕我們簡化上面的統(tǒng)計(jì)量,假設(shè)每個(gè)詞出現(xiàn)的概率只與前n個(gè)詞有關(guān)(n-gram)。

在這之后出現(xiàn)了基于神經(jīng)網(wǎng)絡(luò)的語言模型,通過詞向量(word embedding)和神經(jīng)網(wǎng)絡(luò)來計(jì)算上面的P(xm|x1x2...xm-1),這里以基于FnnLM和RNN兩大類模型頗具代表性。



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




LLM 大語言模型


2017年由Google提出《Attention is All you need》[1]Transformer模型。Transformer模型主體由Encoder(編碼器)和Decoder(解碼器)兩部分組成。其中Encoder更擅長NLU(自然語言理解)任務(wù),Decoder更擅長NLG(自然語言生成)任務(wù)。



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

在這之后的3-4年中,各大公司不斷入局,先后提出了眾多大語言模型[2]。其中OpenAI僅使用Transformer中的Decoder部分,提出了GPT模型系列,并基于此模型結(jié)構(gòu)作為基礎(chǔ)提出了今天耳熟能詳?shù)腃hatGPT。區(qū)別與LM的顯而易見的特點(diǎn)就是模型參數(shù)量的不斷增加,以及訓(xùn)練數(shù)據(jù)的不斷增加。



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


大模型的應(yīng)用


LLM可以應(yīng)用在搜索系統(tǒng)、自動(dòng)對話系統(tǒng)、機(jī)器翻譯、文本摘要、問答系統(tǒng)、輔助編程等眾多領(lǐng)域。能夠根據(jù)問題生成符合語法規(guī)則和語義的自然語言文本。



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



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



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



圖8 大語言模型在智能客服場景上的應(yīng)用


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


大模型推理核心技術(shù)


下面我們將從幾方面來介紹大模型推理技術(shù)以及Tecorigin為了降低用戶成本,提高推理性能都做了什么。

對于大模型推理而言,有以下4個(gè)關(guān)鍵衡量維度。


1

Latency(時(shí)延),反應(yīng)了在接收到用戶請求之后,多久得到響應(yīng)。


2

Throughput(吞吐),反應(yīng)了每秒鐘可以輸出多少個(gè)token,對于大眾的閱讀速度來看,一般我們認(rèn)為每秒鐘 20-30 tokens是一個(gè)可接受的性能。


3

Utilization(利用率),反應(yīng)了在線推理引擎必須要盡可能的提高利用率,達(dá)到滿負(fù)載,否則會增加用戶的成本。



4

Accuracy(精度),反應(yīng)了推理結(jié)果的準(zhǔn)確性,毋庸置疑,一味的追求速度和利用率,降低了Accuracy是不合理的。


在明確了目標(biāo)之后,我們再來明確大模型推理的核心挑戰(zhàn)。

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]


Fastertransformer是一個(gè)用于加速基于Transformer模型結(jié)構(gòu)的模型推理加速引擎。通過高度優(yōu)化的融合算子、Shared buffer(共享緩沖)、KV Cache等核心技術(shù)極大提高了推理Latency。
 
TGI當(dāng)前也支持了continuous batching和paged attention等關(guān)鍵技術(shù)。


多卡模型并行推理

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



圖12 模型并行推理模型切分方案示意


Tecorigin開發(fā)了Teco-Inference-Engine,對基于Transformer的大模型推理算子進(jìn)行了積木化式的深度優(yōu)化??梢韵衿礃犯叻e木一樣,靈活高效的支持以下模型的單卡/多卡推理。


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

另一個(gè)方面,常見的作法包括模型量化、模型蒸餾、模型剪枝等,其中模型蒸餾和模型剪枝雖然可以很好的減少模型參數(shù)量從而提升推理性能,但是在大模型時(shí)代也會帶來一些顯著的問題。

對于模型蒸餾,考慮到訓(xùn)練一次大語言模型的成本開銷是巨大的,同樣在做模型蒸餾的過程中也不可避免的引入了硬件、人力成本。所以在大語言模型場景下實(shí)際通過模型蒸餾的方式減少模型參數(shù)量的方式還很少。

對于模型剪枝,會破壞完整的dense(稠密)參數(shù),引入sparse(稀疏)參數(shù),這樣的方式在推理硬件和工程上也需要額外的工作量才會帶來性能的提升。

最后模型量化的方案,這個(gè)方案也是當(dāng)前大模型推理領(lǐng)域被用戶選擇多的方式。



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


模型量化。模型量化通過將weight(權(quán)重)或者activation(激活值)進(jìn)行低精度(int8/4/3)表示,通過減少訪存量以及Kernel(核函數(shù))優(yōu)化等手段加速推理。模型量化在帶來性能提升的同時(shí)往往都會帶來一定的精度折損,為了衡量這部分精度折損,學(xué)術(shù)界更多的用PPL(perplexity 困惑度)指標(biāo)用于衡量量化之后的精度折損,在我們的實(shí)驗(yàn)中發(fā)現(xiàn)PPL并不是一個(gè)很完美的指標(biāo),原因是PPL是一種衡量句子流暢性的指標(biāo),這樣量化后的模型雖然可能是流暢的,但是從嚴(yán)格意義上是否和量化之前的模型推理效果是否一致是無法簡單通過PPL指標(biāo)表現(xiàn)出來。
 
基于這樣的原因,我們提出了用BLEU值輔以評估模型量化后的精度,更高質(zhì)量的保障用戶推理結(jié)果精度。這里我們將模型量化當(dāng)作一個(gè)“翻譯”任務(wù),源語是在高精度(fp32)下進(jìn)行的模型推理結(jié)果,目標(biāo)語是在低精度(fp16/int8/int4/int3)下進(jìn)行的模型推理結(jié)果。
 
通常,PTQ(Post-Training Quantization 后訓(xùn)練量化)和QAT(Quantization-Aware Training 量化感知訓(xùn)練)是兩種常見的量化方案。PTQ可以直接在模型上進(jìn)行量化,不需要引入額外的訓(xùn)練。QAT需要在訓(xùn)練過程中應(yīng)用量化方案,這雖然通常來說有更好的量化精度,但是也需要額外的訓(xùn)練代價(jià)。
 
GPTQ是PTQ中的一種方案,下表給出了我們基于開源的Baichuan-7B模型進(jìn)行模型量化之后的效果。


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)