成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大語言模型評測中的評價指標:方法、基準和最佳實踐

發布于 2024-12-6 07:22
瀏覽
0收藏

無論是通過微調提高模型準確性,還是增強基于檢索的生成(RAG)系統的上下文相關性,對于任何希望構建魯棒的大語言模型(LLM)應用的人來說,評估 LLM 輸出都是至關重要的。但對許多人而言,LLM 評估仍然是一項具有挑戰性的任務。了解如何為你的用例開發和選擇合適的 LLM 評估指標集,對于構建一個魯棒的 LLM 評估系統至關重要。

本文將教你關于 LLM 評估指標需要了解的一切,包含代碼示例。我們將深入探討:

  • 什么是LLM 評估指標,如何使用它們來評估 LLM 系統,常見的問題,以及優秀 LLM 評估指標的特點。
  • 計算LLM 評估指標分數的各種不同方法,以及為什么 LLM-as-a-judge 是 LLM 評估的最佳方法。
  • 如何在代碼中使用 DeepEval(?https://github.com/confident-ai/deepeval)。

什么是大語言模型評估指標?

LLM 評估指標,如答案正確性、語義相似性和幻覺等表現情況,是根據你關心的維度對 LLM 系統的輸出進行評分的指標。它們對 LLM 評估至關重要,因為它們有助于量化不同 LLM 系統的性能。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

以下是在將 LLM 系統投入生產之前最可能需要的最重要和最常見的指標:

  1. **答案相關性:**確定 LLM 輸出是否能以信息豐富和簡潔的方式回答給定的輸入。
  2. **正確性:**根據某些基本事實,確定 LLM 輸出是否正確。
  3. **幻覺:**確定 LLM 輸出是否包含虛假或編造的信息。
  4. **上下文相關性:**確定基于 RAG 的 LLM 系統中的檢索器是否能為 LLM 提取最相關的信息作為上下文。
  5. **責任指標:**包括偏見和毒性等指標,確定 LLM 輸出是否包含(通常)有害和冒犯性的內容。
  6. **任務特定指標:**包括摘要等指標,通常包含根據用例定制的標準。

雖然大多數指標是通用且必要的,但它們不足以針對特定場景的問題。這就是為什么你至少需要一個定制的任務特定指標,以使你的 LLM 評估管道做好投入生產的準備(正如你稍后在 G-Eval 部分將看到的)。例如,如果你的 LLM 應用程序旨在總結新聞文章的內容,你將需要一個定制的 LLM 評估指標,根據以下標準進行評分:

  1. 摘要是否包含原始文本的足夠信息。
  2. 摘要是否包含與原始文本相矛盾或隨想的內容。

此外,如果你的 LLM 應用程序具有基于 RAG 的架構,你可能還需要對檢索上下文的質量進行評分。關鍵是,LLM 評估指標根據它設計執行的任務評估 LLM 應用程序。

優秀的評估指標具有以下特點:

  1. 定量化。在評估手頭的任務時,指標應始終計算分數。這種方法使你能夠設置最低通過閾值,以確定你的 LLM 應用程序是否"足夠好",并允許你監控這些分數隨著迭代和改進實現而隨時間變化。
  2. 可靠。盡管 LLM 輸出可能不可預測,但你最不希望的是 LLM 評估指標同樣不可靠。因此,盡管使用 LLM 評估的指標(即LLM-as-a-judge或 LLM-Evals),如 G-Eval,比傳統的評分方法更準確,但它們通常不一致,這是大多數 LLM-Evals 的不足之處。
  3. 準確。如果分數不能真正代表你的 LLM 應用程序的性能,可靠的分數就毫無意義。事實上,讓優秀的 LLM 評估指標變得卓越的秘訣是使其盡可能符合人類的期望。

那么問題就變成了,LLM 評估指標如何計算可靠和準確的分數?

計算指標分數的不同方法

有許多已建立的方法可用于計算指標分數——有些利用神經網絡,包括嵌入模型和 LLM,而其他方法完全基于統計分析。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

我將逐一介紹每種方法,并在本節結束時討論最佳方法,所以請繼續閱讀!

統計類評分器

在我們開始之前,我想說統計評分方法在我看來不是必須學習的,所以如果你時間緊迫,請直接跳到"G-Eval"部分。這是因為每當需要推理時,統計方法的表現都很差,這使得它作為大多數 LLM 評估標準的評分器太不準確了。

簡單介紹一下它們:

  • BLEU**(雙語評估替補)**評分器根據標注的基本事實(或預期輸出)評估 LLM 應用程序輸出。它計算 LLM 輸出和預期輸出之間每個匹配 n-gram(n 個連續單詞)的精確度,以計算它們的幾何平均值,并在需要時應用簡潔懲罰。
  • ROUGE**(面向召回的摘要評估替補)**評分器主要用于評估 NLP 模型生成的文本摘要,通過比較 LLM 輸出和預期輸出之間的 n-gram 重疊來計算召回率。它確定參考文本中存在于 LLM 輸出中的 n-gram 的比例(0-1)。
  • **METEOR(考慮顯式排序的翻譯評估指標)**評分器更全面,因為它通過評估精確度(n-gram 匹配)和召回率(n-gram 重疊)來計算分數,并根據 LLM 輸出和預期輸出之間的詞序差異進行調整。它還利用 WordNet 等外部語言數據庫來考慮同義詞。最終得分是精確度和召回率的調和平均值,并對排序差異進行懲罰。
  • Levenshtein 距離(或編輯距離,你可能將其識別為 LeetCode 上的一個困難 DP 問題)評分器計算將一個單詞或文本字符串更改為另一個所需的最小單字符編輯(插入、刪除或替換)次數,這對于評估拼寫更正或其他字符精確對齊至關重要的任務很有用。

由于純統計評分器幾乎不考慮任何語義,并且推理能力非常有限,因此它們不夠準確,無法評估通常很長且復雜的 LLM 輸出。

基于模型的評分器

純統計的評分器是可靠的,但不準確,因為它們難以考慮語義。在本節中,情況恰恰相反——純粹依賴 NLP 模型的評分器相對更準確,但由于其概率性質,也更不可靠。

這有可能點難以理解,但是不基于 LLM 的評分器表現比 LLM-as-a-judge 差,也是由于與統計評分器相同的原因。非 LLM 評分器包括:

  • NLI評分器,它使用自然語言推理模型(一種 NLP 分類模型)對 LLM 輸出是否與給定參考文本在邏輯上一致(蘊涵)、矛盾還是無關(中性)進行分類。分數通常在蘊涵(值為 1)和矛盾(值為 0)之間,提供了一種邏輯一致性的度量。
  • BLEURT(利用 Transformers 表示的雙語評估替補)評分器,它使用預訓練模型(如 BERT)根據一些預期輸出對 LLM 輸出進行評分。

除了不一致的分數外,現實是這些方法存在幾個缺點。例如,NLI 評分器在處理長文本時也可能難以準確,而 BLEURT 受其訓練數據的質量和代表性的限制。所以在這里,讓我們討論一下 LLM judges。

G-Eval

G-Eval 是最近從一篇題為"NLG Evaluation using GPT-4 with Better Human Alignment"的論文中開發出來的框架,它使用 LLM 評估 LLM 輸出(即 LLM-Evals),是創建任務特定指標的最佳方式之一。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

G-Eval 首先使用思維鏈(CoT)生成一系列評估步驟,然后使用生成的步驟通過表單填充范式(這只是一種花哨的說法,即 G-Eval 需要幾條信息才能工作)確定最終得分。例如,使用 G-Eval 評估 LLM 輸出一致性涉及構建一個包含要評估的標準和文本的提示,以生成評估步驟,然后使用 LLM 根據這些步驟輸出 1 到 5 的分數。

讓我們通過這個例子來運行 G-Eval 算法。首先,生成評估步驟:

  1. 向你選擇的 LLM 介紹一個評估任務(例如,根據連貫性從 1-5 對這個輸出進行評分)
  2. 給出你的標準定義(例如,"連貫性——實際輸出中所有句子的整體質量")。

在生成一系列評估步驟之后:

  1. 通過將評估步驟與評估步驟中列出的所有參數連接起來創建一個提示(例如,如果你要評估 LLM 輸出的連貫性,LLM 輸出將是一個必需的參數)。
  2. 在提示的最后,要求它生成 1-5 之間的分數,其中 5 優于 1。
  3. (可選)獲取 LLM 輸出標記的概率,以規范化分數,并將其加權總和作為最終結果。

第 3 步是可選的,因為要獲得輸出標記的概率,你需要訪問原始模型嵌入,這不能保證所有模型接口都可用。然而,本文引入了這一步,因為它提供了更細粒度的分數,并最小化了 LLM 評分中的偏差(正如本文所述,在 1-5 的量表中,3 被認為具有更高的標記概率)。

以下是論文中的結果,顯示了 G-Eval 如何優于本文前面提到的所有傳統的非 LLM 評估:

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

Spearman 和 Kendall-Tau 相關性越高,表示與人類判斷的一致性越高。

G-Eval 很棒,因為作為 LLM-Eval,它能夠考慮 LLM 輸出的完整語義,使其更加準確。這很有道理——想想看,非 LLM 評估使用的評分器遠不如 LLM 能力強,怎么可能理解 LLM 生成的文本的全部范圍?

盡管與同類產品相比,G-Eval 與人類判斷的相關性要高得多,但它仍然可能不可靠,因為要求 LLM 提供分數無疑是主觀的。

話雖如此,鑒于 G-Eval 的評估標準可以有多靈活,已經將 G-Eval 作為DeepEval(一個開源 LLM 評估框架)的指標實現了(其中包括原始論文中的歸一化技術)。

# 安裝 pip install deepeval # 將OpenAI API密鑰設置為環境變量 export OPENAI_API_KEY="..."

from deepeval.test_case import LLMTestCase, LLMTestCaseParams from deepeval.metrics import GEval test_case = LLMTestCase(input="input to your LLM", actual_output="your LLM output") coherence_metric = GEval( name="Coherence", criteria="Coherence - the collective quality of all sentences in the actual output", evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT], ) coherence_metric.measure(test_case) print(coherence_metric.score) print(coherence_metric.reason)

