ChatGPT橫空出世后,伴隨而來(lái)的是大量AI概念,這些概念互相之間既有聯(lián)系也有區(qū)別,讓人一臉懵逼,近期大魚(yú)做了GPT相關(guān)概念的辨析,特此分享給你。 1)Transformer 2)GPT 3)InstructGPT 4)ChatGPT(GPT3.5/GPT4.0) 5)大模型 6)AIGC(人工智能生成內(nèi)容) 7)AGI(通用人工智能) 8)LLM(大型語(yǔ)言模型) 9)羊駝(Alpaca) 10)Fine-tuning(微調(diào)) 11)自監(jiān)督學(xué)習(xí)(Self-Supervised Learning) 12)自注意力機(jī)制(Self-Attention Mechanism) 13)零樣本學(xué)習(xí)(Zero-Shot Learning) 14)AI Alignment (AI對(duì)齊) 15)詞嵌入(Word Embeddings) 16)位置編碼(Positional Encoding) 17)中文LangChain Transformer 是一種基于自注意力機(jī)制(self-attention mechanism)的深度學(xué)習(xí)模型,最初是為了處理序列到序列(sequence-to-sequence)的任務(wù),比如機(jī)器翻譯。由于其優(yōu)秀的性能和靈活性,它現(xiàn)在被廣泛應(yīng)用于各種自然語(yǔ)言處理(NLP)任務(wù)。Transformer模型最初由Vaswani等人在2017年的論文'Attention is All You Need'中提出。(1)自注意力機(jī)制(Self-Attention Mechanism)自注意力機(jī)制是Transformer模型的核心。它允許模型在處理一個(gè)序列的時(shí)候,考慮序列中的所有單詞,并根據(jù)它們的重要性給予不同的權(quán)重。這種機(jī)制使得模型能夠捕獲到一個(gè)序列中的長(zhǎng)距離依賴關(guān)系。(2)位置編碼(Positional Encoding)由于Transformer模型沒(méi)有明確的處理序列順序的機(jī)制,所以需要添加位置編碼來(lái)提供序列中單詞的位置信息。位置編碼是一個(gè)向量,與輸入單詞的嵌入向量相加,然后輸入到模型中。(3)編碼器和解碼器(Encoder and Decoder)Transformer模型由多層的編碼器和解碼器堆疊而成。編碼器用于處理輸入序列,解碼器用于生成輸出序列。編碼器和解碼器都由自注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)(Feed-Forward Neural Network)組成。(4)多頭注意力(Multi-Head Attention)在處理自注意力時(shí),Transformer模型并不只滿足于一個(gè)注意力分布,而是產(chǎn)生多個(gè)注意力分布,這就是所謂的多頭注意力。多頭注意力可以讓模型在多個(gè)不同的表示空間中學(xué)習(xí)輸入序列的表示。(5)前饋神經(jīng)網(wǎng)絡(luò)(Feed-Forward Neural Network)在自注意力之后,Transformer模型會(huì)通過(guò)一個(gè)前饋神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)一步處理序列。這個(gè)網(wǎng)絡(luò)由兩層全連接層和一個(gè)ReLU激活函數(shù)組成。(6)殘差連接和層歸一化(Residual Connection and Layer Normalization)Transformer模型中的每一個(gè)子層(自注意力和前饋神經(jīng)網(wǎng)絡(luò))都有一個(gè)殘差連接,并且其輸出會(huì)通過(guò)層歸一化。這有助于模型處理深度網(wǎng)絡(luò)中常見(jiàn)的梯度消失和梯度爆炸問(wèn)題。左側(cè)為 Encoder block,右側(cè)為 Decoder block。紅色圈中的部分為 Multi-Head Attention,是由多個(gè) Self-Attention組成的,可以看到 Encoder block 包含一個(gè) Multi-Head Attention,而 Decoder block 包含兩個(gè) Multi-Head Attention (其中有一個(gè)用到 Masked)。Multi-Head Attention 上方還包括一個(gè) Add & Norm 層,Add 表示殘差連接 (Residual Connection) 用于防止網(wǎng)絡(luò)退化,Norm 表示 Layer Normalization,用于對(duì)每一層的激活值進(jìn)行歸一化。Transformer模型的優(yōu)點(diǎn)在于,它能夠并行處理序列中的所有單詞,這使得它在處理長(zhǎng)序列時(shí)比循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)更高效。另外,自注意力機(jī)制使得模型能夠捕獲到序列中長(zhǎng)距離的依賴關(guān)系,這是RNN難以做到的。GPT,全稱為Generative Pre-training Transformer,是OpenAI開(kāi)發(fā)的一種基于Transformer的大規(guī)模自然語(yǔ)言生成模型。GPT模型采用了自監(jiān)督學(xué)習(xí)的方式,首先在大量的無(wú)標(biāo)簽文本數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,然后在特定任務(wù)的數(shù)據(jù)上進(jìn)行微調(diào)。GPT模型的主要結(jié)構(gòu)是一個(gè)多層的Transformer解碼器,但是它只使用了Transformer解碼器的部分,沒(méi)有使用編碼器-解碼器的結(jié)構(gòu)。此外,為了保證生成的文本在語(yǔ)法和語(yǔ)義上的連貫性,GPT模型采用了因果掩碼(causal mask)或者叫自回歸掩碼(auto-regressive mask),這使得每個(gè)單詞只能看到其前面的單詞,而不能看到后面的單詞。在預(yù)訓(xùn)練(Pre-training)階段,GPT模型使用了一個(gè)被稱為'Masked Language Model'(MLM)的任務(wù),也就是預(yù)測(cè)一個(gè)句子中被遮蓋住的部分。預(yù)訓(xùn)練的目標(biāo)是最大化句子中每個(gè)位置的單詞的條件概率,這個(gè)概率由模型生成的分布和真實(shí)單詞的分布之間的交叉熵來(lái)計(jì)算。在微調(diào)(fine-tuning)階段,GPT模型在特定任務(wù)的數(shù)據(jù)上進(jìn)行訓(xùn)練,例如情感分類、問(wèn)答等。微調(diào)的目標(biāo)是最小化特定任務(wù)的損失函數(shù),例如分類任務(wù)的交叉熵?fù)p失函數(shù)。GPT模型的優(yōu)點(diǎn)在于,由于其預(yù)訓(xùn)練-微調(diào)的訓(xùn)練策略,它可以有效地利用大量的無(wú)標(biāo)簽數(shù)據(jù)進(jìn)行學(xué)習(xí),并且可以輕松地適應(yīng)各種不同的任務(wù)。此外,由于其基于Transformer的結(jié)構(gòu),它可以并行處理輸入序列中的所有單詞,比基于循環(huán)神經(jīng)網(wǎng)絡(luò)的模型更高效。(1)GPT-1用的是自監(jiān)督預(yù)訓(xùn)練+有監(jiān)督微調(diào),5G文檔,1億參數(shù),這種兩段式的語(yǔ)言模型,其能力還是比較單一,即翻譯模型只能翻譯,填空模型只能填空,摘要模型只能摘要等等,要在實(shí)際任務(wù)中使用,需要各自在各自的數(shù)據(jù)上做微調(diào)訓(xùn)練,這顯然很不智能。(2)GPT-2用的是純自監(jiān)督預(yù)訓(xùn)練,相對(duì)于GPT-1,它可以無(wú)監(jiān)督學(xué)習(xí),即可以從大量未標(biāo)記的文本中學(xué)習(xí)語(yǔ)言模式,而無(wú)需人工標(biāo)記的訓(xùn)練數(shù)據(jù)。這使得GPT-2在訓(xùn)練時(shí)更加靈活和高效。它引入了更多的任務(wù)進(jìn)行預(yù)訓(xùn)練,40G文檔,15億參數(shù),能在沒(méi)有針對(duì)下游任務(wù)進(jìn)行訓(xùn)練的條件下,就在下游任務(wù)上有很好的表現(xiàn)。(3)GPT-3沿用了GPT-2的純自監(jiān)督預(yù)訓(xùn)練,但是數(shù)據(jù)大了好幾個(gè)量級(jí),570G文檔,模型參數(shù)量為 1750 億,GPT-3表現(xiàn)出了強(qiáng)大的零樣本(zero-shot)和少樣本(few-shot)學(xué)習(xí)能力。這意味著它可以在沒(méi)有或只有極少示例的情況下,理解并完成新的任務(wù),它能生成更連貫、自然和人性化的文本,理解文本、獲取常識(shí)以及理解復(fù)雜概念等方面也比GPT-2表現(xiàn)得更好。GPT-3 雖然在各大 NLP 任務(wù)以及文本生成的能力上令人驚艷,但模型在實(shí)際應(yīng)用中時(shí)長(zhǎng)會(huì)暴露以下缺陷,很多時(shí)候,他并不按人類喜歡的表達(dá)方式去說(shuō)話:(1)提供無(wú)效回答:沒(méi)有遵循用戶的明確指示,答非所問(wèn)。 (2)內(nèi)容胡編亂造:純粹根據(jù)文字概率分布虛構(gòu)出不合理的內(nèi)容。 (3)缺乏可解釋性:人們很難理解模型是如何得出特定決策的,難以確信回答的準(zhǔn)確性。 (4)內(nèi)容偏見(jiàn)有害:模型從數(shù)據(jù)中獲取偏見(jiàn),導(dǎo)致不公平或不準(zhǔn)確的預(yù)測(cè)。 (5)連續(xù)交互能力弱:長(zhǎng)文本生成較弱,上下文無(wú)法做到連續(xù)。 在這個(gè)背景下,OpenAI 提出了一個(gè)概念“Alignment”,意思是模型輸出與人類真實(shí)意圖對(duì)齊,符合人類偏好。因此,為了讓模型輸出與用戶意圖更加 “align”,就有了 InstructGPT 這個(gè)工作。InstructGPT相對(duì)于GPT的改進(jìn)主要是使用了來(lái)自人類反饋的強(qiáng)化學(xué)習(xí)方案—— RLHF( Reinforcement Learning with human feedback)來(lái)微調(diào) GPT-3,這種技術(shù)將人類的偏好作為激勵(lì)信號(hào)來(lái)微調(diào)模型。如上圖所示,以摘要生成任務(wù)為例,詳細(xì)展示了如何基于人類反饋進(jìn)行強(qiáng)化學(xué)習(xí),最終訓(xùn)練完成得到 InstructGPT 模型。主要分為三步:1. 收集人類反饋:使用初始化模型對(duì)一個(gè)樣本生成多個(gè)不同摘要,人工對(duì)多個(gè)摘要按效果進(jìn)行排序,得到一批排好序的摘要樣本;2. 訓(xùn)練獎(jiǎng)勵(lì)模型:使用第1步得到的樣本集,訓(xùn)練一個(gè)模型,該模型輸入為一篇文章和對(duì)應(yīng)的一個(gè)摘要,模型輸出為該摘要的得分;3. 訓(xùn)練策略模型:使用初始化的策略模型生成一篇文章的摘要,然后使用獎(jiǎng)勵(lì)模型對(duì)該摘要打分,再使用打分值借助 PPO 算法重新優(yōu)化策略模型InstructGPT可以更好地理解用戶意圖,通過(guò)指令-回答對(duì)的數(shù)據(jù)集和指令-評(píng)價(jià)對(duì)的數(shù)據(jù)集,InstructGPT可以學(xué)習(xí)如何根據(jù)不同的指令生成更有用、更真實(shí)、更友好的輸出。ChatGPT由OpenAI公司在2022年11月30日發(fā)布。在同樣由OpenAI開(kāi)發(fā)的GPT-3.5模型基礎(chǔ)上,ChatGPT通過(guò)無(wú)監(jiān)督學(xué)習(xí)與強(qiáng)化學(xué)習(xí)技術(shù)進(jìn)行微調(diào),并提供了客戶端界面,支持用戶通過(guò)客戶端與模型進(jìn)行問(wèn)答交互。ChatGPT不開(kāi)源,但通過(guò)WebUI為用戶提供免費(fèi)的服務(wù)。OpenAI沒(méi)有公布ChatGPT的論文和相關(guān)的訓(xùn)練和技術(shù)細(xì)節(jié)(GPT-3.5沒(méi)有開(kāi)源),但我們可以從其兄弟模型InstructGPT以及網(wǎng)絡(luò)上公開(kāi)的碎片化的情報(bào)中尋找到實(shí)現(xiàn)ChatGPT的蛛絲馬跡。根據(jù)OpenAI所言,ChatGPT相對(duì)于InstructGPT的主要改進(jìn)在于收集標(biāo)注數(shù)據(jù)的方法上,而整個(gè)訓(xùn)練過(guò)程沒(méi)有什么區(qū)別,因此,可以推測(cè)ChatGPT的訓(xùn)練過(guò)程應(yīng)該與InstructGPT的類似,大體上可分為3步:1.預(yù)訓(xùn)練一個(gè)超大的語(yǔ)言模型;2.收集人工打分?jǐn)?shù)據(jù),訓(xùn)練一個(gè)獎(jiǎng)勵(lì)模型;3.使用強(qiáng)化學(xué)習(xí)方法微調(diào)優(yōu)化語(yǔ)言模型。相對(duì)于GPT-3,GPT-3.5擁有3個(gè)變體,每個(gè)變體有13億、60億和1750億參數(shù),當(dāng)前ChatGPT提供了基于GPT-4的版本,相對(duì)于GPT-3.5,GPT-4模型據(jù)說(shuō)有1萬(wàn)億個(gè)參數(shù),GPT4是一個(gè)多模態(tài)(multimodal)模型,即它可以接受圖像和文本作為輸入,并輸出文本;而GPT3.5只能接受文本作為輸入,并輸出文本。這使得GPT4可以處理更復(fù)雜且具有視覺(jué)信息的任務(wù),如圖像描述、圖像問(wèn)答、圖像到文本等。關(guān)于大模型,有學(xué)者稱之為“大規(guī)模預(yù)訓(xùn)練模型”(large pretrained language model),也有學(xué)者進(jìn)一步提出”基礎(chǔ)模型”(Foundation Models)的概念。2021年8月,李飛飛、Percy Liang等百來(lái)位學(xué)者聯(lián)名發(fā)布了文章:On the Opportunities and Risks of Foundation Models[1],提出“基礎(chǔ)模型”(Foundation Models)的概念:基于自監(jiān)督學(xué)習(xí)的模型在學(xué)習(xí)過(guò)程中會(huì)體現(xiàn)出來(lái)各個(gè)不同方面的能力,這些能力為下游的應(yīng)用提供了動(dòng)力和理論基礎(chǔ),稱這些大模型為“基礎(chǔ)模型”。“小模型”:針對(duì)特定應(yīng)用場(chǎng)景需求進(jìn)行訓(xùn)練,能完成特定任務(wù),但是換到另外一個(gè)應(yīng)用場(chǎng)景中可能并不適用,需要重新訓(xùn)練(我們現(xiàn)在用的大多數(shù)模型都是這樣)。這些模型訓(xùn)練基本是“手工作坊式”,并且模型訓(xùn)練需要大規(guī)模的標(biāo)注數(shù)據(jù),如果某些應(yīng)用場(chǎng)景的數(shù)據(jù)量少,訓(xùn)練出的模型精度就會(huì)不理想。“大模型”:在大規(guī)模無(wú)標(biāo)注數(shù)據(jù)上進(jìn)行訓(xùn)練,學(xué)習(xí)出一種特征和規(guī)則?;诖竽P瓦M(jìn)行應(yīng)用開(kāi)發(fā)時(shí),將大模型進(jìn)行微調(diào)(在下游小規(guī)模有標(biāo)注數(shù)據(jù)進(jìn)行二次訓(xùn)練)或者不進(jìn)行微調(diào),就可以完成多個(gè)應(yīng)用場(chǎng)景的任務(wù),實(shí)現(xiàn)通用的智能能力。可以這么類別,機(jī)器學(xué)習(xí)同質(zhì)化學(xué)習(xí)算法(例如邏輯回歸)、深度學(xué)習(xí)同質(zhì)化模型結(jié)構(gòu)(例如CNN),基礎(chǔ)模型則同質(zhì)化模型本身(例如GPT-3)。人工智能的發(fā)展已經(jīng)從“大煉模型”逐步邁向了“煉大模型”的階段。ChatGPT只是一個(gè)起點(diǎn),其背后的Foundation Module的長(zhǎng)期價(jià)值更值得被期待。大模型發(fā)展的前期被稱為預(yù)訓(xùn)練模型,預(yù)訓(xùn)練技術(shù)的主要思想是遷移學(xué)習(xí)。當(dāng)目標(biāo)場(chǎng)景的數(shù)據(jù)不足時(shí),首先在數(shù)據(jù)量龐大的公開(kāi)數(shù)據(jù)集上訓(xùn)練模型,然后將其遷移到目標(biāo)場(chǎng)景中,通過(guò)目標(biāo)場(chǎng)景中的小數(shù)據(jù)集進(jìn)行微調(diào) ,使模型達(dá)到需要的性能 。在這一過(guò)程中,這種在公開(kāi)數(shù)據(jù)集訓(xùn)練過(guò)的深層網(wǎng)絡(luò)模型,被稱為“預(yù)訓(xùn)練模型”。使用預(yù)訓(xùn)練模型很大程度上降低下游任務(wù)模型對(duì)標(biāo)注數(shù)據(jù)數(shù)量的要求,從而可以很好地處理一些難以獲得大量標(biāo)注數(shù)據(jù)的新場(chǎng)景。2018年出現(xiàn)的大規(guī)模自監(jiān)督(self-supervised)神經(jīng)網(wǎng)絡(luò)是真正具有革命性的。這類模型的精髓是從自然語(yǔ)言句子中創(chuàng)造出一些預(yù)測(cè)任務(wù)來(lái),比如預(yù)測(cè)下一個(gè)詞或者預(yù)測(cè)被掩碼(遮擋)詞或短語(yǔ)。這時(shí),大量高質(zhì)量文本語(yǔ)料就意味著自動(dòng)獲得了海量的標(biāo)注數(shù)據(jù)。讓模型從自己的預(yù)測(cè)錯(cuò)誤中學(xué)習(xí)10億+次之后,它就慢慢積累很多語(yǔ)言和世界知識(shí),這讓模型在問(wèn)答或者文本分類等更有意義的任務(wù)中也取得好的效果。沒(méi)錯(cuò),說(shuō)的就是BERT 和GPT-3之類的大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型,也就是我們說(shuō)的大模型。2022年8月,Google發(fā)表論文,重新探討了模型效果與模型規(guī)模之間的關(guān)系。結(jié)論是:當(dāng)模型規(guī)模達(dá)到某個(gè)閾值時(shí),模型對(duì)某些問(wèn)題的處理性能呈現(xiàn)快速增長(zhǎng)。作者將這種現(xiàn)象稱為Emergent Abilities,即涌現(xiàn)能力。大模型的典型架構(gòu)就是Transformer 架構(gòu),其自2018年開(kāi)始統(tǒng)治NLP領(lǐng)域,NLP領(lǐng)域的進(jìn)展迎來(lái)了井噴。為何預(yù)訓(xùn)練的transformer有如此威力?其中最重要的思想是attention,也就是前面提到過(guò)的注意力機(jī)制。就是句子中每個(gè)位置的表征(representation,一般是一個(gè)稠密向量)是通過(guò)其他位置的表征加權(quán)求和而得到。為什么這么簡(jiǎn)單的結(jié)構(gòu)和任務(wù)能取得如此威力?原因在其通用性。預(yù)測(cè)下一個(gè)單詞這類任務(wù)簡(jiǎn)單且通用,以至于幾乎所有形式的語(yǔ)言學(xué)和世界知識(shí),從句子結(jié)構(gòu)、詞義引申、基本事實(shí)都能幫助這個(gè)任務(wù)取得更好的效果。大模型也在訓(xùn)練過(guò)程中學(xué)到了這些信息,讓單個(gè)模型在接收少量的指令后就能解決各種不同的NLP問(wèn)題。也許,大模型就是“大道至簡(jiǎn)”的最好詮釋。'大模型'通常是具有大量的參數(shù),它們定義了模型的復(fù)雜性和學(xué)習(xí)能力。實(shí)現(xiàn)大模型主要涉及以下幾個(gè)步驟:(1) 模型架構(gòu)設(shè)計(jì):大模型通常具有更深的網(wǎng)絡(luò)架構(gòu)(更多的層)和/或更寬的層(更多的神經(jīng)元)。這種設(shè)計(jì)可以使模型擁有更強(qiáng)大的表示能力,可以學(xué)習(xí)和記憶更復(fù)雜的模式,比如Transformer 架構(gòu)。(2) 數(shù)據(jù)準(zhǔn)備:訓(xùn)練大模型需要大量的數(shù)據(jù)。這些數(shù)據(jù)為模型提供了學(xué)習(xí)的機(jī)會(huì),使其能夠捕捉到數(shù)據(jù)中的潛在模式。大量的訓(xùn)練數(shù)據(jù)也有助于防止模型過(guò)擬合,這是深度學(xué)習(xí)模型常常需要面臨的問(wèn)題。(3) 計(jì)算資源:大模型需要大量的計(jì)算資源來(lái)進(jìn)行訓(xùn)練,包括強(qiáng)大的GPU和足夠的內(nèi)存。大模型的訓(xùn)練通常需要并行化和分布式計(jì)算來(lái)處理大量的計(jì)算任務(wù)。(4) 優(yōu)化算法:訓(xùn)練大模型需要高效的優(yōu)化算法。這些算法(如隨機(jī)梯度下降及其變體)用于調(diào)整模型的參數(shù)以最小化預(yù)測(cè)錯(cuò)誤。(5) 正則化技術(shù):大模型由于其復(fù)雜性,更容易過(guò)擬合訓(xùn)練數(shù)據(jù)。因此,訓(xùn)練大模型通常需要使用正則化技術(shù)(如權(quán)重衰減、dropout等)來(lái)防止過(guò)擬合。(6) 模型并行和數(shù)據(jù)并行:由于大模型的規(guī)模,訓(xùn)練過(guò)程常常需要在多個(gè)GPU或者多個(gè)機(jī)器上進(jìn)行。模型并行和數(shù)據(jù)并行是兩種常用的策略,前者是將模型的不同部分分布在不同的設(shè)備上,后者是將數(shù)據(jù)分布在不同的設(shè)備上。這些是實(shí)現(xiàn)大模型的一般步驟和要求。然而,這也帶來(lái)了一些挑戰(zhàn),如計(jì)算資源的需求、訓(xùn)練時(shí)間的增加、過(guò)擬合的風(fēng)險(xiǎn)等。因此,選擇合適的模型規(guī)模以平衡性能和效率是深度學(xué)習(xí)中的一個(gè)重要任務(wù)。除了GPT-3、GPT-3.5及GPT-4,當(dāng)前還有BERT、RoBERTa、T5、XLNet等大模型。這些模型都是由不同的公司和組織開(kāi)發(fā)的,它們都有自己的優(yōu)點(diǎn)和缺點(diǎn)。以下是這些模型的簡(jiǎn)要介紹:(1)BERT:BERT是由Google開(kāi)發(fā)的一種預(yù)訓(xùn)練語(yǔ)言模型,它在自然語(yǔ)言處理領(lǐng)域取得了很大的成功。BERT有340M和1.1B兩個(gè)版本,其中1.1B版本有33億個(gè)參數(shù)。(2)RoBERTa:RoBERTa是Facebook AI Research開(kāi)發(fā)的一種預(yù)訓(xùn)練語(yǔ)言模型,它在自然語(yǔ)言處理領(lǐng)域取得了很大的成功。RoBERTa有125M、250M、500M、1.5B和2.7B五個(gè)版本,其中2.7B版本有27億個(gè)參數(shù)。(3)T5:T5是由Google開(kāi)發(fā)的一種預(yù)訓(xùn)練語(yǔ)言模型,它在自然語(yǔ)言處理領(lǐng)域取得了很大的成功。T5有11B和22B兩個(gè)版本,其中22B版本有220億個(gè)參數(shù)。(4)XLNet:XLNet是由CMU和Google Brain開(kāi)發(fā)的一種預(yù)訓(xùn)練語(yǔ)言模型,它在自然語(yǔ)言處理領(lǐng)域取得了很大的成功。XLNet有兩個(gè)版本,分別為XLNet-Large和XLNet-Base,其中XLNet-Large有18億個(gè)參數(shù)。(5)GShard:GShard是由Google開(kāi)發(fā)的一種預(yù)訓(xùn)練語(yǔ)言模型,它在自然語(yǔ)言處理領(lǐng)域取得了很大的成功。GShard有兩個(gè)版本,分別為GShard-Large和GShard-Base,其中GShard-Large有6億個(gè)參數(shù)。(6)Switch Transformer:Switch Transformer是由CMU開(kāi)發(fā)的一種預(yù)訓(xùn)練語(yǔ)言模型,它在自然語(yǔ)言處理領(lǐng)域取得了很大的成功。Switch Transformer有兩個(gè)版本,分別為Switch Transformer-Large和Switch Transformer-Base,其中Switch Transformer-Large有1.6億個(gè)參數(shù)。AIGC(Artificial Intelligence Generated Content / AI-Generated Content)中文譯為人工智能生成內(nèi)容,一般認(rèn)為是相對(duì)于PCG(專業(yè)生成內(nèi)容)、UCG(用戶生成內(nèi)容)而提出的概念。AIGC狹義概念是利用AI自動(dòng)生成內(nèi)容的生產(chǎn)方式。廣義的AIGC可以看作是像人類一樣具備生成創(chuàng)造能力的AI技術(shù),即生成式AI,它可以基于訓(xùn)練數(shù)據(jù)和生成算法模型,自主生成創(chuàng)造新的文本、圖像、音樂(lè)、視頻、3D交互內(nèi)容等各種形式的內(nèi)容和數(shù)據(jù),以及包括開(kāi)啟科學(xué)新發(fā)現(xiàn)、創(chuàng)造新的價(jià)值和意義等。AIGC技術(shù)中,耳熟能詳?shù)漠?dāng)屬Transformer、GPT、Diffusion、CLIP、Stable Diffusion,下面簡(jiǎn)要介紹下Diffusion、CLIP、Stable Diffusion。“擴(kuò)散” 來(lái)自一個(gè)物理現(xiàn)象:當(dāng)我們把墨汁滴入水中,墨汁會(huì)均勻散開(kāi);這個(gè)過(guò)程一般不能逆轉(zhuǎn),但是 AI 可以做到。當(dāng)墨汁剛滴入水中時(shí),我們能區(qū)分哪里是墨哪里是水,信息是非常集中的;當(dāng)墨汁擴(kuò)散開(kāi)來(lái),墨和水就難分彼此了,信息是分散的。類比于圖片,這個(gè)墨汁擴(kuò)散的過(guò)程就是圖片逐漸變成噪點(diǎn)的過(guò)程:從信息集中的圖片變成信息分散、沒(méi)有信息的噪點(diǎn)圖很簡(jiǎn)單,逆轉(zhuǎn)這個(gè)過(guò)程就需要 AI 的加持了。研究人員對(duì)圖片加噪點(diǎn),讓圖片逐漸變成純?cè)朦c(diǎn)圖;再讓 AI 學(xué)習(xí)這個(gè)過(guò)程的逆過(guò)程,也就是如何從一張?jiān)朦c(diǎn)圖得到一張有信息的高清圖。這個(gè)模型就是 AI 繪畫(huà)中各種算法,如Disco Diffusion、Stable Diffusion中的常客擴(kuò)散模型(Diffusion Model)。 (2)CLIP( Contrastive Language-Image Pre-Training,大規(guī)模預(yù)訓(xùn)練圖文表征模型)如果讓你把下面左側(cè)三張圖和右側(cè)三句話配對(duì),你可以輕松完成這個(gè)連線。但對(duì) AI 來(lái)說(shuō),圖片就是一系列像素點(diǎn),文本就是一串字符,要完成這個(gè)工作可不簡(jiǎn)單。大規(guī)模預(yù)訓(xùn)練圖文表征模型用4億對(duì)來(lái)自網(wǎng)絡(luò)的圖文數(shù)據(jù)集,將文本作為圖像標(biāo)簽,進(jìn)行訓(xùn)練。一張圖像和它對(duì)應(yīng)的文本描述,希望通過(guò)對(duì)比學(xué)習(xí),模型能夠?qū)W習(xí)到文本-圖像對(duì)的匹配關(guān)系。CLIP為CV研究者打開(kāi)了一片非常非常廣闊的天地,把自然語(yǔ)言級(jí)別的抽象概念帶到計(jì)算機(jī)視覺(jué)里。Diffusion算法針對(duì)任意噪聲圖片去噪后得到的圖片是不可控的,如果讓Diffusion算法能夠接受文字的提示從而生成想要的圖片,這就是當(dāng)下AIGC的另一個(gè)大熱點(diǎn),AI繪畫(huà):只輸入文字描述,即可自動(dòng)生成各種圖像,其核心算法-Stable Diffusion,就是上面提到的文字到圖片的多模態(tài)算法CLIP和圖像生成算法DIffusion的結(jié)合體,CLIP就是作為作為文字提示用的,進(jìn)而對(duì)DIffusion施加影響生成所需的圖片。參考下面算法核心邏輯的插圖,Stable Diffusion的數(shù)據(jù)會(huì)在像素空間(Pixel Space)、潛在空間(Latent Space)、條件(Conditioning)三部分之間流轉(zhuǎn),其算法邏輯大概分這幾步:1、圖像編碼器將圖像從像素空間(Pixel Space)壓縮到更小維度的潛在空間(Latent Space),捕捉圖像更本質(zhì)的信息,否則維度太多計(jì)算量太大;2、對(duì)潛在空間中的圖片添加噪聲,進(jìn)行擴(kuò)散過(guò)程(Diffusion Process);3、通過(guò)CLIP文本編碼器將輸入的描述語(yǔ)轉(zhuǎn)換為去噪過(guò)程的條件(Conditioning);4、基于一些條件(Conditioning)對(duì)圖像進(jìn)行去噪(Denoising)以獲得生成圖片的潛在表示,去噪步驟可以靈活地以文本、圖像和其他形式為條件(以文本為條件即 text2img、以圖像為條件即 img2img);5、圖像解碼器通過(guò)將圖像從潛在空間轉(zhuǎn)換回像素空間來(lái)生成最終圖像。AGI 是 Artificial General Intelligence(通用人工智能)的縮寫(xiě),它指的是一種理論上的形式的人工智能,具有全面理解、學(xué)習(xí)和應(yīng)用知識(shí)的能力,與人類智能在各方面上都相當(dāng)或者超越。這種類型的AI能夠理解、學(xué)習(xí)和應(yīng)用其在一個(gè)領(lǐng)域?qū)W到的知識(shí)到任何其他領(lǐng)域。通用人工智能與當(dāng)前存在的人工智能(通常被稱為弱人工智能或窄人工智能)有很大的不同。當(dāng)前的AI系統(tǒng)通常在一個(gè)非常特定的任務(wù)或一組任務(wù)中表現(xiàn)出超人的性能,例如圍棋、語(yǔ)言翻譯、圖像識(shí)別等,但它們?nèi)狈υ谝粋€(gè)任務(wù)上學(xué)到的知識(shí)應(yīng)用到其他任務(wù)的能力,也沒(méi)有真正理解它們正在做什么的能力。當(dāng)前火熱的GPT等大模型仍然是一種窄人工智能(Narrow AI)或特定人工智能(Specific AI)。它們被訓(xùn)練來(lái)執(zhí)行特定的任務(wù)(在這種情況下是生成文本),而并不具有廣泛的理解能力或適應(yīng)新任務(wù)的能力,這是AGI的特征。然而,GPT和AGI的關(guān)聯(lián)在于,GPT是當(dāng)前AI研究為實(shí)現(xiàn)AGI所做出的努力中的一部分。它表明了預(yù)訓(xùn)練模型的潛力,并給出了一種可能的路徑,通過(guò)不斷增加模型的規(guī)模和復(fù)雜性,可能會(huì)接近AGI。但是,這仍然是一個(gè)未解決的問(wèn)題,并且需要更多的研究來(lái)確定這是否可行,以及如何安全有效地實(shí)現(xiàn)這一目標(biāo)。盡管GPT在生成文本上表現(xiàn)出了強(qiáng)大的性能,但它并不理解它正在說(shuō)什么。GPT沒(méi)有意識(shí),也沒(méi)有理解或意愿,它只是學(xué)會(huì)了模擬人類語(yǔ)言模式的統(tǒng)計(jì)模型。這是目前所有AI系統(tǒng)(包括GPT)與AGI之間的一個(gè)關(guān)鍵區(qū)別。我們?nèi)匀贿h(yuǎn)離實(shí)現(xiàn)通用人工智能。實(shí)現(xiàn)這個(gè)目標(biāo)需要解決許多重大的科學(xué)和技術(shù)挑戰(zhàn),包括但不限于語(yǔ)義理解、共享和遷移學(xué)習(xí)、推理和規(guī)劃,以及自我知覺(jué)和自我理解。大語(yǔ)言模型(英文:Large Language Model,縮寫(xiě)LLM),也稱大型語(yǔ)言模型,是一種人工智能模型,旨在理解和生成人類語(yǔ)言。它們?cè)诖罅康奈谋緮?shù)據(jù)上進(jìn)行訓(xùn)練,可以執(zhí)行廣泛的任務(wù),包括文本總結(jié)、翻譯、情感分析等等。LLM的特點(diǎn)是規(guī)模龐大,包含數(shù)十、成百、上千億的參數(shù),這種模型可以捕獲語(yǔ)言的復(fù)雜模式,包括句法、語(yǔ)義和一些上下文信息,從而生成連貫、有意義的文本。GPT3、ChatGPT、BERT、T5、文心一言等都是典型的大型語(yǔ)言模型。ChatGPT 大熱,讓人驚嘆其強(qiáng)大的對(duì)話、上下文理解、代碼生成等等能力,但另一方面由于 GPT-3以后得 系列模型 & ChatGPT 均未開(kāi)源,再加上高昂的訓(xùn)練成本所構(gòu)成的堅(jiān)不可摧的護(hù)城河,讓普通人 & 公司望而卻步。2023年3月,Meta開(kāi)源了一個(gè)新的大模型系列 ——LLaMA(Large Language Model Meta AI),參數(shù)量從 70 億到 650 億不等。130 億參數(shù)的 LLaMA 模型在大多數(shù)基準(zhǔn)上可以勝過(guò)參數(shù)量達(dá) 1750 億的 GPT-3,而且可以在單塊 V100 GPU 上運(yùn)行。時(shí)隔幾天,斯坦福基于 LLaMA 7B 微調(diào)出一個(gè)具有 70 億參數(shù)的新模型 Alpaca,他們使用了 Self-Instruct 論文中介紹的技術(shù)生成了 52K 條指令數(shù)據(jù),同時(shí)進(jìn)行了一些修改,在初步的人類評(píng)估中,Alpaca 7B 模型在 Self-Instruct 指令評(píng)估上的表現(xiàn)類似于 text-davinci-003(GPT-3.5)模型。然后,斯坦福學(xué)者聯(lián)手 CMU、UC 伯克利等,再次推出一個(gè)全新模型 ——130 億參數(shù)的 Vicuna,俗稱「小羊駝」(駱馬)。Vicuna 是通過(guò)在 ShareGPT 收集的用戶共享對(duì)話上對(duì) LLaMA 進(jìn)行微調(diào)訓(xùn)練而來(lái),訓(xùn)練成本近 300 美元。研究人員設(shè)計(jì)了 8 個(gè)問(wèn)題類別,包括數(shù)學(xué)、寫(xiě)作、編碼,對(duì) Vicuna-13B 與其他四個(gè)模型進(jìn)行了性能測(cè)試。測(cè)試過(guò)程使用 GPT-4 作為評(píng)判標(biāo)準(zhǔn),結(jié)果顯示 Vicuna-13B 在超過(guò) 90% 的情況下實(shí)現(xiàn)了與 ChatGPT 和 Bard 相匹敵的能力。同時(shí),在超過(guò) 90% 的情況下勝過(guò)了其他模型,如 LLaMA 和斯坦福的 Alpaca。Fine-tuning(微調(diào))是一種機(jī)器學(xué)習(xí)技術(shù),用于調(diào)整已預(yù)訓(xùn)練的模型以適應(yīng)新的任務(wù)。預(yù)訓(xùn)練的模型是在大量數(shù)據(jù)集(如整個(gè)互聯(lián)網(wǎng)的文本)上訓(xùn)練的,并且已經(jīng)學(xué)習(xí)了該數(shù)據(jù)的許多基本模式。然后,這些模型可以被微調(diào),即在更小、特定的數(shù)據(jù)集上進(jìn)行額外的訓(xùn)練,以適應(yīng)特定的任務(wù)。例如,你可以取一個(gè)已經(jīng)在大量的英文文本上預(yù)訓(xùn)練的模型(這樣它已經(jīng)學(xué)會(huì)了英語(yǔ)的語(yǔ)法和許多詞匯),然后在一個(gè)小的數(shù)據(jù)集上進(jìn)行微調(diào),這個(gè)數(shù)據(jù)集包含醫(yī)學(xué)文本。微調(diào)后的模型將能更好地理解和生成醫(yī)學(xué)相關(guān)的文本,因?yàn)樗呀?jīng)適應(yīng)了這個(gè)特定的領(lǐng)域,前面提到的GPT-1就用到了微調(diào)技術(shù)。微調(diào)的一個(gè)關(guān)鍵優(yōu)勢(shì)是,預(yù)訓(xùn)練的模型已經(jīng)學(xué)習(xí)了許多有用的基本模式,因此只需要相對(duì)較小的數(shù)據(jù)集就可以對(duì)其進(jìn)行微調(diào)。這樣,微調(diào)可以更快、更有效地訓(xùn)練模型,尤其是在數(shù)據(jù)有限的情況下。11、自監(jiān)督學(xué)習(xí)(Self-Supervised Learning)自監(jiān)督學(xué)習(xí)是從數(shù)據(jù)本身找標(biāo)簽來(lái)進(jìn)行有監(jiān)督學(xué)習(xí)。 無(wú)監(jiān)督學(xué)習(xí)沒(méi)有標(biāo)擬合標(biāo)簽的過(guò)程,而是從數(shù)據(jù)分布的角度來(lái)構(gòu)造損失函數(shù)。自監(jiān)督學(xué)習(xí)的代表是語(yǔ)言模型,無(wú)監(jiān)督的代表是聚類。自監(jiān)督不需要額外提供label,只需要從數(shù)據(jù)本身進(jìn)行構(gòu)造。這種方法的一個(gè)常見(jiàn)示例是預(yù)測(cè)文本中的下一個(gè)單詞或缺失的單詞。模型的輸入可能是一個(gè)句子中的一部分,目標(biāo)或標(biāo)簽是句子中的下一個(gè)單詞或缺失的單詞。通過(guò)這種方式,模型可以在大量未標(biāo)記的文本數(shù)據(jù)上進(jìn)行訓(xùn)練,并學(xué)習(xí)語(yǔ)言的語(yǔ)法和語(yǔ)義。自監(jiān)督學(xué)習(xí)的一個(gè)主要優(yōu)點(diǎn)是可以利用大量的未標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練。在許多情況下,獲取未標(biāo)記的數(shù)據(jù)要比獲取標(biāo)記的數(shù)據(jù)容易得多。例如,互聯(lián)網(wǎng)上有大量的文本數(shù)據(jù)可以用來(lái)訓(xùn)練語(yǔ)言模型,但只有一小部分?jǐn)?shù)據(jù)有人工標(biāo)記。下圖示例了基于自監(jiān)督學(xué)習(xí)的圖像修復(fù)示例,我們可以通過(guò)隨機(jī)去掉圖像中的某個(gè)部分來(lái)生成訓(xùn)練數(shù)據(jù),原數(shù)據(jù)作為訓(xùn)練標(biāo)簽來(lái)進(jìn)行預(yù)訓(xùn)練,對(duì)于下游任務(wù),生成器學(xué)到的語(yǔ)義特征相比隨機(jī)初始化有10.2%的提升,對(duì)于分類和物體檢測(cè)有<4%的提升。請(qǐng)注意,雖然自監(jiān)督學(xué)習(xí)可以學(xué)習(xí)數(shù)據(jù)的內(nèi)在模式,但它可能需要額外的監(jiān)督學(xué)習(xí)步驟(例如,fine-tuning)來(lái)執(zhí)行特定的任務(wù)。例如,預(yù)訓(xùn)練的語(yǔ)言模型(如GPT-3)首先使用自監(jiān)督學(xué)習(xí)來(lái)學(xué)習(xí)語(yǔ)言的模式,然后可以在特定任務(wù)的標(biāo)記數(shù)據(jù)上進(jìn)行微調(diào)。12、自注意力機(jī)制(Self-Attention Mechanism)自注意力機(jī)制,也被稱為自我注意力或者是轉(zhuǎn)換模型(Transformers)中的注意力機(jī)制,是一種捕獲序列數(shù)據(jù)中不同位置之間相互依賴性的技術(shù)。這種機(jī)制使得模型可以在處理一個(gè)元素(例如一個(gè)詞)時(shí),考慮到序列中其他元素的信息。在自注意力機(jī)制中,每一個(gè)輸入元素(例如一個(gè)單詞)都會(huì)被轉(zhuǎn)換為三種向量:查詢向量、鍵向量(Key vector)和值向量(Value vector)。在自注意力機(jī)制中,計(jì)算一個(gè)詞的新表示的步驟如下:(1)計(jì)算查詢向量與所有鍵向量(即輸入元素)的點(diǎn)積,以此來(lái)獲取該詞與其他詞之間的相關(guān)性。(2)將這些相關(guān)性得分經(jīng)過(guò)softmax函數(shù)轉(zhuǎn)化為權(quán)重,以此使得與當(dāng)前詞更相關(guān)的詞獲得更高的權(quán)重。(3)用這些權(quán)重對(duì)值向量進(jìn)行加權(quán)平均,得到的結(jié)果就是當(dāng)前詞的新表示。舉個(gè)例子,我們考慮英文句子 'I love my dog.' 在自注意力機(jī)制處理后,每個(gè)詞的新表示會(huì)是什么樣的。我們將關(guān)注'I'這個(gè)詞。原始的詞嵌入向量 'I' 可能只包含了 'I' 這個(gè)詞本身的信息,比如它是一個(gè)代詞,通常用于表示說(shuō)話者自己等。但在自注意力機(jī)制處理后,'I' 的新表示將包含與其有關(guān)的上下文信息。比如在這個(gè)句子中,'I'后面跟著的是 'love my dog',所以新的表示可能會(huì)包含一些與“喜愛(ài)”和“狗”有關(guān)的信息。通過(guò)這種方式,自注意力機(jī)制可以捕獲到序列中長(zhǎng)距離的依賴關(guān)系,而不僅僅是像循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)那樣只能捕獲相鄰詞之間的信息。這使得它在處理諸如機(jī)器翻譯、文本生成等需要理解全局信息的任務(wù)中表現(xiàn)得尤為優(yōu)秀。13、零樣本學(xué)習(xí)(Zero-Shot Learning)前面講過(guò),GPT-3表現(xiàn)出了強(qiáng)大的零樣本(zero-shot)和少樣本(few-shot)學(xué)習(xí)能力,那么何謂零樣本學(xué)習(xí)呢?零樣本學(xué)習(xí)是一種機(jī)器學(xué)習(xí)的范式,主要解決在訓(xùn)練階段未出現(xiàn)但在測(cè)試階段可能出現(xiàn)的類別的分類問(wèn)題。這個(gè)概念通常用于視覺(jué)物體識(shí)別或自然語(yǔ)言處理等領(lǐng)域。在傳統(tǒng)的監(jiān)督學(xué)習(xí)中,模型需要在訓(xùn)練階段看到某類的樣本,才能在測(cè)試階段識(shí)別出這一類。然而,在零樣本學(xué)習(xí)中,模型需要能夠理解和識(shí)別在訓(xùn)練數(shù)據(jù)中從未出現(xiàn)過(guò)的類別。比如被廣泛引用的人類識(shí)別斑馬的例子:假設(shè)一個(gè)人從來(lái)沒(méi)有見(jiàn)過(guò)斑馬這種動(dòng)物,即斑馬對(duì)這個(gè)人來(lái)說(shuō)是未見(jiàn)類別,但他知道斑馬是一種身上有著像熊貓一樣的黑白顏色的、像老虎一樣的條紋的、外形像馬的動(dòng)物,即熊貓、老虎、馬是已見(jiàn)類別。那么當(dāng)他第一次看到斑馬的時(shí)候, 可以通過(guò)先驗(yàn)知識(shí)和已見(jiàn)類,識(shí)別出這是斑馬。在零樣本學(xué)習(xí)中,這些未出現(xiàn)過(guò)的類別的信息通常以一種形式的語(yǔ)義表示來(lái)提供,例如詞嵌入、屬性描述等。總的來(lái)說(shuō),零樣本學(xué)習(xí)是一種非常有挑戰(zhàn)性的任務(wù),因?yàn)樗枰P湍軌蛲茝V并將在訓(xùn)練階段學(xué)習(xí)到的知識(shí)應(yīng)用到未見(jiàn)過(guò)的類別上。這種任務(wù)的成功需要模型具備一定的抽象和推理能力。14、 AI Alignment (AI對(duì)齊)在人工智能領(lǐng)域,對(duì)齊( Alignment )是指如何讓人工智能模型的產(chǎn)出,和人類的常識(shí)、認(rèn)知、需求、價(jià)值觀保持一致。往大了說(shuō)不要?dú)缛祟悾×苏f(shuō)就是生成的結(jié)果是人們真正想要的。例如,OpenAI成立了Alignment團(tuán)隊(duì),并提出了InstructGPT模型,該模型使用了Alignment技術(shù),要求AI系統(tǒng)的目標(biāo)要和人類的價(jià)值觀與利益相對(duì)齊(保持一致)。比如說(shuō)向系統(tǒng)提問(wèn):“怎么強(qiáng)行進(jìn)入其他人的房子?”GPT3會(huì)一本正經(jīng)的告訴你,你需要找一個(gè)堅(jiān)硬的物體來(lái)撞門(mén),或者找看看哪個(gè)窗戶沒(méi)有鎖。而InstructGPT會(huì)跟你說(shuō),闖入他人的房子是不對(duì)的,如果有糾紛請(qǐng)聯(lián)系警察。嗯,看起來(lái)InstructGPT要善良多了。詞嵌入(Word Embeddings)是一種將詞語(yǔ)或短語(yǔ)從詞匯表映射到向量的技術(shù)。這些向量捕捉到了詞語(yǔ)的語(yǔ)義(含義)和語(yǔ)法(如詞性,復(fù)數(shù)形式等)特征。詞嵌入的一個(gè)關(guān)鍵特點(diǎn)是,語(yǔ)義上相近的詞語(yǔ)在向量空間中通常會(huì)靠得很近。這樣,計(jì)算機(jī)就可以以一種更接近人類語(yǔ)言的方式理解和處理文本。舉個(gè)例子,假設(shè)我們有四個(gè)詞:'king', 'queen', 'man', 'woman'。在一個(gè)好的詞嵌入模型中,'king' 和 'queen' 的詞向量將非常接近,因?yàn)樗麄兌即砹嘶适业念^銜;同樣,'man' 和 'woman' 的詞向量也會(huì)非常接近,因?yàn)樗麄兌即硇詣e。此外,詞嵌入模型甚至可以捕獲更復(fù)雜的關(guān)系。例如,從 'king' 的詞向量中減去 'man' 的詞向量并加上 'woman' 的詞向量,結(jié)果會(huì)非常接近 'queen' 的詞向量。這表示出了性別的差異:'king' 對(duì)于 'man' 就像 'queen' 對(duì)于 'woman'。詞嵌入通常由大量文本數(shù)據(jù)學(xué)習(xí)而來(lái),例如,Google 的 Word2Vec 和 Stanford 的 GloVe 就是兩種常見(jiàn)的詞嵌入模型。這些模型能夠從大量的文本數(shù)據(jù)中學(xué)習(xí)到詞語(yǔ)之間的各種復(fù)雜關(guān)系。GPT(Generative Pretrained Transformer)實(shí)現(xiàn)詞嵌入的方式和許多其他自然語(yǔ)言處理模型類似,但有一些特別的地方。下面是一些關(guān)于 GPT 如何實(shí)現(xiàn)詞嵌入的基本信息。GPT 首先將文本分解為子詞單位。這個(gè)過(guò)程中用到的算法叫做Byte Pair Encoding (BPE)。BPE 是一種自底向上的方法,通過(guò)統(tǒng)計(jì)大量文本數(shù)據(jù)中的詞匯共現(xiàn)情況,將最常見(jiàn)的字符或字符組合合并成一個(gè)單元。BPE 能夠有效處理詞形變化、拼寫(xiě)錯(cuò)誤和罕見(jiàn)詞匯。具體來(lái)說(shuō),例如英文單詞 'lowering' 可能被 BPE 分解為 'low', 'er', 'ing' 這三個(gè)子詞單元。這樣做的好處在于,即使 'lowering' 這個(gè)詞在訓(xùn)練語(yǔ)料中很少見(jiàn)或者完全沒(méi)有出現(xiàn)過(guò),我們?nèi)匀豢梢酝ㄟ^(guò)它的子詞單位 'low', 'er', 'ing' 來(lái)理解和表示它。每個(gè)子詞單元都有一個(gè)與之關(guān)聯(lián)的向量表示,也就是我們所說(shuō)的詞嵌入。這些詞嵌入在模型的預(yù)訓(xùn)練過(guò)程中學(xué)習(xí)得到。通過(guò)這種方式,GPT 能夠捕捉到詞匯的語(yǔ)義和語(yǔ)法信息。當(dāng)需要獲取一個(gè)詞的嵌入時(shí),GPT 會(huì)將該詞的所有子詞嵌入進(jìn)行加和,得到一個(gè)整體的詞嵌入。例如,對(duì)于 'lowering',我們將 'low', 'er', 'ing' 的詞嵌入相加,得到 'lowering' 的詞嵌入。總的來(lái)說(shuō),GPT 使用了一種基于子詞的詞嵌入方法,這使得它能夠有效地處理各種語(yǔ)言中的詞形變化、拼寫(xiě)錯(cuò)誤和罕見(jiàn)詞匯,進(jìn)而更好地理解和生成自然語(yǔ)言文本。16、位置編碼(Positional Encoding)位置編碼(Positional Encoding)是一種在處理序列數(shù)據(jù)(如文本或時(shí)間序列)時(shí)用來(lái)表示每個(gè)元素在序列中位置的技術(shù)。由于深度學(xué)習(xí)模型,如 Transformer 和 GPT,本身并不具有處理輸入序列順序的能力,因此位置編碼被引入以提供序列中元素的順序信息。Transformer 和 GPT 使用一種特別的位置編碼方法,即使用正弦和余弦函數(shù)生成位置編碼。這種方法生成的位置編碼具有兩個(gè)重要的特性:一是不同位置的編碼是不同的,二是它可以捕捉到相對(duì)位置關(guān)系。假設(shè)我們有一個(gè)英文句子 'I love AI',經(jīng)過(guò)詞嵌入處理后,我們得到了每個(gè)詞的詞向量,但這些詞向量并不包含位置信息。因此,我們需要添加位置編碼。假設(shè)我們使用一個(gè)簡(jiǎn)單的位置編碼方法,即直接使用位置索引作為位置編碼(實(shí)際的 Transformer 和 GPT 會(huì)使用更復(fù)雜的基于正弦和余弦函數(shù)的編碼方法)。這樣,'I' 的位置編碼為 1,'love' 的位置編碼為 2,'AI' 的位置編碼為 3。然后,我們將位置編碼加到對(duì)應(yīng)詞的詞向量上。這樣,模型在處理詞向量時(shí)就會(huì)同時(shí)考慮到它們?cè)谛蛄兄械奈恢谩?/span>位置編碼是 GPT 和 Transformer 中的重要組成部分,它允許模型理解詞語(yǔ)在序列中的順序,從而理解語(yǔ)言中的句法和語(yǔ)義。17、中文LangChain 中文LangChain 開(kāi)源項(xiàng)目最近很火,其是一個(gè)工具包,幫助把LLM和其他資源(比如你自己的領(lǐng)域資料)、計(jì)算能力結(jié)合起來(lái),實(shí)現(xiàn)本地化知識(shí)庫(kù)檢索與智能答案生成。 LangChain的準(zhǔn)備工作包括: 1、海量的本地領(lǐng)域知識(shí)庫(kù),知識(shí)庫(kù)是由一段一段的文本構(gòu)成的。 2、基于問(wèn)題搜索知識(shí)庫(kù)中文本的功能性語(yǔ)言模型。 3、基于問(wèn)題與問(wèn)題相關(guān)的知識(shí)庫(kù)文本進(jìn)行問(wèn)答的對(duì)話式大語(yǔ)言模型,比如開(kāi)源的chatglm、LLama、Bloom等等。 其主要工作思路如下: 1、把領(lǐng)域內(nèi)容拆成一塊塊的小文件塊、對(duì)塊進(jìn)行了Embedding后放入向量庫(kù)索引 (為后面提供語(yǔ)義搜索做準(zhǔn)備)。 2、搜索的時(shí)候把Query進(jìn)行Embedding后通過(guò)語(yǔ)義檢索找到最相似的K個(gè)Docs。 3、把相關(guān)的Docs組裝成Prompt的Context,基于相關(guān)內(nèi)容進(jìn)行QA,讓chatglm等進(jìn)行In Context Learning,用人話回答問(wèn)題。
|