調研180多篇論文,這篇綜述終於把大模型做演算法設計理清了

机器之心發表於2024-11-06
圖片
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文第一作者柳斐(https://feiliu36.github.io/ )是香港城市大學電腦科學系博士生,師從張青富教授。研究領域為計算智慧,自動演算法設計,組合最佳化等。姚一鳴,郭平,楊致遠,趙哲和林熙來自香港城市大學張青富教授團隊。陸智超為香港城市大學電腦科學系助理教授。王振坤為南方科技大學系統設計與智慧製造學院助理教授。童夏良和袁明軒來自華為諾亞方舟實驗室。
圖片
  • 論文標題:A Systematic Survey on Large Language Models for Algorithm Design
  • 論文地址:https://arxiv.org/abs/2410.14716

演算法設計(AD)對於各個領域的問題求解至關重要。大語言模型(LLMs)的出現顯著增強了演算法設計的自動化和創新,提供了新的視角和有效的解決方案。在過去的三年裡,LLMs 被整合到 AD(LLM4AD)中取得了顯著進展,在最佳化、機器學習、數學推理和科學發現等各個領域獲得廣泛研究和應用。鑑於這一領域的快速發展和廣泛應用,進行系統性的回顧和總結既及時又必要。本文對 LLM4AD 的研究進行了系統性回顧。首先,我們概述和總結了現有研究。然後,我們沿著四個維度,包括 LLMs 的作用、搜尋技術、提示策略和應用,提出了一個系統性分類和現有研究的回顧,討論了使用 LLMs 的潛力和成就。最後,我們探討當前的挑戰,並提出了幾個未解問題和未來研究的方向。

1. 引言

演算法在解決各個領域的問題中發揮著至關重要的作用,包括工業、經濟、醫療和工程等領域。傳統的手工設計演算法的方法繁瑣且耗時,需要廣泛的專業知識和大量的努力。因此,人們越來越關注在演算法設計中採用機器學習和計算智慧技術以自動化和增強演算法開發過程。

近年來,大型語言模型(LLMs)已經成為生成人工智慧領域的重大突破。LLMs 以其龐大的模型規模、巨大的訓練資料和在語言理解、數學推理、程式碼生成等各個研究領域中有著出色的表現。在過去的三年裡,大型語言模型用於演算法設計(LLM4AD)已經成為一個新興的研究領域,有望增強甚至重塑演算法的構思、最佳化和實施方式。LLMs 的強大功能和適應性展示了其在改進和轉變演算法設計過程中的潛力,包括啟發式生成、程式碼最佳化,甚至創造針對特定問題的新演算法。這種方法不僅減少了設計階段所需的人力,還提高了演算法設計過程的創新性和效率。

儘管 LLM4AD 領域正在受到廣泛研究和應用,但在這一新興領域仍然缺乏系統性綜述。本文旨在透過提供一個最新的多維度的系統綜述來填補這一空白,全面展示 LLMs 在演算法設計中的應用現狀、主要挑戰和未來研究方向。本文有助於深入探討 LLMs 在增強演算法設計方面的潛力,併為這一令人興奮的領域的未來創新打下堅實基礎。我們希望這將成為對該領域感興趣的研究人員的有益資源,併為經驗豐富的研究者提供一個系統性的綜述。本文的貢獻如下:

  • LLM4AD 的系統綜述:我們首次對過去三年中發表的 180 多篇高度相關的研究論文進行了系統綜述,探討了使用 LLMs 進行演算法設計的發展。
  • LLM4AD 的多維度分類:我們引入了一個多維度分類法,將 LLM4AD 的作品和功能分為四個不同的維度:1)LLMs 在演算法設計中使用的四種正規化,概述了這些模型如何為演算法設計做出貢獻或增強演算法設計;2)搜尋方法,探討了 LLMs 用於導航和最佳化演算法設計中搜尋空間的各種方法;3)提示詞設計,研究瞭如何使用不同的提示策略;以及 4)應用領域,確定 LLMs 正在應用於解決的不同領域。
  • LLM4AD 的挑戰和未來方向:我們不僅僅是對現有文獻進行總結,而是對當前關於演算法設計中大型語言模型(LLMs)研究的侷限性進行了批判性分析。此外,我們提出了潛在的未來研究方向,包括開發領域特定的 LLMs、探索多模態 LLMs、促進人與 LLM 的互動、使用 LLMs 進行演算法評估和理解 LLM 行為、推進全自動演算法設計,以及為系統評估 LLM 在演算法設計中的表現進行基準測試。這一討論旨在激發新的方法並促進該領域的進一步發展。

