天天看點

通用人工智能綜述(三)

作者:AI自智體

Original AGI聯盟 吳博士 通用人工智能聯盟

大家好,今天我們繼續分享通用人工智能(AGI)技術的原創綜述,該簡短的綜述将系統性地梳理目前的AGI發展狀态和現狀,并前沿性收納最具有推動力的成果,可以作為該領域的入門參考資料。本分享将持續五期,本期主要講述基于大模型的認知技術。

注:本文為PPT+講稿形态,建議采用計算機而非手機顯示觀看,講稿位于所解釋的PPT的上方,有部分為個人觀點,不夠嚴謹之處敬請諒解。

通用人工智能綜述(三)

上面的讨論已經講到我們的兩類認知架構,在此在回憶一下,我們以是否具有微觀結構,分成類型1和類型2。類型1是以元技能的學習及組合作為其特征,包括了次符号空間的認知架構的研究。以及部分neurosymbolic的研究。類型2即基于端到端模型的大資料訓練,主要以transformer和增強學習作為典型案例。下面主要介紹類型2。

通用人工智能綜述(三)

目前大語言模型進展非常迅速,已經具有下圖所示的大量千億及百億級别的大模型。這些模型具有着明顯的通用智能的潛在優勢。

通用人工智能綜述(三)

總體而言,現在具有兩類主流技術路線。其中OpenAI一直秉承着生成式的技術路線。包括GPT3以及代碼生成Codex。以及後續的一些演進GPT3.5版本。另一類是谷歌的BERT類基于掩碼預測的大語言模型路線。後期谷歌也逐漸的多樣化,形成了類OpenAI的生成式技術路線。DeepMind也具有着像Gopher、Chinchilla等大模型。Meta AI更關注多專家系統(MoE)建構的大模型。

國内如智源也具有悟道2.0這樣的一些超大規模的MoE模型,具有萬億參數。此外,我們可以認為其主要的技術特點包括如下幾個方面,

首先,都使用了Transformer,無論是Encoder only或Decoder only形态,還是Encoder-Decoder形态。

其次具有着大規模或超大規模,即達到了百億或千億的參數級别。

第三。在任務處理和調優方面,通常采用了提示(Prompt)方法。用于提升語言模型的任務通用性和小樣本及零樣本能力,In-context learning方法通過少量示例,讓大語言模型進行推理期間的few shot學習,Chain of thought通過逐漸思考提升了學習的精度,此外還有Instruction tuning實作了指令級别的提示,Tuning on code提升了大語言模型寫代碼的能力,RLHF提升了語言模型提供人類所需回答的這樣一個能力,它是通過用Human feedback的樣本,訓練出一個評估模型,并基于評估模型進行大語言模型的進一步fine-tune實作。

在實作結構上,有的模型具有Pathway或MoE的形态,通過多種類别的FFN,并進行目前案例的相似度評價,去選出少量的合适的專家子網絡實作推理,以這種方式可以容納更多參數,并實作任務的專有化。此外,模型從預訓練加fine-tune的形态逐漸演化為Few-shot、One-shot和Zero-shot的形态。

(Meta AI [ref]: Efficient Large Scale Language Modeling with Mixtures of Experts)

通用人工智能綜述(三)

目前大語言模型在若幹資料集上已經達到或超過了人類的平均水準。例如通用知識測試、一些考試、IQ Benchmark等等。

通用人工智能綜述(三)

在大模型的常識多步邏輯推理上,Chain of Thought顯著提升了模型的計算精度,在Big Benchmark Hard上可以實作大部分任務超越人類的表現,Big Benchmark Hard選擇的是一些對于大模型而言比較難的一些問題,是以這也代表大量的自然語言處理任務的能力與人類已經接近或超過。此外,DIVERSE通過讓模型輸出多個解,并分析這些解的相似性,通過大部分解是正确解的投票機制,選出最優的解,進而進一步改善邏輯推理的性能。

通用人工智能綜述(三)

下面介紹基于大模型的數學解題能力,由于數學解題是邏輯思維裡面最重要的,展現了智能水準和邏輯思維水準的一類問題,是以在數學解題能力上的成績往往标志着目前的這些模型的一個核心的邏輯推理智能的水準。我們這裡主要介紹一個叫 Minerva 這樣的一個大語言模型網絡,它是基于 PaLM 設計的,可以看到它在基于通用自然語言資料的訓練基礎上,還實作了在數學網頁以及 ArXiv 資料集上的進一步的訓練,這些訓練就使得它在數學問題的解上面具有着很強的能力,它可以實作像左邊這個證明問題,這樣的證明問題需要被分解成若幹個步驟完成。Minerva在這個資料集上實作了78.5%的精度,而現在的 SOTA 已經達到了82.3%的一個精度水準。

