IA e LLMInfra e DevOps
Acelerando modelos de visão e linguagem com LFM2.5-VL-DSpark
há 1 h
A Liquid AI apresentou o LFM2.5-VL-DSpark, um modelo auxiliar para acelerar a decodificação do modelo de visão e linguagem LFM2.5-VL-3B. O método usa speculative decoding: o drafter propõe blocos de tokens e o modelo-alvo verifica cada token, preservando a saída exata do alvo em decodificação gulosa.
O drafter usa a mesma arquitetura dos drafters textuais LFM2.5-DSpark. Ele captura estados ocultos do modelo-alvo em um conjunto fixo de camadas e usa esses estados para gerar candidatos. Imagens e texto são projetados para uma representação compartilhada antes dessas camadas, permitindo que o drafter opere com vetores de estados ocultos da mesma dimensão independentemente da modalidade de entrada. Por isso, o algoritmo de inferência permanece igual ao usado nos modelos de texto.
A Liquid AI treinou o modelo com uma mistura de dados SFT de visão e linguagem, ponderada para as cargas de trabalho esperadas. Após ablações com 3, 4 e 5 camadas, adotou um drafter simplificado, baseado apenas em atenção, com 4 camadas e bloco de 9 tokens. O treinamento final durou 10 épocas; a taxa de aceitação aumentou com mais tokens de treinamento e depois apresentou retornos decrescentes. Em produção, a recomendação é usar bloco de 8 ou 9 tokens, conforme o hardware.
O drafter tem aproximadamente 280 milhões de parâmetros, aumentando em apenas 8,9% a quantidade de parâmetros do modelo implantado. O suporte inicial está disponível para llama.cpp, MLX-VLM e SGLang.
Os testes seguiram o benchmark MMSpec em seis tarefas de visão: VQA geral, VQA de texto, geração de legendas para imagens, VQA de gráficos, raciocínio complexo e conversas com múltiplas rodadas. As medições usaram tamanho de bloco 8 tanto no dispositivo quanto na GPU.
| Plataforma | Ganho na decodificação | Ganho na latência ponta a ponta |
|---|---|---|
| MLX em Apple M5 Max | 2,30x a 3,13x | 1,56x a 2,62x |
| llama.cpp em Apple M3 Ultra | 1,57x a 2,14x | 1,30x a 1,77x |
| H100 | 2,66x a 20,4x | 1,64x a 2,27x |
Em modelos de linguagem, o prefill é principalmente limitado por computação e seu custo cresce de forma subquadrática ou quadrática com o tamanho do prompt. Em modelos de visão e linguagem, a imagem passa primeiro por um encoder visual, e o backbone de linguagem processa centenas de tokens visuais junto com o prompt. Como dispositivos de borda têm muito menos capacidade computacional que GPUs de datacenter, o prefill ocupa uma parcela maior da latência total, especialmente no tempo até o primeiro token. Os aceleradores neurais de GPU por núcleo do M5 reduzem parte dessa diferença.
O speculative decoding acelera apenas a decodificação: ele não acelera a codificação visual nem o prefill. Assim, quando essas etapas representam grande parte do tempo total, mesmo um grande ganho na decodificação produz um ganho mais limitado na latência ponta a ponta, conforme o limite descrito pela lei de Amdahl.
Para executar com SGLang, é necessário usar uma versão com suporte DSpark para alvos LFM2, incluído no PR #40651. O modelo-alvo é iniciado com o drafter anexado, e as consultas podem ser feitas pelo endpoint compatível com OpenAI em http://localhost:30000/v1. O tamanho do bloco é lido do config.json do drafter; a linha de base usa o mesmo comando sem as três opções --speculative-*.
No llama.cpp, é necessária uma versão compatível com o PR #29339. No MLX-VLM, é necessária a versão correspondente ao PR #2280. Nesse caso, o tamanho do bloco é lido dos metadados auxiliares, e n-max é limitado por esse valor. A decodificação especulativa é exata: o modelo-alvo verifica todos os tokens propostos, de modo que a saída gulosa é igual à obtida apenas com o modelo-alvo. Os tempos por resposta informam draft_n e draft_n_accepted.
O modelo auxiliar visual DSpark está disponível no Hugging Face nos formatos Safetensors e GGUF. A publicação apresenta o LFM2.5-VL-DSpark como parte da estratégia da Liquid AI para executar modelos de visão e linguagem em dispositivos de borda e em infraestrutura de GPU.
Fontes
- Hugging FaceAccelerating vision-language models with LFM2.5-VL-DSpark