Liquid AI представи LFM2.5-VL-3B-DSpark: спекулативно декодиране за визионно-езикови модели с до 3,13 пъти по-бързо декодиране
Liquid AI обяви LFM2.5-VL-3B-DSpark — експериментален модел-чернова за спекулативно декодиране на своя LFM2.5-VL-3B визуално-езиков модел. Моделът-чернова добавя около 280 млн. параметъра и ускорява декодирането, без да променя изхода на модела. Екипът на Liquid AI съобщава за до 3,13 пъти по-бързо декодиране върху Apple silicon и до 2,66 пъти върху NVIDIA H100.
Може ли да бъде внедрен? Да. Теглата са налични в Hugging Face във форматите Safetensors и GGUF, с поддръжка още от първия ден в SGLang, MLX-VLM и llama.cpp. Екипът на Liquid AI определя изданието като експериментално, а то се разпространява съгласно LFM Open License v1.0, която позволява безплатна търговска употреба само от компании с годишни приходи под 10 млн. долара.
Какво променя спекулативното декодиране за един VLM
Стандартният модел генерира по един токен при всяко предаване напред. Спекулативното декодиране добавя малък модел-чернова, който предлага няколко бъдещи токена. След това големият целеви модел проверява целия блок с едно предаване и запазва токените, с които е съгласен.
DSpark следва рецептата от моделите-чернови DSpark за текстови модели на Liquid AI, описани в статията за DSpark. Моделът-чернова прочита скритите състояния на целевия модел от няколко слоя и предсказва следващите k токена.
Ключовият момент в дизайна: модалността няма значение за модела-чернова. Когато токените достигнат скритите слоеве, текстът и частиците на изображенията представляват просто тензори. Затова екипът на Liquid AI използва същия алгоритъм за инференс и за своя визуално-езиков модел.
Архитектура и обучение на модела-чернова
Моделът-чернова е опростен модел, базиран единствено на механизъм за внимание. Аблационните изследвания определят 4 слоя и размер на блока 9. Liquid AI препоръчва размер на блока 8 или 9 при инференс в зависимост от хардуера. При Apple silicon се използва 8.
| Компонент | Параметри |
|---|---|
| Стек на декодера (4 слоя) | 193,0 млн. |
| Проекция на скритото състояние | 21,0 млн. |
| Марковска глава | 65,5 млн. |
| Нормализации + глава за увереност | 6,4 хил. |
| Общо | 279,5 млн. |
Вграждането и LM главата са споделени с целевия модел, така че моделът-чернова не ги включва. Liquid AI посочва, че това увеличава броя на параметрите при внедряване с 8,9%. Обучението използва данни за контролирано дообучение, обхващащи често срещани визуално-езикови задачи, в продължение на 10 епохи. Всички аблационни изследвания и обучението са проведени изключително върху хардуер на AMD.
Резултати от бенчмарковете
Оценяването следва бенчмарка MMSpec в 6 типа задачи: общи въпроси и отговори за изображения (General VQA), въпроси и отговори върху текст (Text VQA), надписване на изображения, въпроси и отговори върху диаграми, сложно разсъждение и многоходов разговор. Всички тестове са проведени с размер на партидата 1, температура 0 и 16-битови тегла за визуалния енкодер и основния модел. Данните са събрани чрез Pipette — публичната инфраструктура на Liquid AI за сравнително тестване на устройства.
| Стек | Ускорение на декодирането | Ускорение от край до край | Приети токени на едно предаване |
|---|---|---|---|
| MLX-VLM, M5 Max MacBook Pro (блок 8) | 2,30x до 3,13x | 1,56x до 2,62x | 3,24 до 4,34 |
| llama.cpp, M3 Ultra (блок 8) | 1,57x до 2,14x | 1,30x до 1,77x | 3,31 до 4,50 |
| SGLang, 1x H100 80GB (блок 9) | 2,04x до 2,66x | 1,64x до 2,27x | 3,46 до 4,57 |
Показателите „до“ за декодирането и за процеса от край до край често произлизат от различни задачи. При M5 Max ускорението на декодирането от 3,13x е отчетено при надписване на COCO изображения, докато ускорението от край до край от 2,62x е при MMMU-Pro.
Процентът на приемане е в сходен диапазон и при двата стека на Apple. Liquid AI тълкува това като знак, че приемането зависи от модела-чернова и работното натоварване, а не от средата за изпълнение.
При по-висока конкурентност DSpark запазва предимство по отношение на пропускателната способност при всяко измерено ниво на една H100 в SGLang. Разликата намалява с увеличаването на конкурентността.
Качество на изхода и температура
При жадно декодиране целевият модел проверява всеки предложен токен, така че изходът е идентичен с този на базовия модел. При ненулеви температури и съгласувано семплиране спекулативното декодиране запазва разпределението на изхода на целевия модел, както е доказано от Leviathan и съавтори.
Температурата влияе върху скоростта. При по-високи температури вероятността се разпределя между повече кандидат-токени, така че моделът-чернова и целевият модел по-често не са съгласни. При тестовете на Liquid AI това намалява приемането и пропускателната способност.
Защо ползите от край до край са по-малки при периферни устройства
Спекулативното декодиране ускорява само декодирането. Кодирането на изображенията и предварителното запълване се изпълняват със същата скорост. Един VLM трябва да кодира изображението, а след това да обработи стотици визуални токени заедно с подканата.
При периферни устройства с по-малка изчислителна мощност от графичните процесори в центровете за данни предварителното запълване заема по-голям дял от латентността. Liquid AI представя това чрез закона на Амдал: общото ускорение е ограничено от частта, която не е ускорена. Това обяснява случаи като TextVQA при M5 Max, където 2,69 пъти по-бързото декодиране води до ускорение от край до край от 1,56 пъти.
Как да го стартирате
SGLang изисква v0.5.19 или по-нова версия. Стартирайте LiquidAI/LFM2.5-VL-3B с --speculative-algorithm DSPARK и посочете модела-чернова чрез --speculative-draft-model-path. При Apple silicon MLX-VLM v0.7.2 или по-нова версия приема модела-чернова чрез --draft-model. В момента DSpark в MLX-VLM поддържа само жадно семплиране, така че задайте температура 0. За llama.cpp съчетайте GGUF модела-чернова с целевия LFM2.5-VL-3B-GGUF.
Работата по интеграцията е публично достъпна в заявките за изтегляне на llama.cpp, SGLang и MLX-VLM. Ускоряването на квантизирани модели не е част от обхвата на това издание.
Основни изводи
- Модел-чернова с 279,5 млн. параметъра добавя 8,9% параметри към LFM2.5-VL-3B.
- Декодирането е до 3,13 пъти по-бързо при M5 Max и до 2,66 пъти при H100.
- При жадно декодиране изходът е идентичен; при семплиране разпределението се запазва.
- Предварителното запълване и визуалното кодиране ограничават ползите от край до край, особено при периферни устройства.
- Тествано е само при 16 бита; ускоряването на квантизирани модели все още не е разгледано.
Разгледайте техническите подробности. Всички заслуги са за изследователя на този проект. Също така можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия SubReddit за машинно обучение с над 150 хил. членове и да се абонирате за нашия бюлетин. Почакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Имате нужда от партньор за популяризиране на вашето GitHub хранилище, страница в Hugging Face, продуктово издание, уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.