The AI / news

Transformers представляет «контракты интеграции моделей»

Transformers представляет «контракты интеграции моделей»

30 июля 2026 года Transformers активировал для T5 масштабированное скалярно-продуктовое внимание (SDPA) из PyTorch. Этот побочный эффект позволил декодеру UMT5 заглядывать в будущие токены, то есть в ответ, который ему предстояло предсказать, во время обучения. Ничего не сломалось, и ошибка оставалась в основной ветке почти два месяца. Hugging Face представляет Model Integration Contracts (MIC), формат тестов на основе небольших моделей, который позволил обнаружить её при повторном прогоне коммитов.

Transformers поддерживает более 750 типов моделей, и его набор тестов огромен: более 88 000 тестов на CPU в основной ветке и более 200 000 тестов на GPU в ежедневном прогоне. Интеграционные тесты загружают реальные контрольные точки (checkpoints) и используют API моделей на реальном оборудовании. Запускать их при каждом изменении означало бы монополизировать большое количество GPU на весь день, что нереалистично. Поэтому регрессия может достичь основной ветки до того, как будет обнаружена запланированным прогоном.

Уменьшить модель вместо тестирования большой

Подход заключается в создании фикстуры, небольшой модели, построенной на основе конфигурации реальной контрольной точки, с меньшим количеством слоёв, более узких, но всех типов, присутствующих в исходной модели. Её файлы токенизатора и процессора остаются неизменными. Эта фикстура публикуется один раз, затем переиспользуется, и быстрые тесты выполняются на ней на простом процессоре CPU. В исследовании команды на CPU экспериментальная фикстура UMT5 весила 66 МБ против 1 227 МБ у исходной контрольной точки. Этот метод применим и к очень большим моделям, некоторые из которых не помещаются на стандартные GPU, но чьи фикстуры работают на CPU.

Тесты выходят за рамки простой загрузки и одного прохода вывода. Ошибка UMT5 прошла бы этот проход без затруднений. Фикстуры не заменяют полные интеграционные тесты, но дают шанс обнаружить ошибки до их попадания в основную ветку.

MIC включает три элемента: фикстуру, путь использования (исполняемый пример, например, генерацию текста или шаг обучения) и базовые показатели, сохранённые выходные данные при выполнении этого примера, проверенные человеком. Контракт соблюдается, если выполнение на фикстуре всегда даёт эти эталонные выходные данные.

Возвращаясь к ошибке UMT5

Команда повторно запустила зафиксированные MIC на пяти месяцах коммитов Transformers. Фикстура UMT5 показала регрессию с момента её появления 30 июля 2026 года до исправления 28 сентября. Логарифмические вероятности меток отличались от проверенного эталона на 1,22, а потери при обучении, примерно на 0,20. Важна была деталь: контракт использовал SDPA, путь внимания по умолчанию. Запуск только варианта внимания « eager » не выявлял ошибку. При демонстрации на тестовой ветке CI Transformers, где исправление было отменено, проверка провалилась с теми же отклонениями, и шаг раннера T5 занял 13,4 секунды на CPU, не считая установки.

Генерация контрактов с помощью агентов

Инструмент командной строки tmic создаёт контракт и строит фикстуру. Для новой модели LLM пишет код использования и манифест, затем прогоны на CPU и GPU измеряют кандидатов в базовые показатели. По словам команды, LLM пишет, но не утверждает: любое изменение ожиданий требует человеческой валидации. Отчёт об уменьшении модели Llama 4 Scout иллюстрирует этот метод: 108,6 миллиарда параметров становятся 44,7 миллиона, визуальная часть сокращается с 34 до 2 слоёв, а языковая, с 48 до 4.

Для тестовых моделей команда сравнила случайные веса с весами, обученными на нескольких примерах. В исследовании инициализации весов случайные фикстуры Whisper обнаружили 18 из 24 внедрённых ошибок, против 24 из 24 у обученных фикстур. Эти ошибки были синтетическими, и обе версии пропустили одну ошибку вспомогательного декодирования, выявленную реальной контрольной точкой Whisper.

На 1 ноября 2026 года задача MIC в CI Transformers сообщает о неудачах, не блокируя запросы на изменение. Вопрос о том, сделать ли её блокирующей, остаётся открытым из-за отсутствия данных о количестве обнаруженных реальных ошибок и ложных срабатываний.

S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x