Що таке RLX і чому одна кодова база на Rust замінює півдюжини ML-стеків

Новий компілятор-рантайм RLX об'єднує компіляцію графів та виконання ядер у одній кодовій базі на Rust. Він підтримує чотирнадцять апаратних бекендів і два спеціалізовані шляхи генерації коду. Компіляція зупиняється з помилкою, якщо оператор неможна легалізувати.

Примітивна ПМ на трьох рівнях — чотирнадцять цілей

Уся архітектура RLX ґрунтується на одній примітивній проміжній представленні, яке існує на трьох рівнях. Ця ж ПМ керує генерацією коду для cpu, metal, mlx, ane, cuda, rocm, oneapi, tpu, hexagon, gpu, vulkan, opengl, directx та webgpu. Два додаткові шляхи генерації коду спрямовані на мікроконтролери Cortex-M INT8 та FPGA-тканину. Контракт диспетчеризації прозорий: кожен оператор перетворюється на нативне зниження, зниження через спільну ПМ або переписане зниження. Якщо жоден шлях не є легальним, компіляція зупиняється з помилкою замість тихого фолбеку. Тихі фолбеки відсутні. Скільки з чотирнадцяти бекендів досягли продакшн-зрілості — не розкривається.

Формати та числові типи

Фронтенд приймає safetensors, GGUF, ONNX та rten без зовнішніх конвертерів. Підтримка числових форматів охоплює F16, BF16, F64, C64. До того ж є квантовані потоки INT4 і INT8 з автоматичною змішаною точністю та пост-тренувальною квантизацією; також реалізована квантизація, що ураховує навчання.

Колективні операції та рантайм

Для розподілених запусків RLX використовує тензорно-паралельні та конвеєрно-паралельні колективні операції над TCP і RDMA. Рантайм не потребує окремого шару оркестрації: той самий бінарник, що компілює граф, також запускає колективні операції. Обсяг пам'яті та латентність компіляції для великих моделей не звітуються.

Поза нейромережами

Розширення для розрідженої та щільної лінійної алгебри приносять CSR LU та метод спряжених градієнтів; до того ж підтримуються matvec і факторизації на базі LAPACK у ту саму ПМ. Також реалізовані оператори 3D гаусового сплатування. Це дозволяє компілятору націлюватися на наукові та фізичні навантаження без зміни інструментарію. У статті зазначено: ці розширення спільняють той самий контракт диспетчеризації та перевірки легалізації, що й нейрооператори.

Перевірено на тринадцяти суперниках

Оцінка на одному хості використовувала ідентичну генерацію вхідних даних та методологію p50 латентності. На all-MiniLM-L6-v2 RLX-Metal був найшвидшим при кожному розмірі батчу. При батчі 32 він показав 16,6 мс проти 26,7 мс у PyTorch-MPS. При навчанні на MNIST графово-зфузжений MLP досяг 946 487 зображень за секунду. NumPy+BLAS дав 787 349. Референсний чек на Qwen3 показав 100 відсотків top-1 парності. До набору порівняння входили PyTorch, TensorFlow, JAX, candle, burn, tch, rten, MLX, CoreML, IREE, Glow, TensorRT та tinygrad. Споживання енергії не вимірювали.

Джерела, за якими написано статтю

  • "arXiv:2609.37916v1
    https://arxiv.org/abs/2609.37916v1"

Читайте також