> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Datasets

> project のトレースまたは既存の W&B プロジェクトから、再現可能な train データと test データを作成します。

データセットは、利用可能なモデルインタラクションの永続的なスナップショットです。Model Distillation は、エントリを検査と評価のために Postgres に保存し、トレーニング開始時に不変のアーティファクトをエクスポートします。

<Card title="最初のデータセットを作成する" href="/ja/model-distillation/studio/datasets-quickstart" arrow="true">
  ソース選択から行の検査までのステップバイステップガイドに従ってください。
</Card>

<h2 id="choose-a-source">
  ソースを選択する
</h2>

UI では、その project 自体のトラフィックからデータセットを作成します。API では、既存の W\&B プロジェクトや、アップロードした JSONL ファイルもソースとして受け入れます。以下のセクションでは、これら 3 種類のソースについて説明します。

<h3 id="project-traffic">
  project のトラフィック
</h3>

プロキシがトラフィックを記録した場合は、現在の project のトレースを使用します。UI では、**Create Dataset** ダイアログの **Source data** セクションで次の設定を選択できます。

* **Project version:** トレースの選択に使用するプロンプトとルーティング方式を固定します。
* **Served by:** 1 つのモデルが処理したトレースのみを保持します。トレーニングデータを教師モデルのみに限定するには、教師モデルを選択します。**All models** は、そのバージョンを処理したすべてのモデルの出力を混在させます。
* **After (UTC)** と **Before (UTC):** 固定の時間ウィンドウです。UI では、直近 14 日間が固定のタイムスタンプとしてあらかじめ入力されます。
* **最大トレース数:** フィルター適用後のランダムサンプル数です。デフォルトは 20,000、最大は 100,000 です。

API では、`filters` はスカラー値のトレースメタデータも受け入れます。project をソースとする読み取りでは、project に紐づけられたエージェント スパンを使用し、プロバイダーの形式に従ったチャット補完のリクエストと応答を正確に再構築します。

<h3 id="existing-wb-project">
  既存の W\&B プロジェクト
</h3>

Model Distillation の project アイデンティティを持たない、互換性のある Weave Call (自分でログしたもの) をインポートするには、API リクエストの `source` に文字列 `"task"` ではなく、`entity` と `project` を含むオブジェクトを指定します。このソースは UI ダイアログでは選択できません。

<h3 id="uploaded-file">
  アップロードしたファイル
</h3>

W\&B にログされていないサンプルを取り込むには、API を通じて JSONL ファイルをアップロードします。Model Distillation が行を検証し、データセットを作成します。[データセットのアップロード](/ja/model-distillation/studio/datasets-upload)を参照してください。

<div id="sampling-and-split">
  <h2 id="sampling-and-split">
    サンプリングと分割
  </h2>
</div>

どのソースを選択しても、以下の設定でデータセットに含める行数と、それらの行をトレーニング用とテスト用に分割する方法を制御します。

* **最大トレース数** は、フィルタリング後に取得するランダムサンプル数の上限を設定します。
* **Train / test split** は、評価とモデル比較のためにテスト用の行を確保します。残りの行はトレーニングデータになります。デフォルトはトレーニング用が90%、テスト用が10%です。

分割の割り当ては決定論的に行われ、シナリオ、エージェントの実行、会話、またはトレース単位でグループ化されます。関連する例がトレーニング用とテスト用にまたがることはなく、Model Distillation は入力を自動的に重複排除します。

<Note>
  固定の日付範囲を使用してください。移動ウィンドウを使用すると、同じデータセット構成でも、後で異なるトレーニングデータが生成されます。
</Note>

<h2 id="inspect-and-filter-rows">
  行を確認してフィルターする
</h2>

データセットワークベンチには、メッセージ、元の出力、リラベル後の出力、比較モデルの出力、推定トークン数、分割、行ごとの評価結果が表示されます。フィルターでは次の条件を指定できます。

* 入力または元の出力に含まれるテキスト
* トレーニングまたはテストの分割
* リラベルのステータス
* 評価が適用されているかどうか

トレーニングの前に無効なエントリを削除してください。行を削除しても、ソースのトレースは変更されません。

<div id="append-new-traffic">
  <h2 id="append-new-traffic">
    新しいトラフィックを追加する
  </h2>
</div>

データセットを段階的に拡張するには、後の固定範囲に対して**Append**を使用します。Model Distillation は、トレースとターンに基づいてエントリを重複排除します。追加するとデータセットのリビジョンが更新され、カバレッジが一致しなくなった過去の再ラベル付けや評価の結果は古くなります。

