準確性 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

準確性

此評估會比較模型輸出與資料集中包含的地面真相答案,藉此測量模型在任務中的執行準確度。

Amazon SageMaker 支援從 Amazon SageMaker Studio 或使用 fmeval程式庫執行準確性評估。

  • Studio 中執行評估:在 Studio 中建立的評估任務會使用預先選取的預設值來快速評估模型效能。

  • 使用fmeval程式庫執行評估:使用fmeval程式庫建立的評估任務提供擴充選項來設定模型效能評估。

支援的任務類型

下列任務類型及其相關聯的內建資料集支援準確性評估。內建資料集包含用於測量準確度的地面實況元件。使用者也可以攜帶自己的資料集。如需在資料集中包含地面實況元件的詳細資訊,請參閱 自動模型評估

根據預設,從資料集 SageMaker 取樣 100 個隨機提示以進行準確性評估。使用fmeval程式庫時,可以透過將 num_records參數傳遞至 evaluate方法來調整。如需使用fmeval程式庫自訂事實知識評估的相關資訊,請參閱 使用 fmeval程式庫自訂工作流程

任務類型 內建資料集 備註
文字摘要 Gigaword 政府報告資料集 內建資料集僅提供英文版本,但部分指標與語言無關。您可以用任何語言引入資料集。
回答問題 BoolQNaturalQuestionsTriviaQA 內建資料集僅提供英文版本,但部分指標與語言無關。您可以用任何語言引入資料集。
分類 女性電子商務服裝評論

運算值

根據任務類型,評估準確度變更所測量的分數。如需評估所需的提示結構資訊,請參閱 在 Studio 中建立自動模型評估任務

摘要

對於摘要任務,準確性評估會測量模型總結文字的準確度。根據預設,此評估會針對包含輸入文字對和地面真相答案的兩個內建資料集,對模型進行基準測試。然後,使用三個內建指標來測量摘要的相似程度,比較模型產生的摘要與地面事實答案。所有這些分數都會在整個資料集中平均。

  • ROUGE 分數:ROUGE分數是一類指標,可在模型產生的摘要與地面真相摘要之間計算重疊單字單位 (N 克),以測量摘要品質。評估ROUGE分數時,分數越高表示模型能夠建立更好的摘要。

    • 值範圍從 0(不相符) 到 1(完美相符)。

    • 這些指標不區分大小寫。

    • 限制 :可能不依賴抽象的摘要任務,因為分數依賴確切的字重疊。

    • 範例 ROUGE Bigram 計算

      • 地面實況摘要:「狗在公園中用球來擷取。」

      • 產生的摘要:「使用球播放的狗」。

      • ROUGE-2:計算參考和候選者之間共同的 Bigram 數目 (兩個相鄰的單字)。共有 4 個常見的 Bigram ("狗"、"狗玩"、"帶"、"球")。

      • 將地面真相摘要中的 Bigram 總數除以 :9

      • ROUGE-2 = 4/9 = 0.444

    • ROUGE Studio 自動模型評估任務中的分數預設值

      當您使用 Studio 建立自動模型評估任務時, SageMaker 會使用 N=2 作為ROUGE分數計算中使用的 N 克。因此,模型評估任務會使用 Bigram 進行比對。Studio 任務也會使用 Porter 幹細胞,從所有提示中除去字尾。例如,字串被raining截斷為 rain

    • ROUGE fmeval程式庫中可用的分數選項

      您可以使用 fmeval程式庫設定如何使用 SummarizationAccuracyConfig 參數計算ROUGE分數。支援下列選項: 

      • rouge_type:要比對的 N 克長度。三個支援的值為:

        •  ROUGE_1 符合單一單字 (單位)

        •  ROUGE_2 符合單字對 (大圖)。這是預設值。

        •  ROUGE_L 符合最長的常見子序列。  若要計算最長的常見子序列,會考慮單字順序,但連續性不是

          • 例如:

            • 模型摘要 = ‘It is autumn’

            • 參考 = '再次是秋天'

            • Longest common subsequence(prediction, reference)=3

      • use_stemmer_for_rouge:如果 True(預設), 會使用 Porterstemmer 來分割字尾。 

        • 例如:「降雨」被截斷為「降雨」。

  • 以明確 ORdering(METEOR) 分數評估翻譯的指標:METEOR類似於 ROUGE-1,但也包含定律和同義詞比對。它提供比 更全面的摘要品質檢視ROUGE,其僅限於簡單的 n 克比對。METEOR 分數越高,通常表示準確度越高。

    • 限制 :可能不依賴抽象的摘要任務,因為分數依賴確切的單字和同義字重疊。

  • BERTScore:BERTScore使用 BERT 系列的額外 ML 模型來計算句子嵌入並比較其餘弦相似性。此分數旨在比 ROUGE 和 更具有語言靈活性,METEOR因為類似句子可能彼此更接近嵌入。

    • 限制:

      • 繼承用於比較段落的模型限制。

      • 變更單一重要單字時,可能無法用於短文字比較。

    • BERTScoreStudio 自動模型評估任務中的預設值

      當您使用 Studio 建立自動模型評估任務時, SageMaker 會使用deberta-xlarge-mnli模型來計算 BERTScore。

    • BERTScore 程式庫中fmeval可用的選項

      您可以使用 fmeval程式庫,設定如何使用 參數計算SummarizationAccuracyConfig BERTScore。支援下列選項:

