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

Справочник по конфигурации TrainingProject

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

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

От конфигурации к воспроизводимому запуску

Сначала подберите и проверьте все настройки, затем переходите к платным операциям и изменению весов.
  1. Опишите Модель, модель-учитель и цель
  2. Задайте ограничения Данные, конфиденциальность и бюджеты
  3. Проверьте Совместимость адаптера и среды выполнения
  4. Зафиксируйте план Параметры и fingerprints после подбора
  5. Запустите Только проверенный проект

Опишите: Модель, модель-учитель и цель. Задайте ограничения: Данные, конфиденциальность и бюджеты. Проверьте: Совместимость адаптера и среды выполнения. Зафиксируйте план: Параметры и fingerprints после подбора. Запустите: Только проверенный проект

Определите проект и защитите его данные

Схема 1.0 описывает конфигурацию проекта в SDK 0.2.0. Сохраните конфигурацию Automatic в файле training.json. Относительные пути задаются относительно каталога проекта. Укажите ID референсной модели из плана провайдера, а API-ключ храните в защищенном окружении процесса. Конфигурация связывает модель-учителя с независимо обучаемой моделью-учеником; веса учителя не загружаются.

  • Неизвестные ключи отклоняются. Пути должны оставаться в пределах каталога проекта.
  • Модели-учителю можно передавать только одобренные источники обучения. Данные валидации и итогового теста не передаются.
  • Версия схемы 1.0 не связана с версией пакета.
Проект, модель и модель-учитель
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
schema_version string "1.0" Укажите строго 1.0. Другие версии схемы отклоняются, пока для них явно не добавлена поддержка.
mode enum Обязательное / без значения по умолчанию Обязательное значение: automatic или advanced. Автоматический режим подбирает совместимые значения по умолчанию; расширенный режим позволяет задавать настройки явно.
objective string Обязательное / без значения по умолчанию Обязательное описание задачи длиной от 10 до 4000 символов. Укажите аудиторию, необходимые возможности и ожидаемый результат.
model.path string Обязательное / без значения по умолчанию Обязателен локальный каталог модели внутри каталога проекта или идентификатор репозитория с неизменяемой ревизией. Это не endpoint инференса модели-учителя.
model.adapter string Обязательное / без значения по умолчанию Обязательный ID зарегистрированного адаптера. transformers-causal-lm выбирает адаптер Transformers для причинно-языковых моделей.
model.revision string | null null Для локальных моделей создается fingerprint. Для идентификатора репозитория нужна неизменяемая ревизия длиной 40 или 64 символа.
teacher.provider string Обязательное / без значения по умолчанию Обязательный идентификатор провайдера из действующего платного плана. Он не передает право владения моделью.
teacher.reference_model_id integer Обязательное / без значения по умолчанию Обязательное положительное целое число — ID модели, входящей в план этого провайдера; замените все заполнители.
Данные и конфиденциальность
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
data.sources string[] [] Пути к локальным обучающим файлам JSONL с полем text. При политике approved_only их могут дополнять уроки модели-учителя.
data.teacher_sharing enum "approved_only" approved_only разрешает проверенные материалы для обучения; none запрещает отправлять модели-учителю клиентские данные. Скрытые оценочные данные исключаются всегда.
data.validation_path string | null null Необязательный независимый файл проверки JSONL. Если он не указан, до обучения проверенный план задаст детерминированное разбиение.
data.test_path string Обязательное / без значения по умолчанию Обязательный независимый файл итогового теста; он никогда не используется для подготовки с помощью модели-учителя или оптимизации.
data.deduplicate boolean true Удаляйте дублирующиеся и пересекающиеся примеры между разделами; сообщайте об исключениях, не раскрывая конфиденциальный текст.
data.seed integer 42 Неотрицательное целое число для детерминированного разбиения и воспроизводимой инициализации, если серверная часть это поддерживает.
Пример · 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"}
}

Выберите Automatic или Advanced

Automatic подбирает совместимые настройки и записывает их в план. Advanced требует явно указать параметры обучения и принимает только совместимые сочетания архитектуры, метода, точности и оборудования. Значения по умолчанию не гарантируют универсальные требования к памяти или производительность. Несовместимые сочетания отклоняются при проверке до обновления весов.

  • Методы обучения: SFT, LoRA и QLoRA; Automatic также может выбрать значение метода auto.
  • Для DDP утвержденный launcher задает ранги узлов и параметры rendezvous. Для нескольких узлов нужна явно настроенная доверенная среда torchrun.
  • Архитектура модели, токенизатор и длина контекста обязательны. Адаптер поддерживает не все семейства моделей.