<h2 id="what-is-excluded">
  除外されるもの
</h2>

エラーが発生したトレース、不完全なストリーム、無効なチャット補完の構造、および忠実度のマッピングが不完全なトレースは、トレーニングの対象になりません。

<h2 id="delete-a-dataset">
  データセットを削除する
</h2>

データセットは UI または API から削除できます。ファインチューンや評価がデータセットに依存している場合、依存する項目と一緒に削除できますが、データセットだけを削除することはできません。

キュー内または実行中のファインチューン、ルーティングが有効なモデル、実行中の評価がある場合、それらが完了するか削除されるまで、データセットは削除できません。進行中のインポートやリラベル run は削除を妨げません。これらは次のバッチで停止し、Model Distillation は削除開始後に届いた結果をすべて破棄します。

<Warning>
  データセットを依存する項目と一緒に削除すると、依存するファインチューンのトレーニングアーティファクトと、それらのモデルを使用する結果もすべて削除されます。
</Warning>

UI でデータセットを削除するには、次の手順に従ってください。

1. データセットの **Settings** を開き、**Delete dataset** を選択します。
2. データセットに依存する項目がある場合は、**Also delete the dependent fine-tunes and affected evaluations** を選択し、表示された影響を確認します。
3. 確認のため、データセット名を入力します。
4. データセットに依存する項目がある場合は、**Delete Dataset and Dependents** を選択します。それ以外の場合は、**Delete Dataset** を選択します。

確認後、削除はバックグラウンドで実行されます。データを破壊する処理が始まる前に失敗した場合、データセットは再び使用可能になります。その後に失敗した場合、再試行が成功するまでデータセットはロックされたままになります。再試行するには、削除をもう一度確認してください。再試行は、元のリクエストで記録された範囲内で行われます。

<Accordion title="API: データセットを削除する (DELETE /tasks/{alias}/datasets/{datasetId})">
  削除には 1 回のリクエストが必要で、サーバーが依存する項目と削除を妨げる項目を判断します。サーバーがリクエストを受け入れた時点で存在する、依存するファインチューンと影響を受ける評価も削除するには、`cascade=true` を設定します。この設定がない場合、依存する項目があるデータセットは、タイプ `dataset_in_use` の `409 Conflict` を返します。次のリクエストは、データセットを依存する項目と一緒に削除します。

  ```bash theme={"system"}
  curl --request DELETE \
    --url "https://distillation.training.wandb.ai/v1/tasks/ticket-classifier/datasets/$DATASET_ID?cascade=true" \
    --header "Authorization: Bearer $WANDB_API_KEY" \
    --header "Wandb-Entity: your-team"
  ```

  リクエストは、削除操作とそのステータスを含む `202 Accepted` を返します。リクエストを繰り返すと、その操作がキュー内、実行中、または完了済みである間は、同じ操作が返されます。繰り返されたリクエストは、元のリクエストで記録された範囲内で、失敗したクリーンアップも再試行します。データセットがすでに存在せず、操作も存在しない場合、リクエストは `204 No Content` を返し、データセットに対する `GET` は `404 Not Found` を返します。

  削除前に依存する項目と削除を妨げる項目を確認するには、`GET /tasks/{alias}/datasets/{datasetId}/deletion-plan` を呼び出します。このプレビューは情報提供を目的としており、実行中の削除のステータスも示します。リファレンスの詳細については、[データセットを削除する](/ja/model-distillation/reference/management/datasets/delete-a-dataset)と[データセットの削除をプレビューする](/ja/model-distillation/reference/management/datasets/preview-dataset-deletion)を参照してください。
</Accordion>

<Accordion title="API: project のデータセットを一覧表示する (GET /tasks/{alias}/datasets)">
  エージェントは、再ラベル付け、トレーニング、評価を開始する前に、準備完了のデータセット ID を取得できます。

  ```bash theme={"system"}
  curl --url "https://distillation.training.wandb.ai/v1/tasks/ticket-classifier/datasets" \
    --header "Authorization: Bearer $WANDB_API_KEY" \
    --header "Wandb-Entity: your-team"
  ```

  データを作成または追加するには、[データセットのクイックスタート](/ja/model-distillation/studio/datasets-quickstart)にあるコピー可能なリクエストに従ってください。この操作のリファレンスの詳細については、[データセットを一覧表示する](/ja/model-distillation/reference/management/datasets/list-datasets)を参照してください。
</Accordion>