使用 LLM-Eval 的另一個主要優勢是,LLM 能夠為其評估分數生成理由。

Prometheus

Prometheus 是一個完全開源的 LLM,當提供適當的參考資料(參考答案、評分細則)時,其評估能力可與 GPT-4 相媲美。它也像 G-Eval 一樣與用例無關。Prometheus 是一種語言模型,使用Llama-2-Chat作為基礎模型,并在Feedback Collection中的 100K 反饋(由 GPT-4 生成)上進行微調。

以下是prometheus 研究論文的簡要結果。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

Prometheus 遵循與 G-Eval 相同的原則。但是,有幾個區別:

  1. G-Eval 是使用 GPT-3.5/4 的框架,而 Prometheus 是為評估而微調的 LLM。
  2. G-Eval 通過 CoTs 生成評分細則/評估步驟,而 Prometheus 的評分細則是在提示中提供的。
  3. Prometheus 需要參考/示例評估結果。

盡管我個人還沒有嘗試過,Prometheus 在 hugging face 上可用。我沒有嘗試實現它的原因是,Prometheus 旨在使評估開源,而不是依賴 OpenAI 的 GPT 等專有模型。對于旨在構建可用的最佳 LLM 評估的人來說,這不是一個好的選擇。

結合統計和基于模型的評分器

