Vulkan и Mojo ломают монополию Nvidia CUDA: что меняется для разработчиков ИИ

Vulkan и Mojo ломают монополию Nvidia CUDA: что меняется для разработчиков ИИ

Пятнадцать лет разработчики искусственного интеллекта жили в одном и том же мире: хочешь обучать или запускать нейросети — покупай Nvidia. Не потому что их чипы объективно лучшие, а потому что всё программное обеспечение отрасли — PyTorch, TensorFlow, тысячи библиотек — построено на CUDA, проприетарном стеке Nvidia. Это была не аппаратная монополия, а программная. И именно в этом слое в 2026 году начинают появляться реальные трещины.

Два проекта, пришедших с совершенно разных сторон — Vulkan из мира видеоигр и Mojo от Криса Латтнера, создателя LLVM и Swift, — одновременно предлагают альтернативу, которая работает. Не «работает в теории» и не «работает с оговорками», а работает на уровне продакшена прямо сейчас.

Что такое CUDA и почему монополия держалась так долго

CUDA — это не просто драйвер для видеокарты. Это целая экосистема: низкоуровневый API для матричных вычислений, компилятор nvcc, библиотеки cuDNN и cuBLAS, отладочные инструменты, и, что важнее всего, — пятнадцать лет накопленного софта. Каждая крупная ML-библиотека оптимизирована под CUDA. Каждый дата-сайт настроен под CUDA. Каждый инженер знает CUDA.

Сменить стек — значит переписать инфраструктуру. Это стоит миллионы долларов и годы работы, что и удерживало индустрию в орбите Nvidia, даже когда AMD выпускала конкурентные чипы, а Intel входила в рынок с Arc. Проблема была не в железе, а в экосистемном замке.

Vulkan и Mojo атакуют этот замок с двух сторон — снизу и сверху.

Vulkan: как геймеры ломают AI-инференс

Vulkan — это кроссплатформенный графический API от Khronos Group, той же организации, которая отвечает за OpenGL и OpenCL. Он существует уже десять лет и создавался для видеоигр, где нужно выжимать максимум из любого железа — не только Nvidia, но и AMD, Intel, ARM, Mali, Apple Metal через слой совместимости.

Матричные операции, которые лежат в основе трансформеров и диффузионных моделей, — это по сути те же вычисления, что рисуют шейдеры в трёхмерных играх. Разница лишь в том, что вместо пикселей на выходе получаются тензоры. И вот эта архитектурная близость позволила проекту llama.cpp — тому самому, что создал болгарский разработчик Георгий Герганов и который стоит за форматом GGUF — добавить поддержку Vulkan в качестве бэкенда.

Результат: одна и та же модель в формате GGUF теперь запускается на любой видеокарте с поддержкой Vulkan. На Nvidia — через Vulkan-бэкенд. На AMD Radeon — нативно. На Intel Arc — нативно. На встроенной графике ноутбука — тоже. Команда в терминале: llama-cli -m model.gguf -ngl 50, где 50 — количество слоёв, переданных на GPU.

Это не экспериментальная фича. Это рабочий продакшен-инференс с веб-интерфейсом на порту 8080, поддержкой квантизации и возможностью запускать сервер для нескольких пользователей.

Mojo: Python-синтаксис, скорость C, любое железо

Если Vulkan решает проблему совместимости снизу (через графический API), то Mojo атакует сверху — через язык программирования.

