了解配方參數 - Amazon Nova

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

了解配方參數

執行組態

以下是一般執行組態及所涉及參數的說明。

run: name: eval_job_name model_type: amazon.nova-micro-v1:0:128k model_name_or_path: nova-micro/prod replicas: 1 data_s3_path: "" output_s3_path: s3://output_path mlflow_tracking_uri: "" mlflow_experiment_name : "" mlflow_run_name : ""
  • name:(必要) 評估任務的描述性名稱。這有助於在 AWS 主控台中識別您的任務。

  • model_type:(必要) 指定要使用的 Amazon Nova 模型變體。請勿手動修改此欄位。選項包括:

    • amazon.nova-micro-v1:0:128k

    • amazon.nova-lite-v1:0:300k

    • amazon.nova-pro-v1:0:300k

    • amazon.nova-2-lite-v1:0:256k

  • model_name_or_path:(必要) 基本模型的路徑或訓練後檢查點的 S3 路徑。選項包括:

    • nova-micro/prod

    • nova-lite/prod

    • nova-pro/prod

    • nova-lite-2/prod

    • (訓練後檢查點的 S3 路徑) s3://<escrow bucket>/<job id>/outputs/checkpoints

  • replicas:(必要) 分散式訓練中要使用的運算執行個體數目。您必須將此值設定為 1,因為不支援多節點。

  • data_s3_path:(必要) 輸入資料集的 S3 路徑。除非您使用的是使用自有資料集LLM 即評審配方,否則請將此參數保留空白。

  • output_s3_path:(必要) 存放輸出評估成品的 S3 路徑。請注意,輸出 S3 儲存貯體必須由建立任務的相同帳戶建立。

  • mlflow_tracking_uri:(選用) 用於追蹤 MLflow 執行/實驗的 MLFlow 追蹤伺服器 ARN。請確保您具有從 SageMaker AI 執行角色存取追蹤伺服器的許可

評估組態

以下是模型評估組態及所涉及參數的說明。

evaluation: task: mmlu strategy: zs_cot subtask: mathematics metric: accuracy
  • task:(必要) 指定要使用的評估基準或任務。

    支援的任務清單:

    • mmlu

    • mmlu_pro

    • bbh

    • gpqa

    • 數學運算

    • strong_reject

    • gen_qa

    • ifeval

    • llm_judge

    • humaneval

    • mm_llm_judge

    • rubric_llm_judge

    • aime_2024

    • calendar_scheduling

    • humaneval

  • strategy:(必要) 定義評估方法:

    • zs_cot:零樣本思緒鏈 - 一種可提示大型語言模型的方法,鼓勵逐步推理,而無需明確的範例。

    • zs:零樣本 - 一種無需任何先前訓練範例即可解決問題的方法。

    • gen_qa:使用自有資料集配方特定的策略。

    • 判斷:Amazon Nova LLM 作為判斷和 mm_llm_judge 的特定策略。

  • subtask:(選用且可移除) 針對特定評估任務指定特定子任務。如果您的任務沒有任何子任務,請從配方中移除此項目。

  • metric:(必要) 要使用的評估指標。

    • 正確性:正確回答的百分比

    • exact_match:(對於 math 基準) 會傳回輸入預測字串與其參考完全相符的比率。

    • 偏轉:(對於 strong reject 基準測試) 會將相對偏轉傳回基本模型和顯著性指標的差異。

    • pass@1:(對於 humaneval 基準測試) 用來測量模型最高可信度預測符合正確回答之案例百分比的指標。

    • all:傳回下列指標:

      • 對於 gen_qa 和使用自有資料集基準,這會傳回下列指標:

        • rouge1:測量所產生文字和參考文字之間一元語法 (一個字) 的重疊。

        • rouge2:測量所產生文字和參考文字之間二元語法 (連續兩個字) 的重疊。

        • rougeL:測量文字之間最長的共同子序列,允許相符項目中的差距。

        • exact_match:二元分數 (0 或 1),指出產生的文字是否逐字元完全符合參考文字。

        • quasi_exact_match:類似於完全相符但更寬鬆,通常忽略大小寫、標點符號和空格差異。

        • f1_score:精確率和召回率的調和平均數,可測量預測回答和參考回答之間的字詞重疊。

        • f1_score_quasi:類似於 f1_score,但比對更寬鬆,使用會忽略次要差異的標準化文字比較。

        • bleu:測量所產生文字和參考文字之間 n 元語法比對的精確率,常用於轉譯評估。

      • 對於 llm_judgemm_llm_judge,使用您自己的資料集基準,請傳回下列指標:

        • a_scores:跨向前和向後評估傳遞的 response_A 其獲勝次數。

        • a_scores_stderr:跨配對判斷的 response_A scores 其標準誤。

        • b_scores:跨向前和向後評估傳遞的 response_B 其獲勝次數。

        • b_scores_stderr:跨配對判斷的 response_B scores 其標準誤。

        • ties:將 response_Aresponse_B 評估為相等的判斷數目。

        • ties_stderr:跨配對判斷的繫結其標準誤。

        • inference_error:無法正確評估的判斷計數。

        • inference_error_stderr:跨判斷的推論錯誤其標準誤。

        • score:根據 response_B 其向前和向後傳遞中的獲勝來彙總分數。

        • score_stderr:跨配對判斷的彙總分數其標準誤。

        • winrate:使用 Bradley-Terry 機率計算將比 response_A 偏好 response_B 的機率。

        • lower_rate:從引導取樣預估勝率的下限 (第 2.5 個百分位數)。

推論組態

以下是推論組態及所涉及參數的說明。所有參數都是選用的。

inference: max_new_tokens: 200 top_k: -1 top_p: 1.0 temperature: 0 top_logprobs: 10 reasoning_effort: null # options: low/high to enable reasoning or null to disable reasoning
  • max_new_tokens:要產生的記號數目上限。這必須為整數。

  • top_k:要考慮的最高機率記號數量。這必須為整數。

  • top_p:記號抽樣的累積機率閾值。這必須是介於 0.0 到 1.0 (含) 之間的浮點數。

  • temperature:記號選擇中的隨機性。越大的值會導致越大的隨機性。使用 0 會讓結果具有決定性。此值必須是最小值為 0 的浮點數。

  • top_logprobs:推論回應中要傳回的最大 logprob 數目。此值必須是 0 到 20 的整數。Logprob 包含考慮的輸出字符,以及訊息內容中傳回的每個輸出字符的日誌機率。

  • reasoning_effort:控制可推理模型的推理行為。reasoning_effort 只有在model_type指定可推理的模型時設定 (目前為 amazon.nova-2-lite-v1:0:256k)。可用選項為 null(如果未設定預設值;停用推理)low、 或 high

請注意,對於 humaneval,我們建議使用下列推論組態:

inference: top_k: 1 max_new_tokens: 1600 temperature: 0.0
MLFlow 組態

以下是 MLFlow 組態和所涉及參數的說明。所有參數都是選用的。

run: mlflow_tracking_uri: "" mlflow_experiment_name: "" mlflow_run_name: ""
  • mlflow_tracking_uri:選用) MLflow 追蹤伺服器的位置 (僅在 SMHP 上需要)

  • mlflow_experiment_name:(選用) 將相關 ML 執行分組在一起的實驗名稱

  • mlflow_run_name:(選用) 實驗中特定訓練執行的自訂名稱