GPT-4發布後,其他大模型怎麼辦? Yann LeCun:增強語言模式或許是一條路
ChatGPT、GPT-4 的火爆,讓大型語言模型迎來了迄今為止的高光時刻。但下一步又該往何處去?
Yann LeCun 最近參與的一項研究指出,增強語言模式或許是個極具潛力的方向。
這是一篇綜述文章,本文將簡單介紹論文的主要內容。
研究背景
大型語言模型極大地推動了自然語言處理的進步,相關技術造就了幾個擁有數百萬用戶的產品,包括編碼助手Copilot,Google搜尋引擎以及最近大火的ChatGPT。將記憶與組合性功能結合後,大型語言模型能夠以超前的表現執行各種任務,如語言理解或條件和無條件文字生成,從而讓更高頻寬的人機互動成為現實。
然而,大型語言模型依舊存在一些限制,妨礙其進行更廣泛的部署。大型語言模型通常提供非事實但看似合理的預測,通常被稱為幻覺(hallucination)。這導致了許多本來可以規避的錯誤,例如在算術上下文中或在推理鏈中。此外,透過可訓練參數的數量來衡量,許多大型語言模型的突破性能力似乎隨著規模的增加而出現,例如部分研究人員證明,大型語言模型達到一定規模後,就能夠透過少樣本prompting 執行一些BIG-bench 任務。儘管最近的一系列工作產生了小規模的語言模型,但這種語言模型仍保留了大模型的一些特性,大型語言模型的大小和資料需求的訓練和維護成本依舊是高昂的。大型模型的持續學習仍然是一個開放的研究問題,此前 Goldberg 在基於 GPT-3 的聊天機器人 ChatGPT 的上下文中討論了大型語言模型的其他局限性。
在最近的一項研究中,來自Meta 等機構的研究者分析稱,上述這些問題源於大型語言模型的一個本質缺陷:它們通常被訓練為在給定(i) 單一參數模型和(ii) 有限上下文(通常是n 個前面或周圍的token)的情況下執行統計語言建模。儘管由於近年來軟體和硬體的創新,n 一直在成長,但與始終正確執行語言建模所需的潛在大型上下文相比,大多數模型仍然使用相對較小的上下文。因此,模型需要巨大的規模來儲存上下文中不存在但執行手頭任務所必需的知識。
論文連結:https://arxiv.org/pdf/2302.07842v1.pdf
因此,越來越多的研究都在以解決這些問題為目標,而稍微偏離了上述的純統計語言建模範式。
例如,有一項工作是透過增加大型語言模型的相關性來規避有限的上下文大小,透過添加從相關外部文件中提取的資訊來實現。透過為大型語言模型配備從給定上下文的資料庫中檢索此類文件的模組,可以在參數較少的情況下匹配一些最大語言模型的某些功能。請注意,得到的模型現在是非參數的,因為它可以查詢外部資料來源。總體來說,語言模型還可以透過推理策略改善其上下文,以便在產生答案之前產生相關度更高的上下文,並省去更多的計算。
另一種策略是允許語言模型利用外部工具,以語言模型權重中不包含的重要缺失資訊來增強當前上下文。儘管這些工作中的大部分是為了減輕上面提到的語言模型的缺陷,但也直接說明了,更有系統地使用推理和工具來增強語言模型可能會催生更強大的智能體。這些模型稱為增強語言模型 (ALM)。隨著這一趨勢的加速,相關的研究數量急劇增長,此時需要對作品進行分類,並定義不同用途的技術術語。
本論文中所使用的術語的定義如下:
#推理。 在增強語言模型的脈絡中,推理是將一個潛在的複雜任務分解成更簡單的子任務,語言模型可以更容易地透過自身或使用工具來解決。存在各種分解子任務的方法,如遞歸或迭代。從這個意義上講,推理類似於 LeCun 2022 那篇論文《A Path Towards Autonomous Machine Intelligence》所定義的「規劃」。在本文中,推理將經常涉及到提高語言模型推理技能的各種策略,例如使用少樣本範例逐步(step-by-step)推理。目前還不完全清楚語言模型是否真的在推理,或者只是產生一個更大的上下文,從而增加正確預測缺失 token 的可能性。不妨參考其他研究人員(Huang and Chang (2022))關於這一主題的討論:儘管基於當前的 SOTA 結果,推理可能是一種語言濫用,但該術語已經在社區中使用。在增強語言模型中,上下文推理的一個更實用的定義是,在產生針對 prompt 的答案之前,給模型更多的計算步驟。
工具。 對於增強語言模型,工具是一個外部模組,通常使用規則或特殊 token 調用,其輸出包含在增強語言模型的上下文中。該工具可以收集外部信息,或對虛擬或物理世界產生影響(通常由增強語言模型感知)。獲取外部資訊的工具的一個例子是文檔檢索器,而具有外部效果的工具是機械手臂。工具可以在訓練或推理時調用。總體而言,學習與工具互動可能包括學習呼叫它的 API。
行為。 對於增強語言模型,行為是指呼叫對虛擬世界或物理世界有影響的工具並觀察結果,通常是透過將其包含在增強語言模型的當前上下文中。例如,本文中提到的一些作品討論了網路搜尋或透過語言模型操縱機械手臂。如果略微過度地使用術語一下,研究人員有時也會將增強語言模型對工具的呼叫表示為一種行為,即使它沒有外部效果。
為什麼要將推理和工具放在一起討論? 語言模型中的推理和工具的組合用來解決大批複雜任務,而不需要啟發式,因此具有更好的泛化能力。通常,推理將促進語言模型將給定的問題分解為可能更簡單的子任務,而工具將幫助使每一步都正確,例如從數學運算中獲得結果。換句話說,推理是語言模型組合不同工具以解決複雜任務的一種方式,而工具是一種使用有效分解來避免推理失敗的方法。二者都應該從對方身上受益。此外,推理和工具可以放在同一個「罩」下,因為二者都增強了語言模型的上下文以更好地預測缺失的 token,儘管是以不同的方式。
為什麼要將工具和行動放在一起討論? 語言模型可以用同樣的方式呼叫收集額外資訊的工具和對虛擬世界或物理世界有影響的工具。例如,語言模型輸出用於求解數學運算的 Python 程式碼與語言模型輸出用於操作機械手臂的 Python 程式碼似乎沒有區別。論文中討論的一些工作已經使用了對虛擬或物理世界有影響的語言模型。在這種觀點下,可以說語言模型具有行為的潛力,其作為自動化智能體方向所取得的重要進展也值得期待。
本文將調查所包含的研究分成三個部分來展開。第二節研究了上述定義的增強語言模型推理能力的工作。第三節重點介紹允許語言模型與外部工具互動並採取行動的工作。最後,第四節探討了推理和工具的使用是透過啟發式實現的還是透過學習實現的,例如透過監督或強化。調查還包括其他部分,作者在第五節中進行了討論。簡潔起見,調查集中在將推理或工具與語言模型結合的工作。最後,雖然本文的重點在大型語言模型上,但並非所有考慮到的研究都採用了大模型,因此為確保準確性,在其餘的調查中也會堅持使用語言模型。
推理
先前的工作表明,大型語言模型可以解決簡單的推理問題,而不是複雜的推理問題:因此,本節重點介紹增強語言模型推理技能的各種策略。對於線性模型來說,複雜推理問題的挑戰之一是透過將其預測的正確答案組合到子問題中來正確地獲得解。例如,語言模型可以準確預測名人的出生和死亡日期,但可能無法準確預測年齡。部分研究人員將這種差異稱為語言模型的組合性差距。本節的其餘部分將討論與語言模型中誘導推理的三種流行範式相關的工作。由於目前的工作重點是結合工具的推理,這裡建議讀者參考其他研究人員對大型語言模型推理的工作所進行的更深入的探討。
工具和行為的使用
#最近的語言模型研究路線允許模型存取不一定儲存在其權重中的知識,例如事實性知識。更準確地說,諸如精確計算或資訊檢索之類的任務可以卸載到外部模組,如 Python 解釋器或被模型查詢的搜尋引擎模組,在這些方面,這些模組會使用工具。此外,當工具對外在世界產生影響時,我們可以說語言模型執行了一個行為。以特殊 token 的形式輕鬆地包含工具和行為,這是結合了 Transformer 語言建模的方便特性。
在回顧了語言模型可以如何增強以鍛鍊自身的推理及應用工具的能力之後,這篇調查研究也介紹瞭如何教導模型應用這些能力。
更多研究細節,可參考原文。
以上是GPT-4發布後,其他大模型怎麼辦? Yann LeCun:增強語言模式或許是一條路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。
