Команды и код во всех языковых версиях остаются на английском. Заменяйте ЗАГЛАВНЫЕ заполнители значениями своей учетной записи и оплаченного задания. Не вставляйте реальные ключи в общие ноутбуки или журналы.
От конфигурации к воспроизводимому запуску
- Опишите Модель, модель-учитель и цель
- Задайте ограничения Данные, конфиденциальность и бюджеты
- Проверьте Совместимость адаптера и среды выполнения
- Зафиксируйте план Параметры и fingerprints после подбора
- Запустите Только проверенный проект
Опишите: Модель, модель-учитель и цель. Задайте ограничения: Данные, конфиденциальность и бюджеты. Проверьте: Совместимость адаптера и среды выполнения. Зафиксируйте план: Параметры и 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 |
Неотрицательное целое число для детерминированного разбиения и воспроизводимой инициализации, если серверная часть это поддерживает. |
{
"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 ухудшение все равно означает провал итоговой приемки.
|
{
"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. Отклоняйте конфигурации, допускающие включение ответов из отложенного теста в обучение или запросы модели-учителя.
|
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.