Ollama anuncia novo motor para modelos multimodais
(ollama.com)- A Ollama passou a oferecer suporte a modelos multimodais (texto + imagem) por meio de um novo motor
- Há suporte a vários modelos visuais multimodais, como Llama 4 Scout e Gemma 3, tornando possível fazer perguntas que combinam imagem e texto
- O novo motor oferece maior modularidade dos modelos, melhoria de precisão e gerenciamento eficiente de memória
- Com cache de imagens e uso de metadados de hardware, ele entrega inferência mais rápida e otimização para o hardware
- No futuro, estão previstas expansões de recursos como suporte a contextos mais longos, chamadas de ferramentas e streaming
Suporte da Ollama a modelos multimodais
Com a introdução de um novo motor multimodal, a Ollama passa a oferecer suporte a modelos de visão multimodal de última geração, que lidam de forma combinada com imagens e texto
Entendimento e raciocínio multimodal abrangentes
Llama 4 Scout
- A Ollama oferece suporte ao Llama 4 Scout (109 bilhões de parâmetros, modelo mixture-of-experts)
- Como exemplo, é possível fazer perguntas baseadas em localização a partir de quadros de vídeo
- Ex.) detectar diversas características da imagem, como edifícios específicos, elementos do ambiente e informações de fundo
- Em seguida, também é possível continuar naturalmente com várias perguntas complementares
- Ex.) perguntas como "Qual é a distância deste prédio até Stanford?" e "Qual é a melhor forma de chegar lá?" recebem informações precisas
- Fornece respostas adequadas a situações reais, incluindo diferentes meios de transporte, rotas e tempo estimado de deslocamento
Gemma 3
- O Gemma 3 pode receber várias imagens ao mesmo tempo e analisar as relações entre elas
- Ex.) em 4 imagens, consegue identificar rapidamente condições diversas, como animais ou plantas que aparecem em comum, a presença de uma cena específica ou situações incomuns
- Como exemplo divertido, ao observar uma lhama e um golfinho boxeando, ele analisa quem venceria, compreendendo as características e a dinâmica dos indivíduos
Reconhecimento e análise de documentos
Qwen 2.5 VL
- O modelo Qwen 2.5 VL é usado para reconhecimento de texto (OCR) e extração de informações textuais específicas dentro de imagens
- Em exemplos reais de uso, ele consegue extrair informações de um cheque ou traduzir para o inglês inscrições verticais em chinês, como dísticos de primavera
Características do motor multimodal da Ollama
- Até agora, a Ollama vinha oferecendo suporte a modelos com base no projeto ggml-org/llama.cpp, desenvolvendo com foco em usabilidade e portabilidade de modelos
- Recentemente, diversos laboratórios passaram a divulgar modelos multimodais e, para ampliar ainda mais o suporte a modelos de acordo com o objetivo da Ollama, a empresa fortaleceu seu próprio motor
- O novo motor trata modelos multimodais como entidades independentes e de primeira classe, além de ampliar a participação de parceiros e da comunidade
O significado da evolução do motor
- Melhora a confiabilidade e a precisão da inferência local da Ollama e estabelece a base para dar suporte, no futuro, a vários campos multimodais (ex.: voz, geração de imagens, geração de vídeo, suporte a contextos longos e melhor uso de ferramentas)
Modularidade dos modelos
- O “escopo de impacto” de cada modelo é isolado de forma independente, melhorando a confiabilidade e permitindo que desenvolvedores integrem novos modelos com facilidade
- O ggml/llama.cpp tradicional oferecia suporte apenas a modelos de texto; no multimodal, o decodificador de texto e o codificador de visão ficam separados e são executados de forma independente
- Como as imagens precisam ser incorporadas no algoritmo de visão e depois repassadas ao modelo de texto, isso permite implementar uma lógica enxuta para cada modelo
- Dentro da Ollama, cada modelo pode separar sua própria camada de projeção de embeddings e sua estrutura específica de treinamento
- Criadores de modelos podem se concentrar apenas em seus próprios modelos e treinamento, sem patches adicionais nem condicionais complexas
- Alguns exemplos de arquitetura de modelos podem ser vistos no repositório GitHub da Ollama
Melhoria de precisão
- Imagens grandes geram muitos tokens e podem exceder o tamanho do lote
- Quando a imagem ultrapassa o lote, as informações de posição podem se perder
- A Ollama aumenta a precisão ao adicionar metadados extras durante o processamento de imagens
- Ela trata em detalhe itens como aplicação de causal attention, divisão em lotes dos embeddings de imagem e gerenciamento de fronteiras
- Se os pontos de divisão forem inadequados, a qualidade da saída pode cair; por isso, os critérios são ajustados com base nos artigos de cada modelo
- Outras ferramentas de inferência local implementam isso de maneiras variadas, mas a Ollama garante qualidade com um processamento preciso, alinhado ao design e ao método de treinamento de cada modelo
Otimização do gerenciamento de memória
- Cache de imagens: uma imagem processada uma vez permanece armazenada na memória, acelerando o processamento de prompts subsequentes. Enquanto o limite de memória não for atingido, a imagem é mantida
- Previsão de memória e otimização do cache KV: em cooperação com fabricantes de hardware e parceiros de sistemas operacionais, a Ollama reconhece com precisão os metadados de hardware e busca otimizar o uso de memória
- São realizados processos de validação por versão de firmware e benchmarking de novos recursos
- A Ollama também otimiza causal attention separadamente por modelo, oferecendo ajustes específicos para cada modelo, e não apenas em nível de grupo
- Exemplo:
- Gemma 3, do Google DeepMind: com sliding window attention, aloca apenas parte do comprimento de contexto, deixando o restante da memória para inferência simultânea e outros usos
- Llama 4 Scout, Maverick e outros, da Meta: suporte a chunked attention, embeddings rotacionais 2D e implementação de suporte a contexto longo em modelos mixture-of-experts
- Exemplo:
- No caso de modelos cujas camadas de attention não estejam completamente implementadas, eles podem até “funcionar”, mas no longo prazo podem apresentar queda na qualidade da saída e resultados anormais
Planos futuros
- Suporte a comprimentos de contexto mais longos
- Reforço das capacidades de inferência/raciocínio
- Fornecimento de chamadas de ferramentas e respostas em streaming
- Expansão de recursos para uso direto do computador
Agradecimentos
- Organizações e pesquisadores que contribuíram para o desenvolvimento dos modelos
- Agradecimentos a vários laboratórios e membros da comunidade que se dedicaram ao desenvolvimento de modelos de visão, como Google DeepMind, Meta Llama, Alibaba Qwen, Mistral e IBM Granite
- GGML
- A biblioteca de tensores da equipe GGML é um elemento central do motor de inferência da Ollama. Ela permite acesso direto ao GGML em Go, sendo útil para grafos de inferência personalizados e para o desenho de arquiteturas complexas de modelos
- Parceiros de hardware
- Agradecimentos aos parceiros de hardware, como NVIDIA, AMD, Qualcomm, Intel e Microsoft, que colaboraram para melhorar o desempenho de inferência em diversos dispositivos
1 comentários
Comentários do Hacker News
llama.cppfinalmente ter incluído recursos de visão estáveis na branch principal, coroando um esforço de longa data; supõe que o Ollama já vinha se preparando para isso há bastante tempo; acha que faz sentido a decisão de romper a dependência inicial dollama.cppe seguir de forma independenteQwen2.5-Omni, de modelos comoQwen2.5-VL; explica que, nesse sentido, o novo engine do Ollama adicionou suporte a "visão"Qwen2.5-Omnie o Ollama aceitam entrada de vídeollama.cpptambém é um projeto impressionante, se realmente criaram um engine substituto, quer ver exemplos de como isso foi feito; supõe que a biblioteca de tensores GGML tenha papel central; entende que a estrutura provavelmente usa FFI no Go para escrever diretamente o funcionamento do modelo (por exemplo, uma implementação doGemma3) enquanto aproveita as funções do GGML; acha que esses detalhes técnicos deveriam ter sido apresentados de forma mais explícita no blog oficialllama.cppdiretamente”llama.cpp; aponta que, em alguns casos, projetos usam diretamente ollama.cpp, mas o crédito acaba indo para o Ollama; diz que o Ollama não contribui diretamente (embora isso não seja obrigatório), mas mantém internamente um fork, de modo que quem tiver interesse pode aproveitar o código por meio decherry-pickquando quiserllama.cpp; acrescenta que hoje já existe algum nível de crédito mais abertollama.cpp,lmstudioeramalama, a situação de cada uma é mais clara; afirma que oramalamacontribui bastante para vários projetos open source relacionados e compartilha um link do GitHub como referênciallama.cpp, sem deixar isso claro nem reconhecer esse fato