2. 大模型用於演算法設計概覽

本文旨在對新興領域 “大語言模型用於演算法設計”(LLM4AD)中現有研究工作進行系統的梳理和分類。我們並不打算涵蓋所有關於大型語言模型(LLMs)和演算法的文獻。我們的調查範圍如下所述:1)“大語言模型” 一詞指的是規模足夠大的語言模型。這些模型通常採用 Transformer 架構,並以自迴歸方式執行。使用較小模型進行演算法設計的研究,如傳統的基於模型和機器學習輔助的演算法,不在考慮範圍內。雖然精確定義 “大型” 模型具有挑戰性,但大多數前沿的大型語言模型包含超過十億個引數。使用其他大型模型缺乏語言處理能力的研究,如純視覺模型,不在考慮範圍內。然而,包括語言處理的多模態大型語言模型則在我們的調查範圍之內。2)“演算法” 一詞指的是一組設計用來解決問題的數學指令或規則,特別是當由計算機執行時。這個廣泛的定義包括傳統的數學演算法、大多數啟發式方法,以及可以被解釋為演算法的某些策略。

我們介紹了論文收集和掃描的詳細流程,包括四個階段:

  • 第一階段 資料提取和收集:我們透過谷歌學術、科學網和 Scopus 收集相關論文。我們的搜尋邏輯是標題必須包含以下兩組詞語中至少一組的任意組合:“LLM”、“LLMs”、“大型語言模型”、“演算法”、“啟發式”、“搜尋”、“最佳化”、“最佳化器”、“設計”、“方法”(例如,LLM 和最佳化,LLMs 和演算法)。在移除重複的論文後,截至 2024 年 7 月 1 日,我們共收集到 850 篇論文。
  • 第二階段 摘要篩選:我們檢查每篇論文的標題和摘要,以有效排除不相關的論文。排除的標準包括這些論文不是英文的,不是用於演算法設計的,沒有使用大型語言模型的。掃描後,剩餘 260 篇論文。
  • 第三階段 全文篩選:我們徹底審查每篇論文,排除缺乏相關內容的論文。掃描後,剩餘 160 篇論文。
  • 第四階段補充:根據對該領域的瞭解,我們手動新增了一些相關的工作,以避免遺漏任何重要的貢獻。在整合了額外的論文後,我們最終得到了 180 多篇論文。我們將首先介紹 LLM4AD 論文列表的概覽,然後提出一個分類法來系統地回顧進展。除了組織好的論文列表之外,我們還納入了 2024 年 7 月 1 日之後釋出的一些重要出版物。

圖中展示了隨時間變化的論文發表數量趨勢,時間線以月份表示。圖表顯示,與 LLM4AD 相關的研究活動顯著增加,特別是注意到大多數研究是在近一年進行的。這表明 LLM4AD 是一個新興領域,隨著來自不同領域的學者意識到其巨大潛力,我們預計在不久的將來研究產出將顯著增加。

圖中還顯示了在 LLM4AD 出版物中領先的機構及其所在國家。美國領先,緊隨其後的是中國,這兩個國家單獨佔據了 50%的出版物。接下來的八個國家,包括新加坡、加拿大和日本,共同貢獻了總出版物的三分之一。發表最多論文的研究機構包括清華大學、南洋理工大學和多倫多大學等知名大學,以及華為、微軟和谷歌等大型公司。這種分佈強調了研究主題的廣泛興趣和它們在現實世界中的實際應用的重大相關性。

我們從所有審查過的論文的標題和摘要中生成了詞雲,每個詞至少出現五次。它展示了前 80 個關鍵詞,這些詞被組織成四個顏色編碼的簇,分別是 “語言”、“GPT”、“搜尋和最佳化” 以及 “科學發現”。還突出顯示了幾個關鍵詞,如 “進化”、“策略”、“最佳化器” 和 “代理”。
圖片
圖片
3. 大模型用於演算法設計的四種正規化

