

# 評価結果へのアクセスと分析
<a name="customize-fine-tune-evaluate-access-results"></a>

評価ジョブが正常に完了したら、このセクションの情報を使用して結果にアクセスして分析できます。レシピで定義されている `output_s3_path` (`s3://output_path/` など) に基づいて、出力構造は次のようになります。

```
job_name/
├── eval-result/
│    └── results_[timestamp].json
│    └── inference_output.jsonl (only present for gen_qa)
│    └── details/
│        └── model/
│            └── execution-date-time/
│                └──details_task_name_#_datetime.parquet
└── tensorboard-results/
    └── eval/
        └── events.out.tfevents.[timestamp]
```

メトリクスの結果は、指定された S3 出力場所 `s3://output_path/job_name/eval-result/result-timestamp.json` に保存されます。

Tensorboard の結果は S3 パス `s3://output_path/job_name/eval-tensorboard-result/eval/event.out.tfevents.epoch+ip` に保存されます。

`llm_judge` と `strong_reject` を除くすべての推論出力は S3 パス `s3://output_path/job_name/eval-result/details/model/taskname.parquet` に保存されます。

`gen_qa` では、JSON オブジェクトごとに `inference_output.jsonl` ファイルに以下のフィールドが含まれています。
+ prompt - モデルに送信された最終的なプロンプト
+ inference - モデルからの生の推論出力
+ gold - 入力データセットからのターゲットレスポンス
+ metadata - 指定した場合の入力データセットからのメタデータ文字列

Tensorboard で評価メトリクスを視覚化するには、次の手順を実行します。

1. SageMaker AI Tensorboard に移動します。

1. **S3 フォルダー**を選択します。

1. S3 フォルダーパスを追加します (例: `s3://output_path/job-name/eval-tensorboard-result/eval`)。

1. 同期が完了するまで待ちます。

時系列、スカラー、テキストの視覚化を使用できます。

推奨されるベストプラクティスを以下に示します:
+ モデルとベンチマークタイプ別に出力パスを整理しておきます。
+ 追跡を容易にするために、命名規則には一貫性を持たせます。
+ 抽出した結果を安全な場所に保存します。
+ TensorBoard 同期ステータスをモニタリングして、データのロードが成功するようにします。

SageMaker HyperPod ジョブエラーログは、CloudWatch ロググループ `/aws/sagemaker/Clusters/cluster-id` にあります。

## ログ確率出力形式
<a name="nova-hp-access-results-logprobs"></a>

推論設定で `top_logprobs` が設定されている場合、評価出力には Parquet ファイルにトークンレベルのログ確率が含まれます。各トークン位置には、以下の構造のログ確率を持つ上位候補トークンのディクショナリが含まれています。

```
{
"Ġint": {"logprob_value": -17.8125, "decoded_value": " int"},
"Ġthe": {"logprob_value": -2.345, "decoded_value": " the"}
}
```

各トークンエントリには以下が含まれます。
+ `logprob_value`: トークンのログ確率値
+ `decoded_value`: トークンの人間が読み取り可能なデコードされた文字列表現

Raw トークナイザトークンは、一意性を確保するためにディクショナリキーとして使用されますが、`decoded_value` は読み取り可能な解釈を提供します。