Среда выполнения и развертывание
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
runtime.target enum Обязательное / без значения по умолчанию Обязательное значение: fusionpointai_hosting, customer_datacenter или colab. Выбирает существующую среду, но не покупает оборудование.
runtime.devices "auto" | integer[] "auto" auto выбирает совместимые утвержденные устройства; явный список должен содержать уникальные неотрицательные индексы видимых GPU.
runtime.distributed.backend enum "none" none для одного процесса либо ddp с поддерживаемым адаптером и утвержденным launcher для нескольких worker-процессов.
runtime.distributed.nodes integer 1 Положительное целое число. Значение больше одного требует DDP, согласованного доступа к узлам, рангов и защищенного rendezvous; эта настройка не выделяет ресурсы.
Настройки обучения
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
training.method enum "auto" Одно из значений auto, SFT, LoRA или QLoRA. Режим Automatic разрешает auto; Advanced использует явно заданный поддерживаемый метод.
training.epochs number | "auto" "auto" Положительное конечное число либо auto только в автоматическом режиме; число шагов также ограничено утвержденным временем и ресурсами.
training.learning_rate number | "auto" "auto" Положительное конечное число меньше 1 либо auto только в автоматическом режиме. Для адаптера и коммерческой политики могут действовать более строгие ограничения.
training.batch_size integer | "auto" "auto" Положительное целое число на устройство либо auto только в автоматическом режиме; пригодность по памяти проверяется до запуска.
training.gradient_accumulation_steps integer | "auto" "auto" Положительное целое число либо auto только в автоматическом режиме. При расчете эффективного размера пакета учитываются число worker-процессов и накопление градиентов.
training.max_sequence_length integer | "auto" "auto" Положительное целое число в пределах ограничений токенизатора и модели либо auto только в автоматическом режиме; контекст модели не расширяется незаметно.
training.precision enum "auto" auto, fp32, fp16 или bf16, если поддерживаются оборудованием и backend; в расширенном режиме значение указывается явно.
training.lora.rank integer 16 Положительный ранг адаптера. Используется только для LoRA/QLoRA с подходящими целевыми модулями.
training.lora.alpha number 32 Положительный конечный коэффициент масштабирования адаптера. Используется только для LoRA/QLoRA.
training.lora.dropout number 0.05 Конечное значение от 0 включительно до 1 исключительно. Используется только для LoRA/QLoRA.
training.lora.target_modules "auto" | string[] "auto" auto определяет поддерживаемые имена модулей для плана; иначе укажите непустой список допустимых имен.
Управление учебной программой
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
curriculum.topics string[] [] Упорядоченный список тем. Если список пуст, автоматический режим предложит необходимые предварительные темы; расширенный режим требует явной проверенной последовательности.
curriculum.max_improvement_cycles integer 3 Положительное целое число, не более 10. Остановитесь раньше, если исчерпан бюджет, нет прогресса или возникло ухудшение.
curriculum.stop_on_regression boolean true При true улучшение прекращается при ухудшении, заданном оценочной шкалой. При false ухудшение все равно означает провал итоговой приемки.
Пример · json
{
  "schema_version": "1.0",
  "mode": "advanced",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "data": {"sources": ["./data/train.jsonl"], "teacher_sharing": "none", "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl"},
  "runtime": {"target": "customer_datacenter", "devices": [0, 1], "distributed": {"backend": "ddp", "nodes": 1}},
  "training": {
    "method": "LoRA",
    "epochs": 3,
    "learning_rate": 0.0002,
    "batch_size": 1,
    "gradient_accumulation_steps": 16,
    "max_sequence_length": 2048,
    "precision": "bf16",
    "lora": {"rank": 16, "alpha": 32, "dropout": 0.05}
  },
  "curriculum": {
    "topics": ["intent", "ambiguous_requests", "class_balance"],
    "max_improvement_cycles": 3,
    "stop_on_regression": true
  },
  "checkpoints": {"every_steps": 100, "keep_last": 3, "resume_validation": "strict"},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-advanced-001", "format": "safetensors"}
}

Задайте конечные бюджеты и измеримые критерии приемки

Для каждого проекта явно задаются бюджеты времени, запросов к модели-учителю и хранилища. Остановитесь при первом исчерпанном бюджете, ошибке проверки целостности, ухудшении результата или отсутствии прогресса. Сохраните допустимое состояние восстановления и укажите невыполненные критерии. Оценочная шкала определяет независимые приемочные задания; примерный балл не означает, что результат уже достигнут.

  • В примере используется нормированная шкала от 0 до 1 и отдельные обязательные критерии. Все обязательные критерии должны быть выполнены.
  • Изменение данных, модели, оценки, топологии или бюджетов требует нового проверенного плана, а не принудительного продолжения с несовместимыми параметрами.
  • Экспорт включает проверенные файлы модели или адаптера, токенизатор и манифесты, но не учетные данные, посторонние данные кэша или непроверенный код модели.
