什麼是基礎模型評估? - Amazon SageMaker AI

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

什麼是基礎模型評估?

FMEval 可協助您量化模型風險,例如不準確、有害或偏差的內容。評估 LLM 可協助您遵守負責任生成式 AI 的國際準則,例如 ISO 42001 AI 管理系統標準和 NIST AI 風險管理架構。

以下各節提供支援方法的廣泛概觀,這些方法用於建立模型評估、檢視模型評估任務的結果,以及分析結果。

模型評估任務

在模型評估任務中,評估任務是您希望模型根據提示中的資訊執行的任務。您可以選擇每個模型評估任務一種任務類型。

模型評估任務中支援的任務類型
  • 開放式產生 – 對沒有預先定義結構的文字產生自然人類回應。

  • 文字摘要 – 產生簡潔扼要的摘要,同時保留較大文字中包含的意義和關鍵資訊。

  • 問答 – 產生相關且準確的提示回應。

  • 分類 – 根據文字內容將標籤或分數等類別指派給文字。

  • 自訂 – 可讓您定義模型評估任務的自訂評估維度。

每個任務類型都有與其相關聯的特定指標,您可以在自動模型評估任務中使用這些指標。若要了解與自動模型評估任務相關聯的指標,以及使用人力的模型評估任務,請參閱在模型評估任務中使用提示資料集和可用的評估維度

更新推論參數

推論參數是一種影響模型輸出的方式,無需重新訓練或微調模型。

在自動模型評估任務中,您可以變更模型的溫度、Top P 和新字符數上限。

溫度

變更模型回應中的隨機量。降低預設溫度可降低隨機量,而提高預設溫度則可增加隨機量。

Top P

在推論期間,模型正在產生文字,並從單字清單中選擇來放置下一個單字。更新 Top P 會根據百分比變更該清單中的單字數。減少 Top P 會導致更確定性的範例,而較高的值將允許所產生的文字具有更多的可變性和創造性。

新字符數上限

變更模型可提供的回應長度。

將模型新增至您的模型評估任務後,您可以在 Studio 中更新推論參數。

自動模型評估任務

自動模型評估任務會根據基準使用指標來衡量對客戶的有毒、有害或其他不良回應。模型回應是使用任務特有的內建資料集進行評分,或者您可以指定自己的自訂提示資料集。

若要建立自動模型評估任務,您可以使用 Studio 或 fmeval 程式庫。自動模型評估任務支援使用單一模型。在 Studio 中,您可以使用 JumpStart 模型,也可以使用您先前部署到端點的 JumpStart 模型。

或者,您可以將 fmeval 程式庫部署到您自己的程式碼庫,並為您自己的使用案例自訂模型評估任務。

若要進一步了解您的結果,請使用產生的報告。報告包含視覺化和範例。您也可以看到結果儲存在建立任務時指定的 Amazon S3 儲存貯體中。若要進一步了解結果的結構,請參閱了解自動評估任務的結果

若要使用 JumpStart 中未公開提供的模型,您必須使用 fmeval 程式庫來執行自動模型評估任務。如需 JumpStart 模型的清單,請參閱可用的基礎模型

提示範本

為了協助確保您選取的 JumpStart 模型針對所有提示都執行良好,SageMaker Clarify 會自動將您的輸入提示增強為最適合您選取的模型和評估維度的格式。若要查看 Clarify 提供的預設提示範本,請在評估維度的卡片中選擇提示範本。例如,如果您在 UI 中選取任務類型文字摘要,Clarify 預設會顯示每個相關評估維度的卡片 - 在此案例中為準確性毒性語意穩健性。在這些卡片中,您可以設定 Clarify 用來測量該評估維度的資料集和提示範本。您也可以移除您不想要使用的任何維度。

預設提示範本

Clarify 提供一系列資料集,您可以用來測量每個評估維度。您可以選擇使用其中一或多個資料集,也可以提供您自己的自訂資料集。如果您使用 Clarify 提供的資料集,也可以使用 Clarify 插入的提示範本做為預設值。我們透過分析每個資料集中的回應格式,並確定實現相同回應格式所需的查詢增強來衍生這些預設提示。

