Появляется всё больше проектов, где нейросети и связанную с ними инфраструктуру пишут не на привычных Python или C++, а на ассемблере — максимально приближённом к «железу» языке программирования. Авторы таких инициатив сравнивают происходящее с состоянием интернета в 1991 году, когда сама сеть уже существовала, но привычного веба с его страницами, ссылками и браузерами ещё не было.

Ассемблер — язык низкого уровня, где каждая команда соответствует конкретной инструкции процессора. На нём сложнее писать и поддерживать код, чем на высокоуровневых языках, но зато разработчик получает прямой доступ к ресурсам процессора и может выжимать из оборудования больше производительности. В случае с ИИ это означает возможность ускорить вычисления, от которых напрямую зависит скорость отклика модели и стоимость её работы в дата-центрах.

Сравнение с 1991 годом авторы используют намеренно. Тогда интернет уже работал, однако отсутствовали удобные инструменты: не было массовых браузеров, HTTP-протокол только формировался, а первая веб-страница появилась позже. Пользоваться сетью могли лишь специалисты. Сторонники низкоуровневого подхода в ИИ считают, что сейчас индустрия находится в похожей точке: базовые технологии вроде трансформеров уже есть, но привычных удобных слоёв поверх них пока не хватает, и часть инженеров уходит «к корням», программируя прямо на уровне процессора.

У такого подхода есть практическая логика: большая часть времени при работе ИИ уходит не на сами нейросетевые вычисления, а на обвязку — обработку токенов, диспетчеризацию запросов, работу с памятью и периферией. На высокоуровневых языках эти процессы проще описать, но они же забирают заметную долю ресурсов. Переписав критичные участки на ассемблере, авторы проектов надеются сократить задержки и снизить нагрузку на оборудование.

Скептики указывают на очевидные минусы. Код на ассемблере плохо переносится между архитектурами процессоров: то, что работает на одном чипе, приходится почти полностью переписывать под другой. Кроме того, низкоуровневый код требует редких специалистов и заметно усложняет поддержку — ошибки в нём искать и исправлять значительно дольше, чем в коде на Python или C.

Пока речь идёт скорее об экспериментах и нишевых проектах, чем о массовом переходе индустрии. Основная работа над крупными моделями по-прежнему ведётся на привычных фреймворках. Однако само появление подобных инициатив показывает, куда смещается внимание инженеров: с ростом вычислительных затрат на ИИ борьба идёт за каждую микросекунду, и низкоуровневая оптимизация снова становится востребованной.