Бюджеты, восстановление и результаты
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
budgets.max_training_minutes number Обязательное / без значения по умолчанию Обязательный положительный конечный бюджет времени выполнения в минутах, включая подготовку и оценку после начала запуска.
budgets.max_teacher_requests integer Обязательное / без значения по умолчанию Обязательное положительное целое число; учитывайте запросы на подготовку, проверку и повтор. Не допускайте превышения бюджета.
budgets.max_storage_gib number Обязательное / без значения по умолчанию Обязательный положительный конечный бюджет принадлежащего проекту хранилища в GiB для данных, контрольных точек и артефактов; не удаляйте посторонние файлы.
checkpoints.every_steps integer 100 Положительное целое число, задающее интервал сохранения контрольных точек. При успешной приостановке также сохраняется допустимая атомарная точка.
checkpoints.keep_last integer 3 Целое число от 1 до 5. Удаляйте устаревшие принадлежащие проекту точки, только когда более новая прошла проверку.
checkpoints.resume_validation enum "strict" Только strict. Отклоняйте изменения fingerprints модели, данных, конфигурации, оценщика или распределенной топологии.
evaluation.rubric string Обязательное / без значения по умолчанию Обязательный путь к допустимой оценочной шкале с зафиксированными оценщиками и измеримыми обязательными критериями.
evaluation.baseline_required boolean true Для этой спецификации допустимо только true. Оцените неизмененную базовую модель до изменения весов.
output.directory string Обязательное / без значения по умолчанию Обязательный новый каталог запуска, принадлежащий проекту. Существующие запуски можно проверять или возобновлять, но run не должен их перезаписывать.
output.format enum "safetensors" safetensors или adapters, если формат поддерживается. Для экспорта адаптеров нужны зафиксированные базовая модель и токенизатор.
Поля оценочной шкалы
Поле или интерфейсТип или результатЗначение по умолчанию или код завершенияПоведение и проверка
schema_version string "1.0" Схема оценочной шкалы 1.0; она не зависит от версии пакета.
name string Обязательное / без значения по умолчанию Обязательное непустое имя оценочной шкалы, используемое в отчетах.
scale.minimum number 0 Нижняя граница нормированной шкалы: 0 для этой схемы.
scale.maximum number 1 Верхняя граница нормированной шкалы: 1 для этой схемы.
criteria object[] Обязательное / без значения по умолчанию Непустой список. Каждый обязательный критерий должен быть выполнен; ID должны быть уникальны.
criteria[].id string Обязательное / без значения по умолчанию Обязательный стабильный ID критерия, сохраняемый в отчетах.
criteria[].description string | null null Необязательное пояснение. Само описание не является семантическим оценщиком.
criteria[].metric string Обязательное / без значения по умолчанию Обязательная зарегистрированная метрика: exact_match, macro_f1, text_similarity, chrf или зарегистрированный пользовательский оценщик.
criteria[].minimum_score number Обязательное / без значения по умолчанию Обязательный конечный порог от 0 до 1. Примерный порог не гарантирует результат.
regression.maximum_score_drop number 0.02 Допустимое абсолютное снижение нормированного результата относительно неизмененной базовой модели, от 0 до 1; оценивается по каждому сохраняемому критерию.
final_test.path string Обязательное / без значения по умолчанию Обязательное поле; должно указывать на тот же независимый файл, что и data.test_path.
final_test.allow_training_use boolean false Только false. Отклоняйте конфигурации, допускающие включение ответов из отложенного теста в обучение или запросы модели-учителя.
Пример · text
SDK 0.2.0 CONFIGURATION RULES
Unknown fields, duplicate IDs, nonfinite numbers and unsafe paths are rejected.
All model, data, rubric and output paths must resolve inside the project root.
Automatic mode resolves "auto" once; save all resolved values in the plan manifest.
Advanced mode requires explicit method, epochs, learning_rate, batch_size,
gradient_accumulation_steps, max_sequence_length and precision.
SFT does not consume LoRA options. LoRA/QLoRA require a compatible adapter.
Model files and pinned revisions are verified within the project root.
Use the CLI for explicit GPU indexes; Python callers can set CUDA_VISIBLE_DEVICES
before starting Python and keep runtime.devices set to auto.
No automatic execution of untrusted model code, shell commands or plugins.
All three budgets must be finite, positive and explicitly supplied.
Storage includes owned checkpoints, datasets and artifacts, not unrelated files.
Held-out test data must not be sent to the teacher or used for weight updates.
CLI overrides are limited to the documented flags; never silently override a plan.
RUBRIC RULES
Every criterion requires a registered metric and minimum_score; descriptions are not semantic evaluators.
Built-in metrics: exact_match, macro_f1, text_similarity and chrf.
Custom deterministic scorers use register_evaluator(name, scorer, version="...").
Evaluator versions and scoring configuration are pinned in the plan.
0 <= minimum_score <= 1 for the example's normalized scale.
All required criteria must pass; do not average away a failed criterion.
The final_test.path must match data.test_path; allow_training_use must be false.
Scores and budgets in examples are requested settings, not measured results.