Efficiently serving embedding-based recommendation (EMR) models remains a significant challenge due to their increasingly large memory requirements. Today's practice splits the model across many monolithic servers, where a mix of GPUs, CPUs, and DRAM is provisioned in fixed proportions. This approach leads to suboptimal resource utilization and increased costs. Disaggregating embedding operations from neural network inference is a promising solution but raises novel networking challenges. In this paper, we discuss the design of FlexEMR for optimized EMR disaggregation. FlexEMR proposes two sets of techniques to tackle the networking challenges: Leveraging the temporal and spatial locality of embedding lookups to reduce data movement over the network, and designing an optimized multi-threaded RDMA engine for concurrent lookup subrequests. We outline the design space for each technique and present initial results from our early prototype.
- ID статьи: 2410.12794
- Название: A Disaggregation Approach to Embedding Recommendation Systems
- Авторы: Yibo Huang, Zhenning Yang, Jiarong Xing, Yi Dai, Yiming Qiu, Dingming Wu, Fan Lai, Ang Chen
- Классификация: cs.IR cs.AI
- Дата публикации/конференция: arXiv 2024 (рабочий документ)
- Ссылка на статью: https://arxiv.org/abs/2410.12794
Эффективное обслуживание систем рекомендаций на основе встраивания (EMR) остаётся серьёзной проблемой из-за растущих требований к памяти. Текущий подход заключается в распределении модели на несколько монолитных серверов, где GPU, CPU и DRAM настроены в фиксированных пропорциях. Такой метод приводит к неоптимальному использованию ресурсов и увеличению затрат. Отделение операций встраивания от нейросетевого вывода является перспективным решением, но создаёт новые сетевые проблемы. В данной статье обсуждается проектирование FlexEMR для оптимизации разделения EMR. FlexEMR предлагает два набора методов для решения сетевых проблем: использование временной и пространственной локальности поиска встраивания для снижения передачи данных по сети и разработка оптимизированного многопоточного механизма RDMA для параллельных подзапросов поиска.
- Огромные требования к памяти: Таблицы встраивания моделей EMR производственного уровня могут достигать уровня ТБ (например, модель DLRM объёмом 50 ТБ, используемая Meta), составляя более 99% параметров модели
- Жёсткая конфигурация ресурсов: Существующие монолитные серверы настраивают GPU, CPU, DRAM в фиксированных пропорциях, что не позволяет адаптироваться к изменяющимся требованиям ресурсов для разных моделей и периодов
- Низкая экономическая эффективность: Фиксированная конфигурация ресурсов приводит к их расточительству, исследования показывают потери до 23,1% затрат
- Модели EMR доминируют в цикле вывода ИИ в производственных центрах обработки данных (например, в центрах обработки данных Meta)
- Широко применяются в электронной коммерции, поисковых системах, сервисах коротких видео и других ключевых интернет-приложениях
- Узкое место памяти стало основным ограничивающим фактором при развёртывании моделей EMR
- Архитектура монолитного сервера: Ресурсы настраиваются в фиксированных пропорциях, что затрудняет независимое масштабирование
- Конкуренция за память GPU: Кэш встраивания конкурирует с вычислениями нейросети за ограниченную память GPU
- Недостаточная оптимизация сети: Существующие системы RDMA не оптимизированы для сценария разделения EMR
- Предложена архитектура разделения FlexEMR: Полное отделение хранилища встраивания и вычислений нейросети на независимые серверы
- Разработана оптимизация с повышением локальности: Использование временной и пространственной локальности для снижения передачи данных по сети
- Разработан многопоточный механизм RDMA: Механизм параллельного поиска, оптимизированный для сценария EMR
- Реализована адаптивная стратегия кэширования: Динамическая регулировка размера кэша для предотвращения конкуренции за память GPU
- Предложен механизм иерархического объединения: Перемещение части операций объединения на серверы встраивания
Входные данные: Пользовательские запросы, содержащие категориальные (разреженные) и непрерывные (плотные) признаки
Выходные данные: Результаты ранжирования Top-K кандидатов элементов
Ограничения: Минимизация общей стоимости владения (TCO) при соблюдении целевых показателей уровня обслуживания (SLO)
FlexEMR использует разделённую архитектуру, включающую основные компоненты:
- Узлы Ranker: Оснащены GPU, отвечают за вычисления нейросетевого вывода
- Серверы встраивания: Оснащены CPU и большой памятью, хранят таблицы встраивания и обрабатывают запросы поиска
- Высокоскоростная сеть: Соединяет два типа узлов через RDMA и другие технологии
1. Адаптивное кэширование встраивания (§3.1.1)
- Динамический мониторинг нагрузки: Использование алгоритма скользящего окна для мониторинга размера очереди задач
- Стратегия распределения памяти: Динамическая регулировка размера кэша в зависимости от требований вычислений NN
- Асинхронный обмен данными: Прозрачные операции загрузки и выгрузки горячих встраиваний
2. Иерархическое объединение встраивания (§3.1.2)
- Использование пространственной локальности: Идентификация нескольких векторов на одном сервере встраивания
- Распределённое объединение: Серверы встраивания выполняют локальное объединение, Ranker выполняет глобальное объединение
- Оптимизация таблицы маршрутизации: Таблица маршрутизации на основе диапазонов снижает потребление памяти
3. Многопоточный механизм RDMA (§3.2)
- Проектирование с учётом отображения: Устранение конкуренции между параллельными единицами RNIC
- Динамическая миграция соединений: Балансировка нагрузки при асимметричных паттернах доступа
- Управление потоком кредитов: Быстрый канал управления кредитами на основе QoS
- Традиционный метод: Кэш GPU фиксированного размера, конкурирующий с вычислениями NN за память
- FlexEMR: Динамическая регулировка размера кэша, балансировка задержки и пропускной способности
- Традиционный метод: Все векторы встраивания передаются на Ranker для объединения
- FlexEMR: Использование ресурсов CPU серверов встраивания для предварительной агрегации
- Традиционный метод: Многопоточная конкуренция за ресурсы RNIC, снижение производительности на 62%
- FlexEMR: Однозначное отображение устраняет конкуренцию, повышение производительности в 2,3 раза
- Фреймворк MLPerf: Стандартизированный тест производительности для систем рекомендаций
- Трассы производства Meta: Трассы поиска встраивания производственного уровня от Meta
- Модель RMC2: Репрезентативная модель рекомендаций для оценки производительности
- Пропускная способность: Количество обработанных запросов в секунду (rps)
- Задержка: Включая медианную и P99 задержку
- Коэффициент использования памяти GPU: Максимальный поддерживаемый размер пакета
- Эффективность передачи по сети: Объём передачи данных и использование полосы пропускания
- Конфигурация оборудования: Серверы Intel Xeon (32 ядра, 128 ГБ памяти), GPU Nvidia A100 (80 ГБ)
- Сеть: 100 Гбит/с Mellanox RDMA NIC
- Методы сравнения: Однопоточная базовая линия RDMA, стратегия фиксированного кэша
- Использование функции resource domain для реализации RDMA с учётом отображения
- Размер скользящего окна динамически регулируется в зависимости от рабочей нагрузки
- Управление потоком кредитов реализовано на основе QoS уровня соединения
1. Анализ конкуренции за память GPU (рис. 7)
- Без кэша: максимальный размер пакета примерно 2000
- Большой кэш (75 ГБ): максимальный размер пакета снижается примерно до 500
- Адаптивный кэш FlexEMR: сохраняет высокую пропускную способность при сохранении преимуществ задержки
2. Производительность многопоточного RDMA (рис. 8 слева)
- Базовый метод: производительность снижается с увеличением количества потоков
- FlexEMR: при 8 механизмах RDMA пропускная способность увеличивается в 2,3 раза, достигая 15M rps
3. Эффект управления потоком кредитов (рис. 8 справа)
- Медианная задержка: FlexEMR на ~35% ниже базовой линии
- P99 задержка: значительное улучшение производительности хвостовой задержки
В статье показаны независимые вклады каждого компонента:
- Многопоточность с учётом отображения: решение проблемы конкуренции ресурсов RNIC
- Адаптивное кэширование: балансировка использования памяти и производительности
- Иерархическое объединение: снижение сетевых издержек передачи
- Конкуренция за память — ключевое узкое место: Конкуренция за память GPU между кэшем и вычислениями NN значительно влияет на производительность
- Сетевая оптимизация даёт значительный эффект: Оптимизированный механизм RDMA может значительно повысить производительность параллельного поиска
- Использование локальности эффективно: Использование временной и пространственной локальности эффективно снижает сетевые издержки
- Методы, ориентированные на GPU: Рассмотрение EMR как универсальной модели глубокого обучения, в основном использующей ресурсы GPU
- Оптимизация кэширования: Различные механизмы кэширования встраивания для ускорения операций поиска
- Специализированное оборудование: Специализированное оборудование, такое как FPGA, для ускорения систем рекомендаций
- Сжатие и фрагментация: Методы оптимизации сжатия и фрагментации таблиц встраивания
- Систематическое решение разделения: Первый комплексный проект архитектуры разделения EMR
- Акцент на оптимизацию сети: Углублённое решение сетевых проблем, вызванных разделением
- Способность динамической адаптации: По сравнению со статическим распределением ресурсов DisaggRec, обеспечивает динамическую оптимизацию
- Архитектура разделения EMR может значительно повысить использование ресурсов и экономическую эффективность
- Оптимизация с учётом локальности может эффективно снизить сетевые издержки
- Целевая оптимизация RDMA имеет решающее значение для производительности архитектуры разделения
- Адаптивные стратегии более подходят для динамических рабочих нагрузок, чем статическая конфигурация
- Стадия прототипа: В настоящее время это ранний прототип, отсутствует проверка крупномасштабного развёртывания
- Зависимость от сети: Производительность в высокой степени зависит от высокоскоростной сети, что увеличивает затраты на инфраструктуру
- Повышенная сложность: Архитектура разделения увеличивает сложность системы и трудности эксплуатации
- Издержки задержки: Сетевая коммуникация неизбежно увеличивает задержку
- Расширение на другие модели: Применение к LLM, мультимодальным моделям, MoE и т.д.
- Более интеллектуальное планирование: Разработка более сложных алгоритмов планирования ресурсов
- Совместное проектирование оборудования: Сотрудничество с производителями сетевого оборудования для оптимизации
- Механизмы отказоустойчивости: Повышение надёжности системы и способности восстановления после сбоев
- Точное выявление проблемы: Точное выявление основных проблем и узких мест в обслуживании EMR
- Разумное проектирование решения: Проектирование архитектуры разделения соответствует тенденции разделения в центрах обработки данных
- Эффективные технические инновации: Несколько технических инноваций имеют экспериментальную поддержку
- Высокая практическая ценность: Решает важные проблемы в реальной производственной среде
- Ограниченный объём оценки: Тестирование только в небольших масштабах, отсутствие крупномасштабной проверки
- Недостаточный анализ затрат: Отсутствует подробный анализ затрат и выгод
- Отсутствие обработки отказов: Недостаточное обсуждение механизмов обработки отказов в архитектуре разделения
- Интеграция с существующими системами: Отсутствует обсуждение интеграции с существующими системами рекомендаций
- Академический вклад: Предоставляет комплексный технический фреймворк для разделения систем EMR
- Промышленная ценность: Имеет важное руководящее значение для развёртывания крупномасштабных систем рекомендаций
- Технологический прогресс: Способствует применению архитектуры разделения в AI-сервисах
- Потенциал стандартизации: Может стать справочным стандартом для развёртывания разделения EMR
- Крупномасштабные системы рекомендаций: Подходит для крупных интернет-компаний, таких как Meta и Alibaba
- Среды с ограниченными ресурсами: Центры обработки данных, требующие оптимизации использования ресурсов
- Сценарии с динамической нагрузкой: Сервисы рекомендаций с существенными колебаниями рабочей нагрузки
- Приложения, чувствительные к затратам: Коммерческие сценарии со строгими требованиями к TCO
В статье цитируется 61 соответствующая работа, включая:
- Работы по оптимизации систем EMR (такие как AdaEmbed, RecSSD и т.д.)
- Исследования архитектуры разделённых систем (такие как LegoOS, DxPU и т.д.)
- Технологии оптимизации сети RDMA (такие как FaRM, Aeolus и т.д.)
- Тесты производительности систем рекомендаций (MLPerf, набор данных Meta DLRM и т.д.)
Общая оценка: Это высококачественная системная исследовательская работа, которая предлагает инновационное решение архитектуры разделения для реальных проблем сервиса EMR. Хотя в настоящее время она находится на стадии прототипа, её технические решения имеют сильную практическую ценность и потенциал распространения, что имеет важное значение для развития инфраструктуры систем рекомендаций.