因果語言模型、自回歸語言模型、僅解碼器語言模型都是同一類模型

因果語言模型、自回歸語言模型、僅解碼器語言模型都是同一類模型

flyfish

因果語言模型(causal Language Models)
自回歸語言模型(autoregressive language models)
僅解碼器語言模型(decoder-only language models)

這三個詞雖然說的是同一類模型,但為啥會有三個名字?其實是因為研究者從不同角度給它起的——有的從數學邏輯,有的從生成方式,有的從模型結構。

因果語言模型

早年間(2010年以前),研究語言模型的人就發現:生成句子時,后面的詞只能由前面的詞決定(比如“我吃飯”里,“飯”只能跟著“吃”后面)。這就像“因果關系”——前面是“因”,后面是“果”,沒法反過來。但那時候沒明確叫“因果”,只是默默按這個邏輯做模型。

2017年,有篇很重要的論文(《Attention Is All You Need》)提出了“Transformer”這個模型框架。里面有個關鍵技術:給模型加了個“擋板”(專業叫“因果掩碼”),讓模型算詞的時候,只能看到前面的詞,看不到后面的。比如算“飯”的時候,只能看到“我”和“吃”,后面的詞哪怕已經寫好了,也故意擋著不讓看。這一下就把“前面決定后面”這個模糊的邏輯,變成了模型里實實在在的規則。

后來GPT系列火了,大家需要一個詞來形容這種“只能看前面”的模型。2019年,OpenAI在論文里第一次明確用了“因果語言模型”這個說法,意思就是“模型學的是‘根據前面的詞猜下一個詞’”。這名字就慢慢傳開了。

主要是研究理論的時候用。比如討論“模型是怎么算概率的”:有的模型能看前后所有詞(比如BERT),算的是“某個詞在整句話里的概率”;而因果模型只能看前面,算的是“某個詞在前面詞之后的概率”。又比如解釋“為啥模型訓練時能一批處理好多詞,生成時卻得一個一個來”——因為“因果”規則要求必須按順序,前面的沒確定,后面的就沒法算。

自回歸語言模型

為啥叫“自回歸”?因為“自己生成的詞,自己接著往下說”
這個詞的老家在統計學,幾十年前就有了。比如預測明天的氣溫,不用看濕度、風力,就用過去7天的氣溫來猜——這就叫“自回歸”:“自”是“自己的過去”,“回歸”是“用過去猜未來”。
“自” 與 “回歸” 的數學溯源

  1. “自”(Auto-):自我引用,用自身歷史預測未來
    希臘語前綴 “auto-”,意為 “自我”(self)。在自回歸模型中,“自” 特指用變量自身的歷史值作為預測依據。
    預測明天的氣溫,不依賴外部因素(如濕度、氣壓),僅根據過去 7 天的氣溫值。

  2. “回歸”(Regression):向均值靠攏的統計關系
    19 世紀英國統計學家高爾頓(Francis Galton)提出 “回歸均值”(regression toward the mean),指身高異常的父母,子女身高更可能接近平均水平。
    在現代統計學中,“回歸” 泛指通過已知變量預測目標變量的函數關系(如線性回歸 y=wx+b)。

后來這個思路被用到了語言模型上。2010年左右,RNN這類模型火了,它們生成句子的邏輯就是“接龍”:先用“我”猜“吃”,再用“我吃”猜“飯”,再用“我吃飯”猜“了”……每一步都用自己剛生成的詞當素材,接著往下說。這種“自己生成的內容再當輸入”的方式,就被叫做“自回歸生成”。

早期的生成模型(比如翻譯模型)基本都這么干。直到后來出現了“非自回歸模型”(比如一次性生成一整句話),大家才更明確地用“自回歸”來稱呼這種“接龍式”的生成方式。不過要注意:早期的自回歸模型可能偶爾會“偷看”后面的詞(沒加那個“擋板”),直到Transformer加了“因果掩碼”,才讓“自回歸”和“只能看前面”嚴格綁在了一起。

主要是說生成算法的時候用。比如討論“怎么讓模型生成的句子更靠譜”:可以一次保留幾個候選(beam search),或者隨機選一個(采樣)——這些方法都只適合自回歸模型,因為它們都是“一個一個詞生成”的。又比如比較模型訓練效率:自回歸模型得算每個詞的“猜對概率”,而非自回歸模型算的是“整句話對不對”,這時候就會用“自回歸”來區分。

僅解碼器語言模型

Transformer框架,它原本有兩個核心零件:

  • 編碼器:能同時看一句話的前后所有詞(比如讀“我喜歡蘋果”,“蘋果”能看到“我”和“喜歡”),適合理解句子意思;
  • 解碼器:只能看前面的詞(比如讀“我喜歡蘋果”,“蘋果”只能看到“我”和“喜歡”),原本是配合編碼器用的(比如翻譯時,編碼器先理解原文,解碼器再生成譯文)。

2018年,OpenAI做了個大膽嘗試:他們搞了個叫GPT-1的模型,直接把編碼器扔了,只留了解碼器。結果發現,就靠這一半零件,不僅能生成句子,還能理解意思,而且參數更少、更高效。

