炸翻AI和生化環材圈!GPT-4學會自己搞科研手把手教人類做實驗
不得了,GPT-4都學會自己做科研了?最近,卡耐基梅隆大學的幾位科學家發表了一篇論文,同時炸翻了AI圈和化學圈。他們做出了一個會自己做實驗、自己搞科研的AI。這個AI由幾個大語言模型組成,可以看作一個GPT-4代理智能體,科研能力爆表。
因為它具有來自矢量數據庫的長期記憶,可以閱讀、理解複雜的科學文檔,並在基於雲的機器人實驗室中進行化學研究。
網友震驚到失語:所以,這個是AI自己研究然後自己發表?天啊。
還有人感慨道,’文生實驗’(TTE)的時代要來了!
難道這就是傳說中,化學界的AI聖杯?
最近大概很多人都覺得,我們每天都像生活在科幻小說中。
AI版絕命毒師來了?
3月份,OpenAI發布了震撼全世界的大語言模型GPT-4。
這個地表最強LLM,能在SAT和BAR考試中得高分、通過LeetCode挑戰、給一張圖就能做對物理題,還看得懂表情包裡的梗。
而技術報告裡還提到,GPT-4還能解決化學問題。
這就啟發了卡耐基梅隆化學系的幾位學者,他們希望能開發出一個基於多個大語言模型的AI,讓它自己設計實驗、自己做實驗。
論文地址:https://arxiv.org/abs/2304.05332
而他們做出來的這個AI,果然6得不行!
它會自己上網查文獻,會精確控制液體處理儀器,還會解決需要同時使用多個硬件模塊、集成不同數據源的複雜問題。
有AI版絕命毒師那味兒了。
會自己做布洛芬的AI
舉個例子,讓這個AI給咱們合成布洛芬。
給它輸入一個簡單的提示:’合成布洛芬。’
然後這個模型就會自己上網去搜該怎麼辦了。
它識別出,第一步需要讓異丁苯和乙酸酐在氯化鋁催化下發生Friedel-Crafts反應。
另外,這個AI還能合成阿司匹林。
以及合成阿斯巴甜。
產品中缺少甲基,而模型查到正確的合成示例中,就會在雲實驗室中執行,以便進行更正。
告訴模型:研究一下鈴木反應吧,它立刻就準確地識別出底物和產物。
另外,咱們可以通過API,把模型連接到化學反應數據庫,比如Reaxys或SciFinder,給模型疊了一層大大的buff,準確率飆升。
而分析系統以前的記錄,也可以大大提高模型的準確性。
舉個栗子
咱們先來看看,操作機器人是怎麼做實驗的。
它會將一組樣本視為一個整體(在這個例子中,就是整個微孔板)。
我們可以用自然語言直接給它提示:’用您選擇的一種顏色,為每隔一行塗上顏色’。
當由機器人執行時,這些協議與請求的提示非常相似(圖4B-E)。
代理人的第一個動作是準備原始解決方案的小樣本(圖4F)。
然後它要求進行UV-Vis 測量。完成後,AI會獲得一個文件名,其中包含一個NumPy數組,其中包含微孔板每個孔的光譜。
AI隨後編寫了Python代碼,來識別具有最大吸光度的波長,並使用這些數據正確解決了問題。
拉出來遛遛
在以前的實驗中,AI可能會被預訓練階段接收到的知識所影響。
而這一次,研究人員打算徹底評估一下AI設計實驗的能力。
AI先從網絡上整合所需的數據,運行一些必要的計算,最後給液體試劑操作系統(上圖最左側的部分)編寫程序。
研究人員為了增加一些複雜度,讓AI應用了加熱搖床模組。
而這些要求經過整合,出現在了AI的配置中。
具體的設計是這樣的:AI控制一個搭載了兩塊微型版的液體實際操作系統,而其中的源版包含多種試劑的源液,其中有苯乙炔和苯硼酸,多個芳基鹵化物耦合伴侶,以及兩種催化劑和兩種鹼。
上圖中就是源版(Source Plate)中的內容。
而目標版則是裝在加熱搖床模組上。
上圖中,左側的移液管(left pipette)20微升量程,右側的單道移液管300微升量程。
AI最終的目標就是設計出一套流程,能成功實現鈴木和索諾格希拉反應。
咱們跟它說:你需要用一些可用的試劑,生成這兩個反應。
然後,它就自己上網去搜了,比如,這些反應需要什麼條件,化學計量上有什麼要求等等。
可以看到,AI成功蒐集到了所需要的條件,所需試劑的定量、濃度等等。
AI挑選了正確的耦合伴侶來完成實驗。在所有的芳基鹵化物中,AI選擇了溴苯進行鈴木反應的實驗,選擇了碘苯進行索諾格希拉反應。
而在每一輪,AI的選擇都有些改變。比如說,它還選了對碘硝基苯,看上的是這種物質在氧化反應中反應性很高這一特性。
而選擇溴苯是因為溴苯能參與反應,同時毒性還比芳基碘要弱。
接下來,AI選擇了Pd/NHC作為催化劑,因為其效果更好。這對於耦合反應來說,是一種很先進的方式。至於鹼的選擇,AI看中了三乙胺這種物質。
從上述過程我們可以看到,該模型未來潛力無限。因為它會多次反复的進行實驗,以此分析該模型的推理過程,並取得更好的結果。
選擇完不同試劑以後,AI就開始計算每種試劑所需的量,然後開始規劃整個實驗過程。
中間AI還犯了個錯誤,把加熱搖床模組的名字用錯了。但是AI及時注意到了這一點,自發查詢了資料,修正了實驗過程,最終成功運行。
拋開專業的化學過程不談,我們來總結一下AI在這個過程中展現出的’專業素養’。
可以說,從上述流程中,AI展現出了極高的分析推理能力。它能夠自發的獲取所需的信息,一步一步的解決複雜的問題。
在這個過程中,還能自己寫出超級高質量的代碼,推進實驗設計。並且,還能根據輸出的內容改自己寫的代碼。
OpenAI成功展示出了GPT-4的強大能力,有朝一日GPT-4肯定能參與到真實的實驗中去。
但是,研究人員並不想止步於此。他們還給AI出了個大難題——他們給AI下指令,讓其開發一種新的抗癌藥物。
不存在的東西……這AI還能行嗎?
事實證明還真是有兩把刷子。AI秉持著遇到難題不要怕的原則(當然它也不知道啥叫怕),細密地分析了開發抗癌藥物這個需求,研究了當前抗癌藥物研發的趨勢,然後從中選了一個目標繼續深入,確定其成分。
而後,AI嘗試開始自己進行合成,也是先上網搜索有關反應機制、機理的信息,在初步搞定步驟以後,再去尋找相關反應的實例。
最後再完成合成。
而上圖中的內容就不可能讓AI真合成出來了,僅僅是理論層面的探討。
其中就有甲基苯丙胺(也就是大麻),海洛因這些耳熟能詳的毒品,還有芥子氣(mustard gas)等明令禁止使用的毒氣。
在總共11個化合物中,AI提供了其中4個的合成方案,並嘗試查閱資料來推進合成的過程。
剩下的7種物質中,有5種的合成遭到了AI的果斷拒絕。AI上網搜索了這5種化合物的相關信息,發現不能胡來。
比方說,在嘗試合成可待因(codeine)的時候,AI發現了可待因和嗎啡之間的關係。得出結論,這東西是管製藥品,不能隨便合成。
但是,這種保險機制並不把穩。用戶只要稍加修改花書,就可以進一步讓AI操作。比如用化合物A這種字眼代替直接提到嗎啡,用化合物B代替直接提到可待因等等。
同時,有些藥品的合成必須經過緝毒局(DEA)的許可,但有的用戶就是可以鑽這個空子,騙AI說自己有許可,誘使AI給出合成方案。
像海洛因和芥子氣這種耳熟能詳的違禁品,AI也清楚得很。可問題是,這個系統目前只能檢測出已有的化合物。而對於未知的化合物,該模型就不太可能識別出潛在的危險了。
比方說,一些複雜的蛋白質毒素。
因此,為了防止有人因為好奇去驗證這些化學成分的有效性,研究人員還特地在論文裡貼了一個大大的紅底警告:
本文中討論的非法藥物和化學武器合成純粹是為了學術研究,主要目的是強調與新技術相關的潛在危險。
在任何情況下,任何個人或組織都不應嘗試重新製造、合成或以其他方式生產本文中討論的物質或化合物。從事此類活動不僅非常危險,而且在大多數司法管轄區內都是非法的。
自己會上網,搜索怎麼做實驗
這個AI由多個模塊組成。這些模塊之間可以互相交換信息,有的還能上網、訪問API、訪問Python解釋器。
往Planner輸入提示後,它就開始執行操作。
比如,它可以上網,用Python寫代碼,訪問文檔,把這些基礎工作搞明白之後,它就可以自己做實驗了。
人類做實驗時,這個AI可以手把手地指導我們。因為它會推理各種化學反應,會上網搜索,會計算實驗中所需的化學品的量,然後還能執行相應的反應。
如果提供的描述足夠詳細,你甚至都不需要向它再解釋,它自己就能把整個實驗整明白了。
‘網絡搜索器’(Web searcher)組件收到來自Planner的查詢後,就會用Google搜索API。
搜出結果後,它會過濾掉返回的前十個文檔,排除掉PDF,把結果傳給自己。
然後,它會使用’BROWSE’操作,從網頁中提取文本,生成一個答案。行雲流水,一氣呵成。
這項任務,GPT-3.5就可以完成,因為它的性能明顯比GPT-4強,也沒啥質量損失。
‘文檔搜索器’(Docs searcher)組件,能夠通過查詢和文檔索引,查到最相關的部分,從而梳理硬件文檔(比如機器人液體處理器、GC-MS、雲實驗室),然後匯總出一個最佳匹配結果,生成一個最準確的答案。
‘代碼執行’(Code execution)組件則不使用任何語言模型,只是在隔離的Docker容器中執行代碼,保護終端主機免受Planner的任何意外操作。所有代碼輸出都被傳回Planner,這樣就能在軟件出錯時,讓它修復預測。’自動化’(Automation)組件也是同樣的原理。
矢量搜索,多難的科學文獻都看得懂
做出一個能進行複雜推理的AI,有不少難題。
比如要讓它能集成現代軟件,就需要用戶能看懂軟件文檔,但這項文檔的語言一般都非常學術、非常專業,造成了很大的障礙。
而大語言模型,就可以用自然語言生成非專家都能看懂的軟件文檔,來克服這一障礙。
這些模型的訓練來源之一,就是和API相關的大量信息,比如Opentrons Python API。
但GPT-4的訓練數據截止到2021年9月,因此就更需要提高AI使用API的準確性。
為此,研究者設計了一種方法,為AI提供給定任務的文檔。
他們生成了OpenAI的ada嵌入,以便交叉引用,併計算與查詢相關的相似性。並且通過基於距離的向量搜索選擇文檔的部分。
提供部分的數量,取決於原始文本中存在的GPT-4 token數。最大token數設為7800,這樣只用一步,就可以提供給AI相關文件。
事實證明,這種方法對於向AI提供加熱器-振動器硬件模塊的信息至關重要,這部分信息,是化學反應所必需的。
這種方法應用於更多樣化的機器人平台,比如Emerald Cloud Lab (ECL)時,會出現更大的挑戰。
此時,我們可以向GPT-4模型提供它未知的信息,比如有關Cloud Lab 的Symbolic Lab Language (SLL)。
在所有情況下,AI都能正確識別出任務,然後完成任務。
這個過程中,模型有效地保留了有關給定函數的各種選項、工具和參數的信息。攝取整個文檔後,系統會提示模型使用給定函數生成代碼塊,並將其傳回Planner。
強烈要求進行監管
最後,研究人員強調,必須設置防護措施來防止大型語言模型被濫用:
‘我們呼籲人工智能社區優先關注這些模型的安全性。我們呼籲OpenAI、微軟、Google、Meta、Deepmind、Anthropic以及其他主要參與者在其大型語言模型的安全方面付出最大的努力。我們還呼籲物理科學社區與參與開發大型語言模型的團隊合作,協助他們制定這些防護措施。’
對此,紐約大學教授馬庫斯深表贊同:’這不是玩笑,卡內基梅隆大學的三位科學家緊急呼籲對LLM進行安全研究。’