Исследователи DeepSeek только что выпустили супер крутой персональный проект под названием «Nano-Vllm», минималистичный и эффективную реализацию двигателя VLLM (виртуальная большая языковая модель), разработанный специально для пользователей, которые ценят простоту, скорость и прозрачность. Построенный полностью с нуля в Python, Nano-VLLM перегоняет сущность высокопроизводительных конференций в скандальную, читаемую кодовую базу из около 1200 строк. Несмотря на небольшой след, он соответствует скорости вывода оригинального двигателя VLLM во многих автономных сценариях.
Традиционные рамки вывода, такие как VLLM, обеспечивают впечатляющую производительность, внедряя сложные стратегии планирования и оптимизации. Тем не менее, они часто поставляются с большими и сложными кодовыми базами, которые создают барьер для понимания, модификации или развертывания в ограниченных средах. Nano-Vllm предназначен для легкого, проверенного и модульного. Авторы создали его как чистую справочную реализацию, которая убирает вспомогательную сложность, сохраняя при этом основные характеристики.
Ключевые функции
1. Быстрый автономный вывод
Nano-Vllm достигает близкого сторонника с VLLM с точки зрения необработанного автономного вывода. Сосредоточив внимание на более стройном трубопроводе, он устраняет накладные расходы во время выполнения и упрощает развертывание, что делает его подходящим для исследовательских экспериментов, мелких развертываний или образовательных целей.
2. Чистая и читаемая кодовая база
Весь двигатель реализован в ~ 1200 строках кода Python без скрытых абстракций или чрезмерных слоев зависимости. Это делает его отличным инструментом для изучения того, как системы вывода LLM заархитируются, предлагая пошаговый взгляд на выборку токенов, управление кэшем и параллельное выполнение.
3. Оптимизация Suite
Nano-Vllm включает в себя надежный набор стратегий оптимизации для максимизации пропускной способности:
- Префикс кэширование: Повторно использует состояния кэша ключевых значений через быстрое повторение, уменьшая избыточные вычисления.
- Тензор параллелизм: Распределяет модельные слои по нескольким графическим процессорам для масштабирования вывода с помощью аппаратного обеспечения.
- Сборник факела: Рычаты
torch.compile()
чтобы объединить операции и уменьшить накладные расходы на питона. - Графики CUDA: Предварительные карты и повторно используют графики выполнения графических процессоров, минимизируя задержку запуска.
Эти оптимизации, хотя и реализованы минимально, соответствуют методам, используемым в системах производства, и обеспечивают реальные результаты на практике.
Обзор архитектуры
Nano-Vllm использует прямую архитектуру:
- Обработка токенизатора и ввода: Управляет быстрого анализа и преобразования идентификаторов токена с помощью токенизаторов обнимающего лица.
- Модельная обертка: Нагружает LLM на основе трансформатора с использованием Pytorch, применяя тензорные параллельные обертки, где это необходимо.
- KV Cache Management: Обрабатывает динамическое распределение кэша и поиск при поддержке повторного использования префикса.
- Двигатель отбора проб: Реализует выборку в верхнюю K/Top-P, масштабирование температуры и другие стратегии декодирования.
Ограничивая количество движущихся частей, Nano-VLLM гарантирует, что путь выполнения от подсказки ввода до сгенерированного вывода остается ясным и прослеживаемым.
Варианты использования и ограничения
Nano-Vllm лучше всего подходит для:
- Исследователи создают пользовательские приложения LLM
- Разработчики, исследующие оптимизации на уровне вывода
- Педагоги преподают инфраструктуру глубокого обучения
- Инженеры развертывают вывод на крае или системах с низким ресурсом
Однако, как минимальная реализация, он пропускает многие расширенные функции, найденные в производственных системах:
- Нет динамического расписания или запросов
- Нет потокового/токенового поколения для обслуживания в реальном времени
- Ограниченная поддержка нескольких параллельных пользователей
Эти компромиссы являются преднамеренными и способствуют ясности и производительности кодовой базы в однопоточных автономных сценариях.
Заключение
Nano-Vllm отражает вдумчивый баланс между простотой и производительностью. Несмотря на то, что он не стремится заменить полнофункциональные двигатели с выводом в производстве, он успешен как быстрый, понятный и модульная альтернатива. Для практикующих, стремящихся понять гайки и болты современного вывода LLM или создать свои собственные варианты из чистого сланца, Nano-VLLM предлагает прочную отправную точку. При поддержке ключевых оптимизаций и четко структурированного дизайна он может стать инструментом для использования в образовании и легких развертываний LLM.
Проверьте GitHub PageПолем Весь кредит на это исследование направлено на исследователей этого проекта. Кроме того, не стесняйтесь следить за нами Twitter И не забудьте присоединиться к нашему 100K+ ML Subreddit и подписаться на Наша информационный бюллетеньПолем
ASIF Razzaq является генеральным директором Marktechpost Media Inc. как дальновидного предпринимателя и инженера, ASIF стремится использовать потенциал искусственного интеллекта для социального блага. Его последнее усилие-запуск медиа-платформы искусственного интеллекта, Marktechpost, которая выделяется благодаря глубокому освещению машинного обучения и новостей о глубоком обучении, которое является технически обоснованным и легко понятным для широкой аудитории. Платформа может похвастаться более чем 2 миллионами ежемесячных просмотров, иллюстрируя свою популярность среди зрителей.
