A CohereLabs anunciou o lançamento do North-Micro-Vision-Instruct, um modelo de visão e linguagem de pesos abertos com 2,4 bilhões de parâmetros que oferece suporte à entrada de imagens em sua resolução nativa, sob a licença Apache 2.0. A empresa afirma que o modelo é seu menor modelo de visão e linguagem até o momento e que foi projetado para servir como uma base compacta para aplicações multimídia especializadas.
O modelo e seus pesos estão disponíveis no Hugging Face no repositório CohereLabs/North-Micro-Vision-Instruct. O suporte geral ao vLLM ainda está sendo preparado, enquanto a CohereLabs utilizou uma versão interna do vLLM durante suas avaliações.
Foco em documentos e imagens em sua resolução nativa
O North Micro Vision preserva a proporção da imagem e seus detalhes finos, em vez de primeiro reduzir cada imagem a um pequeno quadrado. Isso permite lidar com textos pequenos, layouts de documentos, tabelas, diagramas, capturas de tela e formulários. O treinamento também abrange vários idiomas e domínios visuais, incluindo documentos, diagramas e imagens naturais.
Esses recursos têm como alvo desenvolvedores que precisam de um modelo que possa ser ajustado para domínios visuais específicos ou executado sob restrições locais e de borda. A CohereLabs observa que modelos desse porte podem, com uma pilha de inferência adequada e técnicas de quantização, viabilizar experiências que vão além da implantação em servidores, incluindo laptops e dispositivos classificados como de borda ou móveis.
Arquitetura de três componentes
O modelo é composto por um codificador visual de resolução nativa, um módulo de projeção e um modelo de linguagem compacto. Ele combina um codificador visual treinado pela empresa, com 400 milhões de parâmetros, e o modelo de linguagem interno North Micro LLM, com 2 bilhões de parâmetros.
O modelo de linguagem segue a arquitetura Command A+, alternando entre três camadas de atenção com janela deslizante que utilizam embeddings posicionais rotacionais e uma única camada de atenção global sem embeddings posicionais. O codificador de visão utiliza 2D RoPE e embeddings posicionais unidimensionais aprendidos para preservar a estrutura espacial em imagens de resolução nativa. O módulo de projeção injeta representações de várias camadas do codificador visual em camadas iniciais correspondentes do modelo de linguagem.
Treinamento em múltiplas etapas
O treinamento do modelo passou por quatro etapas. O processo começou com a inicialização do codificador visual e do módulo de projeção; em seguida, a resolução foi aumentada em duas etapas, com o treinamento conjunto do codificador, do módulo de projeção e do modelo de linguagem. Depois, o modelo passou por ajuste instrucional, e o treinamento foi concluído com uma versão simplificada da técnica Mixed Preference Optimization para melhorar a segurança, o alinhamento e a qualidade das respostas.
O treinamento do codificador visual foi progressivo: começou com uma resolução de 384×384 pixels usando 10 milhões de exemplos, passou para 1024×1024 pixels com 13 milhões de exemplos e chegou a um limite de resolução nativa de 1654×2339 pixels com 10 milhões de exemplos. Esse limite corresponde a uma página A4 a 200 pontos por polegada, permitindo que o modelo processe uma única página de documento preservando sua proporção.
Na etapa de ajuste instrucional, foram utilizadas 50 milhões de amostras multimodais, distribuídas principalmente entre OCR nativo, diagramas e tabelas, localização e contagem, perguntas e respostas de OCR e compreensão geral de imagens. Os dados também incluíram legendagem de imagens, conhecimento, textos apenas, matemática e ciências. O processo baseou-se em conjuntos de dados disponíveis publicamente e em um conjunto interno de documentos multilíngues da empresa.
Resultados das avaliações e integrações disponíveis
A CohereLabs avaliou o modelo em tarefas que abrangem compreensão geral de imagens, compreensão multilíngue e de múltiplas imagens, compreensão de diagramas, documentos e OCR, ciências e tecnologia, localização e contagem, resistência a alucinações e capacidades textuais. De acordo com os resultados publicados, o modelo obteve 0,921 no teste DocVQA, 0,808 no ChartQA, 0,792 no OCRBench e 0,725 no CountBench, enquanto seu desempenho no HallusionBench foi de 0,615.
A empresa oferece pesos compatíveis com o MLX-VLM, com uma contribuição da comunidade feita por Prince Canuma e Neywa. Ela também disponibiliza, em parceria com a NVIDIA, uma receita do AutoModel que permite aos desenvolvedores ajustar o modelo e implantá-lo em unidades de processamento gráfico da NVIDIA, além de oferecer suporte a ajustes personalizados por meio do framework comunitário Axolotl.