成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大模型的提示工程:提示是對(duì)程序的搜索 精華

發(fā)布于 2024-5-27 14:07
瀏覽
0收藏

Google 研究員 Fran?ois Chollet 是一位在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域具有重要影響力的一線工程師。他以創(chuàng)建流行的開源機(jī)器學(xué)習(xí)庫(kù) Keras 而聞名, 同時(shí)也是流行的機(jī)器學(xué)習(xí)實(shí)戰(zhàn)書籍《Deep Learning with Python (使用 Python 來(lái)深度學(xué)習(xí))》 的作者。不久前他發(fā)表博文:“How I think about LLM prompt engineering (大模型的提示工程之我見)”,深入地探討了大模型提示工程。Chollet 從語(yǔ)言模型架構(gòu)、學(xué)習(xí)機(jī)制和能力的演進(jìn)來(lái)理解大模型的提示工程。他特別指出大模型實(shí)際上是一個(gè) (向量) 程序數(shù)據(jù)庫(kù),而且該數(shù)據(jù)庫(kù)是連續(xù)的和內(nèi)插的,因而對(duì)大模型的提示是對(duì)其中某個(gè)程序(通過內(nèi)插)來(lái)查詢,所以提示工程實(shí)際上是在向量程序空間內(nèi)的搜索。提示學(xué)習(xí)是當(dāng)今大模型應(yīng)用的主要方式; 這樣的探討對(duì)于大模型理解和應(yīng)用都是有益的。我們特將該內(nèi)容編譯出來(lái)和各位客戶、合作伙伴朋友分享。

回溯:Word2Vec 的涌現(xiàn)詞算術(shù)

在 2013 年,谷歌的Mikolov 等人注意到了一些令人矚目的現(xiàn)象。

他們當(dāng)時(shí)正在構(gòu)建一個(gè)將詞匯中的單詞嵌入到向量空間的模型——這個(gè)問題在當(dāng)時(shí)已經(jīng)有著悠久的學(xué)術(shù)歷史,可以追溯到上世紀(jì) 80 年代。他們的模型使用了一種優(yōu)化目標(biāo),旨在將單詞之間的相關(guān)關(guān)系轉(zhuǎn)化為嵌入空間中的距離關(guān)系:每個(gè)單詞被分配一個(gè)向量,這些向量被優(yōu)化,使得經(jīng)常一起出現(xiàn)的單詞的向量點(diǎn)積(余弦相似度)接近 1,而很少一起出現(xiàn)的單詞的向量點(diǎn)積接近 0。

他們發(fā)現(xiàn),由此產(chǎn)生的嵌入空間不僅能夠捕捉語(yǔ)義相似性,還具有某種涌現(xiàn)學(xué)習(xí)的能力——它能夠進(jìn)行“詞算術(shù)”,而這并不是它被訓(xùn)練去做的事情。在空間中存在一個(gè)向量,當(dāng)它加到任意一個(gè)表示男性的名詞上時(shí),得到的點(diǎn)會(huì)接近于它的女性對(duì)應(yīng)詞。比如:V(國(guó)王) - V(男人) + V(女人) = V(王后)。一個(gè)“性別向量”。非常酷!似乎有幾十個(gè)這樣的神奇向量——一個(gè)復(fù)數(shù)向量,一個(gè)將野生動(dòng)物名稱轉(zhuǎn)化為其對(duì)應(yīng)的寵物名稱的向量等等。

大模型的提示工程:提示是對(duì)程序的搜索-AI.x社區(qū)

圖示:一個(gè)二維嵌入空間,使得將“狼”與“狗”鏈接的向量與將“虎”與“貓”鏈接的向量相同。

Word2Vec 和大語(yǔ)言模型:Hebbian 學(xué)習(xí)類比

時(shí)間快進(jìn)十年——我們現(xiàn)在已經(jīng)進(jìn)入了大語(yǔ)言模型的時(shí)代。從表面上看,現(xiàn)代大語(yǔ)言模型與原始的 word2vec 模型似乎完全不同。它們能夠生成流暢的語(yǔ)言——這是 word2vec 完全無(wú)法做到的——并且似乎對(duì)任何話題都有一定的了解。然而,它們實(shí)際上與古老的 word2vec 有很多共同之處。

