5 puntos por GN⁺ 2025-05-17 | 1 comentarios | Compartir por WhatsApp
  • Ollama comenzó a ofrecer soporte para modelos multimodales (texto + imagen) mediante un nuevo motor
  • Es compatible con varios modelos visuales multimodales como Llama 4 Scout y Gemma 3, lo que permite preguntas y respuestas combinando imágenes y texto
  • El nuevo motor ofrece mayor modularidad de modelos, mejor precisión y gestión eficiente de memoria
  • Con caché de imágenes y uso de metadatos de hardware, logra inferencias más rápidas y optimización para el hardware
  • También se anticipa la expansión de funciones como soporte para contextos más largos, tool calling y streaming

Soporte de Ollama para modelos multimodales

Con la incorporación de un nuevo motor multimodal, Ollama ahora es compatible con los modelos de visión multimodal más recientes, capaces de trabajar de forma combinada con imágenes y texto

Comprensión e inferencia multimodal integral

Llama 4 Scout

  • Ollama ofrece soporte para Llama 4 Scout (109 mil millones de parámetros, modelo mixture-of-experts)
  • Como ejemplo, puede responder preguntas basadas en la ubicación dentro de fotogramas de video
    • Ej.) detecta diversas características de la imagen, como edificios específicos, elementos del entorno e información del fondo
  • También puede continuar de forma natural con distintas preguntas de seguimiento
    • Ej.) “¿Qué tan lejos está este edificio de Stanford?” o “¿Cuál es la mejor forma de llegar?”, ofreciendo información precisa
    • Proporciona respuestas ajustadas a situaciones reales, incluyendo varios medios de transporte, rutas y tiempos estimados

Gemma 3

  • Gemma 3 puede recibir varias imágenes al mismo tiempo y analizar la relación entre ellas
    • Ej.) puede identificar rápidamente condiciones diversas, como animales o plantas que aparecen en común en 4 imágenes, la presencia de cierta escena o situaciones inusuales
    • Como ejemplo curioso, puede analizar quién ganaría en una pelea de box entre una llama y un delfín al observar la escena y comprender las características y dinámica de cada uno

Reconocimiento y análisis de documentos

Qwen 2.5 VL

  • El modelo Qwen 2.5 VL se utiliza para reconocimiento de texto (OCR) y extracción de información textual específica dentro de imágenes
    • Como caso de uso real, puede extraer información de un cheque o traducir al inglés inscripciones verticales en chino, como los dísticos de primavera

Características del motor multimodal de Ollama

  • Hasta ahora, Ollama había dependido del proyecto ggml-org/llama.cpp para dar soporte a modelos, desarrollándose con foco en la usabilidad y la portabilidad de modelos
  • Recientemente, distintos laboratorios han publicado modelos multimodales, y Ollama ha reforzado su motor propio para ampliar la compatibilidad de modelos, en línea con ese objetivo
  • El nuevo motor trata a los modelos multimodales como objetos independientes y de primera clase, y también impulsa más participación de socios y de la comunidad

Qué significa esta evolución del motor

  • Mejora la confiabilidad y precisión de la inferencia local de Ollama, y sienta las bases para soportar en el futuro diversos campos multimodales (por ejemplo: voz, generación de imágenes, generación de video, contextos largos y mejor uso de herramientas)

Modularidad de modelos

  • Se diseñó para aislar de forma independiente el “ámbito de impacto” de cada modelo, mejorando la confiabilidad y permitiendo que los desarrolladores integren nuevos modelos con facilidad
    • El ggml/llama.cpp existente solo soportaba modelos de texto; en multimodal, el decodificador de texto y el codificador visual están separados y se ejecutan por separado
    • Como las imágenes deben convertirse en embeddings en el algoritmo de visión y luego enviarse al modelo de texto, es posible implementar una lógica más ligera para cada modelo
    • Dentro de Ollama, cada modelo puede separar por sí mismo la capa de proyección de embeddings y los componentes ajustados a su propio esquema de entrenamiento
    • Los creadores de modelos pueden concentrarse solo en su modelo y entrenamiento, sin parches adicionales ni condicionales complejos
    • Algunos ejemplos de arquitecturas de modelos pueden verse en el repositorio de GitHub de Ollama

Mejora de precisión

  • Las imágenes grandes generan muchos tokens y pueden superar el tamaño del batch
    • Si la imagen excede el batch, la información posicional puede descomponerse
  • Ollama mejora la precisión al añadir metadatos adicionales durante el procesamiento de imágenes
    • Maneja con detalle aspectos como si se aplica causal attention y la división por batches de embeddings de imagen junto con el control de sus límites
    • Si el punto de división no es adecuado, la calidad de salida puede degradarse, por lo que se ajustan los criterios según los papers de cada modelo
  • Otras herramientas de inferencia local lo implementan cada una a su manera, pero Ollama garantiza la calidad con un procesamiento preciso alineado con el diseño y método de entrenamiento de cada modelo