后來模型越來越多:有只用編碼器的(比如BERT),有編碼器解碼器都用的(比如T5),還有像GPT-1這樣只留解碼器的。為了區分這三種,大家就給GPT這類模型起了個名:“僅解碼器語言模型”。

選模型、聊工程實現的時候用。比如:
分類模型時會說:“BERT是編碼器模型,T5是編碼器-解碼器模型,GPT是僅解碼器模型”;
分析性能時會說:“僅解碼器模型參數更集中(全堆在解碼器上),處理長文本更厲害(不會被后面的詞干擾),訓練時隨便給一堆文章就行(不用成對的原文和譯文)”;
部署模型時會說:“聊天機器人用僅解碼器模型更快,因為不用先讓編碼器處理輸入,直接就能從一句話開始生成”。

這三個詞并存是因為研究者關心的點不一樣:
“因果語言模型”是從數學邏輯角度說的:強調“前面決定后面”的規則;
“自回歸語言模型”是從生成方式角度說的:強調“接龍式生成”的過程;
“僅解碼器語言模型”是從模型結構角度說的:強調“只留了解碼器”的零件。

關鍵時間線捋一捋

  • 2010年左右:RNN語言模型火了,已經在用“自回歸”的方式生成,但“因果”只是默默遵守的規則,還沒有“僅解碼器”這個說法;
  • 2017年:Transformer論文提出“因果掩碼”,解碼器第一次有了嚴格“只看前面”的能力,但解碼器還得配合編碼器用;
  • 2018年:GPT-1第一次只用了解碼器,“僅解碼器模型”誕生,OpenAI開始在論文里提“因果語言模型”的訓練目標;
  • 2019年:BERT(編碼器模型)和GPT(僅解碼器模型)對比火了,“僅解碼器”這個詞開始傳開,也就更清楚“自回歸”和“非自回歸”的區別;
  • 2023年:GPT-4這類僅解碼器模型成了主流,能處理超長文本,證明了這種結構的優勢,三個詞也成了常用詞。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89875.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89875.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89875.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jvm架構原理剖析篇

簡單題(5道) 考查內容:JVM運行時數據區域 題干:Java虛擬機棧的主要作用是? A. 存儲對象實例 B. 存儲方法調用和局部變量 C. 存儲靜態字段 D. 存儲字節碼指令 正確答案:B 解析:虛擬機棧用于存儲方…

智鏈萬物:人工智能驅動的產業智能化革命

