Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Протокол оценки и выбор модели

1. Определение метрики

T4 — не обычная бинарная метрика успеха. Каждый эпизод возвращает итоговое число сложенных уровней, а оценка может принимать только дискретные значения, соответствующие 0, 1, 2 или 3 уровням. Если у трёх прогонов fresh3 суммарно 2 уровня, средний graded равен 2/9; но это не говорит, какие именно прогоны дали какие уровни, если не сохранено конечное состояние каждого seed.

Поэтому отчёт должен содержать как минимум:

список seed
число уровней в каждом эпизоде
счётчики 0 / 1 / 2 / 3 уровня
число полных успехов из трёх чаш
средний graded
стадии сбоя (если есть надёжная трассировка)

2. Уровни ворот

Ворота A: данные и интерфейс

  • manifest, число файлов raw/processed и SHA;
  • загрузка загрузчика ACT, checkpoint, статистик и конфигурации развёртывания;
  • три камеры, размерности action/state и выравнивание next-state проходят проверку;
  • пакет кода не содержит символических ссылок, опасных путей и лишних зависимостей.

Ворота B: fresh3

Отвечает только на вопрос, не сломан ли кандидат явно. Три успеха или высокий средний graded — не доказательство онлайн-обобщения. Если fresh3 не достигает заранее заданного порога, дальнейшее повышение уровня не производится, сначала проводится диагностика.

Ворота C: fresh10 / fresh20

Требуют фиксированных seed, одного и того же runner и одной и той же топологии процессов. Этот уровень нужен для отбора кандидатов и поиска специфичных для seed сбоев; он по-прежнему не эквивалентен приватным 100 seed онлайн.

Ворота D: полная публичная панель

Сравнивать кандидатов можно только на полной, заранее зафиксированной публичной панели. Нельзя менять файл seed или убирать ошибки настройки после того, как увидели результаты.

Ворота E: онлайн-отправка

Приватные seed и окружение онлайн-сервиса — окончательная истина. Перед отправкой нужно зафиксировать: checkpoint, статистики, корень кода, конфигурацию развёртывания, версии зависимостей, манифест пакета, время и статус разблокировки аккаунта.

3. Граница между обычным runner, трассировкой и видео

Способ запускаНазначениеМожет ли считаться онлайн-результатом
Официальный обычный runnerформальные локальные воротатолько локальное доказательство, онлайн не заменяет
Runner с трассировкой / monkey-patchдиагностика стадий сбоянет, не является официальным результатом
Холодный процесс на один seedизоляция зависания, быстрый отборнельзя сравнивать напрямую с результатами persistent
Persistent-топология официальных организаторовближе всего к онлайнвсё равно нужна проверка онлайн
Replay экспертной траекториипроверка окружения и предиката успехане является успехом политики
Официальная онлайн-оценкаокончательный результат на приватной таблицеда, это окончательная истина

Результат 1/3, 5/9 для clean50 в трассировке не может перекрыть результат обычного runner 0/3, 1/3 и тем более онлайн-результат T4 25.3/100.

4. Запись стадий сбоя

Не ограничивайтесь записью success=false. Рекомендуется классифицировать стадии так:

setup_demo / reset
approach
grasp
lift
transport
lower
release
stabilize
final stacked-state check

Но относить сбой к стадии можно только при наличии покадровой трассировки действий, состояний или надёжного видео. Если обычный runner даёт только агрегированный graded, нельзя угадывать стадию сбоя по величине балла.

5. Правила выбора модели

  1. Сначала сохранить кандидата, у которого есть полный пакет: код, статистики, веса и доказательства оценки.
  2. Сравнивать кандидатов с одной и той же официальной обёрткой, порядком seed и топологией процессов.
  3. Сначала смотреть полные успехи из трёх чаш, потом средний graded, потом распределение уровней и стадии сбоя.
  4. Loss — только сигнал здоровья обучения, он сам по себе не определяет отправку.
  5. Диагностика clean50 определяет только следующий эксперимент и не заменяет exact550.
  6. Любые изменения выравнивания action, выборки данных, веса gripper, chunk и размера модели делаются с одной переменной, с отдельным именем запуска и отдельными статистиками.
  7. Успехи на обучающих данных и replay экспертов не входят в панель обобщения.
  8. Если последующий кандидат хуже защищённого, защищённый файл нельзя перезаписывать.

6. Если онлайн-результат расходится с локальным

Проверяйте по такому порядку:

  1. Совпадает ли SHA загруженных весов с локальным кандидатом.
  2. Совпадают ли статистики с весами — именно той же парой.
  3. Совпадают ли корень кода, конфигурация развёртывания и результаты локальной предварительной проверки на онлайн-сервере.
  4. Нет ли лишних зависимостей Python, символических ссылок и абсолютных путей в пакете.
  5. Отличаются ли распределения публичных и приватных seed, начальные состояния задачи и сбои настройки.
  6. Есть ли различия в сбросе cold/persistent, инициализации планировщика, RNG и рендерера.
  7. Только после этого рассматривать гипотезу о недостаточной обобщающей способности модели.

Результат онлайн 25.3, который ниже локального исторического 2/3 у контрольного кандидата, как минимум показывает, что публичных 3 seed недостаточно для стабильного вывода. Однозначно назвать какую-либо одну причину доказанной по этим данным нельзя.