色丁香婷婷五月天综合影院,绯色av色欲AV无码一区,久久精品无码一区二区三区免费,国产 日韩 欧美综合在线

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

太初資訊

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

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

TECORIGIN

大模型技術(shù)

起航&推理篇


                                 正文共:3149字 15圖

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

作者:思成

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


前言


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




LM 語(yǔ)言模型

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



圖1 什么是語(yǔ)言模型


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

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



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




LLM 大語(yǔ)言模型


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



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

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



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


大模型的應(yīng)用


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



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



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



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



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


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


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


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

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


1

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


2

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


3

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



4

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


在明確了目標(biāo)之后,我們?cè)賮?lái)明確大模型推理的核心挑戰(zhàn)。

Large memory footprint(大量顯存開(kāi)銷(xiāo)),GPT/LLaMA等大模型的模型結(jié)構(gòu)與解碼方式直接導(dǎo)致了在推理過(guò)程中會(huì)產(chǎn)生大量的顯存開(kāi)銷(xiāo),由Parameter(參數(shù))和Intermediate states(中間激活值)組成。

Low parallelizability(低并行度),當(dāng)前主流自然語(yǔ)言模型均是Autoregressive(自回歸),這種自回歸的模式導(dǎo)致了非常低的并行度。



圖9 大語(yǔ)言模型推理過(guò)程


基于以上的目標(biāo)和挑戰(zhàn),為了更好的支持用戶(hù)并提高大模型推理性能,Tecorigin從下面幾方面入手。


Large  盡可能小的Memory footprint



支持多種推理框架

基于不同的業(yè)務(wù)場(chǎng)景,需要靈活選擇一個(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通過(guò)固定大小的“頁(yè)”來(lái)實(shí)現(xiàn)顯存的分配而不需要框架分配max_seq_len長(zhǎng)度的連續(xù)內(nèi)存,大大降低了不必要的顯存開(kāi)銷(xiāo),從而極大的提升了推理更大batch的可能,這意味著更高的Throughput。



圖10 PagedAttention算法示意,引用自[4]


Continuous batching在進(jìn)行batch>1的推理場(chǎng)景下,一旦batch中的某一個(gè)序列推理完成,那么就可以在之后插入一個(gè)新序列,從而充分利用GPU使用率。



圖11 Continuous batching算法示意,引用自[5]


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


多卡模型并行推理

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



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


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


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

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

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

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

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



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


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


GPTQ(weight only)


除此之外……

Low 盡可能高的parallelizability


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



圖14 RecycleGPT算法示意


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





圖15 RecycleGPT得到廣泛關(guān)注


至此,本文簡(jiǎn)要介紹了大語(yǔ)言模型的近3年發(fā)展現(xiàn)狀,以及大模型推理的核心挑戰(zhàn)及其對(duì)應(yīng)的主流優(yōu)化方案,并簡(jiǎn)要介紹了Tecorigin在大模型推理上已有的技術(shù)能力,《大模型技術(shù)·起航&推理篇》到此結(jié)束。未來(lái),會(huì)有更多的大模型技術(shù)跟大家一起分享、交流、討論。


入局者,厚積方可薄發(fā)。太初元碁Tecorigin將持續(xù)深耕產(chǎn)業(yè)創(chuàng)新沃土,與時(shí)代發(fā)展同頻共振,共育數(shù)智卓越人才,憑借深厚技術(shù)沉淀與領(lǐng)先研發(fā)實(shí)力,驅(qū)動(dòng)算力之輪駛向未來(lái)智能世界!

免費(fèi)試用申請(qǐng)


如果您對(duì)我們的產(chǎn)品感興趣,可點(diǎn)擊底部“閱讀原文”,進(jìn)行試用申請(qǐng);

復(fù)制下方鏈接:https://shimo.im/forms/KrkElNNyO7uWeRqJ/fill 在瀏覽器中打開(kāi),即可搶先試用!


參考文獻(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)