Когда языковая модель обрабатывает запрос, «за кулисами» происходит интенсивное перемещение данных между серверами. И чем сложнее задача, тем больше таких перемещений. Команда Perplexity AI решила выяснить, можно ли ускорить этот процесс, и оказалось, что это вполне реально, если позволить серверам общаться напрямую, минуя лишние звенья.
Проблема передачи данных в распределенных языковых моделях
Проблема, которую решали
Современные языковые модели работают не на одном компьютере, а распределены по множеству серверов. Когда модели нужно произвести вычисления или передать данные из одной части системы в другую, обычно задействуется центральный процессор (CPU) сервера – он, подобно диспетчеру, принимает данные, обрабатывает их и отправляет дальше. Это рабочая схема, но она создает «узкое место»: процессор занят пересылкой информации вместо того, чтобы выполнять полезные вычисления.
Особенно остро это ощущается в новых архитектурах работы моделей. Например, когда одна нейросеть генерирует черновики ответов, а другая их проверяет и улучшает. Или когда система обращается к внешним источникам в процессе генерации текста. В таких сценариях серверам приходится обмениваться данными особенно активно – и каждый раз через процессор.
Что такое RDMA и зачем это нужно
RDMA (Remote Direct Memory Access) расшифровывается как «удаленный прямой доступ к памяти». Проще говоря, это способ передачи данных, при котором один сервер может напрямую записать информацию в память другого сервера, не отвлекая его процессор. Представьте, что вместо того чтобы передавать письмо через секретаря, вы просто кладете его на стол коллеге.
Технология не новая – ее давно используют в высокопроизводительных вычислениях, но для систем с языковыми моделями ее применение только начинает набирать обороты. Причина в том, что паттерны обмена данными в ИИ-системах отличаются от классических задач суперкомпьютеров.
Применение RDMA в спекулятивном декодировании и RAG-системах
Как это работает на практике
Команда Perplexity разработала инструмент, который позволяет серверам в системе языковых моделей передавать данные друг другу напрямую – «точка-точка» (point-to-point), как говорят инженеры. Это особенно полезно в двух ситуациях.
Первая – при использовании спекулятивного декодирования (speculative decoding). Суть в том, что небольшая и быстрая модель оперативно генерирует несколько вариантов продолжения текста, а большая модель их проверяет и выбирает лучший. Обычно эти модели находятся на разных серверах, и им нужно постоянно обмениваться промежуточными результатами. С RDMA этот обмен происходит намного быстрее.
Вторая – системы с генерацией, дополненной поиском (RAG – retrieval-augmented generation), когда модель в процессе формирования ответа обращается к внешней базе знаний. Например, ищет актуальную информацию в документах, чтобы дать более точный ответ. Здесь также требуется мгновенная передача данных между компонентами системы.
Результаты использования RDMA для снижения задержек
Что это дает в цифрах
Исследователи провели тесты и выяснили, что прямая передача данных серьезно снижает задержки (latency). В некоторых сценариях время ожидания сокращается в несколько раз по сравнению со стандартным подходом, когда данные проходят через процессор. Это не абстрактное улучшение – пользователь действительно быстрее получает ответ от модели.
Особенно заметна разница при передаче больших объемов данных или в длинных цепочках серверов. Чем сложнее архитектура системы, тем выше выигрыш от использования прямой передачи.
Актуальность RDMA для современных AI-систем
Почему это важно сейчас
Языковые модели становятся всё масштабнее, а задачи, которые они решают, – разнообразнее. Уже недостаточно просто взять текст и сгенерировать ответ. Современные системы комбинируют несколько моделей, обращаются к внешним данным и используют специализированные компоненты для разных подзадач. Все это требует активного обмена информацией между серверами.
Классические методы передачи данных для таких сценариев становятся тормозом системы. RDMA – один из способов устранить это препятствие. Не единственный, конечно, но довольно элегантный: технология уже отработана в других областях, ее просто нужно правильно адаптировать под специфику работы нейросетей.
Перспективы внедрения RDMA в индустрии
Что дальше
Команда Perplexity опубликовала результаты своей работы в открытом доступе, чтобы другие исследователи и инженеры могли внедрять этот подход. Это не финальное решение всех проблем коммуникации в ИИ-системах, но важный шаг в направлении создания эффективной инфраструктуры.
Вполне вероятно, что в ближайшее время мы увидим больше подобных решений: индустрия активно ищет способы сделать работу моделей быстрее и дешевле без потери качества. Прямая передача данных между серверами – одна из таких возможностей, которая постепенно становится отраслевым стандартом.