LLM及GPT知識(shí)點(diǎn)

工欲善其事必先利其器,在了解大語(yǔ)言模型和GPT之前先要了解基本概念。

  1. LLM
    Large Language Model (LLM) 即大型語(yǔ)言模型,也叫大語(yǔ)言模型,是一種基于深度學(xué)習(xí)的自然語(yǔ)言處理(NLP)模型,它能夠?qū)W習(xí)自然語(yǔ)言的語(yǔ)法和語(yǔ)義,從而生成人類(lèi)可讀的文本。
    所謂「語(yǔ)言模型」,就是用于處理語(yǔ)言文字(或者符號(hào)體系,編程語(yǔ)言)的 AI 模型,發(fā)現(xiàn)其中規(guī)律,可以根據(jù)提示(prompt),自動(dòng)生成符合語(yǔ)言規(guī)律的內(nèi)容。
    LLM 通?;谏窠?jīng)網(wǎng)絡(luò)模型,使用大規(guī)模的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,比如使用互聯(lián)網(wǎng)上的海量文本數(shù)據(jù)。這些模型通常擁有數(shù)十億到數(shù)萬(wàn)億個(gè)參數(shù),能夠處理各種自然語(yǔ)言處理任務(wù),如自然語(yǔ)言生成、文本分類(lèi)、文本摘要、文本翻譯、語(yǔ)音識(shí)別等。
    例如,時(shí)下火爆的 ChatGPT 就是基于 OpenAI 開(kāi)發(fā)的 GPT (Generative Pre-trained Transformer)模型,而 GPT 模型就是一種 LLM 模型。
  2. GPT
    GPT的全稱是Generative Pre-Trained Transformer(生成式預(yù)訓(xùn)練Transformer模型)是一種基于[互聯(lián)網(wǎng)]的、可用數(shù)據(jù)來(lái)訓(xùn)練的、文本生成的深度學(xué)習(xí)模型。GPT能處理的任務(wù)包括:
    NLU:Natural Language Understanding,NLG:Natural Language Generating。
    GPT 是如何工作的?
    GPT 即 Generative Pre-trained Transformer,直譯為「生成式預(yù)訓(xùn)練轉(zhuǎn)換器」。是由OpenAI 提出的一種基于 Transformer 模型的強(qiáng)大神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型。
    而 Transformer 模型 Google 提出的一種基于自注意力機(jī)制來(lái)提高訓(xùn)練速度的神經(jīng)網(wǎng)絡(luò)模型,用于處理輸入序列之間長(zhǎng)距離依賴關(guān)系。通常由多個(gè)編碼器(encoder)和解碼器(decoder)組成(Transformer 模型詳細(xì)信息可以參考:十分鐘理解 Transformer)。
    GPT 的工作通常分為兩個(gè)階段:預(yù)訓(xùn)練階段(pre-trainning)和微調(diào)階段(fine-tune)。
    預(yù)訓(xùn)練階段:GPT 利用大量未標(biāo)注的語(yǔ)料(如網(wǎng)上的文章、維基百科、書(shū)籍、社交媒體等)來(lái)訓(xùn)練語(yǔ)言模型。通常是把文本轉(zhuǎn)換成 token(這個(gè)過(guò)程稱為:Tokenization,OpenAI 使用的 Tokenization 算法叫:BPE),
    然后再把 token 通過(guò)多層 Transformer 轉(zhuǎn)換成一系列向量表示形式,這個(gè)過(guò)程叫 Embedding,生成的向量是一系列浮點(diǎn)數(shù),表示 token 的含義以及 token 的上下文信息。最終文本會(huì)被轉(zhuǎn)換成一個(gè)由向量組成的矩陣,即向量數(shù)據(jù)庫(kù)(Vector Database),其中每一行對(duì)應(yīng)于一個(gè) token 的向量表示。
    預(yù)訓(xùn)練得到的向量數(shù)據(jù)庫(kù)包含了大量的語(yǔ)言知識(shí)和表示能力,可以作為自然語(yǔ)言或編程語(yǔ)言處理任務(wù)的重要基礎(chǔ),例如在文本分類(lèi)、生成、理解等各種任務(wù)中都能發(fā)揮重要作用。
    微調(diào)階段:GPT 對(duì)預(yù)訓(xùn)練好的語(yǔ)言模型進(jìn)行微調(diào),將其遷移到各種有監(jiān)督的 NLP 任務(wù),并對(duì)參數(shù)進(jìn)行 fine tune。有監(jiān)督的 NLP 任務(wù)指的是需要標(biāo)注數(shù)據(jù)(例如問(wèn)題和答案)來(lái)進(jìn)行訓(xùn)練和評(píng)估的任務(wù)。
    當(dāng) GPT 處理文本時(shí),首先會(huì)把文本轉(zhuǎn)換成 token,然后再把 token 通過(guò)多層 Transformer 轉(zhuǎn)換成一系列向量表示形式,即 Embedding,然后在預(yù)訓(xùn)練中生成的向量數(shù)據(jù)庫(kù)中進(jìn)行處理,生成輸出文本上每個(gè)位置的向量表示,并將其作為下一步的生成輸入,最終生成有所有的輸出。
    在輸出生成過(guò)程中,GPT 還使用了一種稱為自回歸模型(Autoregressive Model)的技術(shù)。自回歸模型是指在生成序列時(shí),每個(gè)時(shí)刻只考慮之前生成的內(nèi)容,而不考慮后面未生成的內(nèi)容。這意味著每個(gè)序列值都依賴于之前的值,因此生成的序列會(huì)具有連貫性和邏輯性。
  3. Transformer
    transformer是一個(gè)利用注意力機(jī)制來(lái)提高模型訓(xùn)練速度的模型。trasnformer可以說(shuō)是完全基于自注意力機(jī)制的一個(gè)深度學(xué)習(xí)模型,因?yàn)樗m用于并行化計(jì)算,和它本身模型的復(fù)雜程度導(dǎo)致它在精度和性能上都要高于之前流行的RNN循環(huán)神經(jīng)網(wǎng)絡(luò)。
    那什么是transformer呢?
    你可以簡(jiǎn)單理解為它是一個(gè)黑盒子,當(dāng)我們?cè)谧鑫谋痉g任務(wù)是,我輸入進(jìn)去一個(gè)中文,經(jīng)過(guò)這個(gè)黑盒子之后,輸出來(lái)翻譯過(guò)后的英文。



    那么在這個(gè)黑盒子里面都有什么呢?

    里面主要有兩部分組成:Encoder 和 Decoder。

    當(dāng)我輸入一個(gè)文本的時(shí)候,該文本數(shù)據(jù)會(huì)先經(jīng)過(guò)一個(gè)叫Encoders的模塊,對(duì)該文本進(jìn)行編碼,然后將編碼后的數(shù)據(jù)再傳入一個(gè)叫Decoders的模塊進(jìn)行解碼,解碼后就得到了翻譯后的文本,對(duì)應(yīng)的我們稱Encoders為編碼器,Decoders為解碼器。
    那么編碼器和解碼器里邊又都是些什么呢?
    細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn)了,上圖中的Decoders后邊加了個(gè)s,那就代表有多個(gè)編碼器了唄,沒(méi)錯(cuò),這個(gè)編碼模塊里邊,有很多小的編碼器,一般情況下,Encoders里邊有6個(gè)小編碼器,同樣的,Decoders里邊有6個(gè)小解碼器。

    我們看到,在編碼部分,每一個(gè)的小編碼器的輸入是前一個(gè)小編碼器的輸出,而每一個(gè)小解碼器的輸入不光是它的前一個(gè)解碼器的輸出,還包括了整個(gè)編碼部分的輸出。
  4. 預(yù)訓(xùn)練模型
    自帶的最原始模型叫預(yù)訓(xùn)練模型,可以根據(jù)前文預(yù)測(cè)下一個(gè)字。它使用特殊的神經(jīng)網(wǎng)絡(luò)模型transformer來(lái)訓(xùn)練,訓(xùn)練數(shù)據(jù)來(lái)源于海量的互聯(lián)網(wǎng)數(shù)據(jù)。
  5. fine tuning
    微調(diào),為了讓模型能夠根據(jù)人們的指令進(jìn)行輸出,我們進(jìn)行微調(diào),得到的模型叫instructGPT。為了讓模型能夠跟人對(duì)話,我們同樣進(jìn)行微調(diào)出來(lái)的模型就是類(lèi)似chatGPT這樣的模型,OpenAI也開(kāi)放了fine tuning的接口來(lái)微調(diào)自己的模型,但自己提供的用于微調(diào)的數(shù)據(jù)相對(duì)于預(yù)訓(xùn)練模型的數(shù)據(jù)微乎其微,所以做了微調(diào)不能增加模型的知識(shí),一般只是用來(lái)做分類(lèi)、輸出格式調(diào)整(如問(wèn)出生年份,就不要要把月日也帶上)。
    在模型調(diào)優(yōu)中,SFT(Supervised Fine-Tuning)是指使用預(yù)先訓(xùn)練好的模型,并在少量帶標(biāo)簽的數(shù)據(jù)上進(jìn)行微調(diào)的技術(shù)。這種技術(shù)常用于深度學(xué)習(xí)領(lǐng)域,特別是自然語(yǔ)言處理任務(wù)。
    在模型調(diào)優(yōu)中,**SFT的流程**通常包括以下步驟:
    a. 選取預(yù)訓(xùn)練模型:選擇一個(gè)預(yù)先訓(xùn)練好的模型作為基礎(chǔ)模型,例如BERT、GPT等。
    b. 準(zhǔn)備數(shù)據(jù):準(zhǔn)備一個(gè)小規(guī)模的帶標(biāo)簽的數(shù)據(jù)集,這些數(shù)據(jù)應(yīng)該與你要解決的具體任務(wù)相關(guān)。
    c. 凍結(jié)模型參數(shù):在預(yù)訓(xùn)練模型的基礎(chǔ)上,凍結(jié)除了最后一層之外的所有參數(shù),這些參數(shù)在微調(diào)過(guò)程中不會(huì)發(fā)生改變。
    d. 訓(xùn)練最后一層:使用帶標(biāo)簽的數(shù)據(jù)集訓(xùn)練模型的最后一層,使其適應(yīng)特定的任務(wù)。
    e. 微調(diào)整個(gè)模型:解凍所有凍結(jié)的參數(shù),并使用帶標(biāo)簽的數(shù)據(jù)集對(duì)整個(gè)模型進(jìn)行微調(diào)。
    f. 評(píng)估模型性能:使用測(cè)試集評(píng)估微調(diào)后的模型性能,確保模型在測(cè)試集上表現(xiàn)良好。
    SFT在模型調(diào)優(yōu)中的應(yīng)用可以幫助提高模型的性能和準(zhǔn)確性,使其更好地適應(yīng)特定的任務(wù)或領(lǐng)域。這種技術(shù)在大規(guī)模預(yù)訓(xùn)練模型的基礎(chǔ)上,通過(guò)利用少量的帶標(biāo)簽數(shù)據(jù),能夠快速有效地對(duì)模型進(jìn)行微調(diào),從而在各種自然語(yǔ)言處理任務(wù)中取得良好的效果。
  6. embedding
    可以做問(wèn)答系統(tǒng)或者讓chatGPT有記憶,也是就是輸入你的知識(shí)庫(kù)或者歷史記錄,當(dāng)你提問(wèn)的時(shí)候,GPT能快速找到資料和你的問(wèn)題一起輸入給chatGPT,廣義的embedding包括embedding模型、embedding數(shù)據(jù)庫(kù)、embedding距離計(jì)算等內(nèi)容。OpenAI也開(kāi)放了相關(guān)API可上傳相關(guān)資料。
  7. 提示詞prompt
    輸入給chatGPT的內(nèi)容就是提示詞,技巧包括:讓她扮演角色(如小學(xué)老師不要以科學(xué)家口吻回答)、舉例子(few shot)、chain of thought思維鏈、tree of thought等,提示詞是否足夠好直接影響輸出的質(zhì)量,所以也就有了提示詞工程這個(gè)說(shuō)法。
  8. 自治系統(tǒng)
    自己管理自己的系統(tǒng)不需要人工干預(yù),需要把各種外部工具、GPT模型、embedding模型、embedding數(shù)據(jù)庫(kù)、prompt模板結(jié)合起來(lái)形成流水線??梢允褂胠angchain框架設(shè)計(jì)自己的系統(tǒng),也可以使用現(xiàn)成的如:autoGPT、babyAGI或者網(wǎng)頁(yè)版的agentGPT。
  9. 多模態(tài)
    GPT多數(shù)是提及的是基于文本這個(gè)模態(tài),還有些模型是支持其他模態(tài)的,如語(yǔ)言、繪圖、視頻等模態(tài)。GPT4就是多模態(tài)模型。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容