兩者都是關(guān)于將 token(單詞或子詞)嵌入到向量空間中。兩者都依賴于相同的基本原理來(lái)學(xué)習(xí)這個(gè)空間:一起出現(xiàn)的 token 在嵌入空間中會(huì)更接近。用于比較 token 的距離函數(shù)在兩種情況下是相同的:余弦距離。甚至嵌入空間的維度也相似:大約在 10e3 或 10e4 的數(shù)量級(jí)上。

你可能會(huì)問——等等,我被告知大語(yǔ)言模型是自回歸模型,通過基于之前的單詞序列預(yù)測(cè)下一個(gè)單詞來(lái)進(jìn)行訓(xùn)練。這與 word2vec 最大化共存 token 點(diǎn)積的目標(biāo)有什么關(guān)系呢?

實(shí)際上,大語(yǔ)言模型似乎確實(shí)將相關(guān)的 token 編碼在相近的位置,所以兩者之間一定存在某種聯(lián)系。答案是自注意力機(jī)制。

自注意力是 Transformer 架構(gòu)中最重要的組成部分。它是一種通過線性組合先前空間中的 token 嵌入來(lái)學(xué)習(xí)新的 token 嵌入空間的機(jī)制,這種組合會(huì)給已經(jīng)“更接近”的 token(即點(diǎn)積更高的 token)更大的權(quán)重。它會(huì)傾向于將已經(jīng)接近的向量拉得更近——隨著時(shí)間的推移,相關(guān)關(guān)系會(huì)轉(zhuǎn)化為嵌入空間中的接近關(guān)系(以余弦距離衡量)。Transformer 通過學(xué)習(xí)一系列逐步改進(jìn)的嵌入空間來(lái)實(shí)現(xiàn),每個(gè)空間都是基于對(duì)前一個(gè)空間的元素進(jìn)行重新組合。

大模型的提示工程:提示是對(duì)程序的搜索-AI.x社區(qū)

自我注意力是如何工作的:在這里,注意力分?jǐn)?shù)是在“站”和序列中的所有其他單詞之間計(jì)算的,然后它們被用來(lái)加權(quán)成為新的“站”向量的詞向量的總和。

自注意力賦予了 Transformer 兩個(gè)關(guān)鍵屬性:

1. 它們學(xué)習(xí)的嵌入空間在語(yǔ)義上是連續(xù)的,即在嵌入空間中移動(dòng)一點(diǎn)只會(huì)使相應(yīng) token 的語(yǔ)義稍微改變一點(diǎn)。word2vec 空間也具有這個(gè)屬性。

2. 它們學(xué)習(xí)的嵌入空間在語(yǔ)義上是可插值的,即在嵌入空間中的兩個(gè)點(diǎn)之間取中間點(diǎn)會(huì)產(chǎn)生一個(gè)表示相應(yīng) token “中間含義”的點(diǎn)。這是因?yàn)槊總€(gè)新的嵌入空間都是通過在前一個(gè)空間的向量之間進(jìn)行插值構(gòu)建的。

請(qǐng)注意,這與大腦的學(xué)習(xí)方式非常相似。大腦中的關(guān)鍵學(xué)習(xí)原則是Hebbian 學(xué)習(xí)——簡(jiǎn)而言之就是“一起激活的神經(jīng)元會(huì)連接在一起”。神經(jīng)激活事件之間的相關(guān)關(guān)系(可能代表動(dòng)作或感知輸入)轉(zhuǎn)化為大腦網(wǎng)絡(luò)中的距離關(guān)系,就像Transformer(和 word2vec)將相關(guān)關(guān)系轉(zhuǎn)化為向量距離關(guān)系一樣。兩者都是信息空間的映射。

從涌現(xiàn)詞算術(shù)到涌現(xiàn)向量程序

當(dāng)然,word2vec 和大語(yǔ)言模型之間也存在顯著的差異。word2vec 并不是為生成文本而設(shè)計(jì)的。大語(yǔ)言模型要大得多,能夠編碼復(fù)雜得多的變換。問題是,word2vec 確實(shí)是一個(gè)玩具模型:它之于語(yǔ)言建模,就像對(duì) MNIST 圖像像素進(jìn)行邏輯回歸之于最先進(jìn)的計(jì)算機(jī)視覺模型一樣。基本原理大致相同,但玩具模型缺乏任何有意義的表示能力。word2vec 甚至不是一個(gè)深度神經(jīng)網(wǎng)絡(luò)——它具有淺層、單層的架構(gòu)。與此同時(shí),大語(yǔ)言模型具有任何人訓(xùn)練過的任何模型的最高表示能力——它們具有幾十個(gè) Transformer 層,總共幾百層,參數(shù)數(shù)量達(dá)到數(shù)十億。