到目前為止,我們已經看到統計方法是可靠的,但不準確,而非 LLM 模型的方法不太可靠,但更準確。與上一節類似,有一些非 LLM 評分器,例如:

  • **BERTScore **評分器,它依賴于像 BERT 這樣的預訓練語言模型,并計算參考文本和生成文本中單詞的上下文嵌入之間的余弦相似度。然后將這些相似度聚合以產生最終分數。BERTScore 越高,表示 LLM 輸出和參考文本之間語義重疊的程度越高。
  • **MoverScore **評分器,它首先使用嵌入模型,特別是像 BERT 這樣的預訓練語言模型,獲得參考文本和生成文本的深度情境化單詞嵌入,然后使用 Earth Mover's Distance(EMD)來計算將 LLM 輸出中的單詞分布轉換為參考文本中的單詞分布所必須付出的最小代價。

BERTScore 和 MoverScore 評分器都容易受到來自像 BERT 這樣的預訓練模型的上下文嵌入的上下文感知和偏差的影響。但 LLM-Evals 呢?

GPTScore

與 G-Eval 直接使用表單填充范式執行評估任務不同,GPTScore 使用生成目標文本的條件概率作為評估指標。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

SelfCheckGPT

SelfCheckGPT 有點奇怪。它是一種用于事實核查 LLM 輸出的簡單抽樣方法。它假設幻覺輸出是不可重現的,而如果 LLM 對給定概念有知識,抽樣響應可能是相似的,并包含一致的事實。

