メインコンテンツへスキップ
学習ガイドの章 すべてのドキュメント

信頼できる学習データを準備する

分割、検証、プライバシー制御を明確にして、ローカルの JSONL 学習・評価ファイルを準備します。

どの言語版でもコマンドとコードは英語のままです。大文字のプレースホルダーは、ご自身のアカウントと有料ジョブの値に置き換えてください。共有ノートブックやログに実際のキーを貼り付けないでください。

学習データと評価データを分ける

学習テキストと prompt/target 形式の評価行は、別々のローカルファイルに保存します。
  1. データソース 承認済みの学習テキスト
  2. 品質 検証、レビュー、重複除去
  3. 学習 重み更新に使用する例
  4. 検証 答えを教えずに改善を促すデータ
  5. 最終テスト ローカルに留保した受け入れデータ

データソース: 承認済みの学習テキスト. 品質: 検証、レビュー、重複除去. 学習: 重み更新に使用する例. 検証: 答えを教えずに改善を促すデータ. 最終テスト: ローカルに留保した受け入れデータ

ローカルの JSONL データセットを準備する

学習ソースは text フィールドを持つ JSONL オブジェクトです。評価用 JSONL の各行には prompt、target、criterion を含め、ローカルで評価します。検証用と最終テスト用のファイルは学習データや教師モデルへのリクエストと分けてください。データ準備では行を検証し、設定されていれば分割間の重複を除去して、フィンガープリントと除外項目を記録します。

  • 1行に1つの JSON オブジェクトを置き、UTF-8 を使います。
  • 検証用または最終テスト用の回答を学習テキストに含めないでください。
  • 教師モデルへのリクエストには、明示的に承認された学習例だけを含めます。
例 · python
from fusionpointai_training.client import DatasetManifest

# Continue with an authenticated client and an owned session.
ready = client.prepare_session(session["id"])
for item in ready["datasets"]:
    manifest = DatasetManifest(
        split=item["split"], sha256=item["sha256"],
        bytes=item["bytes"], rows=item["rows"],
    )
    rows = client.download_dataset(ready["id"], manifest)
    print(manifest.split, len(rows), manifest.sha256)
    # Each row has a text field. Do not log private training content.
例 · python
import os
from fusionpointai_training import TrainingClient

client = TrainingClient(api_key=os.environ["FUSIONPOINTAI_API_KEY"])
session = client.get_session(os.environ["FUSIONPOINTAI_SESSION_ID"])
for manifest in session["datasets"]:
    print(
        manifest["split"],
        "rows:", manifest["rows"],
        "bytes:", manifest["bytes"],
        "sha256:", manifest["sha256"],
    )
# These are server-provided manifest values, not a local integrity pass.
例 · python
import hashlib
from pathlib import Path

dataset_path = Path("train.jsonl")
expected_bytes = int(input("Manifest bytes: "))
expected_rows = int(input("Manifest rows: "))
expected_sha256 = input("Manifest SHA-256: ").strip()
body = dataset_path.read_bytes()
actual_sha256 = hashlib.sha256(body).hexdigest()
actual_rows = sum(1 for line in body.splitlines() if line)
print("Byte count matches:", len(body) == expected_bytes)
print("Row count matches:", actual_rows == expected_rows)
print("SHA-256 matches:", actual_sha256 == expected_sha256)
# Use values copied from the session manifest; do not log dataset contents.

漏えいを防ぎ、機密データを保護する

最終受け入れ評価用データは学習ループの外に保管します。必要に応じて個人情報を削除し、利用権を確認し、生成例の誤りや有害な傾向をレビューしてください。設定した重複除去とファイルのフィンガープリントは、重複の検出と完全性の維持に役立ちますが、内容の正しさを証明したり、プライバシーレビューに代わったりするものではありません。

  • ファイルのダイジェストで証明できるのは完全性であり、真実性やデータ品質ではありません。
  • 共有ノートブックの例に実際の顧客記録を使わないでください。
  • 再現性のため、出典、許可、トピック、変換履歴を記録します。

分割と教師モデル共有を明確にする

プロジェクトはローカルの学習・評価ファイルを検証し、設定済みの重複除去を適用してデータのフィンガープリントを記録し、最終テスト分割を最適化から除外します。teacher_sharing が approved_only の場合、承認済みの学習テキストだけを教師モデルに送れます。none の場合、顧客の例はローカルに保たれます。

  • 教師モデルが生成した例は学習テキストとして保存し、評価の回答として扱いません。
  • 最終テストパスは rubric.final_test.path と一致させます。
  • データセットのバージョンとフィンガープリントは実行の来歴に含まれます。