當生成式AI在藝術與創意領域掀起風暴,大型語言模型重塑信息交互方式時,一場更為基礎、影響更為深遠的變革,正在全球實體經濟的根基處悄然發生并加速推進——這就是產業智能化。它并非簡單的“機器換人”,而是人工智能(…

python中上下文管理器 與 try finally有什么區別

目錄 主要區別代碼對比何時使用哪種方式 主要區別 語法簡潔性 上下文管理器使用 with 語句,語法更簡潔優雅try-finally 需要顯式編寫異常處理代碼,更冗長 代碼復用性 上下文管理器可以封裝為類或函數,便于在多處復用try-finally 通常需要在每…

人體屬性識別+跌倒檢測:兒童行為監測與安全升級

智慧幼兒園的AI智能檢測盒應用實踐 背景:傳統園區管理的三大痛點 傳統幼兒園管理長期面臨三大核心挑戰:一是安全監控依賴人工巡查,存在視覺盲區與響應延遲,如某連鎖幼兒園曾因人工巡查疏漏,導致3起兒童跌倒事故未能及…

【ESP32-IDF筆記】09-UART配置和使用

環境配置 Visual Studio Code :版本1.98.2 ESP32:ESP32-S3 ESP-IDF:V5.4 支持型號:ESP32、ESP32-C2、ESP32-C3、ESP32-C5、ESP32-C6、ESP32-C61、ESP32-H2、ESP32-P4、 ESP32-S2、ESP32-S3 簡介 通用異步接收器/發送器 (UART) …

在 .NET Core 和 React 中使用 WebSockets 和 SignalR 進行實時數據傳輸

對于需要即時更新和通知的應用程序來說,實時數據傳輸至關重要。在 .NET Core 中,WebSocket 和 SignalR 提供了強大的工具來實現客戶端和服務器之間的實時通信。在本指南中,我們將探討如何在 .NET Core 應用程序中使用 WebSocket 和 SignalR 實…

第八十六篇 大數據排序算法:從廚房整理到分布式排序的智慧

目錄一、基礎排序算法:生活場景中的計算智慧1.1 冒泡排序:圖書館的書籍整理1.2 插入排序:廚房調料的整理藝術二、高效排序算法:大數據處理的利器2.1 快速排序:音樂APP的智能歌單2.2 歸并排序:學校成績單的合…

開源 | V3.1.1慧知開源重卡運營充電樁平臺 - 重卡運營充電樁平臺管理解決方案;企業級完整代碼 多租戶、模擬器、多運營商、多小程序;

【開源免費版】推薦一套企業級開源充電樁平臺:完整代碼包含多租戶、硬件模擬器、多運營商、多小程序,汽車 電動自行車、云快充協議;——(慧哥)慧知開源充電樁平臺;https://liwenhui.blog.csdn.net/article/details/148242725?spm…

ONLYOFFICE 協作空間 企業版使用秘籍-8.使用虛擬數據房間,處理機密文檔更安全

在當今快節奏的社會中,信息已成為極其關鍵的資源,因此,保護敏感數據至關重要。ONLYOFFICE 協作空間中的虛擬數據房間(VDR)提供了一個安全便捷的工作空間,確保文檔受到嚴密保護的同時,也能實現輕…

系統架構設計師論文分享-論軟件架構復用

我的軟考歷程 摘要 2023年2月,我所在的公司通過了研發紗線MES系統的立項,該項目為國內紗線工廠提供SAAS服務,旨在提升紗線工廠的數字化和智能化水平。我在該項目中擔任架構設計師,負責該項目的架構設計工作。本文結合我在該項目…

虛擬主機與獨立服務器如何選擇

在搭建和維護網站時,選擇合適的服務器套餐至關重要。虛擬主機和獨立服務器是兩種常見的選擇,它們各有優缺點,適用于不同需求的用戶。本文將深入探討這兩種服務器類型的特點,以幫助您為您的網站選擇最合適的服務器解決方案。虛擬主…

NFC的安全技術體系

NFC(近場通信)技術因廣泛應用于移動支付、身份認證、門禁控制等敏感場景,其安全技術體系是保障用戶數據與交易安全的核心。該體系涵蓋數據傳輸安全、存儲安全、身份認證、防攻擊機制等多個維度,通過硬件隔離、加密算法、協議規范等…

Echarts3D柱狀圖-圓柱體-文字在柱體上垂直顯示的實現方法

全部代碼 <!DOCTYPE html> <html lang"en" style"height: 100%"> <head><meta charset"utf-8"><title>3D柱狀圖-圓柱體-文字豎排</title> </head> <body style"height: 100%; margin: 0"…

【算法訓練營Day08】字符串part2

文章目錄 反轉字符串里的單詞右旋字符串KMP算法雙指針法總結 反轉字符串里的單詞 題目鏈接&#xff1a;151. 反轉字符串中的單詞 雙指針法解題邏輯 head指針遍歷字符串遍歷到單詞首單詞&#xff0c;生成end指針移動到單詞尾部遇到完整單詞收集&#xff0c;壓入棧中head指針移動…

如何使用backtrace定位Linux程序的崩潰位置

在嵌入式Linux開發中&#xff0c;特別是復雜軟件&#xff0c;多人協作開發時&#xff0c;當某人無意間寫了一個代碼bug導致程序崩潰&#xff0c;但又不知道崩潰的具體位置時&#xff0c;單純靠走讀代碼&#xff0c;很難快速的定位問題。 本篇就來介紹一種方法&#xff0c;使用…

十大排序算法匯總

好的&#xff0c;下面為你整理一篇面試全覆蓋、極其深入的十大排序算法總結博客&#xff0c;涵蓋算法原理、復雜度、穩定性、應用場景、工程實踐、C與Python實現&#xff08;含詳細注釋&#xff09;&#xff0c;并對比分析各種排序的優缺點與適用情境。內容力求結構清晰、講解透…

零基礎 “入坑” Java--- 七、數組(二)

文章目錄 一、數組轉字符串二、數組的拷貝三、求數組中元素的平均值四、查找數組中指定元素&#xff08;順序查找&#xff09;五、數組排序&#xff08;冒泡排序&#xff09;六、查找數組中指定元素&#xff08;二分查找&#xff09;七、判斷兩個數組中的元素是否相等八、填充數…

【C++ 真題】P1104 生日

P1104 生日 題目描述 cjf 君想調查學校 OI 組每個同學的生日&#xff0c;并按照年齡從大到小的順序排序。但 cjf 君最近作業很多&#xff0c;沒有時間&#xff0c;所以請你幫她排序。 輸入格式 輸入共有 n 1 n 1 n1 行&#xff0c; 第 1 1 1 行為 OI 組總人數 n n n&…

Oracle DB和PostgreSQL,OpenGauss主外鍵一致性的區別

針對于unique索引在主外鍵上的表現&#xff0c;o和PG的行為確實不一致&#xff0c;測試樣例&#xff1a;PG:測試1&#xff1a;test# CREATE TABLE gdb_editingtemplates ( objectid INTEGER NOT NULL, globalid VARCHAR(38) DEFAULT {00000000-0000-0000-0000-000000000000} …

06.自動化測試概念

自動化測試概念 1. 自動化1.1 回歸測試1.2 自動化分類 1.3 自動化測試金字塔2. web自動化測試3.Selenium 1. 自動化 ? **自動化測試&#xff08;Automated Testing&#xff09;&#xff1a;**是指使用軟件工具或腳本來自動執行測試任務&#xff0c;代替人工進行重復性、繁瑣的…