SelfCheckGPT 是一種有趣的方法,因為它使檢測幻覺成為一個無參考的過程,這在生產環境中非常有用。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

但是,盡管你會注意到 G-Eval 和 Prometheus 與用例無關,但 SelfCheckGPT 則不然。它只適用于幻覺檢測,而不適用于評估其他用例,如摘要、連貫性等。

QAG Score

QAG(問答生成)分數是一種利用 LLM 強大推理能力可靠評估 LLM 輸出的評分器。它使用封閉式問題(可以生成或預設)的答案(通常是"是"或"否")來計算最終的指標分數。之所以可靠,是因為它不使用 LLM 直接生成分數。例如,如果你想計算忠實度(衡量 LLM 輸出是否是幻覺)的分數,你可以:

  1. 使用 LLM 提取輸出中所有的聲明。
  2. 對于每個聲明,詢問基本事實是否同意("是")或不同意("否")所做的聲明。

因此,對于這個示例 LLM 輸出:

馬丁·路德·金是著名的民權領袖,于 1968 年 4 月 4 日在田納西州孟菲斯的洛林汽車旅館遇刺身亡。他當時在孟菲斯支持罷工的衛生工人,在站在汽車旅館二樓陽臺上時,被一名逃犯詹姆斯·厄爾·雷致命射殺。

一個聲明可能是:

馬丁·路德·金于 1968 年 4 月 4 日遇刺身亡

相應的封閉式問題是:

馬丁·路德·金是否于 1968 年 4 月 4 日遇刺身亡?

然后,你會拿這個問題,詢問基本事實是否同意這個聲明。最后,你將得到一些"是"和"否"的答案,你可以通過你選擇的一些數學公式來計算分數。

就忠實度而言,如果我們將其定義為 LLM 輸出中與基本事實一致的聲明的比例,可以很容易地通過將準確(真實)聲明的數量除以 LLM 做出的總聲明數量來計算。由于我們沒有使用 LLM 直接生成評估分數,而是利用其更強的推理能力,所以我們得到的分數既準確又可靠。

選擇評估指標

選擇使用哪種 LLM 評估指標取決于 LLM 應用程序的用例和架構。

例如,如果你正在 OpenAI 的 GPT 模型之上構建一個基于 RAG 的客戶支持聊天機器人,你將需要使用幾個 RAG 指標(例如,忠實度、答案相關性、上下文精確度),而如果你正在微調你自己的 Mistral 7B,你將需要諸如偏見等指標,以確保 LLM 決策公正。

在這最后一節中,我們將討論你絕對需要了解的評估指標。(作為獎勵,每個指標的實現。)

RAG 指標

RAG 作為一種方法,為 LLM 提供額外的上下文以生成定制輸出,非常適合構建聊天機器人。它由兩個組件組成——檢索器和生成器。

大語言模型評測中的評價指標:方法、基準和最佳實踐-AI.x社區

以下是 RAG 工作流的典型工作方式:

  1. RAG 系統接收輸入。
  2. 檢索器使用此輸入在知識庫(現在大多數情況下是向量數據庫)中執行向量搜索。
  3. 生成器接收檢索上下文和用戶輸入作為額外的上下文,以生成定制輸出。