LLM4AD 論文按照大模型的結合方法可以分為四個正規化:1)大模型作為最佳化運算元(LLMaO)、2)大模型用於結果預測(LLMaP)、3)大模型用以特徵提取(LLMaE)、4)大模型用來演算法設計(LLMaD)。

  • LLMaO 把 LLMs 用作演算法框架內的黑盒最佳化器。將 LLMs 整合到最佳化任務中,充分利用它們理解和生成複雜模式和解決方案的能力,以及在提示工程中的良好靈活性。然而,由於它們的黑盒性質,它們通常缺乏可解釋性,並在面對大規模問題時面臨挑戰。
  • LLMaP 使用 LLMs 作為代理模型,預測結果或響應,功能上大體可以分為分類或迴歸兩類。與其他基於模型的預測器(如高斯過程和傳統神經網路)相比,1) LLMs 能夠基於其在龐大資料集上接受的訓練,處理和生成類人響應。這種能力使它們能夠理解和解釋資料中的複雜模式,適用於傳統建模技術可能因資料的複雜性和複雜表示而難以應對的任務。2) 預訓練的 LLMs 可以顯著減少與訓練高保真模型相比所需的計算負載和時間。
  • LLMaE 利用 LLMs 挖掘和提取目標問題和(或)演算法中的嵌入特徵或特定知識,然後在解決新問題中利用這些特徵。這一過程利用了 LLMs 的獨特和強大的能力,如文字和程式碼理解,使它們能夠識別資料中可能透過傳統特徵提取方法無法處理或理解的模式和關係。
  • LLMaD 直接建立演算法或特定元件。這種正規化充分利用了 LLMs 的語言處理、程式碼生成和推理能力。LLMs 透過生成啟發式演算法、編寫程式碼片段或設計函式,進一步推動了演算法設計自動化,顯著加速演算法設計過程,減少人力勞動,並可能為演算法開發帶來創造性和更好的設計。這是單靠傳統演算法設計方法難以實現的。
圖片
4. 大模型用於演算法設計中的搜尋方法

目前的經驗表明,單獨採用大模型來進行演算法設計往往難以應對特定的複雜演算法設計任務。透過搜尋方法的框架下呼叫大模型能夠顯著提升演算法設計效率和效果。我們綜述了目前在 LLM4AD 中採用的搜尋方法,並將其大致分為四類:1)基於取樣的方法,2)單點迭代的搜尋方法,3)基於種群的搜尋方法和 4)基於不確定性的搜尋方法。詳細的介紹和討論可以在原文中檢視。

5. 大模型用於演算法設計中的提示詞設計

圖中展示了文獻中使用的領域或預訓練語言模型(LLMs)的百分比。其中,超過 80%的研究選擇使用未經特定微調的預訓練模型,大約 10%的研究在領域資料集上對預訓練模型進行了微調,其中只有 4.4%的模型是在特定問題上從頭開始訓練的。圖中還展示了最常使用的 LLMs。在 LLM4AD 的論文中,GPT-4 和 GPT-3.5 是使用最多的 LLMs,總共佔了大約 50%。Llama-2 是最常用的開源 LLM。一旦我們擁有了預訓練的 LLMs,提示工程對於有效整合 LLMs 到演算法設計中非常重要。我們討論了 LLM4AD 論文中使用的主要提示工程方法的應用情況,包括零樣本、少樣本、思維鏈、一致性和反思。
圖片
6. 大模型用於演算法設計的應用領域

