新智元報道
編輯:潤 貝果
【新智元導讀】微軟斯坦福研究人員發表新論文,提出STOP系統,通過迭代優化算法,讓GPT-4能夠針對任務,自我改進輸出代碼。這種不用改變模型權重和結構的自我優化方法,可以避免出現「自我進化的AI系統」的風險。
「遞歸自我進化AI統治人類」問題有解了?!
許多AI大佬都將開發能自我迭代的大模型看作是人類開啟自我毀滅之路的「捷徑」。
DeepMind聯合創始人曾表示:能夠自主進化的AI具有非常巨大的潛在風險
因為如果大模型能通過自主改進自己的權重和框架,不斷自我提升能力,不但模型的可解釋性無從談起,而且人類將完全無法預料和控制模型的輸出。
如果放手讓大模型「自主自我進化」下去,模型可能會不斷輸出有害內容,而且如果未來能力進化得過于強大,可能反過來控制人類!
而最近,微軟和斯坦福的研究人員開發出一種新的系統,能夠讓模型不改變權重和框架,只針對目標任務進行自我迭代改進,也能自我改進輸出質量。
更重要的是,這個系統能大大提高模型「自我改良」過程的透明度和可解釋性,讓研究人員能夠理解和控制模型的自我改良過程,從而防止「人類無法控制」的AI出現。
論文地址:https://arxiv.org/abs/2310.02304
「遞歸自我完善」(RSI)是人工智能中最古老的想法之一。語言模型能否編寫能夠遞歸改進自身的代碼?
研究人員提出的:自學優化器(Self-Taught Optimizer,STOP),能夠遞歸地自我改進代碼生成。
他們從一個簡單的采用代碼和目標函數的種子「優化器」程序開始,使用語言模型改進代碼(返回k優化中的最佳改進)。
因為「改進代碼」是一項任務,所以研究人員可以將「優化器」傳遞給它本身!然后,不斷重復這個過程。
只要重復的過程次數足夠,GPT-4就會提出很多非常有創意的代碼自我改進策略,例如遺傳算法、模擬退火或者是多臂提示賭博機。
考慮到GPT-4的訓練數據只截止到2021 年之前,早于很多它發現的改進策略的提出時間,能得到的這樣的結果確實令人驚訝!
進一步地,由于研究人員需要某種方法來評估改進的優化器,因此他們定義了一個「元效用(Meta-Utility)」目標,是優化器應用于隨機下游程序和任務時的預期目標。
當優化器自我改進時,研究人員將這個目標函數賦予這個算法。
研究人員發現的主要結果:首先,自我改進的優化器的預期下游性能隨著自我改進迭代的次數而一致增加。
其次,這些改進的優化器也可以很好地改進訓練期間未見過的任務的解決方案。
雖然許多研究人員對于「遞歸自我改進」模型表示擔憂,認為可能會開發出人類無法控制的人工智能系統。但是如果不針對模型本身優化,而是針對目標任務進行自動優化,這就能使得優化的過程更易于解釋。
而且這個過程可以用來作為檢測有害「遞歸自我改進」策略的測試平臺。
而且研究人員還發現,GPT-4 可能會「為了追求效率」,在迭代過程中主動移除「沙盒標志(disable Sandbox Flag)」
網友認為,這篇論文提出的方法潛力非常巨大。因為未來的AGI可能不是一個單個的大模型,很有可能是由無數高效的智能體組成的集群,智能體能夠共同努力,在分配給他們的巨大的任務上取得成功。
就像公司相比于員工個體會有更加強大的智能一樣。
也許通過這種方法,即便不能通向AGI,但也許能夠在限定范圍的任務上,讓專門優化過的模型獲得比自身原本性能高得多的表現。
論文核心框架
在這項工作中,研究人員提出了Self-Taught Optimizer(STOP),這是一種應用語言模型來改進任意解決方案的代碼遞歸地應用。
研究人員的方法從初始種子「優化器」腳手架程序開始,這個程序使用語言模型來改進下游任務的解決方案。
隨著系統的迭代,模型會完善這個優化程序。研究人員使用一組下游算法任務來量化自優化框架的性能。
研究人員的結果表明,當模型在增加迭代次數時應用其自我改進策略時,效果會明顯改善。
STOP展示了語言模型如何充當自己的元優化器(Meta Optimizer)。研究人員還研究了模型提出的自我改進策略的種類(見下圖 1)、所提出的策略在下游任務中的可轉移性,并探討了模型對不安全的自我改進策略的敏感性。
上圖展示了STOP在使用GPT-4時提出的許多功能性且有趣的搭建性程序(scaffolds),因為GPT-4是使用截至 2021 年的數據進行訓練,遠遠早于大多數搭建性程序的提出。
所以說明這個系統能夠原創性地生成有用優化策略來進行自我優化。
這項工作的主要貢獻是:
1.提出了一種「元優化」(Meta-Optimizer)的方法,生成了搭建性程序來遞歸地改進自身輸出。
2.證明了使用現代語言模型(特別是 GPT-4)的系統可以成功地遞歸地改進自身。
3. 研究模型提出和實施的自我改進技術,包括模型規避沙箱等安全措施的方式和可能性。
STOP SELF-TAUGHT OPTIMIZER(STOP)系統
圖3 展示了系統自我迭代優化的pipeline
下面這個給出了Self-Taught Optimizer(STOP)的算法圖。其中最關鍵的問題在于I系統本身的設計就是一個優化分體,可以通過應用遞歸算法進行改進。
首先,STOP算法首先初始化種子I0,接下來,定義第t次迭代改進之后的輸出公式:
1. 直覺
STOP可以根據下游任務選擇u來在迭代過程中更好地選擇迭代版本。通常情況下,直覺認為,能夠勝任下游任務的解決方的迭代版本更可能成為更優秀的搭建性程序,從而更善于改進自我。
同時,研究人員認為選擇單論改進的方案會帶來更好的多輪改進。
在最大化公式中,作者討論了「元效用(Meta-utility)」,即涵蓋了自我優化與下游優化, 但是受限于評估成本,在實踐中,作者對語言模型施加了預算限制(例如,限制運行時間、可調用函數的次數),并由人類或模型生成初始解決方案。
預算成本可由以下公式表達:
其中,budget表示每一個預算項,對應每次迭代的系統可使用調用函數的次數。
2. 設置初始系統
在上圖2中,選擇最初種子的時候,只需要提供prompt:
「You are an expert computer science researcher and programmer, especially skilled at optimizing algorithms. Improve the following solution.」
系統模型就會生成初始的解決方案,然后輸入:
「You must return an improved solution. Be as creative as you can under the constraints. Your primary improvement must be novel and non-trivial. First, propose an idea, then implement it.」
根據調用函數返回最佳的解決方案。作者之所以選擇了這種簡單的形式,是因為便于為通用的下游任務提供非對稱的改進。
除此之外,在迭代的過程中,還需要有一些注意的地方:
(1)鼓勵語言模型盡可能地發揮「創造性」;
(2)盡量減少初始提示prompt的復雜性,因為自我迭代會因promp內部的代碼字符串引用而帶來額外的復雜性;
(3)盡量減少prompt數量,從而降低調用語言模型的成本。研究人員還考慮了 研究人員還考慮了該種子提示符的其他變體,但啟發式地發現該版本最大限度地提高了 GPT-4 語言模型提出的改進。
作者還意外的發現使用prompt的其他變體可以最大限度地提高GPT-4語言模型能力。
3. 描述效用性(Describing the utility)
為了有效地向語言模型傳達實用程序的細節,作者提供兩種形式的實用程序,一種是可調用的函數,另一種是包含實用程序源代碼基本要素的實用程序描述字符串。
采取這種方法的原因在于,通過描述,研究人員可以清晰地傳達實用程序的預算限制,例如運行時間或函數調用次數,以語言模型。
起初,研究人員試圖在種子改進程序提示中描述預算指令,但是這導致后續迭代中刪除了此類指令,并試圖進行「獎勵盜取行為」。
這一方法的缺點在于它將約束條件與語言模型要優化的代碼分開,可能降低語言模型使用這些約束條件的可能性。
最后,根據經驗觀察,作者發現用純粹的實用程序英文描述來替換源代碼會降低非實質性改進的頻率。
Experiments & Results
1. 在固定的下游任務上的表現
作者對比GPT-4和GPT-3.5兩個模型在固定下游任務上的表現,而任務的選擇是學習帶噪聲的奇偶校驗(LPN)LPN作為一個易于快速測試和難度較大的算法任務,其任務是在比特串被標記為它們上未知位的奇偶校驗;在給定帶有嘈雜標簽的比特串訓練集的情況下,目標是預測新比特串的真實標簽。無噪聲的LPN可以通過高斯消元容易解決,但嘈雜的LPN是計算上難以處理的。
使用了每個示例10位的可處理輸入維度來定義下游效用u,隨機抽樣M=20個獨立的LPN任務實例,并設置了短時間限制。
在自我改進T次后,STOP在帶噪聲奇偶校驗的下游任務中的保留測試實例上的「元效用(Meta-utility)」。
有意思的是,在像GPT-4這樣的強大語言模型的支持下(左側),STOP的平均下游性能單調提高。相比之下,對于較弱的GPT-3.5語言模型(右側),平均性能下降。
2. 改進的系統的遷移能力
作者做了一系列遷移實驗,這些實驗旨在測試在自我改進的過程中生成的改進者是否能夠在不同的下游任務中表現良好。
實驗結果表明,這些改進者在不需要進一步優化的情況下,能夠在新的下游任務上勝過初始版本的改進者。這可能表明這些改進者具有一定的通用性,可以應用于不同的任務。
3. 自優化系統在更小模型上的表現力
接下來探討規模較小的語言模型 GPT-3.5-turbo 提高其搭建程序的能力。
作者進行了25次獨立運的實驗并發現,GPT-3.5 有時能夠提出和實施更好的搭建程序,但僅有12% 的 GPT-3.5 運行能夠實現至少 3% 的改進。
此外,GPT-3.5 存在一些獨特的失敗情況,這些情況在 GPT-4 中沒有觀察到。
首先,GPT03.5更有可能提出一種改進策略,不會損害下游任務的初始解決方案,但會損害改進者代碼(例如,在每行中隨機替換字符串,每行的替換概率較低,這對較短的解決方案的影響較小)。
其次,如果提出的改進大多對性能有害,那么可能會選擇次優的搭建程序,無意中返回原始解決方案。
一般來說,改進提案背后的「思路」是合理和創新的(例如,遺傳算法或局部搜索),但實現通常過于簡單或不正確。觀察到,最初使用 GPT-3.5 的種子改進者具有比使用 GPT-4 更高的元效用(65% 對 61%)。
結論
在這項工作中,研究人員提出了STOP的基礎之上,展示了像GPT-4這樣的大型語言模型能夠自我改進,提高在下游代碼任務中的性能。
從而進一步表明自優化的語言模型并不需要優化自身的權重或底層架構,避免未來可能產生的不受人類控制的AI系統。
參考資料:
https://arxiv.org/abs/2310.02304