2 puntos por GN⁺ 2024-02-18 | 1 comentarios | Compartir por WhatsApp
  • Ollama ahora puede ejecutarse también en Windows en un entorno nativo, lo que facilita el flujo para descargar, ejecutar y generar con modelos de lenguaje grandes locales
  • Ollama para Windows ofrece aceleración por GPU integrada, acceso a toda la biblioteca de modelos y la API de Ollama compatible con OpenAI
  • Para ejecutar modelos, usa GPU NVIDIA y conjuntos modernos de instrucciones de CPU como AVX y AVX2, sin requerir configuración ni virtualización adicionales
  • Toda la biblioteca de modelos y los modelos de visión están disponibles en Windows, y con LLaVA 1.6 se pueden arrastrar y soltar imágenes en ollama run para agregarlas al mensaje
  • Gracias a la API de Ollama que se ejecuta en segundo plano, se pueden conectar herramientas existentes para OpenAI con modelos locales

Versión preliminar para Windows disponible

Aceleración por hardware y modo de ejecución

  • Al ejecutar modelos, usa GPU NVIDIA para acelerar el proceso
  • Cuando están disponibles, también aprovecha conjuntos modernos de instrucciones de CPU como AVX y AVX2
  • Se puede usar directamente en el entorno Windows sin configuración ni virtualización adicionales

Biblioteca completa de modelos y modelos de visión

  • En Windows también se puede ejecutar toda la biblioteca de modelos de Ollama
  • También se incluyen modelos de visión
  • Al ejecutar modelos de visión como LLaVA 1.6, se puede arrastrar y soltar una imagen en ollama run para agregarla al mensaje

API de Ollama ejecutándose en segundo plano

  • La API de Ollama se ejecuta automáticamente en segundo plano y está disponible en http://localhost:11434
  • Las herramientas y aplicaciones pueden conectarse a esta API sin configuración adicional
  • Un ejemplo para llamar a la API de Ollama desde PowerShell es el siguiente