我們整理了四個主要的應用領域:1)最佳化,2)機器學習,3)科學發現,4)工業。其主要工作按照應用類別、方法、大模型結合正規化、提示詞策略和具體應用問題進行了分類羅列。具體介紹可以在全文中檢視。
圖片
圖片
圖片
7. 未來發展方向

  1. 演算法設計大模型 與使用通用的預訓練 LLMs 不同,研究如何專門訓練 LLM 以自動設計演算法是值得的。在開發領域特定 LLM 時可以探索以下幾個方面:1)訓練領域 LLM 成本高且資源消耗大。藉助領域資料和知識可以減小特定應用的演算法 LLM 的規模。2)演算法設計生成和收集領域資料存在挑戰。與通用程式碼生成或語言處理任務不同,沒有專門用於演算法設計的大型且格式化的資料。3)與其學習一個文字和程式碼生成模型,如何學習演算法開發思想和演算法推理能力仍是一個未探索的問題。
  2. 多模態 LLM 現有的 LLM4AD 工作主要集中在利用 LLM 的文字理解和生成能力,無論是在語言、程式碼還是統計方面。與傳統的基於模型的最佳化相比,LLM 的一個優勢是它們能像人類一樣處理多模態資訊,這一點很少被研究。已經有一些嘗試展示了在演算法設計中融入多模態資訊的優勢,預計將開發更多利用多模態 LLM 的方法和應用。
  3. 人類 - 大模型互動 需要進一步研究 LLM 與人類專家在演算法設計中的互動。例如,在 LLMaD 工作中,LLM 可以被視為智慧代理,使人類專家可以介入並接管生成、修改和評估演算法等任務。研究如何促進 LLM 與人類專家之間高效且富有成效的合作將是有價值的。可以為此目的使用群體智慧中的思想和技術。
  4. 基於 LLM 的演算法評估 LLM 在演算法評估中可能是有幫助的。已經進行了一些嘗試來自動評估演算法和評估演算法設計。例如,已有工作利用基礎模型自動生成定義下一個可學習任務的程式碼,透過生成環境和獎勵函式,能夠為演算法評估建立各種模擬學習任務。我們期待更多關於基於 LLM 的演算法評估的研究。
  5. 理解 LLM 的行為 在大多數研究中,LLM 作為一個黑盒模型運作。解釋 LLM 的行為不僅能豐富我們對 LLM 行為的理解,還有助於那些直接請求 LLM 困難或成本高昂的情況。已經有一些嘗試來近似和理解 LLM 在解決方案生成中的上下文學習行為。例如,已有人設計了一個白盒線性運算元來近似 LLM 在多目標進化最佳化中的結果。儘管有這些初步嘗試,如何解釋 LLM 的行為在許多演算法設計案例中仍是一個開放的問題,包括啟發式生成和想法探索。
  6. 全自動演算法設計 全自動演算法設計面臨兩個主要挑戰:1) 生成新的演算法思想;2) 建立複雜、冗長的程式碼。雖然一些研究已經探討了新思想的生成,但完整的演算法設計(而不僅是啟發式元件),包括啟發式元件和詳細的程式碼實現,仍然是一個挑戰。現有應用通常專注於自動化預定義演算法框架內的元件,而不是從頭開始建立新演算法。未來的研究需要解決這些複雜性,以推進全自動演算法設計領域的發展。
  7. LLM4AD 的標準測試集和平臺 標準測試集能促進進行公平、標準化和便捷的比較。雖然我們很高興見證了多樣化的研究工作和應用的出現,但仍然缺乏對基於 LLM 的演算法設計的系統和科學的標準評估手段。未來,預計會有更多的基準測試出現,它們將在推進 LLM4AD 方面發揮關鍵作用。

8. 總結

本文提供了一份最新的關於大語言模型在演算法設計中應用(LLM4AD)的系統性綜述。透過系統回顧這一新興研究領域的主要貢獻文獻,本文不僅突出了 LLM 在演算法設計中的當前狀態和發展,還引入了一個全新的多維分類體系,分類了 LLM 的結合正規化、搜尋方法、提示詞方法和應用場景。這一分類體系為學術界和工業界的研究人員提供了一個框架,幫助他們理解和使用 LLM 進行演算法設計。我們還討論了該領域當前面臨的限制和挑戰並提出和探討未來研究方向來激發和指引後續研究。

展望未來, LLM 與演算法設計的交叉具有革命性地改變演算法設計和應用方式的巨大潛力。LLM 在演算法設計過程中的應用有助於極大的提高自動化程度並可能促進產生更高效、更有效和更具創造性的演算法,以更好解決各個領域的複雜問題。我們希望本文能夠有助於理解這一潛力,並促進 LLM4AD 這一有前景的研究領域的發展。

相關文章