有一點要記住——高質量的 LLM 輸出是優秀檢索器和生成器的產物。 因此,優秀的 RAG 指標側重于以可靠和準確的方式評估 RAG 檢索器或生成器。(事實上,RAG 指標最初被設計為參考無關的指標,這意味著它們不需要基本事實,即使在生產環境中也可以使用。)

忠實度

忠實度是一種 RAG 指標,用于評估 RAG 管道中的 LLM/生成器是否生成與檢索上下文中呈現的信息在事實上一致的 LLM 輸出。但我們應該使用哪種評分器來評估忠實度指標呢?

劇透警告:QAG 評分器是 RAG 指標的最佳評分器,因為它擅長評估目標明確的任務。 對于忠實度,如果你將其定義為 LLM 輸出中關于檢索上下文的真實聲明的比例,我們可以通過以下算法使用 QAG 計算忠實度:

  1. 使用 LLM 提取輸出中的所有聲明。
  2. 對于每個聲明,檢查它是否與檢索上下文中的每個單獨節點一致或矛盾。在這種情況下,QAG 中的封閉式問題將類似于:"給定的聲明是否與參考文本一致",其中"參考文本"將是每個單獨的檢索節點。(注意,你需要將答案限制為"是"、"否"或"不知道"。"不知道"狀態代表檢索上下文不包含相關信息以給出是/否答案的邊緣情況。)
  3. 將真實聲明("是"和"不知道")的總數相加,然后除以所做聲明的總數。

這種方法通過使用 LLM 的高級推理能力來確保準確性,同時避免 LLM 生成分數的不可靠性,使其成為比 G-Eval 更好的評分方法。

如果你覺得這太復雜而無法實現,你可以使用 DeepEval。

# 安裝 pip install deepeval # 將OpenAI API密鑰設置為環境變量 export OPENAI_API_KEY="..."

from deepeval.metrics import FaithfulnessMetric from deepeval.test_case import LLMTestCase test_case=LLMTestCase( input="...", actual_output="...", retrieval_cnotallow=["..."] ) metric = FaithfulnessMetric(threshold=0.5) metric.measure(test_case) print(metric.score) print(metric.reason) print(metric.is_successful())

DeepEval 將評估視為測試用例。這里,actual_output 就是你的 LLM 輸出。此外,由于忠實度是一個 LLM-Eval,你可以獲得最終計算分數的推理。

答案相關性

答案相關性是一種 RAG 指標,用于評估 RAG 生成器是否輸出簡潔的答案,可以通過確定 LLM 輸出中與輸入相關的句子的比例來計算(即將相關句子的數量除以總句子數)。

構建魯棒的答案相關性指標的關鍵是考慮檢索上下文,因為額外的上下文可能證明一個看似無關的句子的相關性。以下是答案相關性指標的實現:

from deepeval.metrics import AnswerRelevancyMetric from deepeval.test_case import LLMTestCase test_case=LLMTestCase( input="...", actual_output="...", retrieval_cnotallow=["..."] ) metric = AnswerRelevancyMetric(threshold=0.5) metric.measure(test_case) print(metric.score) print(metric.reason) print(metric.is_successful())

上下文精確度

上下文精確度是一種 RAG 指標,用于評估 RAG 管道檢索器的質量。當我們談論上下文指標時,我們主要關注檢索上下文的相關性。高的上下文精確度分數意味著檢索上下文中相關的節點排名高于不相關的節點。這很重要,因為 LLM 對出現在檢索上下文前面的節點中的信息賦予更高的權重,這會影響最終輸出的質量。

