Исследователи из Корнелла и Google представили унифицированную регрессионную языковую модель (RLM), которая предсказывает числовые результаты непосредственно из строк кода. Модель охватывает задержку ядра GPU, использование памяти программой и даже точность и задержку нейронных сетей. При этом не требуется ручная разработка функций.
Что именно нового?
- Унифицированная регрессия «код-метрика»: одна RLM предсказывает:
— пиковую память из высокоуровневого кода (Python/C/C++ и другие);
— задержку для ядер Triton GPU;
— точность и аппаратно-зависимую задержку из графов ONNX.
Модель считывает необработанные текстовые представления и декодирует числовые выходные данные. Не требуется разработка функций, графовые энкодеры или прокси с нулевой стоимостью.
- Конкретные результаты:
— Сообщается о корреляциях Спирмена ρ ≈ 0,93 для памяти APPS LeetCode, ρ ≈ 0,52 для задержки ядра Triton, ρ > 0,5 в среднем по 17 языкам CodeNet и Кендалла τ ≈ 0,46 в пяти классических пространствах NAS. Это конкурентоспособно с графовыми предикторами, а в некоторых случаях превосходит их.
- Многоцелевое декодирование: поскольку декодер является авторегрессионным, модель учитывает более поздние показатели на основе более ранних (например, точность → задержки на устройство), фиксируя реалистичные компромиссы вдоль фронтов Парето.
Почему это важно?
Трубопроводы прогнозирования производительности в компиляторах, выборе ядер GPU и NAS обычно полагаются на специальные функции, синтаксические деревья или энкодеры GNN, которые не приспособлены к новым операциям/языкам.
Обработка регрессии как следующего предсказания токенов по числам стандартизирует стек: токенизируйте входные данные как обычный текст (исходный код, Triton IR, ONNX), затем декодируйте откалиброванные числовые строки по цифрам с помощью ограниченного отбора. Это снижает затраты на обслуживание и улучшает перенос на новые задачи посредством тонкой настройки.
Как это работает?
- Основа: энкодер-декодер с инициализацией энкодера T5-Gemma (~300M параметров). Входные данные — необработанные строки (код или ONNX). Выходные данные — числа, выдаваемые в виде токенов знака/экспоненты/мантиссы; ограниченное декодирование обеспечивает действительные цифры и поддерживает неопределённость посредством отбора проб.
- Аблации:
— Языковое предварительное обучение ускоряет сходимость и улучшает прогнозирование задержки Triton.
— Только числовой выброс декодера превосходит регрессионные головки MSE даже при нормализации по y.
— Изученные токенизаторы, специализированные для операторов ONNX, увеличивают эффективный контекст.
— Более длинные контексты помогают.
— Масштабирование до более крупного энкодера Gemma дополнительно улучшает корреляцию при адекватной настройке.
Ключевые выводы
Унифицированная регрессия «код-метрика» работает. Единственная модель с параметрами около 300M, инициализированная T5Gemma («RLM»), предсказывает:
- память из высокоуровневого кода;
- задержку ядра Triton GPU;
- точность модели + задержка устройства из ONNX — непосредственно из текста, без использования специально разработанных функций.
Исследование показывает, что корреляции Спирмена ρ > 0,9 для памяти APPS, ≈0,52 для задержки Triton, >0,5 в среднем по 17 языкам CodeNet и Кендалла τ ≈ 0,46 в пяти пространствах NAS.
Числа декодируются как текст с ограничениями. Вместо регрессионной головки RLM выдаёт числовые токены с ограниченным декодированием, что позволяет получать многометрические, авторегрессионные выходные данные (например, точность, за которой следуют задержки для нескольких устройств) и неопределённость посредством отбора проб.
Набор данных Code-Regression объединяет память APPS/LeetCode, задержку ядра Triton и память CodeNet; библиотека regress-lm предоставляет стек для обучения/декодирования.
1. Какие ключевые метрики может предсказывать новая регрессионная языковая модель (RLM)?
RLM может предсказывать:
* пиковую память из высокоуровневого кода (Python/C/C++ и другие);
* задержку для ядер Triton GPU;
* точность и аппаратно-зависимую задержку из графов ONNX.
2. Какие результаты были получены при тестировании RLM?
При тестировании RLM были получены следующие результаты:
* Сообщается о корреляциях Спирмена ρ ≈ 0,93 для памяти APPS LeetCode, ρ ≈ 0,52 для задержки ядра Triton, ρ > 0,5 в среднем по 17 языкам CodeNet и Кендалла τ ≈ 0,46 в пяти классических пространствах NAS.
* Это конкурентоспособно с графовыми предикторами, а в некоторых случаях превосходит их.
3. Какие преимущества предоставляет использование RLM по сравнению с традиционными методами прогнозирования производительности?
Использование RLM предоставляет следующие преимущества:
* Обработка регрессии как следующего предсказания токенов по числам стандартизирует стек: токенизируйте входные данные как обычный текст (исходный код, Triton IR, ONNX), затем декодируйте откалиброванные числовые строки по цифрам с помощью ограниченного отбора.
* Это снижает затраты на обслуживание и улучшает перенос на новые задачи посредством тонкой настройки.
* Унифицированная регрессия «код-метрика» работает без использования специально разработанных функций.
4. Какие параметры используются в основе RLM?
В основе RLM используется энкодер-декодер с инициализацией энкодера T5-Gemma (~300M параметров).
5. Какие выводы можно сделать на основе исследования RLM?
На основе исследования RLM можно сделать следующие выводы:
* Унифицированная регрессия «код-метрика» работает.
* RLM предсказывает память из высокоуровневого кода, задержку ядра Triton GPU, точность модели и задержку устройства из ONNX непосредственно из текста.
* Исследование показывает, что корреляции Спирмена ρ > 0,9 для памяти APPS, ≈0,52 для задержки Triton, >0,5 в среднем по 17 языкам CodeNet и Кендалла τ ≈ 0,46 в пяти пространствах NAS.