Optimización de la gestión de memoria

  • Caché de imágenes: una vez procesada, la imagen permanece en memoria y acelera el procesamiento de prompts posteriores. Mientras no se alcance el límite de memoria, la imagen se conserva
  • Predicción de memoria y optimización de la caché KV: en colaboración con fabricantes de hardware y socios del sistema operativo, busca optimizar el uso de memoria reconociendo con precisión los metadatos del hardware
    • Se realizan validaciones por versión de firmware y benchmarks de nuevas funciones
  • Ollama optimiza causal attention por separado a nivel de modelo, ofreciendo ajustes personalizados para cada modelo en lugar de configuraciones por grupo
    • Ejemplos:
      • Gemma 3 de Google DeepMind: asigna solo parte de la longitud de contexto mediante sliding window attention, y dedica el resto de la memoria a tareas como inferencia simultánea
      • Llama 4 Scout, Maverick y otros de Meta: soportan chunked attention, embeddings rotatorios 2D y soporte de contexto largo para modelos mixture-of-experts
  • En modelos donde la capa de attention no está completamente implementada, puede que “funcionen”, pero a largo plazo podrían degradar la calidad de salida o producir resultados anómalos

Próximos planes

  • Soporte para contextos más largos
  • Refuerzo de capacidades de inferencia/razonamiento
  • Tool calling y respuestas en streaming
  • Ampliación de funciones para uso directo de la computadora

Agradecimientos

  • Organizaciones e investigadores que contribuyeron al desarrollo de modelos
    • Agradecen a los distintos laboratorios y miembros de la comunidad que impulsaron el desarrollo de modelos de visión, como Google DeepMind, Meta Llama, Alibaba Qwen, Mistral e IBM Granite
  • GGML
    • La biblioteca de tensores del equipo de GGML es un elemento central del motor de inferencia de Ollama. Es posible acceder directamente a GGML desde Go y usarlo para gráficos de inferencia personalizados y el diseño de arquitecturas de modelos complejas
  • Socios de hardware
    • Agradecen a socios de hardware como NVIDIA, AMD, Qualcomm, Intel y Microsoft por colaborar en la mejora del rendimiento de inferencia en diversos dispositivos

