本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是基礎模型評估?
FMEval 可協助您量化模型風險,例如不準確、有毒或偏差的內容。評估您的 LLM 可協助您遵守負責任生成式 AI 的國際準則,例如 ISO 42001
以下各節提供建立模型評估、檢視模型評估任務的結果,以及分析結果的支援方法的廣泛概觀。
模型評估任務
在模型評估任務中,評估任務是您希望模型根據提示中的資訊執行的任務。您可以為每個模型評估任務選擇一個任務類型
模型評估任務中支援的任務類型
-
開放式產生 – 對沒有預先定義結構的文字產生自然人類回應。
-
文字摘要 – 產生簡潔和精簡的摘要,同時保留較大文字中包含的意義和金鑰資訊。
-
問題回答 – 產生相關且準確的提示回應。
-
分類 – 根據文字內容指派類別,例如標籤或分數。
-
自訂 – 可讓您定義模型評估任務的自訂評估維度。
每個任務類型都有與其相關聯的特定指標,您可以在自動化模型評估任務中使用。若要了解與自動模型評估任務相關的指標,以及使用人力工作者的模型評估任務,請參閱 在模型評估任務中使用提示資料集和可用的評估維度 。
更新推論參數
推論參數是影響模型輸出的方式,而不必重新訓練或微調模型。
在自動模型評估任務中,您可以變更模型的溫度、前 P 和最大新權杖。
溫度
變更模型回應中的隨機性量。降低預設溫度以降低隨機性,並提高至更多。
Top P
在推論期間,模型正在產生文字,並從單字清單中選擇來放置下一個單字。更新前 P 會根據百分比變更該清單中的單字數。減少 Top P 會導致更確定性的範例,而較高的值將允許在產生的文字中有更多的可變性和創造性。
新的字符上限
變更模型可提供的回應長度。
您可以在將模型新增至模型評估任務之後,更新 Studio 中的推論參數。
自動模型評估任務
自動模型評估任務會根據基準使用指標來測量對客戶的有毒、有害或其他不良回應。模型回應是使用任務特定的內建資料集進行評分,或者您可以指定自己的自訂提示資料集。
若要建立自動模型評估任務,您可以使用 Studio 或程式fmeval
或者,您可以將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 中建立工作團隊。工作團隊是您想要參與模型評估工作的人員。