Крис Латнер — человек, который создал LLVM (компиляторный фреймворк, на котором построены Swift, Rust's early tooling, Clang), а затем Swift для Apple. Его новая компания Modular выпустила Mojo — язык с синтаксисом Python, который компилируется до машинного кода и работает на CPU и GPU без переписывания.

Цифры впечатляют. На конференции GTC 2026 в марте Modular продемонстрировали, как Mojo-код выполняет те же матричные операции, что и hand-tuned CUDA от самой Nvidia на их собственном флагманском чипе Blackwell. Результат — на уровне оригинала. Разница в объёме: CUDA-реализация заняла около 3000 строк кода, Mojo — 700 строк. То есть в четыре раза меньше кода при той же производительности на топовом железе Nvidia.

Mojo не требует выбора «или Nvidia, или AMD» — код запускается на том, что есть, без переписывания. В мае 2026 Modular была приобретена Qualcomm за $4 миллиарда. Qualcomm — это Snapdragon, 5G-модемы, ARM-процессоры для мобильных устройств. Покупка Mojo означает, что Qualcomm получает язык, на котором можно писать AI-инференс для своих чипов без зависимости от CUDA.

Что это меняет на практике

До сих пор запуск локальной LLM на машине без Nvidia GPU был мучением. Ollama и llama.cpp работали, но с заметной деградацией производительности на не-Nvidia железе. Vulkan-бэкенд llama.cpp убирает эту деградацию — кроссплатформенный путь через стандартный API, который поддерживают все современные GPU-драйверы.

Для разработчика это означает: MacBook с Apple Silicon запускает ту же модель, что и сервер с RTX 4090, с приемлемой скоростью. Ноутбук с AMD Ryzen и встроенной графикой Radeon — тоже. Даже ARM-серверы с графическими ускорителями Mali попадают в эту экосистему.

Для бизнеса это означает разблокировку огромного парка существующего железа, которое раньше простаивало в контексте AI-рабочих нагрузок. Не нужно покупать H100, чтобы запустить инференс 7B-параметровой модели — достаточно того GPU, что уже стоит в сервере.

Prism ML: 27 миллиардов параметров на iPhone

Параллельно с Vulkan и Mojo развивается ещё одно направление — экстремальное сжатие моделей для мобильных устройств. Компания Prism ML демонстрирует запуск 27-миллиардной модели на iPhone с размером сжатого веса 4–6 гигабайт.

Ключевой трюк — селективное сжатие: не все слои модели квантуются одинаково. Критические для качества слои сохраняют большую точность, а менее важные сжимаются агрессивнее. Результат: модель сохраняет 90–97% исходного качества, работает со скоростью около 11 токенов в секунду на iPhone 11, поддерживает контекст до 262 000 токенов и использует спекулятивное декодирование для ускорения.

Это не далёкое будущее — это работающая технология уже сегодня. Комбинация Vulkan-инференса на мобильных GPU и экстремального сжатия открывает сценарий, где полноценная LLM работает локально на смартфоне без интернета, без облака, без подписки.

Что происходит под капотом: как Vulkan выполняет LLM-инференс

Чтобы понять масштаб сдвига, нужно разобраться, что именно делает Vulkan для LLM. Трансформерная архитектура — это по сути последовательность матричных умножений (Q, K, V в механизме внимания, слои Feed-Forward). CUDA делает это через специализированные библиотеки cuBLAS (базовые матричные операции) и cuDNN (свёртки, нормализация, функции активации).

Vulkan предоставляет низкоуровневый API для работы с GPU, который поддерживает те же операции — матричные умножения, свёртки, работы с памятью. Но в отличие от CUDA, Vulkan не привязан к одному вендору. Драйверы Vulkan существуют для всех современных GPU: Nvidia, AMD, Intel, ARM Mali, Apple Metal через MoltenVK. Когда llama.cpp использует Vulkan-бэкенд, он транслирует операции модели в Vulkan-команды, которые выполняет любой GPU с Vulkan-драйвером.

Это не просто «работает медленно на всём». Это конкурентоспособная производительность. Тесты показывают, что Vulkan-инференс на AMD Radeon RX 7900 XTX достигает 80–90% от производительности той же карты через ROCm (AMD-альтернативу CUDA). А на Intel Arc — впервые появляется возможность запускать LLM с приемлемой скоростью на железе, которое раньше для AI было практически бесполезно.

Экономический эффект: от $10,000 за H100 к $0 на существующем железе

Монополия CUDA создавала не только техническую зависимость, но и экономическую. Чтобы запускать современные модели, нужно было покупать Nvidia GPU — RTX 4090 за $1,600 для энтузиастов, A100 за $10,000 для продакшена, H100 за $30,000 для серьёзных нагрузок. Это создавало барьер входа: стартапы, исследователи, независимые разработчики либо платили, либо не работали с AI.

Vulkan и Mojo меняют эту экономику. Если у вас уже есть AMD-сервер (часто дешевле аналогичного Nvidia), вы получаете AI-инференс без дополнительной оплаты за CUDA-лицензию или Nvidia-премию. Если у вас есть MacBook с Apple Silicon — вы уже в экосистеме. Если у вас есть старый ноутбук с Intel-графикой — вы тоже можете экспериментировать с локальными LLM.

Это не значит, что Nvidia исчезнет — их чипы всё ещё самые быстрые для обучения огромных моделей. Но для инференса (запуска обученных моделей) альтернативы становятся экономически привлекательными. И это меняет рынок.

Обучение vs инференс: где сдвиг происходит быстрее

Важно разделять два сценария: обучение моделей (training) и их запуск (inference). Обучение требует огромных вычислительных ресурсов — тысячи GPU часами или днями. Здесь CUDA-монополия держится крепче: экосистема оптимизирована, библиотеки отлажены, инженеры знают стек. Переход на альтернативы для обучения — это проект на месяцы.

Инференс — другой случай. Запуск обученной модели требует на порядки меньше ресурсов. И именно здесь Vulkan и Mojo делают прорыв. llama.cpp + Vulkan работает для инференса уже сегодня. Mojo показывает продакшен-производительность. Prism ML сжимает модели для мобильных устройств.

Этот дисбаланс объясняет, почему сдвиг начинается именно с инференса: ниже порог входа, меньше миграционных затрат, быстрее окупаемость. Но за инференсом придёт и обучение — Mojo уже демонстрирует производительность на уровне CUDA для матричных операций, что является основой для тренировочных пайплайнов.

Экосистемный сдвиг: от CUDA-замка к открытому стеку

Самое важное в происходящем — не отдельная технология, а тренд. CUDA-монополия держалась потому, что альтернативы были хуже. Теперь альтернативы не хуже — они такие же быстрые, но при этом кроссплатформенные.

Vulkan работает на всём, что имеет GPU-драйвер. Mojo работает на всём, что имеет компилятор. llama.cpp + Vulkan уже в продакшене. Modular + Qualcomm уже за $4 миллиарда. Prism ML уже на iPhone.

Это не значит, что CUDA исчезнет завтра — экосистема слишком велика. Но это значит, что разработчик больше не обязан покупать Nvidia для AI-проекта. И этот выбор, который появился в 2026 году, изменит экономику инференса, обучения и деплоя моделей в ближайшие годы.

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

Можно ли уже сегодня запустить LLM через Vulkan на AMD-карте?

Да, llama.cpp поддерживает Vulkan-бэкенд из коробки. Установка через brew install llama-cpp на macOS или сборка из исходников на Linux. Команда запуска: llama-cli -m model.gguf -ngl 50, где -ngl определяет количество слоёв модели, переданных на GPU. Работает на AMD Radeon, Intel Arc, встроенной графике — на всём с Vulkan-драйвером.

Чем Mojo отличается от просто Python с CUDA-ускорением?

Mojo компилируется в машинный код и работает на CPU и GPU без отдельной CUDA-зависимости. Код с синтаксисом Python запускается на AMD, Intel и ARM-чипах без переписывания. В демо на GTC 2026 Mojo показал ту же производительность, что hand-tuned CUDA Nvidia, используя в 4 раза меньше строк кода (700 против 3000).

Стоит ли переходить с CUDA на Vulkan/Mojo прямо сейчас?

Если ваш проект уже работает на CUDA и вас устраивает производительность — срочности нет. Но для новых проектов, особенно с требованием кроссплатформенности, имеет смысл оценивать Vulkan (для инференса) и Mojo (для кастомных ядер) как основные инструменты. Экосистема растёт каждый месяц, и порог входа снижается.

← Все записи