Clarify 提供的提示範本也取決於您選取的模型。您可以選擇經過微調的模型,以在提示的特定位置預期指示。例如,選擇模型 meta-textgenerationneuron-llama-2-7b、任務類型文字摘要和 Gigaword 資料集會顯示下列的預設提示範本:

Summarize the following text in one sentence: Oil prices fell on thursday as demand for energy decreased around the world owing to a global economic slowdown...

另一方面,選擇 llama 聊天模型 meta-textgenerationneuron-llama-2-7b-f 會顯示下列預設提示範本:

[INST]<<SYS>>Summarize the following text in one sentence:<</SYS>>Oil prices fell on thursday as demand for energy decreased around the world owing to a global economic slowdown...[/INST]

自訂提示範本

在提示範本對話方塊中,您可以開啟或關閉 SageMaker Clarify 提供的自動提示範本支援。如果您關閉自動提示範本,Clarify 會提供您可以修改的預設提示 (做為相同評估維度內所有資料集的基準)。例如,如果預設提示範本包含指示用一個句子中摘要說明以下內容,您可以將其修改為用少於 100 個字摘要說明以下內容,或您想要使用的任何其他指示。

此外,如果您修改評估維度的提示,相同的提示會套用到使用該相同維度的所有資料集。因此,如果您選擇將提示用 17 個句子摘要說明下列文字套用到資料集 Gigaword 以測量毒性,則相同的指示會用於資料集 Government report 來測量毒性。如果您想要針對不同的資料集使用不同的提示 (使用相同的任務類型和評估維度),您可以使用 FMEval 提供的 python 套件。如需詳細資訊,請參閱使用 fmeval 程式庫自訂您的工作流程

範例 使用提示範本更新提示範本的範例

想像一個簡單的案例,其中您有一個只包含兩個提示的簡單資料集,而且您想要使用 meta-textgenerationneuron-llama-2-7b-f 評估它們。

{ "model_input": "Is himalaya the highest mountain in the world?", "target_output": "False, Mt. Everest is the highest mountain in the world", "category": "Geography" }, { "model_input": "Is Olympia the capital of Washington?", "target_output": "True", "category": "Capitals" }

由於您的提示是問答組合,您可以選擇問答 (Q&A) 任務類型。

透過在 Studio 中選擇提示範本,您可以查看 SageMaker Clarify 如何格式化您的提示,以符合 meta-textgenerationneuron-llama-2-7b-f JumpStart 模型的要求。

[INST]<<SYS>>Respond to the following question. Valid answers are "True" or "False".<<SYS>>Is himalaya the highest mountain in the world?[/INST]

對於此模型,SageMaker Clarify 將透過新增 [INST]<<SYS>> 標籤來補充您的提示,以包含正確的提示格式。它也會透過新增 Respond to the following question. Valid answers are "True" or "False". 來增強您的初始請求,以協助模型做出更好的回應。

SageMaker Clarify 提供的文字可能不太適合您的使用案例。若要關閉預設提示範本,請將資料集預設提示範本切換到關閉

您可以編輯提示範本,以符合您的使用案例。例如,您可以提示輸入簡短的回應,而不是 True/False 答案格式,如下行所示:

[INST]<<SYS>>Respond to the following question with a short response.<<SYS>>Is himalaya the highest mountain in the world?[/INST]

現在,所指定評估維度下的所有內建或自訂提示資料集都會使用您指定的提示範本。

使用人力的模型評估任務

您也可以利用人力來手動評估模型回應以取得更多主觀維度,例如實用性或風格。若要建立使用人力的模型評估任務,您必須使用 Studio。

在使用人工的模型評估任務中,您最多可以比較兩個 JumpStart 模型的回應。或者,您也可以指定來自 外部模型的回應AWS。使用人力的所有模型評估任務都需要您建立自訂提示資料集,並將其存放在 Amazon S3 中。若要進一步了解如何建立自訂提示資料,請參閱建立使用人力的模型評估任務

在 Studio 中,您可以定義人力用來評估模型回應的條件。您也可以使用 Studio 中提供的範本來記錄評估指示。此外,您可以在 Studio 中建立工作團隊。工作團隊是您想要其參與模型評估任務的人員。