레시피 파라미터 이해 - 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

    • math

    • 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: 사용자 제공 데이터세트 레시피에 특화된 전략입니다.

    • judge: Amazon Nova 평가형 LLM 및 mm_llm_judge에 특정한 전략.

  • subtask: (선택 사항, 제거 가능) 특정 평가 태스크에 대한 특정 하위 태스크를 지정합니다. 태스크에 하위 태스크가 없는 경우 레시피에서 이를 제거합니다.

  • metric: (필수) 사용할 평가 지표입니다.

    • accuracy: 정답 비율입니다.

    • exact_match: (math 벤치마크의 경우) 입력 예측 문자열이 참조와 정확히 일치하는 비율을 반환합니다.

    • deflection: (strong reject 벤치마크의 경우) 기본 모델에 대한 상대 편향과 중요도 지표의 차이를 반환합니다.

    • pass@1: (humaneval 벤치마크의 경우) 모델의 최고 신뢰도 예측이 정답과 일치하는 사례의 비율을 측정하는 데 사용되는 지표입니다.

    • all: 다음 지표를 반환합니다.

      • gen_qa 및 사용자 제공 데이터세트 벤치마크의 경우 다음 지표를 반환합니다.

        • rouge1: 생성된 텍스트와 참조 텍스트 간의 유니그램(단일 단어) 중복을 측정합니다.

        • rouge2: 생성된 텍스트와 참조 텍스트 간의 바이그램(2개 연속 단어) 중복을 측정합니다.

        • rougeL: 텍스트 간에 가장 긴 공통 부분 수열을 측정하며, 일치 항목 간의 간격을 허용합니다.

        • exact_match: 생성된 텍스트가 문자별로 참조 텍스트와 정확히 일치하는지 여부를 나타내는 이진 점수(0 또는 1)입니다.

        • quasi_exact_match: 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: 쌍별 판단에서 ties의 표준 오차입니다.

        • inference_error: 올바르게 평가되지 못한 판단 수입니다.

        • inference_error_stderr: 판단 간 추론 오류의 표준 오차입니다.

        • score: response_B에 대한 순방향 및 역방향 패스의 승리 횟수에 기반한 집계 점수입니다.

        • score_stderr: 쌍별 판단에서 집계 점수의 표준 오차입니다.

        • winrate: Bradley-Terry 확률을 사용하여 계산된, response_B가 response_A보다 선호될 확률입니다.

        • 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: 추론 응답에서 반환할 상위 logprobs 수. 이 값은 0~20의 정수여야 합니다. Logprobs에는 메시지 콘텐츠에서 반환된 각 출력 토큰의 고려된 출력 토큰 수와 로그 확률이 포함됩니다.

  • reasoning_effort: 추론 가능 모델의 추론 동작을 제어합니다. model_type이 추론 가능 모델(현재 amazon.nova-2-lite-v1:0:256k)을 지정하는 경우에만 reasoning_effort를 설정합니다. 사용 가능한 옵션은 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: (선택 사항) 실험 내 특정 훈련 실행의 사용자 지정 이름