用大語言模型作為代理模型進行昂貴計算
一、 作者本文貢獻
• 提出了一種基於 LLM 的創新代理模型,用於預測 SAEA 中新解決方案的質量,利用 LLM 的推理功能執行迴歸和分類任務,而無需訓練。
• 引入了 LLM 輔助 SAEA (LAEA) 演算法,將基於 LLM 的代理模型整合到 SAEA 中,以方便選擇新的解決方案。
• 進行詳細的實驗分析,比較 LLM 在 2D 資料視覺化和多個最佳化問題中的效能,並與傳統 SAEA 演算法和模型選擇精度進行基準測試。• 提供可擴充套件的開原始碼以支援該領域的進一步研究和開發。
二、 輔助代理模型
1. 迴歸模型
決策變數\(x\) 透過模型 \(M_{reg}\) 預測 \(y\),即 \(y = M_{reg}(x)\)。
如圖所示:
2. 分類模型
分類模型 \(M_{cla}\) 用於將 輸入的決策變數 \(x\) 對映到一個分類標籤 \(l\) 上,即 \(l = M_{cla}(x)\)。
$l $ 是預測的類標籤,用於指示解的質量。
如圖所示:
3. 關係模型
模型 \(M_{rel}\) 側重於直接學習解之間的相對優勢。即 \(r = M_{rel}(x_1, x_2)\)。
演算法部分
主要框架流程
主要部分為紅色圈出。
1. 資料預處理
透過公式(5)將決策變數 \(x\) 以及其對應的值 \(y\) 預測值 \(u\) 放縮到 \([0, 1]\) 之間 \(x\) 並保留3位小數, \(y,u\) 保留5位小數。
這樣做的目的:
執行此縮放是為了確保特徵向量在一致的範圍內,從而促進 LLM 的推理過程。
隨後生成描述任務的提示給LLM。
1.1 迴歸階段模型任務提示
任務提示包含五個部分:
1. 任務描述
2. 流程描述
3. 歷史資料
4. 新預測評估的決策變數向量值 u
5. 輸出格式規範。
圖例:
演算法步驟:
1.2 分類階段模型
在迴歸階段我們得到了 已有的解 \(x\) 以及其目標值 \(y\)。 沒有計算透過迴歸模型預測的解 \(x\) 和其預測的目標值 \(u\)。在分類階段我們需要對unevaluated solution 進行分類。
分類任務五部分組成:
1. 任務描述
2. 流程描述
3. 歷史資料
4. 新評估的決策變數向量 (u) ##這裡的評估指的是貼分類標籤而不是去計算其目標值
5. 輸出格式規範
圖例:
2. 大語言模型作為輔助代理模型
透過上面的流程操作我們已經將大語言模型應用到迴歸和分類任務中去,那麼將大語言模型整合到EAs中就很直觀了。
補充內容
該演算法直接用了這篇論文所提出的框架。
該演算法採用可變寬度直方圖(VWH)作為新的解生成運算元,以提高全域性收斂速度。此外,它使用模型預測的有前途的解決方案,而不進行實際評估(稱為未評估的解決方案,u)為下一代生成新的解決方案。這種方法可以有效地改善種群分佈。
演算法2
line 7 Prediction: 利用歷史資料 \(A_{1:\tau}\), 採用LLM去預測 \(Q\) 的質量。其中 $\vec V $ 表示 迴歸預測任務,$ \vec L$ 表示 分類預測任務。
line 8 Assisted Selection: 基於迴歸任務和分類任務得到的最優個體 \(q\) 以及種群前 \(N/2\) 個個體作為 unevaluated population \(P_u\)。
2.1 Prediction by LLMs
存檔 \(A\) 中評估的解根據其函式值按升序排序,排名靠前的 \(\tau\) 解被選為歷史資料進行 LLM 推理。這些解作為提示用於預測 \(Q\) 中解的質量。
迴歸任務很好理解。。。
對於分類任務,首先根據函式值將 \(A_{1:\tau}\) 中的解分為兩類:前 50% 的解被歸類為類別 1,其餘 50% 的解被歸類為類別 0。然後這些資料就用來作為分類任務的提示了。
2.2 Assisted Selection
標準情況下, 基於迴歸任務 \(\vec V\) 得到的值所選出來的最佳個體 \(q\) 用於接下來的真實函式評估。同時基於分類任務 \(\vec L\) 中標籤為1 的選為 $ P_u$, 如果 \(P_u > N/2\)隨機選 \(N/2\).$ 個解作為 \(P_u\)。這些解不參與真實函式評估,只是為了保證種群的多樣性。
實驗
效果一般