回答問題

對於問題回答任務,準確度評估會比較模型產生的答案與給定的地面真相答案,以不同的方式測量模型的問題回答 (QA) 效能。所有這些分數都會在整個資料集上進行平均。

注意

這些指標的計算方式是比較完全相符的產生和地面真相答案。因此,對於可以改述答案而不修改其意義的問題,它們可能不可靠。

  • Precision Over Words 分數:介於 0(最差) 和 1(最佳) 之間的數值分數。若要計算此分數,模型輸出和地面真相會先標準化再進行比較。在計算精確度之前,此評估會移除任何新行字元,以說明幾個不同段落的詳細答案。如果您上傳自己的資料集,就可以用任何語言評估精確度

    • precision = true positives / (true positives + false positives)

      • true positives:模型輸出中也包含在地面真理中的單字數目。

      • false positives:模型輸出中不包含在地面真理中的單字數。

  • Recall Over Words 分數:介於 0(最差) 和 1(最佳) 之間的數字分數。若要計算此分數,在比較之前會先標準化模型輸出和地面真相。在運算召回之前,此評估會移除任何新行字元,以考慮幾個不同段落的動詞答案。由於召回只會檢查答案是否包含地面真相,並且不會懲罰動詞,因此我們建議您使用動詞模型的召回。如果您上傳自己的資料集,則可以用任何語言評估召回

    • recall = true positives / (true positives + false negatives)

      • true positives:模型輸出中也包含在地面真理中的單字數目。

      • false negatives:模型輸出中遺失的單字數目,但包含在地面真理中。

  • F1 Over Words 分數:介於 0(最差) 和 1(最佳) 之間的數字分數。F1 是精確度和召回的諧波平均值。若要計算此分數,模型輸出和地面真相會先標準化再進行比較。在運算 F1 之前,此評估會移除任何新行字元,以考慮幾個不同段落的措辭答案。如果您上傳自己的資料集,則可以用任何語言評估文字上的 F1

    • F1 = 2*((precision * recall)/(precision + recall))

      • precision:精確度的計算方式與精確度分數相同。

      • recall:召回的計算方式與召回分數相同。

  • Exact Match (EM) 分數:二進位分數,指出模型輸出是否完全符合地面真相答案。如果您上傳自己的資料集,則可以用任何語言評估完全相符

    • 0:不是完全相符。

    • 1:完全相符。

    • 範例:

      • 問題 where is the world's largest ice sheet located today?”

      • 地面實況:「南極」

      • 產生的答案:「在南極」

        • 分數:0

      • 產生的答案:「南極」

        • 分數:1

  • Quasi Exact Match 分數:二進位分數的計算方式與 EM 分數類似,但在比較之前模型輸出和地面真相會標準化。對於兩者,輸出會將其轉換為小寫,然後移除文章、標點符號和多餘的空格來標準化。

    • 0:不是準完全相符。

    • 1:準完全相符。

    • 範例:

      • 問題 where is the world's largest ice sheet located today?”

      • 地面實況:「南極」

      • 產生的答案:「南美洲」

        • 分數:0

      • 產生的答案:「在南極大陸」

        • 分數:1

