發布日期:2024 年 10 月 30 日
使用大型語言模型 (LLM) 建構功能與傳統軟體工程大不相同。開發人員需要學習提示工程,以便處理非確定性結果、預先處理輸入內容和後處理結果。
您與我們共同探討的其中一項挑戰是測試 LLM 的輸出內容、判斷有效性和品質,是相當耗時的。開發人員通常會使用不同的輸入內容來批次產生輸出內容,然後透過人工判斷來手動驗證。
LLM 做為評判者 技巧是一種更具擴展性的評估不同模型和提示結果的方法。使用這項技術時,模型驗證作業會委派給另一個 LLM,而非仰賴人為判斷。第二個 LLM 必須是較大的雲端 LLM,因為這類 LLM 的推理能力較佳。
在本文件中,我們會使用摘要功能示範如何比較不同模型,並額外顯示從 Gemma 到 Gemma 2 的品質改善情形。
選擇要比較的模型並準備資料
我們評估了三種模型在摘要中的能力。我們比較了兩個可在用戶端執行的 Google 開放式模型 (Gemma 和 Gemma 2) 的結果,兩者都使用 20 億個參數大小。相較之下,我們也評估了更大、功能更強大的雲端模型:Gemini 1.5 Flash。
我們使用了 2225 篇 BBC 文章的資料集,涵蓋商業、娛樂、政治、體育和科技等領域,並使用所選模型產生每篇文章的摘要。所有模型都使用相同的提示:
將文章重點整理成一個段落。
我們將原始文章和產生的摘要儲存在資料庫中,因此可以在每個步驟中輕鬆存取。
選取評審員來分析摘要並評分
為分析摘要品質,我們使用 Gemini 1.5 Flash 來判斷 Gemma 2 和 Gemma 2 2B 建立的摘要。我們具體的方法是以校正為基礎,而這也是 DeepEval 摘要指標的一部分。
Alignment 是一種指標,用於評估摘要中包含的陳述,在摘要所依據的原始內容中出現的頻率。
我們將評估程序分為兩個步驟。首先,我們提示模型將每項摘要拆分為不同的陳述式。接著,我們要求模型判斷原始文章內容是否支持每個陳述。
從摘要中擷取陳述式
我們要求 Gemini 1.5 Flash 將較長的文字分成個別陳述式。例如:
儘管利物浦在擊敗利物浦後,目前在英超聯賽中位居第二,但埃弗頓後衛大衛·韋爾 (David Weir) 仍淡化了歐洲足球的話題。
Gemini 1.5 Flash 將這句話分割為下列陳述式:
- 「David Weir 是 Everton 的後衛。」
- 「埃弗頓目前在英超聯賽中排名第二。」
- 「Everton 在最近的比賽中擊敗 Liverpool。」
- 「David Weir 已將 Everton 在歐洲足球的表現降到最低。」
驗證陳述式
然後,相較於分割陳述式,要求 Gemini 1.5 Flash 分析原始語句。這個模型會將每個陳述式的有效性分類為:
- 是:原文佐證了這段文字。
- 否。這項聲明與原文相違。
- Idk。我們無法驗證這項陳述是否有證據支持,或是是否與原始文字相矛盾。
結果分析
這個程序產生了兩個可用於比較模型的指標:
- 校正:模型產生包含原始文字支援的陳述的摘要的頻率。
- 豐富度:模型產生的摘要中包含的平均陳述數量。
對齊
我們計算對齊度的方式是,計算至少有一項陳述式標示為「否」的摘要數量,然後除以摘要總數。
Gemini 1.5 Flash 模型的對應分數最高,超過 92%。這表示它非常擅長遵循事實,並避免杜撰。
Gemma 2 2B 的分數高達 78.64%,表示準確率相當高。另一方面,舊版 Gemma 2B 的對應分數較低,表示較有可能包含原始文字不支援的資訊。
豐富度
我們計算模型豐富度的方式,是將模型為每個摘要產生的陳述式數量加總後取平均。
Gemma 2 2B 的豐富度分數最高,為 9.1,表示其摘要包含更多詳細資料和重點。Gemini 1.5 Flash 模型的豐富度分數也相當高,超過 8.4 分。Gemma 2B 的豐富度分數較低,表示它可能無法擷取原始文字中的大部分重要資訊。
結論
我們判斷,可在用戶端執行的小型模型 (例如 Gemma 2 2B) 可以產生優質的輸出內容。雖然 Gemini 1.5 Flash 等雲端模型擅長產生與原始文章相符的摘要,並提供大量資訊,但在決定是否應建構用戶端 AI 時,您也應考量應用程式效能、隱私權和安全性需求,以及其他可能會影響決定的因素。
Gemma 模型系列的功能明顯有所進化,因為 Gemma 2 2B 能夠產生比 Gemma 2B 更豐富且更一致的摘要。
評估用途
這份文件僅略微介紹了 LLM 可用於判斷的技術。即使採用摘要,您還是可以查看更多指標,結果可能會有所不同。舉例來說,您可以使用提示來找出文章中的重點,然後使用其他提示來驗證每個摘要是否涵蓋這些重點,藉此評估涵蓋率。
其他用途 (例如撰寫文字、改寫文字或檢索增強生成 (RAG)) 可能會在相同指標上產生不同的結果,或者應使用其他指標進行評估。
實作這項做法時,請思考人類如何評估輸出結果,以便判斷哪些指標最適合您的用途。另外,您也可以查看 DeepEval 等現有架構,這些架構可能已經有一組適合您用途的指標。
您是否已將 LLM 做為評估模型的判斷標準?歡迎透過 Twitter 向 @ChromiumDev 發布你的發現,或是在 LinkedIn 上的 Chrome 開發人員版分享。