(Invoke-WebRequest -method POST -Body '{"model":"llama2", "prompt":"Why is the sky blue?", "stream": false}' -uri http://localhost:11434/api/generate ).Content | ConvertFrom-json
  • Ollama para Windows también admite la misma compatibilidad con OpenAI que otras plataformas
  • Las herramientas existentes para OpenAI pueden usarse con modelos locales a través de Ollama

Instalación y comentarios

  • Para empezar con Windows Preview, descarga OllamaSetup.exe
  • Haz doble clic en el archivo de instalación OllamaSetup.exe para instalarlo
  • Después de instalar, abre una terminal y ejecuta un modelo con el siguiente comando
ollama run llama2
  • Cuando haya una nueva versión disponible, Ollama avisará sobre la actualización
  • Si hay problemas, se puede abrir un issue en GitHub o unirse al servidor de Discord para enviar comentarios

1 comentarios

 
GN⁺ 2024-02-18
Opiniones en Hacker News
  • En el escritorio estoy usando Open-WebUI como frontend
    Tengo reunidos unos 12 modelos fine-tuned de Mistral y algunos otros modelos, y sirven bastante bien para chats o tareas de extracción de información
    La app Open-WebUI se ve bastante parecida a ChatGPT y también permite buscar conversaciones
    https://github.com/open-webui/open-webui

    • Para quienes se perdieron el anuncio de hace unas horas, open-webui es el rebranding del proyecto que antes se llamaba ollama-webui
      Puedo dar fe de que es un frontend bastante sólido para Ollama. Funciona realmente bien y el ritmo de desarrollo es sorprendentemente rápido
      Cada pocas semanas bajo la imagen Docker más reciente y siempre me sorprende cuánto ha mejorado
      [0] https://github.com/open-webui/open-webui/discussions/764
    • Me da curiosidad: ¿para qué usas esos modelos fine-tuned? Me pregunto si los fine-tuneaste con tus propios datos o si eliges modelos públicos según la tarea
    • ¿Habrá una herramienta similar que se pueda usar desde la terminal?
  • Como siempre, no se dice nada sobre soporte para GPU AMD
    La situación es tan lamentable que me hace arrepentirme de haber comprado AMD esta vez

    • El soporte para GPU AMD es sin duda una parte importante del roadmap del proyecto
      Es una lástima que todavía no lo hayamos publicado correctamente en algún lugar como ROADMAP.md, y planeamos hacerlo pronto
      Como varios mantenedores del proyecto son de la zona de Toronto, el lugar de origen de ATI Technologies, personalmente también queremos que Ollama funcione bien en GPU AMD :)
      Una de las máquinas de prueba que usamos para trabajar en el soporte de AMD tiene una Radeon RX 7900XT y es bastante rápida. Es perfectamente comparable con las GPU GeForce serie 40 de gama alta
      [1]: https://en.wikipedia.org/wiki/ATI_Technologies
    • Me pasa lo mismo. Como usuario de Linux de muchos años, detesto mucho a Nvidia por todo el sufrimiento que me hizo pasar, así que de verdad quería que AMD tuviera éxito
      Compré una tarjeta AMD potente y cara esperando que pronto alcanzara a Nvidia, pero en la práctica no fue así en absoluto, y creo que es porque AMD no invirtió los recursos necesarios
      AMD puede cambiar, pero tiene que empezar ahora mismo
    • AMD parece creer que esta nueva moda del cómputo en GPU va a pasar pronto, así que aparentemente no ve la necesidad de invertir
      Es uno de los peores actos de autodaño que he visto en la industria tecnológica
    • llamafile soporta GPU AMD
      En Windows, gracias a la biblioteca tinyBLAS, basta con tener el driver gráfico
      https://github.com/Mozilla-Ocho/llamafile/releases/tag/0.6.2
      Por defecto abre una pestaña del navegador con una GUI de chat, y también se puede ejecutar como chatbot de línea de comandos al estilo Ollama, como se muestra abajo
      https://justine.lol/oneliners/#chat
    • Como dijeron otros, Ollama usa Llama.CPP internamente, y Llama.CPP lanzó recientemente soporte para Vulkan, que también debería funcionar en GPU AMD
      Logré ejecutar llama.cpp compilado con soporte Vulkan en una laptop AMD junto con mi app [1], pero no pude hacerlo funcionar con Ollama porque hace algunas suposiciones sobre cómo encontrar las GPU disponibles en la máquina
      [1]: https://msty.app
  • Si buscas una buena UI de chat para usar sobre Ollama y quieres que soporte tanto modelos en línea como locales, está la app [1] que estoy desarrollando
    Está enfocada en el uso offline y la privacidad, y esta mañana lancé el soporte para Windows
    [1]: https://msty.app

    • Como dato, aparece una detección Program:Win32/Wacapew.C!ml
    • Fuera de tema, ¿con qué hiciste la landing page?
    • ¿Esto es parecido a LLM Studio?
    • ¿Hay planes para un cliente para Linux?
    • ¿También planeas agregar la API de Gemini?
  • Me da curiosidad cuál es el motivo de que tantos de estos ports de IA de “ejecución local” se ejecuten como servidor
    ¿Será que los desarrolladores olvidaron que pueden ejecutar código dentro del proceso de la UI?
    He visto el mismo patrón en lanzadores de Stable Diffusion y hosts de LLM
    Si no es estrictamente necesario, no quiero tener un servicio en segundo plano corriendo localmente, ¿por qué parece que todas estas implementaciones funcionan así?

    • Es una pregunta realmente interesante. Creo que ambos modelos de distribución pueden existir
      Una buena analogía podría ser un motor de base de datos. SQLite es una biblioteca y Postgres es un servicio de larga duración; ambos se usan mucho y cada uno tiene sus propios compromisos
    • Además del tiempo de carga inicial que mencionaron otros, quizá quieras usar el mismo motor de inferencia o el mismo LLM para distintos fines desde varias aplicaciones
      Otro factor importante, en mi opinión, es que no es fácil dejar la máquina, el entorno y el sistema operativo en un estado donde el modelo pueda correr eficientemente
      Meter esa complejidad en un contenedor, es decir, un “servidor”, ayuda mucho con la configuración inicial y con mantenerse al día con mejoras y actualizaciones continuas
    • No tiene sentido cargar los pesos sobre la marcha cada vez. Es porque habría que mover constantemente varios gigabits de memoria
      En cambio, lo correcto es una arquitectura donde un proceso de larga duración atienda varias solicitudes de predicción
      Es muy probable que pronto también termine sirviendo a varios clientes
    • Personalmente, lo veo como algo bueno
      No tengo una laptop o workstation potente, pero sí un servidor headless con varias GPU
      Gracias a estos proyectos puedo experimentar con LLM en el servidor y exponer la API y la UI web en la red interna
    • Por velocidad corro Ollama en una PC gamer grande, pero quiero usar el modelo desde otros lugares de la casa
      Por eso tengo Open-WebUI en chat.domain.example y Ollama en api.chat.domain.example. Ambos solo son accesibles dentro de la red local
      Con esta configuración, desde la laptop y el celular uso modelos locales a máxima velocidad mediante la UI web, y una Raspberry Pi que ejecuta un asistente de voz experimental puede consultar a Ollama mediante el endpoint de la API
      Gracias a la GPU gamer, todo funciona a máxima velocidad. La misma lógica aplica a una configuración de Stable Diffusion
  • No sabía que los usuarios de Windows no podían usar Ollama
    Hace apenas unos años, me parece que los que tenían que esperar eran los usuarios de Mac

    • Desde hace unos meses funcionaba bien en WSL, incluso con soporte completo de GPU
      Solo que no era tan cómodo para la mayoría, y el soporte nativo para Windows es la cereza del pastel
    • He estado corriendo Ollama en Windows WSL desde hace un tiempo
      Al final es Linux x86, así que todo simplemente funciona bien
  • Me pregunto cómo se compara LM Studio de código cerrado (https://lmstudio.ai) con Ollama

    • Lo bueno es que la configuración es muy sencilla, puedes descargar y cargar modelos/pesos con un clic, y funciona muy bien
      Lo que no me gusta es que en Windows mete los pesos en una estructura de directorios propia bajo /users/username/.cache, ocupando decenas de GB, sin avisarte ni permitir compartirlos con otros clientes
      No permite importar modelos descargados manualmente, la búsqueda es pésima y tampoco me gusta cómo maneja la configuración de instancias
  • Parece que ya estaba disponible en Linux y Mac
    Este cambio es la incorporación de Windows: https://github.com/ollama/ollama

  • Justo estaba por instalar estos requisitos y trastear un poco con ellos cuando salió este artículo
    Al probarlo, es interesante lo simple que es y lo bien que funciona
    Pero parece un problema que el instalador nuevamente no tenga opción para elegir la ubicación de destino. Si hay varios usuarios en el servidor, cada uno termina con su propia copia en vez de una instalación global

  • Estoy corriendo Ollama con la idea de crear un flujo de revisión de gramática/ortografía para escribir
    No está directamente relacionado con Ollama en sí, y hasta ahora Ollama funciona bien
    ¿Habrá algún lugar donde hacer preguntas de este tipo? Me pregunto si existe algo como un Stack Overflow para LLM

  • Instalé y ejecuté el modelo llama2 en una Mac Mini nueva, y me dio un kernel panic completo. ¿Qué fue eso?

    • Eso puede pasar si el modelo elegido es más grande que la memoria unificada disponible
      ¿Qué versión de llama2 elegiste y cuánta memoria unificada tienes?