Ускорение генерации токена LLM в два раза для больших контекстов

Поделиться
  • 25 июля

Помимо ChatGPT и многочисленных конкурентов в облаке с веб-мордами и/или API, существует огромная экосистема для запуска LLM на собственном железе. На Huggingface на любой бюджет найдется модель для скачивания, которая влезет в видеопамять (или в RAM, можно и на CPU запускать, если пользователь терпеливый). Вчера здесь на Хабре была очень неплохая обзорная статья.

Самые популярные open source тулы для локального запуска LLM — llama.cpp и vllm (и их многочисленные обертки). У них немного разные ниши, и дальше я буду писать о llama.cpp. Она поддерживает все возможные комбинации железа и ОС — Linux, MacOS, Windows; x86 CPU, Arm, Apple Silicon CPU & GPU, Nvidia, AMD,… Но автор и мейнтейнер — Георгий Герганов использует для разработки Mac Studio. Почему такой выбор железа?

Производительность генерации каждого токена LLM в одном потоке ограничена вычислительной мощностью в процессе построения KV-кэша (анализ промпта до генерации первого токена), и пропускной способностью памяти при генерации последующих токенов. При этом в обоих случаях очень полезно уметь быстро загружать веса из видеопамяти в ALU видеокарты (или CPU).
Читать дальше →