Перейти к основному содержимому
Главы руководства по обучению Вся документация

Создайте и запустите проект обучения

Установите SDK 0.2.0, настройте проект, проверьте план и обучите локальную модель.

Команды и код во всех языковых версиях остаются на английском. Заменяйте ЗАГЛАВНЫЕ заполнители значениями своей учетной записи и оплаченного задания. Не вставляйте реальные ключи в общие ноутбуки или журналы.

Создайте и запустите проект

Проверьте план и оценку, прежде чем использовать локальный артефакт.
  1. Установка Среда Python
  2. Настройка Модель, данные и оценочная шкала
  3. План Совместимость и бюджеты
  4. Обучение Локальная оптимизация
  5. Проверка Оценка и артефакт

Установка: Среда Python. Настройка: Модель, данные и оценочная шкала. План: Совместимость и бюджеты. Обучение: Локальная оптимизация. Проверка: Оценка и артефакт

Подготовьте среду

Используйте Python 3.10 или новее в отдельном виртуальном окружении. Установите дополнение train и совместимую сборку PyTorch. TrainingProject использует зарегистрированный адаптер Transformers для причинно-языковых моделей с проверкой поддержки SFT, LoRA и QLoRA. Нужны ключ API, оплаченный доступ к референсной модели для запросов учителю, совместимая локальная модель, одобренные данные и достаточно места. Выбор среды не предоставляет оборудование.

  • Базовый пакет содержит TrainingClient и API проекта; дополнение train устанавливает зависимости локального обучения.
  • Храните ключи API в секретном окружении процесса, а не в файлах проекта или аргументах команд.
  • Для QLoRA нужны совместимая среда CUDA и зависимости квантования.
Пример · bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
# Install the GPU-compatible PyTorch build for your runtime first.
python -m pip install 'fusionpointai-training[train] @ https://fusionpointai.com/downloads/fusionpointai-training.zip'
# API-only use without local training dependencies:
# python -m pip install 'fusionpointai-training @ https://fusionpointai.com/downloads/fusionpointai-training.zip'

Настройте проект и проверьте план

Создайте каталог проекта и подготовьте файлы JSONL для обучения, валидации и итогового теста, затем отредактируйте training.json и rubric.json. Укажите локальный путь к модели-ученику, провайдера и включенный в план reference_model_id. План проверяет конфигурацию, совместимость модели, fingerprints данных, политику передачи, бюджеты и выходные файлы, не меняя веса и не отправляя запросы учителю.

  • Используйте schema_version 1.0: это версия схемы конфигурации, а не пакета.
  • Относительные пути должны разрешаться внутри каталога проекта.
  • Для запуска нужен новый каталог результатов; возобновление — отдельная операция со строгой проверкой fingerprints.
Пример · bash
# Enter the key using a secure runtime secret facility or this history-safe prompt.
read -rs -p 'FusionPointAI API key: ' FUSIONPOINTAI_API_KEY
export FUSIONPOINTAI_API_KEY
printf '\n'
python --version
fpai-training --version
# After the project run, clear the shell value: unset FUSIONPOINTAI_API_KEY
Пример · json
{
  "schema_version": "1.0",
  "mode": "automatic",
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "data": {
    "sources": ["./data/train.jsonl"], "teacher_sharing": "none",
    "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl",
    "deduplicate": true, "seed": 42
  },
  "runtime": {"target": "customer_datacenter", "devices": "auto"},
  "training": {"method": "auto"},
  "curriculum": {"topics": ["intent", "ambiguous_requests", "class_balance"], "max_improvement_cycles": 3, "stop_on_regression": true},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "checkpoints": {"keep_last": 3},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-001", "format": "safetensors"}
}
Пример · python
import os
from fusionpointai_training import TrainingProject

project = TrainingProject.from_file(
    "./support-project/training.json",
    api_key=os.environ["FUSIONPOINTAI_API_KEY"],
)
plan = project.plan(dry_run=True)
print("Topics:", plan["topics"], "Budgets:", plan["budgets"])
result = project.run()
print("Run:", result["run_id"], result["status"], result["stop_reason"])
evaluation = project.evaluate(split="test")
print("Accepted:", evaluation["accepted"], evaluation["report_path"])
artifact = project.export(format="safetensors")
print("Artifact:", artifact["artifact_path"], artifact["sha256"])

Проверьте оценку и локальный артефакт

Обучение измеряет исходный уровень неизмененной модели и оценивает итоговую модель на локальных отложенных данных. В отчетах указаны измеренные критерии, регрессии, fingerprints, бюджеты и невыполненные требования. Экспорт проверяет локальную модель или адаптер в формате safetensors и создает манифест. Адаптеру по-прежнему нужны точная закрепленная базовая модель и токенизатор. Успешный запуск не гарантирует качество задач за пределами оценочной шкалы.

  • Храните исходные и итоговые проверочные файлы отдельно от обучающих данных и запросов учителю.
  • Перед использованием результатов изучите evaluation-report.json и artifact-manifest.json.
  • Экспорт не загружает модель в сервис и не развертывает ее для продуктивного инференса.
Пример · bash
cat ./support-project/runs/support-001/training-report.json
cat ./support-project/runs/support-001/evaluation-report.json
cat ./support-project/runs/support-001/artifact-manifest.json
sha256sum ./support-project/runs/support-001/exports/safetensors/artifact-manifest.json
# Compare the digest with the value returned by project.export().
# Adapter exports also require the matching base model and tokenizer.