Может ли маленькая языковая модель предсказать задержку ядра, объём памяти и точность модели по коду? Новая регрессионная языковая модель (RLM) утверждает, что да

Исследователи из Корнелла и 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.

Источник