跳到主要内容
训练指南章节 全部文档

准备可信的训练数据

准备本地 JSONL 训练和评估文件,并明确划分数据、验证方式和隐私控制。

所有语言版本中的命令和代码均保持英文。请将大写占位符替换为您账户和付费作业中的实际值;请勿将真实密钥粘贴到共享笔记本或日志中。

训练数据与评估数据分开

训练文本和 prompt/target 评估行分别保存在本地文件中。
  1. 来源 获批准的训练文本
  2. 质量 验证、审查和去重
  3. 训练 用于更新权重的示例
  4. 验证 用于指导改进,但不提供答案
  5. 最终测试 本地留出的验收数据

来源: 获批准的训练文本. 质量: 验证、审查和去重. 训练: 用于更新权重的示例. 验证: 用于指导改进,但不提供答案. 最终测试: 本地留出的验收数据

准备本地 JSONL 数据集

训练来源是包含 text 字段的 JSONL 对象。评估 JSONL 每行包含 prompt、target 和 criterion,并在本地评估。验证文件和最终测试文件必须与训练数据及教师请求分开。数据准备会验证行格式,在启用时跨分区去重,并记录指纹和排除项。

  • 每行放置一个 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 一致。
  • 数据集版本和指纹会记录在运行来源信息中。