When Large Language Model Meets Optimization
題目:當大型語言模型遇到優化時
作者:Sen Huang , Kaixiang Yang , Sheng Qi and Rui Wang
來源:arXiv
單位:華南理工大學
文章目錄
- When Large Language Model Meets Optimization
- 摘要
- 1 引言
- 2 LLM
- 3 經典優化算法
- 3.1 針對優化問題的傳統優化算法
- 4 作為優化的LLMs
- 4.1 作為黑盒優化搜索模型LLMs
- 4.1.1 啟發式搜索算子
- 4.1.2 多目標優化
- 4.2 LLMs作為優化算法的生成器
- 4.2.1 LLMs認知下的選項生成
- 4.2.2 算法生成與Chain-of-Thought
- 5 優化算法優化大型語言模型
- 5.1 優化模型調諧
- 5.1.1 多任務學習優化
- 5.1.2 基于結構剪枝
- 5.2 提示優化
- 5.2.1 連續提示優化
- 5.2.2 離散提示優化
- 5.2.3 黑箱優化提示調優
- 5.2.3 自調優優化
- 5.2.4 優化網絡架構搜索
- 6 基于LLMs的優化算法應用
- 6.1 輔助優化編程:軟件編程
- 6.2 輔助優化框架:神經結構搜索
- 6.3 輔助優化生成:內容創新生成
- 7 未來展望與研究趨勢
摘要
【開門見山】Optimization algorithms and large language models (LLMs) enhance decision-making in dynamic environments by integrating artificial intelligence with traditional techniques. 【講LLM的特點】LLMs, with extensive domain knowledge, facilitate intelligent modeling and strategic decision-making in optimization, 【講優化算法的優勢】while optimization algorithms refine LLM architectures and output quality. 【呼應開頭,強調】This synergy offers novel approaches for advancing general AI, addressing both the computational challenges of complex problems and the application of LLMs in practical scenarios. 【總結本文干什么】This review outlines the progress and potential of combining LLMs with optimization algorithms, providing insights for future research directions.
1 引言
【介紹優化算法】
- 優化算法(OA)是一種啟發式搜索算法。
- OA從生物進化的自然機制中獲取靈感,例如:自然選擇、遺傳、突變和雜交等過程。
- OA具有具有全局搜索能力強、對問題結構依賴性低、易于并行化等優點,因此應用廣泛。
- 在處理大規模、高維、動態變化的優化問題時,傳統算法面臨性能瓶頸。進化計算為這些問題提供了有效的解決方案。
- 進化算法具有靈活性和適應性,易于其他計算技術結合形成混合算法,從而進一步提高性能。
【介紹LLM,并闡述觀點:改進優化算法需要LLM的幫助】
- LLM在NLP等領域取得了重大突破,并在算法設計及優化領域顯示出巨大潛力。
- 傳統的優化算法設計依賴于人類的專業知識,不僅耗時,而且可能受到專家知識的限制。LLM能夠用來解決上述挑戰。
【闡述另一個觀點:改進LLM也需要優化算法的幫助】
- 構建和訓練LLM需要大量的計算資源和大型數據集[156],這增加了研究和開發成本,并限制了LLM的適用性和泛化
- OA通過增強訓練過程、提高計算效率和降低資源消耗,為LLM的構建和應用提供了便利。此外,OA能夠增強模型的泛化能力和魯棒性。
- 引出研究問題:為LLM設計優化算法,從而提高其操作效率,減少資源消耗,同時不影響模型性能,甚至可能提高模型性能。
【介紹文章框架】
本綜述系統研究兩方面內容:
- 利用LLM改進OA;
- 利用OA對LLM進行改進。
- 第2節回顧LLM。
- 第3節回顧OA。
- 第4節考察了將LLM作為OA的研究。
- 第5節討論了為改進LLM而定制OA的最新進展。它強調了這些算法如何增強設計,提高效率,并改善LLM的性能。
- 第6節考察了將OA與LLM集成的實際應用。
- 第7節是未來展望和研究趨勢。
2 LLM
【由“語言”的重要性,引出計算語言學的任務】
【介紹LLM的發展歷程】
- 早期的統計語言模型(SLMs)和神經語言模型(NLMs)。
- 預訓練語言模型(PLMs):BERT、GPT-2。
- 大規模語言模型。
【介紹LLM在NLP領域具有如此卓越表現的四個關鍵因素】
- First, “pre-training” is one of the core processes of LLMs.
- Second,“adaptability” is another key characteristic of LLMs.
- In terms of “applications”, the broad applicability of LLMs is another reason for their popularity.
- Finally, “performance evaluation” is critical to ensure the reliability and effectiveness of LLMs.
【介紹LLM對人工通用智能的里程碑式的意義,通過舉例說明LLM不僅應用在NLP領域,且正逐漸被應用在各個領域當中。】
【揭示LLMs存在的挑戰】
- Computational resources
- Data efficiency
- Interpretability and explainability
- Generalization and Robustness
3 經典優化算法
3.1 針對優化問題的傳統優化算法
【介紹傳統優化算法】
傳統優化算法:
- 確定性優化算法可以保證找到全局最優解,但一般不適用于大規模問題。
- 線性規劃(Linear Programming, LP)[98]
- 整數規劃(Integer Programming, IP)[107]
- 混合整數規劃(Mixed Integer Programming, MIP)[45]
- 凸優化[130]
- 自適應動態規劃(Adaptive Dynamic Programming, ADP)[74]等。
- 近似算法不能保證找到全局最優解。
- 多項式時間近似算法
- 啟發式算法通常需要針對特定問題的定制和領域專業知識。此外,啟發式算法可能收斂于局部最優解,并且具有較高的時間復雜度。
- 貪心算法[20]
- 禁忌搜索[4,5,49]
- 遺傳算法[131,63]
- 差分進化算法[97,33]
- 協同協同進化算法[11,18,125]。
【介紹分布估計算法EDA】
與依賴突變和重組算子的傳統進化算法不同,EDA側重于構建和更新有希望解決方案的概率模型。隨后,研究人員也嘗試利用EDA解決大規模全局優化問題。
【用于優化問題的強化學習方法】
強化學習,智能體只能通過試錯來學習,而不是依賴標記數據或搜索數據的固有結構。
- 經典強化學習方法
- model-based approaches
- model-free approaches
- value-based methods 適合小狀態空間和離散的動作空間,難以估計價值函數和真實價值函數。
- Q-learning
- Double Q-learning,交替選擇一個價值函數估計器來選擇動作,另外一個用來對動作價值進行估計。已有研究表明,Double Q-learning具有更高的穩定性和更大的長期回報。
- policy-based methods 適用于連續的動作空間,但需要對大量的軌跡進行采樣,并且每個軌跡之間存在巨大的差異,導致“高方差”問題。
- REINFORCE算法,又稱蒙特卡洛策略梯度強化學習算法。
- TPPO能夠保證每次策略更新時新舊策略之間的KL散度不超過預定義的閾值,從而保證策略優化的穩定性。
- PPO是對TPPO的改進,它的實施更簡單,再實際使用中需要更少的計算。
- actor-critic methods
- Actor-Critic (AC)[60]算法結合了基于策略的方法和基于值的方法的優點。它同時學習策略和價值函數。
- DPG[112]算法僅在狀態空間中集成了確定性策略梯度,大大減少了采樣的需要,并能夠處理更大的動作空間。然而,DPG中策略更新和值估計之間的耦合導致穩定性不足,特別是對超參數高度敏感。
- value-based methods 適合小狀態空間和離散的動作空間,難以估計價值函數和真實價值函數。
-
深度強化學習方法用來克服處理高維數據的限制
- value-based methods
- DQN)[94]基于Q-learning的DRL算法。一方面利用DNNs作為值函數估計器,另一方面引入了經驗重放和目標網絡。經驗回放機制打破了采樣樣本之間的高度依賴性,而目標網絡則緩解了神經網絡在訓練過程中的不穩定性。
- Double-DQN[127]基于Double-Q learning。DDQN通過使用兩個Q網絡來解決高估問題。與DQN相比,DDQN具有更好的穩定性和算法性能。
- S2V-DQN[58]利用structure2vec(S2V)的圖嵌入網絡來表示貪心算法中的策略,并使用多步DQN來學習由圖嵌入網絡參數化的貪心策略。
- policy-based methods
- DDPG[71]采用兩種不同的參數化DNNs來表示價值網絡和確定性策略網絡。策略網絡負責更新策略,而價值網絡輸出狀態-動作對的Q值。
- Zhang等[152]考慮了NP-hard問題的可行性約束,將啟發式函數嵌入到變壓器體系結構中,并將DRL應用于具有可行性約束的組合優化問題。
- Ma等[85]引入了圖指針網絡(GPN)來解決經典的TSP問題,并將其與分層RL框架相結合來解決具有時間窗約束的TSP問題。
- Hu等[54]設計了一個由共享圖神經網絡和分布式策略組成的網絡,學習適合于MTSP的通用策略表達式。
- actor-critic methods
- A3C (Asynchronous Advantage Actor-Critic)通過異步梯度下降對DNNs參數進行優化,顯著提高了策略優化效率。
- Vinyals等[129]提出了求解組合優化問題的指針網絡模型,開啟了利用深度神經網絡求解組合優化問題的一系列研究。該模型的靈感來源于機器翻譯中的Seq2Seq模型。它采用基于深度神經網絡的編碼器對組合優化問題(如城市坐標)的輸入序列進行編碼,然后利用解碼器和注意力機制計算每個節點的選擇概率。最后以自回歸的方式選擇節點,直到得到完整解。由于Vinyals等[129]提出的訓練方法具有監督性質,其得到的解的質量永遠不會超過樣本解的質量。
- Bello等人[9]采用了一種強化學習方法來訓練指針網絡模型。他們將每個問題實例作為訓練樣本,以問題的目標函數作為反饋信號,并基于REINFORCE對模型進行訓練。他們還引入了一個critic網絡作為基線,以減少訓練差異。
- Nazari等[96]擴展了指針網絡來處理動態VRP問題。他們用一個簡單的一維卷積層取代了編碼器輸入層中的LSTM,有效地降低了計算成本。在保持優化效果的同時,訓練時間減少了60%。
- value-based methods
-
利用Transformer[128]的多頭注意力機制解決組合優化問題
- Deudon等人[36]通過結合Transformer的思想改進了傳統的指針網絡模型。
- Kool等人[61]提出了一種利用注意力機制解決多個組合優化問題的新方法,并進一步設計了一個貪心的部署基線來取代Critic網絡,從而顯著提高了優化性能。
【總結】
DRL也有其局限性,如數據需求、樣本效率、計算資源、可解釋性等。盡管在研究和應用領域都取得了一些成功,但DRL基本上仍然局限于具有理想的、高度結構化的實驗數據設計的模擬環境。它們嚴重依賴于特定模型的設計和訓練。因此,人們對自動算法的設計和優化越來越感興趣。
4 作為優化的LLMs
4.1 作為黑盒優化搜索模型LLMs
【將輔助優化算法的LLMs進行分類】
- 使用大模型作為黑盒優化模型的搜索算子,充分利用LLMs的知識存儲能力和經驗,可以有效地減少人力投入。
- 充分發揮大模型的生成能力,充分利用大模型對優化問題的理解作為模型的輸入,然后生成合適的優化算法配置或生成針對具體問題的優化算法。
- Yang等[143]提出了OPRO (Optimization by prompts),這種方法適用于無導數優化場景。
- Chen等[27]探索了多步任務中的線索優化方法。通過構建離散的基于LLM的提示優化框架,該框架通過集成人為設計的反饋規則和偏好對齊,自動提供改進建議。
- 針對當前新興的神經架構搜索優化問題,Zhang等[153]設計了基于LLM的AutoML-GPT。AutoML-GPT利用GPT模型作為連接多個AI模型的橋梁,并動態地使用優化的超參數對模型進行訓練。
- AhmadiTeshnizi等人[3]提出了一種基于LLM的智能體OptiMUS。OptiMUS設計用于從自然語言描述中制定和解決混合整數線性規劃(MILP)問題。
4.1.1 啟發式搜索算子
-
Ye等人[146]提出了ReEvo,使用LLMs作為超啟發式(LHHs)來解決NP-hard組合優化問題(COPs)。
-
Zhong等人[159]利用ChatGPT-3.5,提出了一種受動物啟發的元啟發式算法,稱為動物搜索優化(Zoological Search Optimization, ZSO),該算法是為了解決連續優化問題而提出的。
-
語言模型交叉(LMX)[90],它利用大型預訓練語言模型(LLMs)來生成新的候選解決方案。這種方法很容易實現,并且可以跨各個領域生成高質量的后代,包括二進制字符串、數學表達式、英語句子、圖像生成提示和Python代碼。
-
Liu等人[79]利用GPT-4對6種序列優化性能較好的種群算法進行識別和分解,通過構建提示來引導LLMs從當前種群的父解中搜索最優解。
-
INSTINCT (INSTruction optimization using Neural bandits Coupled with Transformers)[72]是一種黑盒LLMs線索優化方法。該方法采用一種新穎的神經帶算法Neural Upper Confidence Bound (NeuralUCB)來代替BO中的高斯過程(GP)模型。NeuralUCB允許NN智能體與從預訓練transformer(即開源LLMs)學習的隱表示自然耦合,從而顯著提高算法性能。
4.1.2 多目標優化
-
Brahmachary等人[13]介紹了一種使用LLMs進行數值優化的方法,稱為基于語言模型的進化優化器(LEO),該方法利用llm的推理能力在各種場景(包括多目標和高維問題)中執行零樣本優化。一系列的測試案例表明,LEO不僅能夠處理單目標優化問題,而且能夠很好地解決多目標優化問題。
-
Liu等人[75]利用LLMs來設計多目標進化算法(MOEAs)的算子,提出了一種將多目標優化問題分解為多個單目標子問題的方法。
-
Bradley等人[11]引入了一種名為“通過AI反饋的質量多樣性”(QDAIF)的新方法,該方法將進化算法和LLMs結合起來,為優化算法生成高質量和多樣化的候選對象。
4.2 LLMs作為優化算法的生成器
優化算法通常需要根據指定的任務設計合適的優化方案。由于LLMs具有問題理解能力和算法分析能力,基于LLMs的優化方法設計相比于前LLMs時代的優化方法,可以產生合適的優化方法選擇和組合方案[124,123]。
4.2.1 LLMs認知下的選項生成
- Zhang等人[150]探索了在超參數優化(HPO)過程中使用LLMs來生成最優配置。
- Liu等人[80]提出了一個名為AgentHPO的系統,該系統利用LLMs來簡化HPO流程,而HPO傳統上是一項需要大量計算資源和專家知識的勞動密集型復雜任務。
- Ma等人[86]探討了LLMs作為線索優化器的有效性,提出了一種新的“自動行為優化”范式,旨在更可控、更直接地優化目標模型的行為。
4.2.2 算法生成與Chain-of-Thought
- Liu等人[77]提出了AEL的方法,旨在為特定優化問題自動生成高效算法。
- PromptBreeder (PB)系統[41]采用了Chain-of-Thought prompt策略,可以顯著提高LLMs在不同領域的推理能力。
- Pluhacek等[101]通過LLM增加種群,識別并分解了六種在序列優化問題上表現良好的種群算法。
- Bradley等人[12]提出了一種用于實現LLMs的優化算法生成工具,該工具將自然語言描述轉換為實現代碼,并自動修復程序錯誤。
- Hemberg等[53]提出了一種基于LLM的GP算法,稱為LLM-GP,用于生成優化算法代碼。
5 優化算法優化大型語言模型
【深入研究面向LLMs的OA優化的復雜性,探索各種策略,如模型調優、提示調優和網絡架構搜索】
5.1 優化模型調諧
5.1.1 多任務學習優化
大型模型的多任務學習(ML)優化是一種利用進化算法等優化方法來同時優化多個任務的模型架構的方法。該方法的優點是能夠在不同任務之間共享和交互學習相關信息,從而提高模型的泛化能力和效率。表2總結了主要的優化模型調優類方法。
多任務學習的優化策略通過使用進化算法同時識別多個目標的最優模型架構,降低了訓練成本,增強了模型性能,提高了跨不同領域和任務的適應性[133]。
- Choong等人[30]提出了一組不同的緊湊機器學習模型集的概念,旨在通過進化的多任務學習范式有效地解決大型預訓練模型中的多個目標架構。
- Baumann等人[8]提出了一種進化的多目標方法,旨在優化LLMs中的提示符,可用于捕獲沖突情緒。
- Yang等[144]將指令生成視為一個進化的多目標優化問題,使用大規模語言模型來模擬指令算子,以提高生成指令的質量和多樣性。
- Gupta和Bali等人[7,48]研究了多目標多任務進化算法的使用,其成果在不同的應用領域和神經網絡設計中表現出更高的性能或更大的壓縮。
5.1.2 基于結構剪枝
結構剪枝通過選擇性地去除基于梯度信息的非關鍵耦合結構來優化大型語言模型,有效地減小了模型尺寸,同時保留了功能并確保了任務不可知性。該方法采用多目標局部搜索算法,有效地識別出多個帕累托最優子網。它通過權重共享最小化評估成本來實現這一點。
- Ma等人[87]提出了LLM-Pruner方法,通過基于梯度信息選擇性地去除非關鍵耦合結構來優化大型語言模型。
- Gholami等人[44]證明了權值修剪可以作為Transfer架構的一種優化策略,證明了明智的修剪可以在不犧牲性能的情況下顯著減小模型大小。
5.2 提示優化
提示調優,通常稱為提示調優的優化,是一種用于微調LLMs提示的方法。
-
連續提示調優采用連續優化算法,如CMAES[51],以提高嵌入提示的質量[24]。這個過程涉及到分割和子空間分解等技術來增強嵌入空間。
-
離散提示調優使用離散優化算法直接探索提示空間。它利用專門的遺傳算子來調整提示,以解決搜索空間中組合爆炸的問題。
5.2.1 連續提示優化
- Sun等人[118]提出了Black-Box Tuning的改進版本BBTv2,它使用分治的無梯度算法來優化預訓練模型的不同層的提示。
- Fei等[40]引入了一種無梯度框架,用于迭代進化策略中優化連續文本反演。
- Pryzant等[103]提出了自動提示優化(APO),使用數值梯度下降技術自動改進LLMs的提示。
- Zheng等[158]使用子空間學習(BSL)的黑盒提示優化通過元學習識別公共子空間,增強了跨任務和LLMs提示優化的通用性,確保了跨各種下游任務的競爭力。
- Chai等[21]引入了Clip-Tuning技術,以提高搜索效率,并在整個黑盒調優過程中提供更詳細和多樣化的評估反饋。
連續提示調優是一種用于優化大型語言模型性能的方法,其中提示被表示為存在于連續嵌入空間中的連續向量。這些向量在連續嵌入空間中進行優化。搜索空間是連續的,可以區分,允許使用基于梯度的優化技術。連續提示調優適用于無法獲取模型內部結構和梯度信息的黑盒優化場景。然而,由于涉及復雜的數學運算和梯度計算,這種方法可能需要更多的計算資源。
5.2.2 離散提示優化
離散提示優化更多地關注文本序列級別的提示調優,適用于基于文本序列的任務,例如文本生成或分類。本研究主要集中在特定的快速工程情況下,廣度有限。為了充分利用離散優化在黑盒提示優化中的潛力,有必要解決離散搜索空間中的組合爆炸問題。
- Zhou等人[161]提出了一種簡單的黑盒搜索方法ClaPS,通過聚類和修剪搜索空間來關注影響LLM預測的關鍵提示令牌,顯著降低了搜索成本。
- Yu等[148]提出了一種用于視覺語言模型的黑盒提示調優框架,該框架通過進化策略優化內在參數子空間中的視覺和語言提示,使任務相關提示學習無需反向傳播。
- Pan等[99]將元啟發式算法作為一種通用的提示學習方法引入,并通過測試六種典型方法,證明了元啟發式算法在黑箱提示學習和思維鏈提示調優中的有效性。
- Lapid等人[62]提出了一種利用遺傳算法攻擊LLMs的方法,以揭示模型容易受到惡意操縱的漏洞,并為評估和增強語言模型與人類意圖的一致性提供診斷工具。
- Guo等人[46]提出了EvoPrompt,這是一個使用進化算法自動優化LLMs提示的離散提示優化框架。
- Pinna等人[100]提出了一種使用遺傳改進技術改進LLMs代碼生成的方法。
一般來說,離散提示優化是一種在黑箱環境下優化大型語言模型性能的方法,它在不需要模型內部梯度信息的情況下,通過遺傳算法、啟發式搜索和聚類剪枝等技術在離散提示空間中搜索最優提示詞或短語。其優點是在黑箱環境下不依賴模型內部信息而有效地提高了性能,能夠適應少樣本或零樣本的任務,缺點是可能面臨巨大的搜索空間、容易陷入局部最優、超參數的敏感性、泛化能力有限、結果解釋困難等,以及對評價指標選擇的高度依賴。
5.2.3 黑箱優化提示調優
大模型的黑盒優化是指在黑盒優化框架內對大型預訓練模型(如大型語言模型)進行優化和調優的過程。在大型模型的黑箱優化中,優化算法通常通過與預訓練模型交互,逐步調整其輸入或參數來優化模型的性能,而不直接訪問模型的內部結構或參數。
- Yu等人[149]使用基于對話反饋的方法優化了視覺語言模型。
- Guo等[47]介紹了協同黑盒調優(CBBT)技術。
- Sun等人[119]為語言模型即服務(LMaaS)開發了一個黑盒調優框架。
- Diao等[37]提出了一種黑盒離散提示學習(BDPL)算法。
- Yu等人[148]的工作為可視化語言模型引入了一個黑盒提示調優框架。
這些研究表明,在不能直接修改模型權值的黑盒場景下,利用外部提示學習和優化有效地提高了模型在圖像分類、文本到圖像生成以及適應不同下游任務方面的性能。
5.2.3 自調優優化
-
Singh等人[113]應用可解釋的自動提示(iPrompt)來生成解釋數據的自然語言字符串。
-
Fernando等人[41]為PromptBreder提出了一種自改進機制,該機制可以進化和適應不同領域的線索。
-
Pryzant等人[104]提出了一種簡單的非參數解決方案,即自動提示優化(APO),它通過使用受數值梯度下降啟發的技術自動執行快速改進提示。
-
Li等人[68]提出了一種名為SPELL的黑盒進化算法,該算法使用LLM自動優化文本樣式提示,對各種文本任務顯示出快速改進。
-
Zhang等人[154]提出了Auto-Instruct方法,該方法利用LLMs的生成能力自動提高各種任務的指令質量,。
5.2.4 優化網絡架構搜索
一種稱為LLM網絡體系結構搜索(NAS)的方法側重于直接優化LLM模型的體系結構,并且在大型語言模型(LLM)的上下文中,NAS可以通過直接優化模型的體系結構而不是通過調整模型的參數來采取不同的形式。
-
Nasir等[95]提出了一種新的NAS算法,該算法有效地結合了LLMs和質量多樣性(Quality Diversity, QD)算法的優勢,自動搜索和發現高性能神經網絡架構。
-
So等人[115]提出了一種進化式Transformer,通過在多語言任務中進行進化式架構搜索,可以用更少的參數實現更好的性能,并且即使在更小規模下也能保持高質量。
近年來,研究人員提出了更復雜、更有效的搜索策略來提高大型模型的性能。例如,
- Gao等人[43]提出了一種自動發現通用語言模型(LLM)主干結構的方法(AutoBERT-Zero),該方法使用設計良好的搜索空間和操作優先的進化策略,以及兩分支權重共享的訓練策略,以提高搜索效率和性能。
- Ganesan等人[42]對BERT模型進行任務無關的預訓練,同時通過改變Transformer層中的隱藏維度來生成不同形狀的子網絡。通過改變網絡的隱藏維度來生成一系列不同大小的模型,這些模型可以針對各種下游任務進行微調。
- Yin等[147]提出使用one-shot Neural Architecture Search (one-shot NAS)自動搜索架構超參數。通過一次學習得到一個大型的SuperPLM,它可以作為所有潛在子體系結構的代理。利用進化算法在SuperPLM上搜索最佳的體系結構,然后根據這些體系結構提取相應的子模型并進行進一步訓練。
- Javaheripi等人[55]提出了一種無需訓練的神經架構搜索(NAS)算法,用于尋找在任務性能(復雜度)和硬件約束(例如,峰值內存使用和延遲)之間具有最佳平衡的Transformer架構。
- Zhou等人[162]提出了一種名為T-Razor的Transformer架構搜索方法,該方法使用零成本智能體引導進化來提高搜索效率,并通過引入突觸多樣性和突觸顯著性等指標來對Transformer進行評估和排名,從而有效地在Transformer搜索空間中找到優化的架構。
- Klein等人引用了klein2023structure提出的基于權值共享的NAS作為一種結構修剪方法,用于尋找優化效率和泛化性能之間的最佳平衡,從而實現對LLMs的壓縮,以減小模型大小和推理延遲。
總的來說,NAS用于優化大型模型的主要優勢是它能夠自動探索和發現針對特定任務的高效網絡架構,從而顯著提高模型性能,同時減少人工設計和調優工作。未來的研究將集中在提高搜索效率、降低計算成本、增強模型的通用性和適應性等方面。
6 基于LLMs的優化算法應用
6.1 輔助優化編程:軟件編程
- Weyssow等人[134]探索使用LLMs進行代碼生成任務,重點關注參數高效微調(PEFT)優化技術。該方法旨在通過更新模型的一小部分參數。
- Cassano等[19]提出了一個名為MultiPL-E的系統,該系統用于將代碼生成基準測試從Python翻譯為其他編程語言。
- Pinna等人[100]指出了基于問題描述的自動代碼生成的應用,提出了一種基于進化算法的方法,該方法使用遺傳改進(GI)使用用戶提供的測試用例集合來改進LLMs生成的代碼。
- Tao等[122]結合生成式預訓練Transformer(GPTs)和語法引導遺傳規劃(G3P)來解決程序合成問題。
- OpenAI團隊開發了一種名為CodeX的語言模型[26]。Codex的一個特殊生產版本是GitHub Copilot,一個編程輔助工具。
- Brownlee等人[15]探索了如何將LLMs應用于遺傳改進(GI)中的變異操作,以提高搜索過程的效率。
- Ji等人[57]具體介紹了基于LLMs的代碼生成能力的評估和解釋的研究概況,包括兩個主要階段:數據收集和分析。
- CODAMOSA[66]將預先訓練的Codex與基于搜索的軟件測試(SBST)集成在一起,以提高測試用例代碼的覆蓋率。
- Wu等人[137]強調了大規模語言模型(llm)在代碼生成方面的進步以及相關的安全風險,特別是生成代碼中的關鍵漏洞。
6.2 輔助優化框架:神經結構搜索
LLMs具有大量參數和深度學習能力,結合精心設計的優化算法,可以進一步加快神經結構搜索過程,提高搜索效率和所得模型的性能。
- Nasir等人[95]提出了LLMatic,一種基于神經架構搜索(NAS)的大型模型算法。LLMatic利用LLMs生成新的架構變體,并結合QD算法(特別是MAP-Elites算法)來發現多樣化和健壯的解決方案。
- Chen等人[25]發現一種結合了進化提示工程和軟提示調整的方法,即EvoPrompting。雖然專注于神經架構設計任務,但這種方法同樣適用于依賴于上下文學習(ICL)或線索調整的LM任務。
- Jawahar等人[56]通過使用LLMs來預測特定深度神經網絡(DNN)架構在下游任務上的性能,為性能預測器(PP)構建了新的用途,提出了一種混合搜索算法(HS-NAS)。
- Zheng等人[157]探索了GPT-4模型在設計有效神經網絡架構的神經架構搜索(NAS)任務中的潛力。同時,他們提出了一種稱為GPT-4增強型神經架構搜索(GENIUS)的方法,該方法利用GPT-4的生成能力作為黑盒優化器來快速導航架構搜索空間,識別有前途的候選架構,并迭代地改進這些候選架構以提高性能。
- Radford等人[105]描述了一種使用生成式預訓練來增強自然語言理解(NLU)的方法。
- Chowdhery等[31]提出了大規模語言模型PaLM (Pathways Language Model), PaLM在多種NLP任務上表現優異,在網絡結構設計、結構搜索等方面也有很好的表現。
綜上所述,將LLMs與神經網絡架構搜索(NAS)中的優化算法集成可以提高搜索效率,促進創新,使模型設計多樣化,并為復雜神經網絡架構的自動化設計開辟了新的途徑。
6.3 輔助優化生成:內容創新生成
-
Xiao等人[141]提出了一個以模式為中心的文本生成框架PatternGPT,以解決LLMs容易出錯的本質,以及無法在文本生成任務中直接使用外部知識的問題。
-
Chen等[28]通過模型自適應提示優化(Model-Adaptive Prompt Optimization, MAPO)增強了LLMs在語言生成任務中的性能。同樣,他們提出了一種新的新聞摘要生成范式,該范式使用大語言模型(llm)通過進化微調來提高新聞摘要生成的質量[140]。該方法利用LLM從新聞段落中提取多個結構化事件模式,通過遺傳算法進化事件模式種群,并選擇適應性最強的事件模式輸入LLM生成新聞摘要。
-
盤古藥物模型[73]是一種圖到序列的非對稱條件變分自編碼器,旨在改善藥物發現任務中的分子特性表示和性能。該模型的靈感來自化學課堂上分子式和結構式之間的轉換,可以從兩種表示中恰當地表征分子。
-
Liang等人[70]提出了一個DrugChat系統的原型,旨在為藥物化合物分析提供類似chatgpt的功能。DrugChat通過結合GNNs、LLMs和適配器,使用戶能夠上傳化合物的分子圖譜,并在多輪交互中提出各種問題。
-
Berger等[10]提出了StableYolo框架,該框架旨在通過將進化計算應用于穩定擴散模型,同時調整提示符和模型參數,優化大型語言模型(LLMs)的圖像生成質量。
-
uzuki等人[120]提出了一個基于LLMs的人格特征進化模型,特別是與合作行為相關的模型。該方法展示了LLMs如何能夠加強對人類行為進化的研究,并基于進化博弈論,使用一個進化模型,假設人類在博弈論情境下的行為選擇可以通過為LLMs提供高層次的心理和認知特征描述來模擬。
-
De等人[34]探索了LLMs之間的社會互動中無標度網絡的自組織形成現象。
-
Lu等人[82]提出了一種新的學習框架SELF,旨在通過自我反饋和自我完善,使LLMs不斷完善自己。
7 未來展望與研究趨勢
- 需要在理論研究上深入探索LLMs與OAs之間相互強化的機制,并通過大規模的實證研究詳細分析它們在實際應用中的互補優勢和潛在問題。
- 對llm與oa相結合的算法進行深入的理論分析至關重要,包括評估其收斂性、時間復雜度和空間復雜度。
- 研究算法參數設置對性能的影響,以及算法在不同問題類型上的性能保證或理論限制,是推進算法的關鍵步驟。進一步探索優化理論[78],如明確目標函數的定義和表征、處理約束、分析問題的可行解空間等,將為算法的設計和應用提供堅實的理論基礎,從而在解決更復雜的問題時獲得更好的算法性能
- 神經結構搜索(NAS)是LLMs與OAs相結合的重要應用場景。雖然LLMs在其他任務中表現出顯著的有效性,但它們并不是專門為NAS設計的[25]。當前LLM模型在用于NAS任務時的性能差異很大,基于LLM的方法與傳統NAS方法在應用領域和泛化能力方面存在明顯差異[106]。
- 跨學科應用與創新。LLMs與OAs的結合在多個跨學科領域顯示出潛力,為刺激創新和提高復雜工作的性能提供了強大的協同作用。