Mesh LLM: распределённые вычисления для ИИ поверх сети iroh

Mesh LLM, проект, который объединяет GPU и оперативную память нескольких компьютеров в одну сеть и отдаёт её наружу как единый OpenAI-совместимый API. Идея отвечает на конкретную проблему: обычно большие языковые модели работают в чужом дата-центре, пользователь платит по счётчику, который растёт вместе с использованием, и не контролирует ни момент смены модели провайдером, ни то, куда уходят данные, ни то, на каком железе всё считается. При этом у многих команд простаивают собственные GPU, в офисах, дома, под столами; не хватает только способа заставить эти машины работать как одна.
Mesh LLM закрывает именно этот пробел. Можно запустить один узел и постепенно добавлять новые, сеть сама решает, как обработать запрос: выполнить его локально на GPU этой машины, отправить пиру, у которого модель уже загружена в память, или, если модель слишком велика для одной машины, разбить её на части и прогнать конвейером через несколько узлов сразу. Сеть можно держать приватной для своей команды или открыть для всего мира, чтобы питать чат-приложения и ИИ-агентов. Любой клиент, поддерживающий OpenAI API, просто указывает на http://localhost:9337/v1 и не задумывается, где физически выполняется вычисление.
Архитектура построена на плагинах: каждый плагин описывает свои возможности в манифесте, среда выполнения его запускает, маршрутизирует вызовы и открывает его функциональность через MCP, HTTP, инференс (выполнение модели) и события сети. Каталог включает более 40 моделей, от моделей на примерно полмиллиарда параметров, помещающихся на ноутбуке, до MoE-гигантов (mixture-of-experts, «смесь экспертов») на 235 миллиардов параметров.
Для таких гигантов предусмотрен режим разбиения модели, внутреннее кодовое имя которого, «Скиппи» (Skippy): модель делится по диапазонам слоёв на стадии, например, слои 0, 15 на одном узле, 16, 31 на следующем и так далее по конвейеру. Активации передаются от стадии к стадии, так что несколько машин среднего уровня вместе способны прогнать модель, которую ни одна из них не потянула бы в одиночку. При этом клиент, обращающийся по OpenAI API, по-прежнему просто общается с localhost и ничего не знает об этой внутренней кухне.
Сетевой слой построен на iroh, библиотеке для одноранговых (P2P) соединений. Каждый узел, независимо от того, обслуживает он модели или только отправляет запросы, поднимает свою конечную точку iroh: она же, идентичность узла (публичный ключ), она же, единственная сетевая поверхность. Центрального сервера нет. iroh берёт на себя обход NAT (включая hole punching, «пробивание» прямого прохода через NAT) и резервный узел-ретранслятор, чтобы установить прямое аутентифицированное QUIC-соединение между любыми двумя узлами, где бы они ни находились; чтобы это работало и в открытом интернете, Mesh LLM держит два узла-ретранслятора iroh в разных регионах как запасной маршрут. Весь протокол работает поверх ALPN-механизма согласования QUIC; подробно в источнике расписано только основное соединение mesh-llm/1, внутри него всё передаётся как двунаправленные QUIC-потоки, помеченные ведущим байтом с типом потока, так что одно соединение одновременно несёт gossip-трафик (распространение информации между узлами по принципу «из уст в уста»), инференс, запросы маршрутов и события о жизненном цикле пиров, различимые по этому байту. Ключевая выгода такого устройства в том, что «маршрутизация на пира» и «передача активаций на следующую стадию конвейера» становятся тем же самым примитивом, что и обращение к localhost, просто с другим идентификатором конечной точки; iroh отвечает за защищённый транспорт, а собственный gossip-слой Mesh LLM поверх него решает, кого допускать в сеть, какие версии совместимы и каким пирам доверять.
Установка, облегчённый клиент весом около 18 МБ; можно присоединиться к публичной сети Mesh LLM или настроить приватное развёртывание для своей команды. В планах, мобильное приложение на Swift SDK от iroh и поддержка ACP, формирующегося стандарта для ИИ-агентов, чтобы к сети могли подключаться и другие клиенты. Общий вектор проекта, больше одноранговых соединений, меньше закрытых серверов и никакой привязки к одному провайдеру.
Ключевые факты
- Единый OpenAI-совместимый API (http://localhost:9337/v1) поверх пула GPU и памяти произвольного числа машин пользователя, без привязки к одному облачному провайдеру.
- Три способа выполнить запрос: локально на GPU машины, маршрутизация на пира с уже загруженной моделью или разбиение модели-гиганта по слоям на конвейер из нескольких узлов (внутренний режим «Скиппи»: например, слои 0, 15 на одном узле, 16, 31, на следующем).
- Каталог из более чем 40 моделей, от примерно полумиллиарда параметров (помещается на ноутбуке) до 235 миллиардов параметров в архитектуре MoE.
- Сеть без центрального сервера: каждый узел, конечная точка iroh с публичным ключом в роли идентичности; iroh обеспечивает обход NAT, hole punching и резервный узел-ретранслятор для прямых зашифрованных QUIC-соединений; у Mesh LLM два узла-ретранслятора iroh в разных регионах.
- Установка, облегчённый клиент весом около 18 МБ; в планах мобильное приложение на Swift SDK iroh и поддержка формирующегося агентского стандарта ACP.
Почему это важно
Большие языковые модели обычно живут в чужом дата-центре: пользователь платит по счётчику, который растёт вместе с использованием, и не может повлиять ни на смену модели провайдером, ни на то, куда уходят данные, ни на то, какое железо всё это считает. При этом у многих команд простаивают собственные GPU, в офисах, дома, под столами; недостаёт только способа заставить их работать как единая система. Mesh LLM закрывает именно этот разрыв: объединяет GPU и память нескольких машин в один OpenAI-совместимый API, а решение о том, выполнить запрос локально, передать пиру или разбить модель на несколько узлов, берёт на себя сама сеть.
Кому это важно
В первую очередь, командам и компаниям с разрозненными простаивающими GPU (в офисах, дома, под столами), которые хотят снизить зависимость от одного облачного провайдера и получить больше контроля над стоимостью и данными. Также, разработчикам чат-приложений и ИИ-агентов, которым нужна модель крупнее (вплоть до 235-миллиардной MoE), чем позволяет собственное железо: недостающую мощность можно одолжить у пиров в публичной сети или у своей команды, в приватном развёртывании.
Как это применить
Устанавливается облегчённый клиент (около 18 МБ); дальше, либо присоединиться к публичной сети Mesh LLM, либо настроить приватное развёртывание для команды. Любой OpenAI-совместимый клиент направляется на http://localhost:9337/v1, дальше сеть сама решает, выполнять запрос локально, маршрутизировать его пиру или прогнать модель-гигант конвейером по нескольким машинам (режим «Скиппи»: модель делится по диапазонам слоёв, например 0, 15 на одном узле и 16, 31, на следующем). Каталог включает более 40 готовых моделей. Начать предлагается с документации, кода проекта или Discord-канала.
Можно ли доверять
Источник, блог самого проекта (iroh.computer), то есть это собственная презентация разработчиков, а не независимый обзор. Заявления о безопасности, публичный ключ как идентичность узла, аутентифицированные QUIC-соединения, контроль допуска в сеть через собственный gossip-слой поверх iroh, исходят от авторов и не подкреплены в тексте ссылкой на независимый аудит. Косвенный сигнал, заметный отклик на Hacker News (248 баллов и 53 комментария примерно за 11 часов), что говорит скорее об интересе технического сообщества к идее, чем о проверке безопасности или заявленных характеристик.
Риски и подводные камни
В тексте риски отдельно не разбираются, но из описания следует несколько моментов. В публичной сети запрос теоретически может выполняться на чужом, не подконтрольном пользователю железе, это плата за бесплатную мощность по сравнению с приватным развёртыванием. Разбиение модели-гиганта по слоям на несколько узлов добавляет сетевые «прыжки» между стадиями конвейера, что потенциально сказывается на задержке ответа. Поддержка протокола ACP для агентских клиентов названа в источнике «формирующимся стандартом», то есть ещё не устоявшимся; мобильное приложение на Swift SDK iroh пока анонсировано, но не выпущено, то есть часть экосистемы ещё не готова.
«Идея проста: запускать модели покрупнее, не покупая GPU покрупнее.»
— Рэй Маккелви, блог iroh.computer (Mesh LLM)