難倒吳恩達的LLM評估,有解嗎?
吳恩達提出LLM-as-a-Judge的幾點困境
吳恩達老師提出了大語言模型評估的兩種主要類型
- 是非性評估(具備明確的非對即錯的響應)
- 質量性評估(結果只存在好壞程度的標準)
基于以上兩類的評估類型,吳恩達提出了使用如下幾點困境。
創建用于測量LLM的有標記的測試集成本高昂
在評估LLM性能時,創建一個有標記的測試集是非常必要的。然而,手動標記數據集不僅耗時,而且成本高昂。這對資源有限的團隊來說是一個巨大的挑戰。
人類專家來評估改進不切實際,高級的LLM評估改進可靠性不夠
雖然人類專家可以提供高質量的評估,但在實際操作中,這種方法并不可行。主要原因是專家資源稀缺且昂貴。另一方面,使用高級的LLM進行評估雖然可以降低成本,但其評估結果存在噪聲,導致其可靠性仍然存在問題。
實施評估產生的額外token成本及時間成本
每次評估都需要額外消耗大量的計算資源,特別是在處理大規模數據時。這不僅增加了時間成本,還帶來了額外的token成本。這對需要頻繁評估的團隊來說是一個不小的負擔。
LangSmith的工程化解法
LangSmith以few-shot和持續于人類對齊作為其理論根基提出了一個新穎的工程化解決方案。即將人類對 LLM-as-a-Judge 輸出的糾正存儲為 few-shot 示例,然后在未來的迭代中將其反饋到提示中。
其實現的的具體邏輯如下:
基于few-shot提升評估正確率
首先,LangSmith提出了一種基于few-shot學習的方法來提升LLM評估的正確率。通過將少量示例作為輸入,模型可以更好地理解評估標準,從而提高評估的準確性。
Aligning LLM-as-a-Judge with Human Preferences
使用反饋收集作為一種程序化地將LLM評估與人類偏好對齊
其次,LangSmith還引入了反饋收集機制,通過程序化地將LLM評估與人類偏好對齊。具體來說,用戶可以對LLM的評估進行修正,這些修正將作為示例反饋給模型,以便在未來的評估中參考。
LangSmith自動化反饋收集流程,并自動化實現持續改進
為了簡化操作,LangSmith實現了自動化反饋收集流程。用戶在應用中對評估結果進行修正后,這些修正將自動存儲并用于未來的評估。這種持續改進的機制使得評估過程更加高效和準確。
OpenAI的前沿研究-CriticGPT
OpenAI也一直在探索LLM評估的新方法。他們開發了一種名為CriticGPT的模型,旨在讓AI成為更嚴苛的評判者,其思路是訓練一個專門挑錯的模型:
訓練模型識別錯誤
- OpenAI讓人類標注員在ChatGPT生成的代碼里故意植入一些微妙的bug。
- 標注員扮演代碼審查員的角色,寫下他們對這些bug的評論。
- 用這些數據來訓練CriticGPT,讓它學會如何發現和指出代碼中的問題。
對抗訓練提升模型能力
在訓練過程中,標注員會插入一些隱蔽的bug,并驗證這些bug是否能夠騙過當前版本的CriticGPT。通過這種方法,CriticGPT被迫不斷進化,以便發現越來越隱蔽的問題。
強制采樣束搜索(FSBS)
CriticGPT使用了一種稱為強制采樣束搜索(FSBS)的技術,這種技術可以在生成評論時保持全面性,同時減少“幻覺”和“雞蛋里挑骨頭”現象。這使得CriticGPT能夠生成更為準確和有用的評論。
具體來說,FSBS會強制模型生成多個不同的評論片段,用獎勵模型對這些片段進行評分,最后根據評分和一個長度修正因子來選擇最佳的評論組合。
通過調整長度修正因子,可以在評論的全面性和準確性之間找到最佳平衡點,既不會錯過重要問題,又不會過度挑剔。
結論
評估大規模語言模型的輸出質量是一個復雜且重要的任務。LLM-as-a-Judge概念雖然有其困境,但通過LangSmith和OpenAI的前沿研究,我們看到了有效解決這些問題的希望。
- LangSmith通過few-shot學習和自動化反饋收集機制,顯著提升了評估的準確性和效率。
- OpenAI的CriticGPT則通過不斷進化和創新技術,幫助人類標注員更好地識別和糾正錯誤。
這些進展不僅推動了AI評估技術的發展,也為未來的AI應用提供了堅實的基礎。