就像 word2vec 一樣,大語(yǔ)言模型通過將 token 組織到向量空間中來(lái)學(xué)習(xí)有用的語(yǔ)義函數(shù)。但由于表示能力的提高和更精細(xì)的自回歸優(yōu)化目標(biāo),我們不再局限于像“性別向量”或“復(fù)數(shù)向量”這樣的線性變換。大語(yǔ)言模型可以存儲(chǔ)任意復(fù)雜的向量函數(shù)——實(shí)際上,將它們稱為向量程序比函數(shù)更準(zhǔn)確。

word2vec 使你能夠進(jìn)行一些基本操作,比如 plural(貓) → 貓們,或者 male_to_female(國(guó)王) → 女王。而大語(yǔ)言模型則可以進(jìn)行純粹的魔法操作——比如 write_this_in_style_of_shakespeare(“...你的詩(shī)...”) → “...新詩(shī)...”。它們包含了數(shù)百萬(wàn)這樣的程序。

大語(yǔ)言模型作為程序數(shù)據(jù)庫(kù)

你可以將大語(yǔ)言模型視為類似于數(shù)據(jù)庫(kù):它存儲(chǔ)信息,你可以通過提示來(lái)檢索這些信息。但大語(yǔ)言模型和數(shù)據(jù)庫(kù)之間有兩個(gè)重要的區(qū)別。

第一個(gè)區(qū)別是,大語(yǔ)言模型是一種連續(xù)的、可插值的數(shù)據(jù)庫(kù)。數(shù)據(jù)不是以一組離散的條目存儲(chǔ),而是存儲(chǔ)在一個(gè)向量空間——一條曲線上。你可以在曲線上移動(dòng)(它是語(yǔ)義連續(xù)的,正如我們所討論的)來(lái)探索附近的相關(guān)點(diǎn)。你可以在不同的點(diǎn)之間進(jìn)行插值,以找到它們的中間點(diǎn)。這意味著你可以從數(shù)據(jù)庫(kù)中檢索到比你輸入的更多的信息——但并不是所有的信息都是準(zhǔn)確的或有意義的。插值可能導(dǎo)致泛化,但也可能導(dǎo)致幻覺。

第二個(gè)區(qū)別是,大語(yǔ)言模型不僅包含數(shù)據(jù)。它當(dāng)然包含了很多數(shù)據(jù)——事實(shí)、地點(diǎn)、人物、日期、事物、關(guān)系。但它也是——也許主要是——一個(gè)程序數(shù)據(jù)庫(kù)。

但是,這些程序并不是你所習(xí)慣處理的那種。你可能會(huì)想到確定性的Python 程序——一系列符號(hào)語(yǔ)句逐步處理數(shù)據(jù)。但并不是這樣。相反,這些向量程序是高度非線性的函數(shù),它們將潛在的嵌入空間映射到其自身。類似于 word2vec 的神奇向量,但要復(fù)雜得多。

提示作為程序查詢

要從大語(yǔ)言模型中獲取信息,你必須提示它。如果大語(yǔ)言模型是一個(gè)包含數(shù)百萬(wàn)向量程序的數(shù)據(jù)庫(kù),那么提示就像是在該數(shù)據(jù)庫(kù)中的搜索查詢。提示的一部分可以被解釋為“程序鍵”,即你想要檢索的程序的索引,另一部分可以被解釋為程序的輸入。

考慮以下提示示例:“用莎士比亞的風(fēng)格重寫以下詩(shī)歌:...我的詩(shī)...”

大模型的提示工程:提示是對(duì)程序的搜索-AI.x社區(qū)

“用 ... 風(fēng)格重寫”是程序鍵。它指向程序空間中的特定位置。

“莎士比亞”和“...我的詩(shī)...”是程序輸入。

大語(yǔ)言模型的輸出是程序執(zhí)行的結(jié)果。

