1. OpenAI DALL·E 3來了,集成ChatGPT,生圖效果太炸了
原文:https://mp.weixin.qq.com/s/P4HwP3VwzSnndD5LSt8pXw
終于,OpenAI 的文生圖 AI 工具 DALL-E 系列迎來了最新版本 DALL?E 3,而上個版本 DALL?E 2 還是在去年 4 月推出的。
OpenAI 表示,「DALL?E 3 比以往系統(tǒng)更能理解細微差別和細節(jié),讓用戶更加輕松地將自己的想法轉化為非常準確的圖像。」
是不是真如 OpenAI 所說的那樣呢?眼見為實,我們來看以下 DALL?E 3 與 DALL?E 2 的生成效果比較,同樣的 prompt「一幅描繪籃球運動員扣籃的油畫,并伴以爆炸的星云」,左圖 DALL?E 2 在細節(jié)、清晰度、明亮度等方面顯然遜于右圖 DALL?E 3。(說實話,讓我想起了布洛芬....)
除了炸裂的生圖效果之外,此次 DALL?E 3 的最大特點是與 ChatGPT 的集成,它原生構建在 ChatGPT 之上,用 ChatGPT 來創(chuàng)建、拓展和優(yōu)化 prompt。這樣一來,用戶無需在 prompt 上花費太多時間。具體來講,通過使用 ChatGPT,用戶不必絞盡腦汁地想出詳細的 prompt 來引導 DALL?E 3 了。當輸入一個想法時,ChatGPT 會自動為 DALL?E 3 生成量身定制的、詳細的 prompt。同時用戶也可以使用自己的 prompt。至于集成 ChatGPT 后的效果怎么樣?OpenAI CEO 山姆?奧特曼興奮地展示了 DALL?E 3 的連續(xù)性生成結果,簡直稱得上完整的「故事片」。
ChatGPT 集成并不是 DALL?E 3 唯一的新特點,它還能生成更高質量的圖像,更準確地反映提示內容。DALL?E 將文本 prompt 轉換成圖像。即使是 DALL?E 2 ,也會經常忽略特定的措辭導致出錯。但 OpenAI 的研究人員說,最新版本能更好地理解上下文,并且處理較長的 prompt 效果會更好。此外,它還能更好地處理向來困擾圖像生成模型的內容,如文本和人手。
可以看到在上圖將 prompt 中的每一個細節(jié)都表現(xiàn)出來了。半透明的質感、畫面底部的波濤洶涌、陽光與厚厚的云層、心臟中的宇宙景象,以及難倒很多圖像生成模型的文字展現(xiàn),DALL?E 3 都順利地完成了這些任務。那么,DALL?E 3 能不能成為 Midjourney 「殺手」呢?推特用戶 @MattGarciaEth 已經將二者生成的圖片進行了很多比較。大家覺得哪個更好呢?
目前,DALL?E 3 處于研究預覽版本。OpenAI 計劃將 DALL?E 3 的發(fā)布時間錯開, 將于 10 月份首先向 ChatGPT Plus 和 ChatGPT Enterprise 用戶發(fā)布,隨后在秋季向研究實驗室及其 API 服務發(fā)布。不過,該公司沒有透露何時或者是否計劃發(fā)布免費的公開版本。
2. GPT-4終結人工標注!AI標注比人類標注效率高100倍,成本僅1/7
原文:https://mp.weixin.qq.com/s/AwXljsdH1SG0qzNeYTaprA除了GPU,還有什么是訓練一個高效的大模型必不可少且同樣難以獲取的資源?高質量的數(shù)據(jù)。OpenAI正是借助基于人類標注的數(shù)據(jù),才一舉從眾多大模型企業(yè)中脫穎而出,讓ChatGPT成為了大模型競爭中階段性的勝利者。但同時,OpenAI也因為使用非洲廉價的人工進行數(shù)據(jù)標注,被各種媒體口誅筆伐。
而那些參與數(shù)據(jù)標注的工人們,也因為長期暴露在有毒內容中,受到了不可逆的心理創(chuàng)傷。
總之,對于數(shù)據(jù)標注,一定需要找到一個新的方法,才能避免大量使用人工標注帶來的包括道德風險在內的其他潛在麻煩。所以,包括谷歌,Anthropic在內的AI巨頭和大型獨角獸,都在進行數(shù)據(jù)標注自動化的探索。
除了巨頭們的嘗試之外,最近,一家初創(chuàng)公司refuel,也上線了一個AI標注數(shù)據(jù)的開源處理工具:Autolabel。
Autolabel:用AI標注數(shù)據(jù),效率最高提升100倍這個工具可以讓有數(shù)據(jù)處理需求的用戶,使用市面上主流的LLM(ChatGPT,Claude等)來對自己的數(shù)據(jù)集進行標注。refuel稱,用自動化的方式標注數(shù)據(jù),相比于人工標注,效率最高可以提高100倍,而成本只有人工成本的1/7!
對于LLM標注質量的評估,Autolabel的開發(fā)者創(chuàng)立了一個基準測試,通過將不同的LLM的標注結果和基準測試中不同數(shù)據(jù)集中收納的標準答案向比對,就能評估各個模型標注數(shù)據(jù)的質量。
當Autolabel采用GPT-4進行標注時,獲得了最高的準確率——88.4%,超過了人類標注結果的準確率86.2%。而且其他比GPT-4便宜得多的模型的標注準確率,相比GPT-4來說也不算低。開發(fā)者稱,在比較簡單的標注任務中采用便宜的模型,在困難的任務中采用GPT-4,將可以大大節(jié)省標注成本,同時幾乎不影響標注的準確率。Autolabel支持對自然語言處理項目進行分類,命名實體識別,實體匹配和問答。支持主流的所有LLM提供商:OpenAI、Anthropic 和 Google Palm 等,并通過HuggingFace為開源和私有模型提供支持。用戶可以嘗試不同的提示策略,例如少樣本和思維鏈提示。只要簡單更新配置文件即可輕松估計標簽置信度。Autolabel免除了編寫復雜的指南,無盡地等待外部團隊來提供數(shù)據(jù)支持的麻煩,用戶能夠在幾分鐘內開始標注數(shù)據(jù)。可以支持使用本地部署的私有模型在本地處理數(shù)據(jù),所以對于數(shù)據(jù)隱私敏感度很高的用戶來說,Autolabel提供了成本和門檻都很低的數(shù)據(jù)標注途徑。未來更新的方向在接下來的幾個月中,開發(fā)者承諾將向Autolabel添加大量新功能:支持更多LLM進行數(shù)據(jù)標注。支持更多標注任務,例如總結等。支持更多的輸入數(shù)據(jù)類型和更高的LLM輸出穩(wěn)健性。讓用戶能夠試驗多個LLM和不同提示的工作流程。
3. Transformer+強化學習,谷歌DeepMind讓大模型成為機器人感知世界的大腦
原文:https://mp.weixin.qq.com/s/pp9viv9IfdiLMFXgy4h56A在開發(fā)機器人學習方法時,如果能整合大型多樣化數(shù)據(jù)集,再組合使用強大的富有表現(xiàn)力的模型(如 Transformer),那么就有望開發(fā)出具備泛化能力且廣泛適用的策略,從而讓機器人能學會很好地處理各種不同的任務。比如說,這些策略可讓機器人遵從自然語言指令,執(zhí)行多階段行為,適應各種不同環(huán)境和目標,甚至適用于不同的機器人形態(tài)。但是,近期在機器人學習領域出現(xiàn)的強大模型都是使用監(jiān)督學習方法訓練得到的。因此,所得策略的性能表現(xiàn)受限于人類演示者提供高質量演示數(shù)據(jù)的程度。這種限制的原因有二。
- 第一,我們希望機器人系統(tǒng)能比人類遠程操作者更加熟練,利用硬件的全部潛力來快速、流暢和可靠地完成任務。
- 第二,我們希望機器人系統(tǒng)能更擅長自動積累經驗,而不是完全依賴高質量的演示。
- 論文:https://q-transformer.github.io/assets/q-transformer.pdf
- 項目:https://q-transformer.github.io/
DeepMind 也進行了實驗評估 —— 既有用于嚴格比較的仿真實驗,也有用于實際驗證的大規(guī)模真實世界實驗;其中學習了大規(guī)模的基于文本的多任務策略,結果驗證了 Q-Transformer 的有效性。在真實世界實驗中,他們使用的數(shù)據(jù)集包含 3.8 萬個成功演示和 2 萬個失敗的自動收集的場景,這些數(shù)據(jù)是通過 13 臺機器人在 700 多個任務上收集的。Q-Transformer 的表現(xiàn)優(yōu)于之前提出的用于大規(guī)模機器人強化學習的架構,以及之前提出的 Decision Transformer 等基于 Transformer 的模型。
4. Transformer的上下文學習能力是哪來的?
原文:https://mp.weixin.qq.com/s/7eRwSwIE-X-qfjAsOCW1WQ為什么 transformer 性能這么好?它給眾多大語言模型帶來的上下文學習 (In-Context Learning) 能力是從何而來?在人工智能領域里,transformer 已成為深度學習中的主導模型,但人們對于它卓越性能的理論基礎卻一直研究不足。最近,來自 Google AI、蘇黎世聯(lián)邦理工學院、Google DeepMind 研究人員的新研究嘗試為我們揭開謎底。在新研究中,他們對 transformer 進行了逆向工程,尋找到了一些優(yōu)化方法。論文《Uncovering mesa-optimization algorithms in Transformers》:
論文鏈接:https://arxiv.org/abs/2309.05858作者證明,最小化通用自回歸損失會產生在 Transformer 的前向傳遞中運行的基于輔助梯度的優(yōu)化算法。這種現(xiàn)象最近被稱為「mesa 優(yōu)化(mesa-optimization)」。此外,研究人員發(fā)現(xiàn)所得的 mesa 優(yōu)化算法表現(xiàn)出上下文中的小樣本學習能力,與模型規(guī)模無關。因此,新的結果對此前大語言模型中出現(xiàn)的小樣本學習的原理進行了補充。研究人員認為:Transformers 的成功基于其在前向傳遞中實現(xiàn) mesa 優(yōu)化算法的架構偏差:(i) 定義內部學習目標,以及 (ii) 對其進行優(yōu)化。
該研究的貢獻包括:
- 概括了 von Oswald 等人的理論,并展示了從理論上,Transformers 是如何通過使用基于梯度的方法優(yōu)化內部構建的目標來自回歸預測序列下一個元素的。
- 通過實驗對在簡單序列建模任務上訓練的 Transformer 進行了逆向工程,并發(fā)現(xiàn)強有力的證據(jù)表明它們的前向傳遞實現(xiàn)了兩步算法:(i) 早期自注意力層通過分組和復制標記構建內部訓練數(shù)據(jù)集,因此隱式地構建內部訓練數(shù)據(jù)集。定義內部目標函數(shù),(ii) 更深層次優(yōu)化這些目標以生成預測。
- 與 LLM 類似,實驗表明簡單的自回歸訓練模型也可以成為上下文學習者,而即時調整對于改善 LLM 的上下文學習至關重要,也可以提高特定環(huán)境中的表現(xiàn)。
- 受發(fā)現(xiàn)注意力層試圖隱式優(yōu)化內部目標函數(shù)的啟發(fā),作者引入了 mesa 層,這是一種新型注意力層,可以有效地解決最小二乘優(yōu)化問題,而不是僅采取單個梯度步驟來實現(xiàn)最優(yōu)。實驗證明單個 mesa 層在簡單的順序任務上優(yōu)于深度線性和 softmax 自注意力 Transformer,同時提供更多的可解釋性。
- 在初步的語言建模實驗后發(fā)現(xiàn),用 mesa 層替換標準的自注意力層獲得了有希望的結果,證明了該層具有強大的上下文學習能力。
該研究在聚合相鄰序列元素的 token 結構上訓練深度 transformer。有趣的是,這種簡單的預處理會產生極其稀疏的權重矩陣(只有不到 1% 的權重非零),從而產生逆向工程算法。
對于單層線性自注意力,權重對應一個 GD 步驟。對于深度 transformer,可解釋性就變得困難。該研究依靠線性探測并檢查隱藏激活是否可以預測自回歸目標或預處理輸入。有趣的是,兩種探測方法的可預測性都會隨著網絡深度的增加而逐漸提高。這一發(fā)現(xiàn)表明模型中隱藏著預處理的 GD。
該研究發(fā)現(xiàn),在構建中使用所有自由度時,可以完美地擬合訓練層,不僅包括學習的學習率 η,還包括一組學習的初始權重 W_0。重要的是,如圖 2 所示,學得的 one-step 算法的性能仍然遠遠優(yōu)于單個 mesa 層。我們可以注意到,在簡單的權重設置下,很容易通過基礎優(yōu)化發(fā)現(xiàn),該層可以最優(yōu)地解決此處研究的任務。該結果證明了硬編碼歸納偏差有利于 mesa 優(yōu)化的優(yōu)勢。憑借對多層案例的理論見解,先分析深度線性和 softmax 僅注意 Transformer。作者根據(jù) 4 通道結構設置輸入格式,,這對應于選擇 W_0 = 0。
與單層模型一樣,作者在訓練模型的權重中看到了清晰的結構。作為第一個逆向工程分析,該研究利用這個結構并構建一個算法(RevAlg-d,其中 d 表示層數(shù)),每個層頭包含 16 個參數(shù)(而不是 3200 個)。作者發(fā)現(xiàn)這種壓縮但復雜的表達式可以描述經過訓練的模型。特別是,它允許以幾乎無損的方式在實際 Transformer 和 RevAlg-d 權重之間進行插值。雖然 RevAlg-d 表達式解釋了具有少量自由參數(shù)的經過訓練的多層 Transformer,但很難將其解釋為 mesa 優(yōu)化算法。因此,作者采用線性回歸探測分析(Alain & Bengio,2017;Akyürek et al.,2023)來尋找假設的 mesa 優(yōu)化算法的特征。在圖 3 所示的深度線性自注意力 Transformer 上,我們可以看到兩個探針都可以線性解碼,解碼性能隨著序列長度和網絡深度的增加而增加。因此,基礎優(yōu)化發(fā)現(xiàn)了一種混合算法,該算法在原始 mesa-objective Lt (W) 的基礎上逐層下降,同時改進 mesa 優(yōu)化問題的條件數(shù)。這導致 mesa-objective Lt (W) 快速下降。此外可以看到性能隨著深度的增加而顯著提高。因此可以認為自回歸 mesa-objective Lt (W) 的快速下降是通過對更好的預處理數(shù)據(jù)進行逐步(跨層)mesa 優(yōu)化來實現(xiàn)的。
這表明,如果 transformer 在構建的 token 上進行訓練,它就會通過 mesa 優(yōu)化進行預測。有趣的是,當直接給出序列元素時,transformer 會自行通過對元素進行分組來構造 token,研究團隊將其稱為「創(chuàng)建 mesa 數(shù)據(jù)集」。
結論該研究表明,當在標準自回歸目標下針對序列預測任務進行訓練時,Transformer 模型能夠開發(fā)基于梯度的推理算法。因此,在多任務、元學習設置下獲得的最新結果也可以轉化到傳統(tǒng)的自監(jiān)督 LLM 訓練設置中。此外,該研究還發(fā)現(xiàn)學得的自回歸推理算法可以在無需重新訓練的情況下重新調整用途,以解決有監(jiān)督的上下文學習任務,從而在單個統(tǒng)一框架內解釋結果。
那么,這些與上下文學習(in-context learning)有什么關系呢?該研究認為:在自回歸序列任務上訓練 transformer 后,它實現(xiàn)了適當?shù)?mesa 優(yōu)化,因此可以進行少樣本(few-shot)上下文學習,而無需任何微調。
該研究假設 LLM 也存在 mesa 優(yōu)化,從而提高了其上下文學習能力。有趣的是,該研究還觀察到,為 LLM 有效調整 prompt 也可以帶來上下文學習能力的實質性改進。
5. 1.5T內存挑戰(zhàn)英偉達!8枚芯片撐起3個GPT-4,華人AI芯片獨角獸估值365億
原文:https://mp.weixin.qq.com/s/GjG_OpzlAO7vGwOW7fmE-w高端GPU持續(xù)缺貨之下,一家要挑戰(zhàn)英偉達的芯片初創(chuàng)公司成為行業(yè)熱議焦點。8枚芯片跑大模型,就能支持5萬億參數(shù)(GPT-4的三倍) 。這是獨角獸企業(yè)SambaNova剛剛發(fā)布的新型AI芯片SN40L——型號中40代表是他們第四代產品,L代表專為大模型(LLM)優(yōu)化:高達1.5T的內存,支持25.6萬個token的序列長度。
CEO Rodrigo Liang表示,當前行業(yè)標準做法下運行萬億參數(shù)大模型需要數(shù)百枚芯片,我們的方法使總擁有成本只有標準方法的1/25。SambaNova目前估值50億美元(約365億人民幣),累計完成了6輪總計11億美元的融資,投資方包括英特爾、軟銀、三星、GV等。他們不僅在芯片上要挑戰(zhàn)英偉達,業(yè)務模式上也說要比英偉達走的更遠:直接參與幫助企業(yè)訓練私有大模型。目標客戶上野心更是很大:瞄準世界上最大的2000家企業(yè)。1.5TB內存的AI芯片最新產品SN40L,由臺積電5納米工藝制造,包含1020億晶體管,峰值速度638TeraFLOPS。與英偉達等其他AI芯片更大的不同在于新的三層Dataflow內存系統(tǒng)。與主要競品相比,英偉達H100最高擁有80GB HBM3內存,AMD MI300擁有192GB HBM3內存。SN40L的高帶寬HBM3內存實際比前兩者小,更多依靠大容量DRAM。Rodrigo Liang表示,雖然DRAM速度更慢,但專用的軟件編譯器可以智能地分配三個內存層之間的負載,還允許編譯器將8個芯片視為單個系統(tǒng)。
除了硬件指標,SN40L針對大模型做的優(yōu)化還有同時提供密集和稀疏計算加速。他們認為大模型中許多權重設置為0,像其他數(shù)據(jù)一樣去執(zhí)行操作很浪費。他們找到一種軟件層面的加速辦法,與調度和數(shù)據(jù)傳輸有關,但沒有透露細節(jié),“我們還沒準備好向公布是如何做到這一點的”。咨詢機構Gartner的分析師Chirag Dekate認為,SN40L的一個可能優(yōu)勢在于多模態(tài)AI。
GPU的架構非常嚴格,面對圖像、視頻、文本等多樣數(shù)據(jù)時可能不夠靈活,而SambaNova可以調整硬件來滿足工作負載的要求。目前,SambaNova的芯片和系統(tǒng)已獲得不少大型客戶,包括世界排名前列的超算實驗室,日本富岳、美國阿貢國家實驗室、勞倫斯國家實驗室,以及咨詢公司埃森哲等。業(yè)務模式也比較特別,芯片不單賣,而是出售其定制技術堆棧,從芯片到服務器系統(tǒng),甚至包括部署大模型。為此,他們與TogetherML聯(lián)合開發(fā)了BloomChat,一個1760億參數(shù)的多語言聊天大模型。BloomChat建立在BigScience組織的開源大模型Bloom之上,并在來自OpenChatKit、Dolly 2.0和OASST1的OIG上進行了微調。訓練過程中,它使用了SambaNova獨特的可重配置數(shù)據(jù)流架構,然后在SambaNova DataScale系統(tǒng)進行訓練。
這也是這家公司最大被投資者熱捧之外的最大爭議點之一,很多人不看好一家公司既做芯片又做大模型。目前SambaNova包含SN40L芯片的人工智能引擎已上市,但定價沒有公開。根據(jù)Rodrigo Liang的說法,8個SN40L組成的集群總共可處理5萬億參數(shù),相當于70個700億參數(shù)大模型。全球2000強的企業(yè)只需購買兩個這樣的8芯片集群,就能滿足所有大模型需求。
6. 十分鐘,深入淺出理解Transformer
原文:https://mp.weixin.qq.com/s/xtyP6cg6vROOXe1vlPEEewTransformer是一個利用注意力機制來提高模型訓練速度的模型。關于注意力機制可以參看這篇文章(https://zhuanlan.zhihu.com/p/52119092),trasnformer可以說是完全基于自注意力機制的一個深度學習模型,因為它適用于并行化計算,和它本身模型的復雜程度導致它在精度和性能上都要高于之前流行的RNN循環(huán)神經網絡。那什么是transformer呢?你可以簡單理解為它是一個黑盒子,當我們在做文本翻譯任務是,我輸入進去一個中文,經過這個黑盒子之后,輸出來翻譯過后的英文。
那么在這個黑盒子里面都有什么呢?里面主要有兩部分組成:Encoder 和 Decoder
當我輸入一個文本的時候,該文本數(shù)據(jù)會先經過一個叫Encoders的模塊,對該文本進行編碼,然后將編碼后的數(shù)據(jù)再傳入一個叫Decoders的模塊進行解碼,解碼后就得到了翻譯后的文本,對應的我們稱Encoders為編碼器,Decoders為解碼器。那么編碼器和解碼器里邊又都是些什么呢?細心的同學可能已經發(fā)現(xiàn)了,上圖中的Decoders后邊加了個s,那就代表有多個編碼器了唄,沒錯,這個編碼模塊里邊,有很多小的編碼器,一般情況下,Encoders里邊有6個小編碼器,同樣的,Decoders里邊有6個小解碼器。
我們看到,在編碼部分,每一個的小編碼器的輸入是前一個小編碼器的輸出,而每一個小解碼器的輸入不光是它的前一個解碼器的輸出,還包括了整個編碼部分的輸出。那么你可能又該問了,那每一個小編碼器里邊又是什么呢?我們放大一個encoder,發(fā)現(xiàn)里邊的結構是一個自注意力機制加上一個前饋神經網絡。
我們先來看下self-attention是什么樣子的。我們通過幾個步驟來解釋:1、首先,self-attention的輸入就是詞向量,即整個模型的最初的輸入是詞向量的形式。那自注意力機制呢,顧名思義就是自己和自己計算一遍注意力,即對每一個輸入的詞向量,我們需要構建self-attention的輸入。在這里,transformer首先將詞向量乘上三個矩陣,得到三個新的向量,之所以乘上三個矩陣參數(shù)而不是直接用原本的詞向量是因為這樣增加更多的參數(shù),提高模型效果。對于輸入X1(機器),乘上三個矩陣后分別得到Q1,K1,V1,同樣的,對于輸入X2(學習),也乘上三個不同的矩陣得到Q2,K2,V2。
2、那接下來就要計算注意力得分了,這個得分是通過計算Q與各個單詞的K向量的點積得到的。我們以X1為例,分別將Q1和K1、K2進行點積運算,假設分別得到得分112和96。
3、將得分分別除以一個特定數(shù)值8(K向量的維度的平方根,通常K向量的維度是64)這能讓梯度更加穩(wěn)定,則得到結果如下:
4、將上述結果進行softmax運算得到,softmax主要將分數(shù)標準化,使他們都是正數(shù)并且加起來等于1。
5、將V向量乘上softmax的結果,這個思想主要是為了保持我們想要關注的單詞的值不變,而掩蓋掉那些不相關的單詞(例如將他們乘上很小的數(shù)字)
6、將帶權重的各個V向量加起來,至此,產生在這個位置上(第一個單詞)的self-attention層的輸出,其余位置的self-attention輸出也是同樣的計算方式。將上述的過程總結為一個公式就可以用下圖表示:
self-attention層到這里就結束了嗎?還沒有,論文為了進一步細化自注意力機制層,增加了“多頭注意力機制”的概念,這從兩個方面提高了自注意力層的性能。第一個方面,他擴展了模型關注不同位置的能力,這對翻譯一下句子特別有用,因為我們想知道“it”是指代的哪個單詞。
第二個方面,他給了自注意力層多個“表示子空間”。對于多頭自注意力機制,我們不止有一組Q/K/V權重矩陣,而是有多組(論文中使用8組),所以每個編碼器/解碼器使用8個“頭”(可以理解為8個互不干擾自的注意力機制運算),每一組的Q/K/V都不相同。然后,得到8個不同的權重矩陣Z,每個權重矩陣被用來將輸入向量投射到不同的表示子空間。經過多頭注意力機制后,就會得到多個權重矩陣Z,我們將多個Z進行拼接就得到了self-attention層的輸出:
上述我們經過了self-attention層,我們得到了self-attention的輸出,self-attention的輸出即是前饋神經網絡層的輸入,然后前饋神經網絡的輸入只需要一個矩陣就可以了,不需要八個矩陣,所以我們需要把這8個矩陣壓縮成一個,我們怎么做呢?只需要把這些矩陣拼接起來然后用一個額外的權重矩陣與之相乘即可。
最終的Z就作為前饋神經網絡的輸入。接下來就進入了小編碼器里邊的前饋神經網模塊了,關于前饋神經網絡,網上已經有很多資料,在這里就不做過多講解了,只需要知道,前饋神經網絡的輸入是self-attention的輸出,即上圖的Z,是一個矩陣,矩陣的維度是(序列長度×D詞向量),之后前饋神經網絡的輸出也是同樣的維度。以上就是一個小編碼器的內部構造了,一個大的編碼部分就是將這個過程重復了6次,最終得到整個編碼部分的輸出。然后再transformer中使用了6個encoder,為了解決梯度消失的問題,在Encoders和Decoder中都是用了殘差神經網絡的結構,即每一個前饋神經網絡的輸入不光包含上述self-attention的輸出Z,還包含最原始的輸入。上述說到的encoder是對輸入(機器學習)進行編碼,使用的是自注意力機制+前饋神經網絡的結構,同樣的,在decoder中使用的也是同樣的結構。也是首先對輸出(machine learning)計算自注意力得分,不同的地方在于,進行過自注意力機制后,將self-attention的輸出再與Decoders模塊的輸出計算一遍注意力機制得分,之后,再進入前饋神經網絡模塊。
以上,就講完了Transformer編碼和解碼兩大模塊,那么我們回歸最初的問題,將“機器學習”翻譯成“machine learing”,解碼器輸出本來是一個浮點型的向量,怎么轉化成“machine learing”這兩個詞呢?是個工作是最后的線性層接上一個softmax,其中線性層是一個簡單的全連接神經網絡,它將解碼器產生的向量投影到一個更高維度的向量(logits)上,假設我們模型的詞匯表是10000個詞,那么logits就有10000個維度,每個維度對應一個惟一的詞的得分。之后的softmax層將這些分數(shù)轉換為概率。選擇概率最大的維度,并對應地生成與之關聯(lián)的單詞作為此時間步的輸出就是最終的輸出啦!!假設詞匯表維度是6,那么輸出最大概率詞匯的過程如下:
以上就是Transformer的框架了,但是還有最后一個問題,我們都是到RNN中的每個輸入是時序的,是又先后順序的,但是Transformer整個框架下來并沒有考慮順序信息,這就需要提到另一個概念了:“位置編碼”。Transformer中確實沒有考慮順序信息,那怎么辦呢,我們可以在輸入中做手腳,把輸入變得有位置信息不就行了,那怎么把詞向量輸入變成攜帶位置信息的輸入呢?我們可以給每個詞向量加上一個有順序特征的向量,發(fā)現(xiàn)sin和cos函數(shù)能夠很好的表達這種特征,所以通常位置向量用以下公式來表示:
最后祭出這張經典的圖,最初看這張圖的時候可能難以理解,希望大家在深入理解Transformer后再看這張圖能夠有更深刻的認識。
Transformer就介紹到這里了,后來的很多經典的模型比如BERT、GPT-2都是基于Transformer的思想。我們有機會再詳細介紹這兩個刷新很多記錄的經典模型。
-
RT-Thread
+關注
關注
31文章
1304瀏覽量
40300
原文標題:【AI簡報20230922期】華人AI芯片挑戰(zhàn)英偉達,深入淺出理解Transformer
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論