from deepeval.metrics import ContextualPrecisionMetric from deepeval.test_case import LLMTestCase test_case=LLMTestCase( input="...", actual_output="...", # Expected output是LLM的"理想"輸出,它是 # 上下文指標所需的額外參數 expected_output="...", retrieval_cnotallow=["..."] ) metric = ContextualPrecisionMetric(threshold=0.5) metric.measure(test_case) print(metric.score) print(metric.reason) print(metric.is_successful())

上下文召回率

上下文精確度是評估基于檢索器的生成器(RAG)的另一個指標。它通過確定預期輸出或基本事實中可以歸因于檢索上下文中節點的句子的比例來計算。分數越高,表示檢索到的信息與預期輸出之間的一致性越高,表明檢索器有效地獲取相關和準確的內容,以幫助生成器產生上下文適當的響應。

from deepeval.metrics import ContextualRecallMetric from deepeval.test_case import LLMTestCase test_case=LLMTestCase( input="...", actual_output="...", # Expected output是LLM的"理想"輸出,它是 # 上下文指標所需的額外參數 expected_output="...", retrieval_cnotallow=["..."] ) metric = ContextualRecallMetric(threshold=0.5) metric.measure(test_case) print(metric.score) print(metric.reason) print(metric.is_successful())

上下文相關性

可能是最容易理解的指標,上下文相關性簡單地說就是檢索上下文中與給定輸入相關的句子的比例。

from deepeval.metrics import ContextualRelevancyMetric from deepeval.test_case import LLMTestCase test_case=LLMTestCase( input="...", actual_output="...", retrieval_cnotallow=["..."] ) metric = ContextualRelevancyMetric(threshold=0.5) metric.measure(test_case) print(metric.score) print(metric.reason) print(metric.is_successful())

微調指標

當我說"微調指標"時,我的意思是評估 LLM 本身而不是整個系統的指標。撇開成本和性能優勢不談,LLM 通常進行微調以:

  1. 融入額外的上下文知識。
  2. 調整其行為。

幻覺

你們中的一些人可能認識到這與忠實度指標相同。盡管相似,但微調中的幻覺更加復雜,因為通常很難為給定輸出確定確切的基本事實。為了解決這個問題,我們可以利用 SelfCheckGPT 的零樣本方法來采樣 LLM 輸出中幻覺句子的比例。

from deepeval.metrics import HallucinationMetric from deepeval.test_case import LLMTestCase test_case=LLMTestCase( input="...", actual_output="...", # 請注意,"context"與"retrieval_context"不同。 # 雖然檢索上下文更關注RAG管道, # 但上下文是給定輸入的理想檢索結果, # 通常位于用于微調LLM的數據集中 cnotallow=["..."], ) metric = HallucinationMetric(threshold=0.5) metric.measure(test_case) print(metric.score) print(metric.is_successful())

但是,這種方法可能會變得非常昂貴,所以目前我建議使用 NLI 評分器,并手動提供一些上下文作為基本事實。

毒性

毒性指標評估文本包含冒犯、有害或不適當語言的程度。可以使用現成的預訓練模型(如 Detoxify)來評估毒性,這些模型使用 BERT 評分器。

from deepeval.metrics import ToxicityMetric from deepeval.test_case import LLMTestCase metric = ToxicityMetric(threshold=0.5) test_case = LLMTestCase( input="What if these shoes don't fit?", # 將此替換為LLM應用程序的實際輸出 actual_output = "We offer a 30-day full refund at no extra cost." ) metric.measure(test_case) print(metric.score)

但是,這種方法可能不準確,因為"與咒罵、侮辱或褻瀆相關的詞語出現在評論中,無論作者的語氣或意圖如何(例如幽默/自嘲),都可能被歸類為有毒"。

在這種情況下,你可能要考慮使用 G-Eval 來定義毒性的自定義標準。事實上,G-Eval 不受用例限制的特性是我如此喜歡它的主要原因。

from deepeval.metrics import GEval from deepeval.test_case import LLMTestCase test_case = LLMTestCase( input="What if these shoes don't fit?", # 將此替換為LLM應用程序的實際輸出 actual_output = "We offer a 30-day full refund at no extra cost." ) toxicity_metric = GEval( name="Toxicity", criteria="Toxicity - determine if the actual outout contains any non-humorous offensive, harmful, or inappropriate language", evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT], ) metric.measure(test_case) print(metric.score)

偏見

偏見指標評估文本內容中的政治、性別和社會偏見等方面。這對于自定義 LLM 參與決策過程的應用程序尤其重要。例如,在銀行貸款審批中提供無偏見的建議,或在招聘中,協助確定候選人是否應該進入面試。

與毒性類似,偏見可以使用 G-Eval 來評估。(但不要誤會,QAG 也可以是毒性和偏見等指標的可行評分器。)

from deepeval.metrics import GEval from deepeval.test_case import LLMTestCase test_case = LLMTestCase( input="What if these shoes don't fit?", # 將此替換為LLM應用程序的實際輸出 actual_output = "We offer a 30-day full refund at no extra cost." ) toxicity_metric = GEval( name="Bias", criteria="Bias - determine if the actual output contains any racial, gender, or political bias.", evaluation_params=[LLMTestCaseParams.ACTUAL_OUTPUT], ) metric.measure(test_case) print(metric.score)

偏見是一個高度主觀的問題,在不同的地理、地緣政治和地緣社會環境中差異很大。例如,在一種文化中被認為是中性的語言或表達方式,在另一種文化中可能具有不同的內涵。(這也是為什么小樣本評估不太適用于偏見的原因。)

一個潛在的解決方案是為評估或為上下文學習提供非常明確的細則而微調定制 LLM,因此,我認為偏見是所有指標中最難實施的。

用例特定指標

摘要

簡而言之,所有好的總結:

  1. 與原文在事實上一致。
  2. 包括原文中的重要信息。

使用 QAG,我們可以計算事實一致性和包含性分數,以計算最終的摘要分數。在 DeepEval 中,我們將兩個中間分數的最小值作為最終摘要分數。

from deepeval.metrics import SummarizationMetric from deepeval.test_case import LLMTestCase # 這是要總結的原始文本 input = """ The 'inclusion score' is calculated as the percentage of assessment questions for which both the summary and the original document provide a 'yes' answer. This method ensures that the summary not only includes key information from the original text but also accurately represents it. A higher inclusion score indicates a more comprehensive and faithful summary, signifying that the summary effectively encapsulates the crucial points and details from the original content. """ # 這是摘要,用LLM應用程序的實際輸出替換它 actual_output=""" The inclusion score quantifies how well a summary captures and accurately represents key information from the original text, with a higher score indicating greater comprehensiveness. """ test_case = LLMTestCase(input=input, actual_output=actual_output) metric = SummarizationMetric(threshold=0.5) metric.measure(test_case) print(metric.score)

結論

LLM 評估指標的主要目標是量化 LLM(應用)的性能,為此有不同的評分器,有些比其他的更好。對于 LLM 評估,使用 LLM 的評分器(G-Eval、Prometheus、SelfCheckGPT 和 QAG)由于其高推理能力而最準確,但我們需要采取額外的預防措施來確保這些分數是可靠的。

最終,指標的選擇取決于 LLM 應用程序的用例和實現,其中 RAG 和微調指標是評估 LLM 輸出的很好起點。對于更多特定于用例的指標,你可以使用 G-Eval 和少樣本提示以獲得最準確的結果。

本文轉載自??芝士AI吃魚??,作者: 芝士AI吃魚 ????

收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 精品免费视频一区二区 | 亚洲精品一二三 | 亚洲精品欧美一区二区三区 | 最新一级毛片 | 欧美日韩综合视频 | av在线免费播放 | 国产精品成人在线播放 | 狠狠热视频 | 97超碰免费 | 亚洲日韩中文字幕一区 | 国产一级毛片视频 | 日本黄色不卡视频 | 羞羞视频网 | 热久久久| 狠狠操狠狠干 | 一区二区久久 | 国产成人影院 | 日韩一二三 | 成人高清在线 | 网站黄色av | 亚洲欧美久久 | 国产精品不卡一区 | 欧美激情久久久 | 污污的网站在线观看 | 天天操操 | 亚洲国产精久久久久久久 | 亚洲欧美综合精品久久成人 | 丁香婷婷综合激情五月色 | 人人亚洲| 男女网站免费 | 中文久久 | 日日日色 | 日韩欧美在线免费 | 91大神xh98xh系列全部 | 亚洲国产一区二区视频 | 精品1区| 成人在线免费视频 | 亚洲国产精品一区二区三区 | 中文字幕国产日韩 | 污片在线免费观看 | 欧美性网 |