現(xiàn)在,請(qǐng)記住,大語(yǔ)言模型作為程序數(shù)據(jù)庫(kù)的類比只是一種思維模型——還有其他模型可以使用。一個(gè)更常見的模型,但不太具有啟發(fā)性,是將大語(yǔ)言模型視為自回歸文本生成器,根據(jù)訓(xùn)練數(shù)據(jù)分布輸出最有可能跟隨提示的單詞序列——即關(guān)注大語(yǔ)言模型被優(yōu)化的任務(wù)。如果你在思考大語(yǔ)言模型的工作方式時(shí),能記住多種模型,你會(huì)更好地理解它們——希望你會(huì)發(fā)現(xiàn)這個(gè)新的模型有用。

提示工程作為程序搜索過程

記住,這個(gè)“程序數(shù)據(jù)庫(kù)”是連續(xù)的和可插值的——它不是一個(gè)離散的程序集。這意味著一個(gè)稍微不同的提示,比如“用 x 的風(fēng)格從歌詞上重新表述這段文本”,仍然會(huì)指向程序空間中非常相似的位置,得到的程序行為會(huì)非常接近但不完全相同。

你可以使用數(shù)千種不同的變體,每個(gè)變體都會(huì)導(dǎo)致一個(gè)相似但不完全相同的程序。這就是為什么需要提示工程。你的第一次嘗試、直覺上的程序鍵沒有理由在目標(biāo)任務(wù)上產(chǎn)生最佳的程序。大語(yǔ)言模型不會(huì)“理解”你的意思,然后以最佳方式執(zhí)行它——它只會(huì)檢索你的提示所指向的程序,而你的提示可能指向了眾多可能的位置中的一個(gè)。

提示工程是一個(gè)在程序空間中搜索的過程,目標(biāo)是找到在你的目標(biāo)任務(wù)上表現(xiàn)最佳的程序。這與你在谷歌搜索軟件時(shí)嘗試不同的關(guān)鍵詞沒有什么不同。

如果大語(yǔ)言模型真的理解你告訴它們的內(nèi)容,那么就不需要這個(gè)搜索過程了,因?yàn)殛P(guān)于你的目標(biāo)任務(wù)的信息量不會(huì)因?yàn)槟愕奶崾局惺褂谩爸貙憽倍皇恰爸匦卤硎觥保蛘吣闶欠裨谔崾厩凹由稀爸鸩剿伎肌倍淖儭S肋h(yuǎn)不要假設(shè)大語(yǔ)言模型第一次就“理解”了——記住,你的提示只是無(wú)限程序海洋中的一個(gè)地址,它們都是通過自回歸優(yōu)化目標(biāo)將 token 組織到向量空間中的副產(chǎn)品。

一如既往,理解 LLM 最重要的原則是你應(yīng)該抵制將它們擬人化的誘惑。

本文轉(zhuǎn)載自??MoPaaS魔泊云??,作者: Fran?ois Chollet ????

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 第一av| 精品久久久久久久久久久久久久 | 欧美三级电影在线播放 | 亚洲国产成人精品女人久久久 | 天天干视频 | 色综合久久久久 | 国产一区二区三区 | 亚洲精品国产电影 | 一区二区三区精品 | 久久精品中文字幕 | 色婷婷亚洲一区二区三区 | 在线视频三区 | 国产乱码精品一区二区三区中文 | 国产一区 日韩 | 成人三级视频 | 久草福利 | 欧美一级二级视频 | 精品国产一区二区在线 | 九九热在线视频 | 亚洲国产中文字幕 | 国产精品国产馆在线真实露脸 | 欧美一级视频免费看 | 久久久91精品国产一区二区三区 | 亚洲aⅴ精品 | 国产三级一区二区三区 | 在线观看国产三级 | 91免费高清视频 | 久久久久综合 | 欧美日本在线观看 | 成人精品鲁一区一区二区 | 成人在线免费网站 | 日韩高清中文字幕 | 色婷婷激情 | 亚洲天堂中文字幕 | 欧美成人一级 | 欧美亚洲国产一区二区三区 | 精品一区电影 | 欧美高清视频 | 精品国产乱码久久久久久丨区2区 | 日韩精品视频在线免费观看 | 欧美精品一区久久 |