官术网_书友最值得收藏!

1.1.3 T表示變換器

大家應該能夠發現,當在中文環境下使用ChatGPT或者NewBing等服務時,AI的回復都是一個字一個字出現的,網絡不好時還會卡頓一下,然后蹦出多個字。另外,當生成內容過長的時候,AI往往會卡在某個詞中間,而不是把這個詞生成完成,如圖1.2所示。但是當繼續輸入的時候,GPT又能很聰明地接上剛剛中斷的詞,甚至續寫下一半代碼。

圖1.2 生成內容過長時的斷點

背后的原因有些聰明的讀者可能早就想到了。GPT生成是以字符為單位的,并沒有嚴格的單詞及句子的概念,OpenAI收費也不是以詞而是以Token為單位的。也就是說,GPT其實根據之前的內容,結合自己學到的規律,“猜”下一個字符大概率是什么

但是猜也不能亂猜,必須是有依據的。而無論有多少個參數,前面提到的簡單模型都很難解決現實世界中理解自然語言的無數問題:不同語言的語法差別,一詞多義,錯別字,語序混置,詞義挪用甚至自造詞句(如Emoji),等等。

這時就輪到T(即變換器)出場了。它是一種神經網絡結構,利用了自注意力機制和多層編碼器/解碼器層,從而能有效地處理長距離依賴關系并捕獲不同層次的文本信息。變換器解決的問題是AI如何以通用、簡潔的方式快速準確地理解上下文。而“自注意力機制”就是解決這個問題的關鍵。

自注意力是一種計算文本中不同位置之間關系的方法。它為文本中的每個詞分配一個權值,以確定該詞與其他詞的關聯程度。通過這種方式,模型可以了解上下文信息,以便在處理一詞多義和上下文推理問題時做出合適的決策。

例如,GPT利用這種機制解決了一詞多義的問題。舉個例子,在中文中,“球”可以表示很多含義,如籃球、足球等體育項目中使用的球,也可以表示球形物體。為了理解“球”在特定語境中的具體含義,GPT需要根據周圍的詞語來加以判斷。假設有以下兩句話。

小明喜歡踢球,他每天都和朋友們在操場上玩。

地球是一個巨大的物體,我們生活在它的表面。

在第一句話中,與“球”相關的詞語有“踢”“操場”和“玩”,這些詞語表明這里的“球”指的是體育項目中使用的球。而在第二句話中,與“球”相關的詞語有“地球”“物體”和“表面”,這些詞語表明這里的“球”指的是一個球形物體。

自注意力機制通過計算這些詞語之間的關系來為每個詞分配權重。在第一句話中,它會為與體育相關的詞語分配較高的權重;在第二句話中,它會為與球形物體相關的詞語分配較高的權重。此后,它會根據這些權重生成新的詞表示,從而使模型能夠根據上下文理解“球”的具體含義。

其他自然語言中傳統編程很難處理的問題也能通過自注意力機制很好地解決。

這就是GPT在單個問答中展現出理解能力的原理,但是GPT-3.5+之所以能夠被稱為改變世界的產品,優秀的長期記憶能力和多模態數據理解是重要的原因,而“跨注意力機制”就是這種能力的原理。

跨注意力是一種計算兩個不同文本序列中位置之間關系的方法。它為一個序列中的每個詞分配權重,以確定該詞與另一個序列中的詞的關聯程度。通過這種方式,模型可以捕捉到兩個序列的相互關系,以便在處理多模態數據、文本對齊和多任務學習等問題時做出正確的決策。

跨注意力機制可以理解為一個智能“篩子”,在處理AI對話中長期記憶時,它能有效地從海量信息中篩選出關鍵內容,從而快速優雅地實現“讀取相關記憶”。在多個內容中,跨注意力機制可以通過權重來區分不同信息的重要性。

這里以一個在線客服的例子來解釋這個過程。假設某人(這里以A代稱)是一家電子商務網站的在線客服,需要為顧客解答各種問題,每個顧客的問題和需求都有所不同。跨注意力機制就像是其智能助手,幫助其區分并快速定位關鍵信息。

當一位顧客詢問“我購買的這款手機可以在多長時間內退貨”時,跨注意力機制會從A與顧客之前的對話中篩選與“手機型號”相關的信息。為了實現這個過程,跨注意力機制會為每個對話片段分配一個權重。這個權重表示了該對話片段對當前問題的重要性。

在這個例子中,與退貨政策相關的對話片段將被賦予較高的權重,而與其他話題(如商品詳情、支付方式等)相關的對話片段會被賦予較低的權重。跨注意力機制會根據這些權重來篩選出與當前問題最相關的信息,并將這些信息整合起來,以便A能夠為顧客提供準確的回答。

同樣地,在接下來的對話中,當顧客提出了其他問題(如關于優惠券使用或者配送時間等問題)時,跨注意力機制會根據問題的關鍵詞調整權重,幫助A找到與這些問題相關的信息,并提供給A。

通過在用戶對話中使用權重,跨注意力機制可以更好地理解和捕捉上下文信息,從而使GPT具有讀取長期記憶的能力。

單層注意力機制的效果還不夠,所以實際應用中GPT都是通過嵌套多層注意力機制來實現復雜理解效果的。但是注意力機制的權重算法原本就消耗巨大的算力,再加上幾層嵌套會使計算難度(即算力)指數型增加,長對話會明顯增加算力要求。這也是為什么明明模型已經訓練好了,OpenAI和微軟還要多次限制用戶的使用量(且越新的GPT版本的運行速率越慢)。

利用這兩種注意力機制的動態結合,加上龐大的基礎訓練集,以及大成本的人工微調,才有了GPT-3.5/GPT 4o mini模型和GPT-4的跨時代效果。

【打破誤區】很多人對GPT的另一個常見認識誤區是GPT只是智能搜索引擎,它只是對數據庫中的內容按照一定的規律進行拼接。但其實GPT訓練的與其說是內容的規律,不如說是一種復雜到人類無法理解的對內容切分Token進行權重計算的“算法”。與內容分離才是GPT現在能做到生成這個世界上完全不存在的文本的根本原因。

GPT容易“胡說八道”,因為它根本不知道自己想要說的是什么,它只是根據注意力機制不斷猜出下一個Token,直到權重表示內容生成完成。這種內容分離的方式也讓OpenAI以及其他現在訓練相關模型的公司對AI“胡說八道”,這個問題沒有很好的解決辦法,只能通過人工微調和擴展訓練集來緩解。不過這種“胡說八道”也不全是壞處,至少GPT能夠表現出創造力在很大程度上也歸功于這種特性。

現在人們總結出來的各種各樣的AI使用技巧、AI“心理學”之類的理論和方法其實都基于前面介紹的原理,甚至Stable Diffusion等其他領域的AI、各種奇妙的方法也是根據對應模型的原理總結出來的。

GPT的原理是本書中所有使用方法和技巧的理論基礎,大家了解前面的內容之后,會更加容易理解之后介紹的一些方法和技巧。

主站蜘蛛池模板: 青铜峡市| 闸北区| 科尔| 黑龙江省| 澎湖县| 泰宁县| 县级市| 平乐县| 武山县| 威海市| 都江堰市| 大关县| 黄骅市| 河源市| 沙洋县| 上高县| 长春市| 如皋市| 云林县| 邯郸市| 乳山市| 治多县| 临清市| 曲阳县| 泽库县| 佛学| 高邑县| 竹北市| 庆城县| 特克斯县| 庆阳市| 石棉县| 吐鲁番市| 固始县| 奉新县| 贞丰县| 灵寿县| 高州市| 罗源县| 丹凤县| 威海市|