分類

對於分類任務,準確度評估會將預測的輸入類別與其指定的標籤進行比較。所有這些分數都會在整個資料集上個別平均。

  • 準確度分數:二進位分數,指出模型預測的標籤是否完全符合輸入的指定標籤。

    • 0:不是完全相符。

    • 1:完全相符。

  • 精準分數:介於 0(最差) 和 1(最佳) 之間的數值分數。

    • precision = true positives / (true positives + false positives)

      • true positives:模型預測其各自輸入的指定標籤的數字輸入。

      • false positives:模型預測的標籤與其個別輸入的指定標籤不相符的輸入數目。

    • Studio 自動模型評估任務中的精確度分數預設值

      當您使用 Studio 建立自動模型評估任務時, 會透過計算真陽性、假陰性和假陽性總數,在全球所有類別中 SageMaker 計算精確度。

    • 程式庫中fmeval可用的精確分數選項

      使用fmeval程式庫,您可以設定如何使用 參數計算ClassificationAccuracyConfig精確度分數。支援下列選項: 

      • multiclass_average_strategy決定分數在多類別分類設定中如何跨類別彙總。可能的值為{'micro', 'macro', 'samples', 'weighted', 'binary'}None(default='micro')。  在預設情況下micro',透過計算真陽性、假陰性和假陽性總數,在所有類別中全域計算精確度。如需所有其他選項,請參閱sklearn.metrics.precision_score。

        注意

        對於二進位分類,我們建議您使用'binary'平均策略,其對應於精確度的傳統定義。

  • 召回分數:範圍介於 0(最差) 和 1(最佳) 的數值分數。

    • recall = true positives / (true positives + false negatives)

      • true positives:模型預測其個別輸入的指定標籤的輸入數目。

      • false negatives:模型無法預測其個別輸入的指定標籤的輸入數目。

    • Studio 自動模型評估任務中的召回分數預設值

      當您使用 Studio 建立自動模型評估任務時, 會透過計算真陽性、假陰性和假陽性總數,來 SageMaker 計算所有類別的全域召回。

    • 程式庫中fmeval可用的召回分數選項

      您可以使用 fmeval程式庫,設定如何使用 ClassificationAccuracyConfig 參數計算召回分數。支援下列選項: 

      • multiclass_average_strategy決定分數在多類別分類設定中如何跨類別彙總。可能的值為{'micro', 'macro', 'samples', 'weighted', 'binary'}None(default='micro')。  在預設情況下micro',透過計算真陽性、假陰性和假陽性總數,在所有類別中全域計算召回。如需所有其他選項,請參閱sklearn.metrics.precision_score。

        注意

        對於二進位分類,我們建議您使用'binary'平均策略,其對應於回收的傳統定義。

  • 平衡的分類準確性:介於 0(最差) 和 1(最佳) 之間的數值分數。

    • 對於二進位分類 :此分數的計算方式與準確性相同。

    • 對於多類別分類 :此分數會平均所有類別的個別召回分數。

      • 針對下列範例輸出:

        檢閱文字 Ground Truth 標籤 類別名稱 預測標籤
        美味的蛋糕!會再次購買。 3 布朗尼 3
        美味蛋糕!R Ecommended。 2 磅蛋糕 2
        可怕!總蛋糕。 1 磅蛋糕 2
        • 類別 1 召回:0

        • 第 2 類召回:1

        • 第 3 類召回:1

        • 平衡的分類準確度:(0+1+1)/3=0.66