通用人工智能綜述(三)

在專業知識檢索問答這個方面,Med-PaLM可以實作接近人類水準的醫學問題處理,它基于PaLM大語言模型并通過提示,指令微調,指令提示微調這三個技術實作了對于這個應用領域的醫學問答的回答品質的顯著提升。另外在科學領域 Galactica這個大語言模型是基于 paper 和code以及相關的一些科學領域素材訓練出的一個超大規模語言模型,它實作了對于各種科學領域的一個統一的 tokenizing,也就是說可以把各種的文本公式甚至 DNA 序列都編成統一的 token 形态,并進行大語言模型訓練,進而實作對于科學文獻的歸納總結、推理及問題回答的能力。

通用人工智能綜述(三)

在大語言模型機器人任務處理和具身智能方面,Google提出了SayCan方法,提出了将大語言模型與可受性價值評估模型相結合,進而讓大模型适配于機器人的真實作業環境的方法。其中大語言模型用于将自然語言指令轉化為一系列微指令及評分,但這些微指令并不能保證适配于機器人的目前環境和狀态,是以又引入了價值評估函數,用于實作微指令與目前環境的适配度評分。将兩者的評分結合(相乘),就實作了智能體既能聽從自然語言指令,并适應實際環境且指令具有可操作性,是大語言模型+增強學習系統在機器人場景适配的一個典型展示。

具體的運作流程如右圖所示,機器人作業分成若幹步驟進行,每步都将自然語言指令本身,以前所有步驟的執行指令作為提示部分,用于引導機器人産生目前指令及評分,語言模型産生的一系列指令通過Value function實作可受性的一個評分,兩個評分相乘得到總評分,取評分最高作為執行指令。其中增強學習用于實作Value function的訓練。

通用人工智能綜述(三)

這個算法需要執行很多步驟,直到獲得done,代表執行完畢。在實驗中,我們可以看到如右圖所示的機器人執行多個複雜子步驟,執行了多次去不同地點,取東西,放東西等操作,為主人拿到飲料和小吃的過程。

通用人工智能綜述(三)

基于大語言模型還有一個非常重要的領域,就是 Program Synthesize,Program Synthesize 是讓程式自己寫程式,或者叫讓模型自己寫程式的一類方式。最為典型的一個工作是Codex, Codex 是基于GPT-3 訓練的,目前也在GPT-3.5上具有一些演進版本。Codex 在他當時的版本中使用了5400萬 Github 的代碼倉庫,合計100多個G的代碼樣本進行了訓練,最後在 Human Eval 資料集上實作了多樣本可試錯的情況下77%的成功率,是裡程碑的一個成果。可以實作例如右圖這樣一個語言描述轉python代碼,或者描述加例子轉代碼的這樣的一些代碼生成工作。

通用人工智能綜述(三)

我們可以将大語言模型的代碼生成能力應用于對資料庫的通路和對表格的通路上面,Jigsaw 這個工作就是基于 Codex 模型衍生的,可以實作Pandas 代碼生成,這個工作有助于未來的持續記憶的實作,由于Pandas 的這個操作代碼表格的能力和資料庫的能力實際上是對這種聲明式長期記憶資料的一個管理、索引以及存儲的能力,是以我們可以将 Codex 作為一個驅動器去驅動我們的長期記憶體,這個長期記憶體是基于資料庫或表格來存儲資訊的。

Jigsaw在做這件事的時候呢也發現 Codex 的原始生成代碼經常容易出錯,是以也進行了相關優化,包括建立了一些Context Bank 做前處理,那這個 Context Bank包含了諸多Query,Program 例子對的序列作為few shot的素材,之後從目前的 Query 庫中提取相關性高的例子,用于提升目前query的回複精準度。另外,通過大模型生成的代碼又進行了後處理,包括變量名修正,參數錯誤及語義錯誤的修正,進而讓産生的代碼更正确。

通用人工智能綜述(三)

此外大語言模型程式生成的另一個應用是數學問題求解。它通過Codex生成數學問題的解題程式,并通過計算機運作程式擷取解,相當于給智能體配置了一台計算機去做複雜的計算,用來實作數學解題。此外呢,它還可以對生成的代碼進行一定的解釋。在 MIT 和哥倫比亞大學的多項數學課程上以及多項 MATH資料集的Topics上進行了驗證,達到了非常好的效果,實作了整體上81%的解題率。

通用人工智能綜述(三)

另外基于大語言模型的程式生成技術還可以實作家庭場景下的智能體控制。在這個例子裡呢,其主體是基于 GPT-3 的大語言模型,在這個基礎上,先通過提供相應的背景環境資訊,或者叫變量資訊,之後提供一些例子作為代碼生成的可學習的樣本,之後是我們希望生成的智能體控制的定義的函數名稱,之後輸入給大模型,就會生成相應的這個任務函數的執行過程代碼,代碼中還通過assertion根據這個目前環境是否滿足了預期進行相應的判斷,并對不滿足預期時候的這個行為通過補償處理機制處理, 實作了與環境閉環互動,對于像這樣一個家庭的智能機器人的場景,實作了典型任務下的智能體控制。

