Stanford предложил, как сделать искусственный интеллект быстрее и дешевле
Исследователи Stanford оптимизировали запуск языковых моделей на GPU: они предложили запускать весь прямой проход в одном ядре вместо привычных сотен. Это решение уже дало прирост производительности и снизило расходы на оборудование для Llama-1B и других моделей. Как это устроено разбирается IT-World.
Большинство современных языковых моделей от Llama до GPT запускаются на GPU как длинная цепочка мелких CUDA-ядер, каждое из которых отвечает за свою часть вычислений: нормализация, внимание, MLP, вывод логитов и прочее. Каждое переключение между ядрами занимает время, а сама архитектура приводит к простою GPU и недоиспользованию памяти. По факту, на практике даже на NVIDIA H100 популярные движки вроде vLLM и SGLang используют лишь до 50% полосы памяти, остальные ресурсы простаивают из-за пауз между этапами.
Команда Stanford изменила этот подход, реализовав мегаядро (Low-Latency-Llama Megakernel). Вся последовательность вычислений выполняется внутри одной большой программы на GPU. Память разделена на 13 страниц по 16 КБ, что позволяет одновременно подготавливать новые данные и выполнять текущие операции, минимизируя задержки. Для синхронизации используется простая система счётчиков: каждый вычислительный блок стартует, когда данные полностью готовы, что убирает необходимость ждать завершения всех предыдущих процессов целиком.
Ключевые результаты и цифры:
- На H100 мегаядро задействует до 78% полосы памяти, тогда как vLLM и SGLang — около 50%.
- Llama-1B с мегаядром выдаёт ответы в 2,5 раза быстрее vLLM и на 50% быстрее SGLang.
- На GPU B200 ускорение по сравнению с vLLM достигает 3,5 раз.
- Время одного полного прохода модели на H100 — менее 1 миллисекунды, на B200 — 680 микросекунд.
Особенно подход эффективен для сервисов с жёсткими требованиями к задержкам — чат-ботов, диалоговых систем, голосовых ассистентов. Повышение производительности уменьшает расходы на GPU и позволяет запускать крупные нейросети на меньшем числе серверов. Кроме того, архитектуру мегаядра можно адаптировать под разные модели и задачи. Исходный код открыт — внедрять можно уже сейчас.
Этот подход меняет экономику эксплуатации нейросетей: меньше железа, меньше расходов на электроэнергию, быстрее отклик — а значит, технологии становятся доступнее не только для крупных компаний, но и для небольших команд и стартапов.
Написать комментарий