<НА ГЛАВНУЮ

Маленькая RLM предсказывает задержки ядер, память и точность моделей прямо из кода

'Модель RLM на базе T5-Gemma предсказывает память, задержки и точность моделей напрямую из текстового представления кода и ONNX с высокими ранговыми корреляциями.'

Одиннаковая модель для преобразования кода в числа

Исследователи из Корнелла и Google представили Regression Language Model (RLM), которая читает исходный текст программ, Triton-ядра и ONNX-графы и напрямую предсказывает числовые метрики: задержку GPU-ядра, пиковое потребление памяти и точность моделей вместе с аппаратно-зависимой задержкой. Подход устраняет необходимость в ручной инженерии признаков, графовых энкодерах или специальных прокси.

Что предсказывает модель

RLM обучается выдавать несколько числовых целей из одного текстового представления. Примеры целей:

  • Пиковое потребление памяти для программ на Python, C, C++ и других языках.
  • Задержка для Triton GPU-ядр (замеры на устройствах вроде RTX A6000).
  • Точность нейросетей и их задержка на конкретных устройствах для архитектур, экспортированных в ONNX.

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

Основные результаты

Авторы приводят высокие ранговые корреляции по разным задачам:

  • APPS LeetCode, память: Spearman ρ > 0.9.
  • Triton latency (A6000): ρ ≈ 0.52.
  • CodeNet по 17 языкам, память: среднее ρ > 0.5, для C/C++ ≈ 0.74–0.75.
  • Ранжирование NAS: средний Kendall τ ≈ 0.46.

Эти показатели конкурентоспособны с графовыми предикторами и в ряде задач их превосходят.

Архитектура и обучение

Бекбоном служит encoder–decoder, инициализированный T5-Gemma (примерно 300M параметров). На вход подаются сырьевые строки (код, Triton IR, ONNX). Декодер автогрессивно генерирует числовые токены при ограниченном декодировании, чтобы гарантировать валидные числа. Абляции показывают:

  • Языковая предобученность ускоряет сходимость и улучшает предсказания задержки Triton.
  • Автогрессивная генерация чисел превосходит классические MSE-регрессоры даже после нормализации целей.
  • Обучаемые токенайзеры, адаптированные под ONNX-операторы, увеличивают эффективный контекст.
  • Более длинные контексты и масштабирование энкодера дают дополнительные улучшения при аккуратной настройке.

Библиотека regress-lm реализует утилиты для обучения, ограниченного декодирования и multi-task предобучения/дообучения.

Почему это важно

Традиционные пайплайны предсказания производительности завязаны на хрупких рукодельных признаках или GNN, привязанных к определённым IR/операторам. Представляя регрессию как генерацию текста-на-число, RLM унифицирует стек: представить артефакты как простой текст, дообучать модель на новых метриках или железе и декодировать откалиброванные числа по цифре. Это снижает поддерживающие затраты и облегчает переносимость между языками и аппаратами.

Датасеты и инструменты

Code-Regression объединяет APPS/LeetCode по памяти, KernelBook-производные измерения задержек Triton и CodeNet по памяти. NAS/ONNX набор экспортирует архитектуры из NASBench, FBNet, Once-for-All и других в ONNX-текст для предсказания точности и задержки по устройствам. regress-lm даёт рецепты и реализации ограниченного декодинга.

Практические выводы

Одна модель (~300M параметров) с инициализацией T5-Gemma способна предсказывать память, задержки Triton и точность+задержку моделей прямо из текстовых представлений без ручной инженерии признаков. Качество ранговых предсказаний делает метод применимым для эвристик компиляторов, отбора/прореживания ядер и многокритериального NAS, при этом снижая порог входа для адаптации под новое железо и языки.

🇬🇧

Switch Language

Read this article in English

Switch to English