通用人工智能綜述(三)

基于Transformer還可以實作程式的執行過程,就像處理器可以執行程式一樣,隻是這回是通過神經網絡來執行程式,它相對于純程式執行具有非結構化和模糊化執行的能力。可以實作對程式-圖檔對這種VQA任務的處理,以及政策執行的細化。對于VQA來講,它可以實作這個指令和這個圖像的互相互動的過程,對于這個政策執行細化而言,可以實作對于宏觀目标的一個執行過程的細化。

我們以Program Guided Transformer,即Proto來舉例。這個例子中首先具有一個程式指針更新函數,這個程式指針用于訓示它在哪一個步驟被執行,并且決定下一步是繼續執行這個步驟,還是跳轉到下一個步驟。然後在這個程式指針外部有一個執行循環,這個執行循環具有進行推理和指針更新兩個子階段。

那麼這個網絡結構就有點像一個處理器一樣,可以把這個程式執行下來。它的基礎結構是三層的Cross-Attention的一個Transformer Layer的形态,首先,實作的是語義的注意力,這個語義包括函數(如select),以及參數(如bag)。第二個注意力是代碼依賴結構,就是說目前語句跟哪些程式語句的執行結果有連接配接,那麼就用一個相關度的一個度量矩陣的一行,把它們的關聯關系表達出來。最後還有一個關于場景資訊的融合,用于處理圖像和地圖這樣的資料。經過這三層注意力,就實作了一個具有程式執行功能的神經網絡。

通用人工智能綜述(三)

最後,我們也測試了一下ChatGPT的元技能組合能力,在此我們對MIPS的彙編語言指令集進行了一定的修改,用漢語拼音修改了一部分指令,如load替換成了jiazai,save變成了baocun,兩者不等則跳轉的jne改寫為tiaobudeng等等,但保留了每個指令的含義解釋。是以我們建構了一個簡單的新的指令集,也可以了解成元技能集,在此之上,我們測試大語言聊天模型ChatGPT,讓它基于這個指令集編寫一段階乘的代碼,編寫的代碼如右側所示。經目測整體邏輯是正确的,但目前這個實驗會有很大的方差,有時會生成不一樣且不對的代碼,而且不太容易糾正。是以我們可以認為目前大語言模型在這個領域有潛力,但仍需要進一步穩定水準和提升水準。

通用人工智能綜述(三)

綜上所述通用大模型的邏輯認知狀态可以總結為以下幾點,首先在優勢上面,大語言模型可以利用海量的人類的文本資訊進行訓練,第二,目前大模型在很多地方也确實超過了人類的水準,或者逼近了人類的水準,第三,它可以具有一定的邏輯推理能力,包括常識、事件、隐式推理等等,第四,它還具有着一定的代碼生成能力和代碼解釋能力,最後,它還具有強生成和強創造特性,在AIGC的最近的領域裡都有所表現,

但是它也具有着若幹的不足與挑戰,包括仍不能算作一個完整的認知架構,它還缺乏長期記憶、情境記憶,以及模型個性化,或者說它記不住自己以前做過的事情。另外它是基于有限上下文的輸出,對于長程寫作的或者長程的邏輯推理,仍然是稍顯不足。另外,對于真實世界的互動還不太充足,包括認知感覺之間的結合不緊密,此外,就是目前的邏輯還是以文本作為基礎的。另外,影響它發展的一個重要因素就是訓練代價比較高,通常,使用者缺乏持續模型更新的一個能力,這個模型訓練出來之後基本上是不能修改的,研發成本也高,使用成本也不低,是以導緻的就是能玩得起的人也比較少。

通用人工智能綜述(三)

大模型從一定層面上可以看作是認知架構的一種具體實作,具有強認知能力,是目前最火熱的學術領域之一,不過大多數分析仍然從人工智能内容生成(AIGC)、多模态、自然語言處理的角度去了解它,而沒有從強智能的裡程碑的意義的角度去了解它,是有所缺失的。本文重點關注的是它對于邏輯推理認知、精确的可解釋的輸出(程式)、實作機器人任務的潛在能力,個人認為這些能力比陪聊或者作畫可能更能激起未來發展的浪潮。它可以說是發展了40餘的認知架構的最大革新。此外,結合它的多模态特性,有望作為通用基礎模型(foundation model),我們在最後一期分享中讨論它的後期演進。本期分享就到這裡,下期我們将關注學習技術。

繼續閱讀