1 comentarios

 
GN⁺ 2025-05-17
Comentarios de Hacker News
  • Expresa sorpresa al enterarse en este momento del anuncio de un nuevo motor en Ollama, comparte la impresión de que esto surge de que llama.cpp por fin incluyó funciones de visión estables en la rama principal y de que un largo esfuerzo finalmente dio frutos, supone que Ollama ya llevaba mucho tiempo preparando esta función, y considera razonable la decisión de romper su dependencia inicial de llama.cpp para avanzar de forma independiente
  • Expresa curiosidad por cuál es la diferencia práctica entre cómo ambos proyectos añadieron funciones multimodales, se pregunta si antes se necesitaba un manejo especial dado que el soporte para LLaVA existía desde hace mucho, esperaba que el TFA mencionara esa diferencia, y le causa confusión que en Ollama se trate la multimodalidad como si fuera algo totalmente nuevo
  • Considera que el término multimodal debería incluir no solo texto e imágenes, sino también audio (y potencialmente video), sostiene que si un modelo solo tiene generación o análisis de imágenes entonces “modelo de visión” sería una denominación más precisa, enfatiza la necesidad de distinguir claramente modelos multimodales como Qwen2.5-Omni de modelos como Qwen2.5-VL, y explica que en ese sentido el nuevo motor de Ollama agregó soporte de "visión"
  • Menciona su interés en manejar entrada de video y pregunta si Qwen2.5-Omni y Ollama permiten entrada de video
  • Aunque se habla mucho del “nuevo motor” de Ollama, desea ver información concreta sobre cómo está implementado en la práctica, comenta que llama.cpp también es un proyecto impresionante, así que si hicieron un motor que lo reemplaza le gustaría ver ejemplos de cómo fue implementado, supone que la biblioteca de tensores GGML cumple un papel central, entiende que la estructura aprovecha funciones de GGML escribiendo directamente el funcionamiento del modelo (por ejemplo, una implementación de Gemma3) desde Go mediante FFI, y cree que estos detalles técnicos deberían haberse explicado con más claridad en el blog oficial
  • Ollama ha sido criticada por su falta de transparencia, por dar crédito de forma opaca y por tomar decisiones poco centradas en los usuarios; por eso le sorprendió que en esta publicación sí hubiera muchas más referencias a contribuyentes, y supone que tantos cuestionamientos de los usuarios han llevado a ese ajuste
  • Confiesa que la convención de nombres con “*llama” en el mundo de los LLM le parece demasiado confusa, porque hay demasiados proyectos con llama o nombres parecidos y eso aumenta la confusión
  • Comparte que es difícil seguir el ritmo porque AI/ML avanza demasiado rápido, señala que si uno no presta atención cuesta entender bien lo que pasa, menciona la preferencia por nombres “meme”, recuerda modas anteriores como personajes de Plaza Sésamo, la familia de modelos YOLO y que ni los artículos de conferencias eran la excepción
  • Desviándose un poco, pregunta por qué Ollama recibe evaluaciones negativas de algunos usuarios, y señala que más allá de decir “ejecuta llama.cpp tú mismo” no había visto muchas explicaciones
  • Comparte enlaces de Reddit y GitHub Issues para mostrar que existe desde hace tiempo el problema de que Ollama no da crédito adecuadamente a llama.cpp, e incluso señala que en algunos proyectos se usa llama.cpp directamente pero el mérito termina atribuyéndose a Ollama; añade que Ollama no contribuye directamente (aunque no esté obligada a hacerlo), pero sí mantiene un fork interno desde el cual quien tenga interés puede aprovechar código cuando quiera mediante cherry-pick
  • Aparte de lo ya mencionado sobre cultura, licencias y FOSS, expresa molestia por la forma de guardar archivos: critica que Ollama introduzca su propio almacenamiento en disco y registro, lo que dificulta la reutilización; supone que fue diseñado con miras a una monetización futura y a una estructura propietaria; reconoce que quizá la intención era evitar almacenamiento duplicado como Docker, pero en la práctica empeora la usabilidad; al final eso obliga a conservar por duplicado archivos enormes de más de 30 GB, haciendo que incluso un problema pequeño se sienta grande; considera mejor un método estándar compatible con distintos ecosistemas y dice que dejó de usar Ollama por esa incomodidad
  • Evalúa a Ollama como una solución del mundo LLM parecida a Docker, y le da la impresión de que tanto la experiencia de usuario como la sintaxis de los archivos de modelos están inspiradas en Dockerfile; recuerda que al principio también hubo debates de Docker contra LXC y que se subestimó la innovación de Docker en experiencia de usuario, aunque ve como un problema la falta de reconocimiento durante mucho tiempo hacia llama.cpp; agrega que ahora sí existe cierto nivel de crédito más abierto
  • Le molesta que Ollama no colabore con la comunidad, sigue teniendo dudas sobre su modelo de negocio al ser una empresa financiada por VC, y comenta que en otras alternativas como llama.cpp, lmstudio y ramalama es más fácil entender la situación de cada una; añade que ramalama contribuye bastante a varios proyectos open source relacionados y comparte un enlace de GitHub como referencia
  • Le decepciona que Ollama sea básicamente un frontend de llama.cpp pero no lo deje claro ni lo reconozca
  • Señala que el ejemplo de Ollama sobre “traducir dísticos verticales chinos” contiene varios errores de traducción, supone que quien escribió el blog no es realmente hablante de chino, y analiza en detalle cómo difieren los contenidos reales de los resultados mostrados por Ollama en cada parte
  • El propio mantenedor que hizo ese ejemplo aparece en la discusión, aclara explícitamente que es chino para reforzar su credibilidad, considera que la traducción al inglés era bastante precisa, enfatiza que no ocultó ni manipuló los errores del modelo o de la demo, y comparte su esperanza de que la calidad del modelo mejore más a largo plazo
  • Dice que piensa probarlo personalmente y valora el formato del artículo porque muestra de inmediato ejemplos prácticos y detalles
  • Considera que la fortaleza de Ollama ha sido poder ejecutar modelos de inmediato con un simple comando de Docker y sin configuración adicional, pero señala que cuando hace falta usar imágenes y video surgen limitaciones técnicas porque Docker no usa la GPU; se pregunta cómo mantendrá Ollama en el futuro el soporte de integración con Docker y si acaso esa función terminará convirtiéndose en un elemento secundario de poca importancia dentro del proyecto
  • Alguien comenta que en algunas plataformas sí se puede usar la GPU desde Docker, aunque requiere más configuración, y que nvidia ofrece documentación al respecto
  • Le parece curioso que en el ejemplo sobre indicaciones de ruta dentro de Stanford apareciera información errónea, y comparte como dato de tránsito local que la CA-85 está más al sur que Palo Alto
  • Cuenta que lleva casi un año usando modelos locales con Ollama y está satisfecho, pero explica que apenas ha experimentado las funciones multimodales como Llava porque casi siempre lo usa para texto; pide recomendaciones de proyectos útiles e interesantes construidos con modelos locales multimodales, con la esperanza de encontrar ideas para proyectos personales