大語言模型(LLM)的評估在人工智慧領域中扮演著至關重要的角色。為了充分發揮LLM在各種應用中的潛力,並確保其產生高品質、無偏見且合乎道德的輸出,需要採用全面且細緻的評估方法。懂得如何選擇正確的評估方法選擇適合的語言大模型是開發應用很重要的基礎。
一、評估框架
Microsoft Azure AI Studio:
一個用於構建、評估和部署AGI以及自定義Copilots的一體化AI平台。
提供了Prompt Flow,用於簡化基於LLM的人工智慧應用的開發,支持從構思到部署的一體化開發流程。
Weights & Biases:
一個機器學習平台,用於快速跟蹤實驗、對數據集進行版本和反覆運算、評估模型性能、複製模型、可視化結果等。
可以結合LangChain使用,以評估大型語言模型的應用和AI Agent。
LangSmith (LangChain):
可以幫助用戶跟蹤和評估大型語言模型的應用和AI Agent,以實現從原型到生產環境的過渡。
TruLens (TruEra):
提供了一套用於開發和監控神經網路(包括LLM)的工具。
可以使用TruLens-Eval評估LLM和基於LLM的應用,以及使用TruLens-Explain進行深度學習可解釋性分析。
Vertex AI Studio (Google):
可用於評估通用大型語言模型和優化後的生成式AI模型的性能。
使用一組指標對提供的評估數據集對模型進行評估。
Amazon Bedrock:
支持用於大型語言模型的評估,評估作業的執行結果可用於對比選型,幫助選擇最適合下游生成式AI模型。
支持文本生成、文本分類、問答和文本摘要等常見功能的評估。
DeepEval (Confident AI):
一個用於評估LLM的開源框架,類似於Pytest,但專門用於單元測試LLM輸出。
結合了最新的研究,根據G-Eval、幻象、答案相關性、RAGAS等指標評估LLM輸出。
Parea AI:
可以幫助AI工程師構建可靠的、可落地的LLM應用。
提供了用於調試、測試、評估和監控基於LLM的應用的工具。
二、評估方法
人工評估:
成本最高、可擴展性最差,但可以產生可靠的結果。
需要一組人審查為測試數據集生成的輸出,並提供定性和/或定量反饋。
批次離線評估:
可在LLM上線前利用特定數據集仔細檢查,驗證功能能否滿足應用需求。
無需即時數據,具有成本效益,適用於部署前檢查和回歸測試。
需要為每個LLM功能創建評估數據集(黃金數據集),可作為評估LLM能力的測試基準。
可利用LLM的生成式功能來幫助生成評估數據集,增強評估過程的可擴展性。
線上評估與監測:
對在線運行的LLM進行評估,最接近真實場景、最真實。
通過直接和間接地收集用戶反饋來評估實際性能、品質和用戶滿意度。
涉及對服務過程的日誌收集和評估分析,是實現持續性能監控的理想方式。
三、評估指標
基礎評估指標:
用戶參與度和效用指標:訪問量、提交量、響應量、觀看量、點擊量等。
用戶交互指標:用戶接受率、會話數、活躍天數、交互計時等。
模型答復品質:提示和響應長度、編輯距離度量等。
用戶反饋和用戶留存:用戶反饋量、活躍用戶數、用戶回訪率等。
性能度量指標:每秒請求數、每秒處理Token數、首次輸出Token時間、錯誤率、可靠性、延遲時間等。
成本度量指標:
GPU/CPU利用率、LLM呼叫成本、基礎設施成本、運維成本等。
負責任AI(RAI)指標:
有害內容:自殘、仇恨、性行為、暴力等。
合規性:版權、隱私和安全、第三方內容監管、與高度監管領域相關的建議等。
幻覺:無根據的內容(非事實、衝突)、基於共同世界知識的幻覺等。
其他:透明度、問責制、服務品質差異、包容性、可靠性和安全性等。
應用場景指標:
文件摘要:BLEU、ROUGE、METEOR、BERTScore、MoverScore、SUPERT、BLANCBlanc、FactCC、Perplexity等。
問答樣本:QAEval、QAFactEval、QuestEval等。
實體識別:分類度量指標(精度、召回率、準確性、F1分數等)、解釋評估指標等。
文字轉SQL:Exact-set-match accuracy (EM)、Execution Accuracy (EX)、VES (Valid Efficiency Score)等。
檢索式生成(RAG)系統:Faithfulness、Answer relevance、Context precision、Context relevancy、Context Recall、Answer semantic similarity、Answer correctness等。
四、評估基準
通用語言理解評估基準:
GLUE:提供了一組標準化的各種NLP任務,以評估不同大型語言模型的有效性。
SuperGLUE:提供比GLUE更具挑戰性、多樣化,更全面的任務。
XNLI:跨語言自然語言推理任務,評估模型在不同語言之間進行推理的能力。
問答和閱讀理解評估基準:
SQuAD:評估模型在閱讀理解和問答任務上的表現。
CoQA:評估模型在對話式問答中的能力。
TriviaQA:評估模型在回答常識性問題方面的能力。
語言生成和摘要評估基準:
CNN/Daily Mail:評估模型在生成新聞文章摘要方面的能力。
Gigaword:評估模型在生成標題和摘要方面的能力。
XSum:評估模型在生成極其簡潔的單句摘要方面的能力。
多任務和跨領域評估基準:
DecaNLP:評估模型在多個自然語言處理任務上的通用能力。
XTREME:評估多語言模型在跨語言遷移學習方面的能力。
數學和推理能力評估基準:
MathQA:評估模型在解決數學問題和數學推理方面的能力。
GSM8K:評估模型在解決小學數學應用題方面的能力。
倫理和偏見評估基準:
CrowS-Pairs:評估模型在判斷句子對中是否存在刻板印象和偏見方面的能力。
StereoSet:評估模型在識別和量化語言中的刻板印象和偏見方面的能力。
健壯性和安全性評估基準:
Adversarial NLI:評估模型在面對對抗性樣本時的魯棒性。
Adversarial SQuAD:評估模型在面對對抗性攻擊時的穩健性。
其他評估基準:
HellaSwag:評估LLM完成句子的能力。
TruthfulQA:評測模型回答的真實性。
MMLU:評估LLM可以處理大規模多任務的能力。
ARC:評估模型在複雜推理問題上的表現。
WikiSQL、Spider、BIRD-SQL、SParC:針對文字轉SQL任務的評估基準。
微軟的promptbench, 是我目前用過的工具中最方便的LLM綜合指標評估框架。
你也可針對個別功能使用框架如: RAG進行評估(如圖)。如RAGAS、TruLens。
MMLU 是 Massive Multitask Language Understanding 的縮寫,是一個用來評估大型語言模型在各種領域理解和推理能力的基準測試。OpenAI 和其他許多研究者都使用這個基準來評估他們的模型。
我認為不應該只是把語言模型當作一個資料庫來測試它們回憶事實的能力。單純記憶事實並不能真正展現模型的理解和推理能力。
兩個樣本問題:
樣本 #1: 假設擴張性財政政策導致實質產出大幅增加,而物價水平只有小幅上漲。由此可以推斷
A: 在財政刺激之前,通貨膨脹已經影響了經濟。
B: 經濟最初有一些未充分利用的資源。
C: 總供給減少。
D: 總需求曲線斜率很陡。
這個問題測試的是對宏觀經濟學概念的理解和推理能力。為了回答這個問題,模型需要瞭解擴張性財政政策的影響,以及總供給和總需求曲線的基本原理。單純的事實回憶是不夠的。
樣本 #2: 每個選擇都會導致放棄最佳的替代方案,經濟學家稱之為
A: 會計成本
B: 轉換成本
C: 劣等成本
D: 機會成本
這個問題測試的是對經濟學概念的記憶和理解。雖然它可以通過直接回憶來回答,但真正理解機會成本概念對於回答後續的經濟學問題會很有幫助。
我們需要更多的基準測試來評估模型在推理、邏輯思考和知識泛化方面的性能。MMLU 包含了一些需要推理的問題,但它的確也有相當一部分問題主要測試的只是事實回憶而已。
理想的基準測試應該包括:
1. 需要邏輯推理和批判性思考的問題
2. 測試在新領域和情境下應用知識的能力
3. 評估模型處理模棱兩可、不完整或似是而非資訊的能力
4. 測試模型在面對錯誤或有偏見的陳述時的鑑別能力
設計這樣的基準測試是一項挑戰,但對於評估模型的真正理解和智能至關重要。期待看到在這個方向上的更多研究工作。
評估LLM的效能是一項複雜且持續進行的任務,需要綜合考慮各種指標和場景。本文詳細介紹了語言模型指標、下游任務指標、生成任務指標、人工評估指標、RAI指標、應用場景指標、常用的評估基準以及其他評估指標。在實際應用中,需要根據具體的任務和需求,選擇適當的評估方法和指標。
沒有留言:
發佈留言