Liquid AI пуска чернови модели LFM2.5-DSpark, които осигуряват до 3,18 пъти по-бързо декодиране без промяна на изхода на модела
Liquid AI пусна чекпойнти на драфт модели DSpark за три модела от семейството LFM2.5: LFM2.5-1.2B-Instruct, LFM2.5-2.6B и LFM2.5-8B-A1B. Всеки драфтър добавя път за спекулативно декодиране към съществуващ целеви модел. Драфтър с приблизително 300 млн. параметъра предлага блок от девет кандидат-токена, а целевият модел проверява целия блок с едно-единствено предно преминаване. Компромисът е малко по-голям разход на памет срещу значително ускорение на декодирането: до 3.18 пъти на H100 и до 2.87 пъти на MacBook Pro с M4 Max. Резултатът не се променя. При жадно декодиране генерираната последователност е идентична с тази на целевия модел, работещ самостоятелно, така че точността на бенчмарковете остава непроменена. И llama.cpp, и SGLang имат поддръжка още от първия ден.
Готово ли е за внедряване?
Да, ако го хоствате самостоятелно. Теглата се предоставят във формати Safetensors и GGUF, а към момента чекпойнтите на драфтърите не се обслужват от нито един хостван доставчик на инференс в Hugging Face. За стартирането им е необходима компилация на SGLang или llama.cpp с поддръжка на DSpark за целевите модели LFM2.
- Ниво на компанията: Лицензът LFM Open License v1.0 позволява безплатна търговска употреба само докато приходите на вашето юридическо лице остават под 10 млн. долара годишно. Независими разработчици, стартъпи и малки и средни предприятия са обхванати; по-големите предприятия трябва първо да се свържат с Liquid AI за търговски лиценз.
- Индустрии: Инструменти за разработчици, потребителски приложения, работещи локално, роботика и вградени системи, както и работни натоварвания в здравеопазването, финансите и отбраната, които съхраняват данните локално или на устройството.
- Приложения: Локални асистенти за програмиране, агенти на устройството, които извършват разсъждение преди всяко извикване на инструмент, чат за един потребител, при който размерът на батча е 1, и офлайн копилоти на хардуер от клас лаптоп.
Какво представляват драфтърите?
Спекулативното декодиране използва малък модел за предлагане на токени, които по-голям модел проверява. Всеки драфтър LFM2.5 има приблизително 300 млн. параметъра: 295.7 млн. за целевия модел 1.2B-Instruct и 327.7 млн. за целевите модели 2.6B и 8B-A1B. Архитектурата се състои от 5 слоя с пълно внимание, с hidden_size=2048, intermediate_size=6144, GQA с 32 глави над 8 KV глави и размер на блока 9. Драфтърът не включва тегла за речника; вграждането и LM главата се споделят с целевия модел при зареждане. Хранилището на драфтъра за 2.6B е 655 MB във формат BF16, което е реалната допълнителна цена откъм памет.
DSpark комбинира три части. Паралелна архитектура в стил DFlash, обусловена от контекстните характеристики на целевия модел, създава скрити състояния за всички драфт токени с едно предно преминаване. Лека последователна глава, моделирана като марковска верига между съседни токени с ранг 256, възстановява зависимостта между токените и повишава приемането на по-късните позиции в блока. Верификатор, управляван от график на увереността, предсказва вероятността за оцеляване на всеки токен и премахва суфикси с ниска увереност, когато проверката би струвала повече, отколкото спестява.
Измерените резултати
Liquid AI отчита пропускателна способност на 1xH100 във формат BF16 чрез SGLang и на MacBook Pro с M4 Max чрез llama.cpp с Metal и тегла FP16 GGUF. И в двата случая се използват размер на блока 9, размер на батча 1 и температура 0, при MATH500, HumanEval, MBPP, GSM8K и MT-Bench.
| Целеви модел | Средно за H100 | Най-добър случай за H100 | Средно за M4 Max | Най-добър случай за M4 Max |
|---|---|---|---|---|
| LFM2.5-1.2B-Instruct | 2.10x (656 → 1384 ток./сек.) | 2.56x при MATH500 | 2.54x (138 → 350 ток./сек.) | 2.87x при HumanEval (136 → 389) |
| LFM2.5-2.6B | 2.67x (323 → 864 ток./сек.) | 3.06x при MATH500 | 2.27x (61 → 139 ток./сек.) | 2.63x при HumanEval |
| LFM2.5-8B-A1B | 2.54x (418 → 1074 ток./сек.) | 3.18x при MATH500 (428 → 1362) | 1.18x (90 → 106 ток./сек.) | 1.44x при GSM8K |
Ускорението следва процента на приемане, който от своя страна зависи от предсказуемостта на изхода. LFM2.5-8B-A1B приема 8.27 от 10 токена на стъпка при MATH500 и само 4.02 при GSM8K, така че същият модел варира от 3.18x до 1.29x на същия графичен процесор. При модела 1.2B приемането при MT-Bench спада до 3.90, а ускорението на H100 намалява до 1.66x.
Резултатът за MoE на силиция на Apple е най-ясното предупреждение: LFM2.5-8B-A1B печели средно само 1.18x на M4 Max. Liquid AI отдава това на текущата реализация на MoE в Metal бекенда на llama.cpp, както и на факта, че проверката на k токена активира повече експерти и следователно изисква повече трафик на тегла, отколкото една стъпка на декодиране.
Приложението при агенти
Ползата е най-голяма там, където потребителят изчаква извършването на разсъждение преди всяко извикване на инструмент. При сценарии с извикване на множество инструменти Liquid AI отчита, че DSpark намалява латентността средно с 57% за LFM2.5-2.6B. Тествайте го със собствените си трасета: агент, който планира, извиква инструменти и препланира, плаща цената на декодирането няколко пъти в рамките на един потребителски ход.
В SGLang стартирайте целевия модел с прикачен драфтър:
python -m sglang.launch_server \
--model-path LiquidAI/LFM2.5-2.6B \
--speculative-algorithm DSPARK \
--speculative-draft-model-path LiquidAI/LFM2.5-2.6B-DSpark \
--speculative-draft-attention-backend flashinfer \
--disable-radix-cache --mem-fraction-static 0.75 --port 30000
Размерът на блока се прочита от файла config.json на драфтъра, а базовата конфигурация е същата команда без трите флага --speculative-*.
Основни изводи
- Драфтърите DSpark добавят около 300 млн. параметъра и до 3.18 пъти по-бързо декодиране на H100.
- Изходът при жадно декодиране е идентичен с базовия, така че точността на бенчмарковете остава непроменена.
- Ускорението следва процента на приемане и варира според работното натоварване — от 1.04x до 3.18x.
- MoE на устройството е слабата страна: LFM2.5-8B-A1B постига само 1.18x на M4 Max.
- Извикването на множество инструменти носи най-голямата практическа полза: 57% по-ниска латентност при LFM2.5-2.6B.
Вижте и пълния технически материал. Цялата заслуга за това изследване принадлежи на изследователите по проекта.
Също така, последвайте ни в Twitter и не забравяйте да се присъедините към нашия 150k+ ML SubReddit и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Имате нужда от партньор за популяризирането на вашето GitHub хранилище, страница в Hugging Face, продуктово издание, уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.