

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解配方参数


**运行配置**  
以下是常规运行配置和所涉及参数的说明。

```
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`：（必填）评估作业的描述性名称。这有助于在 Amazon 控制台中识别您的作业。
+ `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-as-a-Judge* 配方，否则请将此参数留空。
+ `output_s3_path`：（必填）存储输出评估构件的 S3 路径。请注意，输出 S3 存储桶必须由创建作业的账户创建。
+ `mlflow_tracking_uri`:（可选） MLflow 跟踪服务器 ARN，用于跟踪 MLFlow 运行/实验。请确保您有权通过 SageMaker AI 执行角色访问跟踪服务器

**评估配置**  
以下是模型评测配置和所涉及参数的说明。

```
evaluation:
  task: mmlu
  strategy: zs_cot 
  subtask: mathematics
  metric: accuracy
```
+ `task`：（必填）指定要使用的评估基准测试或任务。

  支持的任务列表：
  + mmlu
  + mmlu\$1pro
  + bbh
  + gpqa
  + math
  + strong\$1reject
  + gen\$1qa
  + ifeval
  + llm\$1judge
  + humaneval
  + mm\$1llm\$1judge
  + rubric\$1llm\$1judge
  + aime\$12024
  + 日历日程安排
  + humaneval
+ `strategy`：（必填）定义评估方法：
  + zs\$1cot：Zero Chain-of-Thought-shot-一种无需明确示例即可鼓励 step-by-step推理的大型语言模型的方法。
  + zs：零样本，该方法事先无需任何训练示例即可解决问题。
  + gen\$1qa：一种专门用于自带数据集配方的策略。
  + judge：一种专门针对作为评委和 mm\$1llm\$1judge 的 Amazon Nova LLM 的策略。
+ `subtask`：（可选且可移除）为某些评估任务指定具体的子任务。如果您的任务没有任何子任务，请将其从配方中移除。
+ `metric`：（必填）要使用的评估指标。
  + accuracy：正确答案的百分比
  + exact\$1match：（对于 `math` 基准测试），返回输入预测字符串与其引用完全匹配的速率。
  + deflection：（对于 `strong reject` 基准测试），返回基本模型的相对偏差和差异显著性指标。
  + pass@1：（对于 `humaneval` 基准测试），该指标用于衡量模型的最高置信度预测与正确答案相匹配的情况所占的百分比。
  + `all`：返回以下指标：
    + 对于 `gen_qa` 和自带数据集基准测试，返回以下指标：
      + `rouge1`：衡量生成的文本和参考文本之间的一元（单个词）重叠度。
      + `rouge2`：衡量生成的文本和参考文本之间的二元（两个连续的词）重叠度。
      + `rougeL`：衡量文本之间的最长公共子序列，匹配中可以存在间隙。
      + `exact_match`：二进制分数（0 或 1），用于指示生成的文本是否与参考文本逐个字符完全匹配。
      + `quasi_exact_match`：与精确匹配类似，但更加宽松，通常忽略大小写、标点符号和空格差异。
      + `f1_score`：精度和查全率之间的调和平均数，衡量预测答案和参考答案之间的词语重叠度。
      + `f1_score_quasi`：与 f1\$1score 类似，但匹配更为宽松，使用忽略细微差异的标准化文本比较。
      + `bleu`：衡量生成的文本和参考文本之间 n-gram 匹配的精确度，通常用于翻译评估。
    + 对于`llm_judge`和`mm_llm_judge`，请自带数据集基准测试，返回以下指标：
      + `a_scores`：前向和反向评估传递中 `response_A` 的获胜次数。
      + `a_scores_stderr`：成对判断中 `response_A scores` 的标准误差。
      + `b_scores`：前向和反向评估传递中 `response_B` 的获胜次数。
      + `b_scores_stderr`：成对判断中 `response_B scores` 的标准误差。
      + `ties`：`response_A` 和 `response_B` 被评估为相等的判断数量。
      + `ties_stderr`：成对判断中平局的标准误差。
      + `inference_error`：无法适当评估的判断数量。
      + `inference_error_stderr`：判断中推理错误的标准误差。
      + `score`：基于 `response_B` 在前向和反向传递中的获胜次数得出的总分。
      + `score_stderr`：成对判断中总分的标准误差。
      + `winrate`：使用 Bradley-Terry 概率模型计算的 response\$1B 比 response\$1A 更受欢迎的概率。
      + `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`：推理响应中要返回的排名靠前的日志探测器的数量。此值必须是介于 0 到 20 之间的整数。Logprobs 包含考虑的输出标记，以及消息内容中返回的每个输出令牌的日志概率。
+ `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`:（可选）将相关机器学习组合在一起的实验名称
+ `mlflow_run_name`:（可选）在实验中运行的特定训练的自定义名称