全新TextGrad框架:用GPT-4o作引擎,自動優化端到端任務
該文章的作者團隊來自于斯坦福大學,共同第一作者團隊Mert Yuksekgonul,Federico Bianchi, Joseph Boen, Sheng Liu, Zhi Huang
Mert Yuksekgonul,斯坦福大學博士生,師從James Zou 和 Carlos Guestrin教授。研究方向包括 AI系統自我優化以及其安全性和可靠性。
Federico Bianchi,Xyla AI 工程師, 斯坦福大學博后,師從 Dan Jurafsky 和 James Zou教授。研究方向為機器學習和大語言模型的開發。
Joseph Boen,斯坦福大學博士生,師從James Zou,研究方向為AI在科學中的應用。
劉晟,美國斯坦福大學博后,師從 James Zou和 Lei Xing 教授,博士畢業于紐約大學數據科學和人工智能。研究方向包括深度學習的安全性和可靠性,多模態大語言模型, 以及AI在生物醫療方向應用。
黃治,現賓夕法尼亞大學教授, 斯坦福大學博后。博士畢業于普渡大學。研究方向為生物醫學工程,AI在病理學的應用。
TextGrad 團隊
用文本做梯度下降?!最近,來自斯坦福大學的研究者,推出了全新的 TextGrad 框架, 來高效協調和優化由大語言模型 (LLM) 等組件構成的 AI 系統,自動優化端到端任務性能。
目前,用 GPT-4o 作為引擎的 TextGrad 優化后的 AI 系統能實現:
- LeetCode-Hard 最好的結果
- GPQA SoTA
- 發現新的分子同時兼顧藥效和毒性等多個優化目標
- 設計出超過人工的癌癥放療計劃
- TextGrad website: http://www.textgrad.com/
- TextGrad paper: https://arxiv.org/abs/2406.07496
- TextGrad Github:https://github.com/zou-group/textgrad
生成式人工智能正處于從單一模型訓練向復雜系統優化的范式轉變中,開發合成 AI 系統的原則化自動優化方法成為當下最重要的新挑戰之一。如何高效協調優化大語言模型 (LLM) 等 AI 組件,自動優化端到端任務性能,成為當前最緊迫的挑戰之一。要說 AI 界有多卷,還得看斯坦福大學。這兩天,斯坦福大學的研究者們又放大招了,推出了全新的 TextGrad 框架,為這一難題提供了一種全新的解決方案。借鑒了同是斯坦福發布的 DSPy,融合了 PyTorch 的強大梯度反向傳播功能,實現自動優化復雜 AI 系統。本文將深入剖析 TextGrad 的核心理念和優化機制,探討它的廣闊應用前景,展望語言驅動優化的未來圖景。
核心思想
TextGrad 將 LLM 應用視為一個計算圖 (Computation Graph),以自然語言為媒介實現不同組件之間的 "梯度" 傳遞。通過從語言模型的輸出中反向傳播文本反饋到所有可能的早期組件,來優化各種系統中的各種變量。在 TextGrad 中,一切都是文本,這意味著我們使用語言模型來 1)評估輸出,2)批評輸出,3)更新輸入。這一過程有點類似于 PyTorch 的反向傳播,只不過傳播的不再是數值梯度,而是文本形式的反饋。
這種統一的語言交互界面賦予了 TextGrad 極強的普適性,它將 prompt、question、output 等都視為 variable,不要求其可微,具有超強的兼容性。TextGrad 能和任意支持自然語言 I/O 的 LLM 或者其它 API 無縫協作,也不要求計算圖中的其他函數可微。這使得它非常適合集成 retrieval、tool calling 等 plug-and-play 能力,構建靈活多變的復合 AI pipeline。TextGrad 也不需要手工設計 prompt,自動搜索最憂的任務描述直接參與優化。這讓開發者從 prompt engineering 中解放出來,有望自動找到更棒的 in-context learning 范式。
TextGrad 能做什么?
1. 提示(prompt)工程 通過 TextGrad 優化的 prompt,能將 GPT-3.5-turbor 的 QA 準確率從 78% 提升到了 92%,而且只需進行少量幾次的優化迭代。如果你想復現這個成果并進一步探索 TextGrad,TextGrad 團隊已經為你準備好了一個簡單的教程。
TextGrad 能被非常簡單方便地應用到 prompt engineer(提示工程)上。
2. 優化模型輸出 除了更新模型的 prompt,模型的回答(response)以及文字表示的輸出,也能夠得到 TextGrad 的優化。上圖, TextGrad 優化了 LLM 生成的 LeetCode 問題的代碼。
還有更多 AI for science 的應用!
藥物探索(Drug Discovery)
使用 TextGrad,我們可以優化化學結構的兩個關鍵屬性:藥物相似性(即藥物在體內吸收的難易程度)和結合親和力(即藥物與靶蛋白結合的緊密程度)。藥物相似性通過 QED 評分來衡量,范圍是 0 到 1,1 表示最符合藥物特性;結合親和力通過 Vina 評分來衡量,評分越負越好。
左圖:在 TextGrad 優化 10 次迭代前后的分子藥物相似性和結合親和力分布,與針對相同靶蛋白的臨床批準藥物進行比較。右圖:TextGrad 優化 10 次迭代的示例軌跡,比較臨床批準藥物的屬性。
腫瘤放療治療計劃(Radiotherapy Treatment Planning)
TextGrad 也可以用來優化放射治療計劃,該計劃確定放射治療所需的劑量并精確定位需要治療的部位。特別是,治療計劃的目標是將規定的輻射劑量傳遞到腫瘤,同時保護關鍵的正常組織免受不安全劑量的影響。醫生通常通過不斷試錯,反復調整優化治療計劃,直到計劃符合臨床要求。這使得整個過程效率低下、耗時且成本高昂。TextGrad 則自動向 AI 主導的規劃系統提供梯度,優化放射治療計劃,自動權衡腫瘤和附近健康組織。
TextGrad 用語言打通了不同認知模塊之間的屏障。它讓 LLM 參與到了自己的迭代優化中,通過內省、評判、創造等 high-level 的認知能力實現持續進化。從本質上看,TextGrad 的意義遠不止于優化 pipeline 的性能,它向我們展示了一種通過語言實現 AI 自我認知、自我修正的可能性。這條 “Language-Driven Optimization” 的道路,或許也是目前很多 “幻覺問題” 的一劑良藥。TextGrad 已經被應用到解決很多科學和醫學方面的問題!更多的應用等著你來探索和發現!