大語言模型:LLM的基本原理解讀
本文講述了大語言模型LLM的基本原理以及應(yīng)用,僅供參考。
最近在做一些基于LLM(Large Language Models)的項(xiàng)目,計(jì)劃系統(tǒng)化的梳理一個LLM系列文章,整個大綱,大概包括以下內(nèi)容:
1、大語言模型:LLM的基本原理解讀
2、如何將LLM應(yīng)用到實(shí)際的業(yè)務(wù)中
3、基于LLM構(gòu)建應(yīng)用程序:設(shè)計(jì)指南
4、LLM的高階應(yīng)用:提示工程
5、LLM的高階應(yīng)用:插件的使用
6、LLM的高階應(yīng)用:模型微調(diào)
7、基于LLM構(gòu)建應(yīng)用程序:注意事項(xiàng)
8、基于LLM的應(yīng)用開發(fā)框架
今天分享的主題是:LLM的基本原理。
在介紹LLM之前,我們先來了解一下自然語言處理(NLP)。NLP是AI的一個子領(lǐng)域,專注于使計(jì)算機(jī)能夠處理、解釋和生成人類語言,主要任務(wù)包括:文本分類、自動翻譯、問題回答、生成文本等。
在LLM誕生之前,NLP一直在匍匐前進(jìn),異常的艱難,直到LLM的出現(xiàn),才徹底的改變了NLP的現(xiàn)狀。
一、什么是LLM?
大語言模型:LLM(Large Language Models),是試圖完成文本生成任務(wù)的一類ML(Machine Learning,機(jī)器學(xué)習(xí))模型。
LLM使計(jì)算機(jī)能夠處理、解釋和生成人類語言,從而提高人機(jī)交互效率。為了做到這一點(diǎn),LLM會分析大量文本數(shù)據(jù)或基于這些數(shù)據(jù)進(jìn)行訓(xùn)練,從而學(xué)習(xí)句子中各詞之間的模式和關(guān)系。
這個學(xué)習(xí)過程可以使用各種數(shù)據(jù)源,包括維基百科、Reddit、成千上萬本書,甚至互聯(lián)網(wǎng)本身。
在給定輸入文本的情況下,這個學(xué)習(xí)過程使得LLM能夠預(yù)測最有可能出現(xiàn)的后續(xù)單詞,從而生成對輸入文本有意義的回應(yīng)。
在過去的2年中,市場上發(fā)布的一些現(xiàn)代語言模型非常龐大(如GPT系列模型、文心一言、通義千問、Kimi、豆包等等),并且已經(jīng)在大量文本上進(jìn)行了訓(xùn)練,因此它們可以直接執(zhí)行大多數(shù)NLP任務(wù),如文本分類、自動翻譯、問題回答、生成文本等。
二、LLM的發(fā)展歷程
LLM的發(fā)展可以追溯到幾年前。它始于簡單的語言模型,如n-gram模型、LSTM網(wǎng)絡(luò)等等,直到Transformer模型的出現(xiàn),才徹底的催生了LLM。
1、N-gram模型
n-gram模型通過使用詞頻來根據(jù)前面的詞預(yù)測句子中的下一個詞,其預(yù)測結(jié)果是在訓(xùn)練文本中緊隨前面的詞出現(xiàn)的頻率最高的詞。雖然這種方法提供了不錯的著手點(diǎn),但是n-gram模型在理解上下文和語法方面仍需改進(jìn),因?yàn)樗袝r會生成不連貫的文本。
2、LSTM網(wǎng)絡(luò)
為了提高n-gram模型的性能,人們引入了更先進(jìn)的學(xué)習(xí)算法,包括循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和長短期記憶(long short-termmemory,LSTM)網(wǎng)絡(luò)。與n-gram模型相比,這些模型能夠?qū)W習(xí)更長的序列,并且能夠更好地分析上下文,但它們在處理大量數(shù)據(jù)時的效率仍然欠佳。盡管如此,在很長的一段時間里,這些模型算是最高效的,因此在自動翻譯等任務(wù)中被廣泛使用。
3、Transformer模型
Transformer架構(gòu)徹底改變了NLP領(lǐng)域,這主要是因?yàn)樗軌蛴行У亟鉀Q之前的NLP模型存在的一個關(guān)鍵問題:很難處理長文本序列并記住其上下文。(也就是臭名昭著的“災(zāi)難性遺忘問題”),Transformer則具備高效處理和編碼上下文的能力。
這場革命的核心支柱是注意力機(jī)制,這是一個簡單而又強(qiáng)大的機(jī)制。模型不再將文本序列中的所有詞視為同等重要,而是在任務(wù)的每個步驟中關(guān)注最相關(guān)的詞。
交叉注意力和自注意力是基于注意力機(jī)制的兩個架構(gòu)模塊,它們經(jīng)常出現(xiàn)在LLM中。Transformer架構(gòu)廣泛使用了交叉注意力模塊和自注意力模塊。
交叉注意力機(jī)制
交叉注意力有助于模型確定輸入文本的不同部分與輸出文本中下一個詞的相關(guān)性。它就像一盞聚光燈,照亮輸入文本中的詞或短語,并突出顯示預(yù)測下一個詞所需的相關(guān)信息,同時忽略不重要的細(xì)節(jié)。
為了說明這一點(diǎn),讓我們以一個簡單的句子翻譯任務(wù)為例。
假設(shè)輸入文本是這樣一個英語句子:Alice enjoyed the sunny weather in Brussels(Alice很享受布魯塞爾陽光明媚的天氣)。
如果目標(biāo)語言是法語,那么輸出文本應(yīng)該是:Alice a profité du temps ensoleillé à Bruxelles。
在這個例子中,讓我們專注于生成法語單詞ensoleillé,它對應(yīng)原句中的sunny。
對于這個預(yù)測任務(wù),交叉注意力模塊會更關(guān)注英語單詞sunny和weather,因?yàn)樗鼈兌寂censoleillé 相關(guān)。通過關(guān)注這兩個單詞,交叉注意力模塊有助于模型為句子的這一部分生成準(zhǔn)確的翻譯結(jié)果。
自注意力機(jī)制
自注意力機(jī)制是指模型能夠關(guān)注其輸入文本的不同部分。具體到NLP領(lǐng)域,自注意力機(jī)制使模型能夠評估句子中的每個詞相比于其他詞的重要性。這使得模型能夠更好地理解各詞之間的關(guān)系,并根據(jù)輸入文本中的多個詞構(gòu)建新概念。
來看一個更具體的例子。
考慮以下句子:Alice received praise from hercolleagues(Alice受到同事的贊揚(yáng))。
假設(shè)模型試圖理解her這個單詞的意思。自注意力機(jī)制給句子中的每個單詞分配不同的權(quán)重,突出在這個上下文中與her相關(guān)的單詞。
在本例中,自注意力機(jī)制會更關(guān)注Alice和colleagues這兩個單詞。如前所述,自注意力機(jī)制幫助模型根據(jù)這些單詞構(gòu)建新概念。在本例中,可能出現(xiàn)的一個新概念是Alice’s colleagues。
Transformer架構(gòu)的并行優(yōu)勢
Transformer架構(gòu)具有易于并行化的優(yōu)勢。這意味著 Transformer架構(gòu)可以同時處理輸入文本的多個部分,而無須順序處理。這樣做可以提高計(jì)算速度和訓(xùn)練速度,因?yàn)槟P偷牟煌糠挚梢圆⑿泄ぷ?,而無須等待前一步驟完成。
基于Transformer架構(gòu)的模型所具備的并行處理能力與圖形處理單元(graphics processing unit,GPU)的架構(gòu)完美契合,后者專用于同時處理多個計(jì)算任務(wù)。由于高度的并行性和強(qiáng)大的計(jì)算能力,GPU非常適合用于訓(xùn)練和運(yùn)行基于Transformer架構(gòu)的模型。硬件上的這一進(jìn)展使數(shù)據(jù)科學(xué)家能夠在大型數(shù)據(jù)集上訓(xùn)練模型,從而為開發(fā)LLM鋪平了道路。
編碼器和解碼器模型
Transformer架構(gòu)由來自谷歌公司的Ashish Vaswani等人在2017年的論文“Attention Is All You Need”中提出,最初用于序列到序列的任務(wù),如機(jī)器翻譯任務(wù)。
標(biāo)準(zhǔn)的Transformer架構(gòu)有兩個主要組件:編碼器和解碼器,兩者都十分依賴注意力機(jī)制。
編碼器的任務(wù)是處理輸入文本,識別有價值的特征,并生成有意義的文本表示,稱為嵌入(embedding)。
解碼器使用這個嵌入來生成一個輸出,比如翻譯結(jié)果或摘要文本。這個輸出有效地解釋了編碼信息。
生成式預(yù)訓(xùn)練Transformer
生成式預(yù)訓(xùn)練Transformer(Generative Pre-trained Transformer,GPT)是一類基于Transformer架構(gòu)的模型,專門利用原始架構(gòu)中的解碼器部分。
在GPT中,不存在編碼器,因此無須通過交叉注意力機(jī)制來整合編碼器產(chǎn)生的嵌入。也就是說,GPT僅依賴解碼器內(nèi)部的自注意力機(jī)制來生成上下文感知的表示和預(yù)測結(jié)果。
GPT模型的標(biāo)記和預(yù)測實(shí)現(xiàn)
GPT模型接收一段提示詞作為輸入,然后生成一段文本作為輸出。這個過程被稱為文本補(bǔ)全。
當(dāng)GPT模型收到一段提示詞之后,它首先將輸入拆分成標(biāo)記(token)。這些標(biāo)記代表單詞、單詞的一部分、空格或標(biāo)點(diǎn)符號。
因?yàn)橛辛俗⒁饬C(jī)制和Transformer架構(gòu),LLM能夠輕松處理標(biāo)記并解釋它們之間的關(guān)系及提示詞的整體含義。Transformer架構(gòu)使模型能夠高效地識別文本中的關(guān)鍵信息和上下文。
為了生成新的句子,LLM根據(jù)提示詞的上下文預(yù)測最有可能出現(xiàn)的下一個標(biāo)記。與之前的循環(huán)模型不同,帶有注意力機(jī)制的Transformer架構(gòu)使得LLM能夠?qū)⑸舷挛淖鳛橐粋€整體來考慮。基于這個上下文,模型為每個潛在的后續(xù)標(biāo)記分配一個概率分?jǐn)?shù),然后選擇概率最高的標(biāo)記作為序列中的下一個標(biāo)記。從而實(shí)現(xiàn)文本的預(yù)測。
以上便是LLM的基本實(shí)現(xiàn)原理。
本文由人人都是產(chǎn)品經(jīng)理作者【長弓PM】,微信公眾號:【AI產(chǎn)品經(jīng)理社】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
- 目前還沒評論,等你發(fā)揮!