2 pontos por GN⁺ 2024-02-18 | 1 comentários | Compartilhar no WhatsApp
  • Agora é possível executar o Ollama em um ambiente nativo no Windows, facilitando o fluxo de baixar, executar e gerar com grandes modelos de linguagem locais
  • O Ollama para Windows oferece aceleração de GPU integrada, acesso à biblioteca completa de modelos e a API do Ollama compatível com OpenAI
  • A execução dos modelos aproveita GPU NVIDIA e conjuntos modernos de instruções de CPU como AVX e AVX2, sem necessidade de configuração ou virtualização separadas
  • A biblioteca completa de modelos e os modelos de visão podem ser usados no Windows, e no LLaVA 1.6 é possível arrastar e soltar imagens em ollama run para adicioná-las à mensagem
  • Graças à API do Ollama executada em segundo plano, é possível conectar ferramentas já feitas para OpenAI a modelos locais

Disponibilidade do Windows Preview

Aceleração por hardware e modo de execução

  • Na execução dos modelos, há aceleração com GPU NVIDIA
  • Quando disponível, também são usados conjuntos modernos de instruções de CPU como AVX e AVX2
  • Pode ser usado diretamente no Windows sem configuração adicional nem virtualização

Biblioteca completa de modelos e modelos de visão

  • No Windows também é possível executar toda a biblioteca de modelos do Ollama
  • Os modelos de visão também estão incluídos
  • Ao executar um modelo de visão como o LLaVA 1.6, é possível arrastar e soltar uma imagem em ollama run para adicioná-la à mensagem

API do Ollama rodando em segundo plano

  • A API do Ollama é iniciada automaticamente em segundo plano e fica disponível em http://localhost:11434
  • Ferramentas e aplicações podem se conectar a essa API sem configuração adicional
  • Um exemplo de chamada da API do Ollama no PowerShell é o seguinte
(Invoke-WebRequest -method POST -Body '{"model":"llama2", "prompt":"Why is the sky blue?", "stream": false}' -uri http://localhost:11434/api/generate ).Content | ConvertFrom-json
  • O Ollama para Windows também oferece compatibilidade com OpenAI como nas outras plataformas
  • É possível usar ferramentas já feitas para OpenAI junto com modelos locais via Ollama

Instalação e feedback

  • Para começar com o Windows Preview, baixe o OllamaSetup.exe
  • Dê duplo clique no instalador OllamaSetup.exe para instalar
  • Após a instalação, abra o terminal e execute o modelo com o comando abaixo
ollama run llama2
  • Quando uma nova versão for disponibilizada, o Ollama avisará sobre a atualização
  • Se houver problemas, é possível abrir uma issue no GitHub ou entrar no servidor do Discord para enviar feedback

1 comentários

 
GN⁺ 2024-02-18
Comentários do Hacker News
  • Estou usando no desktop com o Open-WebUI como frontend
    Tenho reunidos cerca de 12 modelos fine-tuned do Mistral e alguns outros modelos, e isso é mais do que suficiente para chat ou tarefas de extração de informação
    O app Open-WebUI tem uma aparência bem parecida com a do ChatGPT e também permite pesquisar conversas
    https://github.com/open-webui/open-webui

    • Para quem perdeu o anúncio de algumas horas atrás, o open-webui é um rebranding do projeto que antes se chamava ollama-webui
      Posso garantir que ele é um frontend bem sólido para o Ollama. Funciona muito bem mesmo, e a velocidade de desenvolvimento é surpreendentemente rápida
      A cada poucas semanas, quando baixo a imagem Docker mais recente, sempre fico surpreso com o quanto melhorou
      [0] https://github.com/open-webui/open-webui/discussions/764
    • Fiquei curioso: para que você está usando esses modelos fine-tuned? Você os ajustou com seus próprios dados ou escolhe modelos públicos por tarefa?
    • Existe alguma ferramenta parecida para usar no terminal?
  • Como sempre, nenhuma menção a suporte a GPU AMD
    É uma situação tão frustrante que dá até arrependimento de ter comprado AMD desta vez

    • O suporte a GPU AMD com certeza é uma parte importante do roadmap do projeto
      É uma pena que isso ainda não tenha sido divulgado direito em algo como um ROADMAP.md, mas pretendemos fazer isso em breve
      Alguns mantenedores do projeto são da região de Toronto, cidade natal original da ATI Technologies, então pessoalmente também torço para que o Ollama rode bem em GPUs AMD :)
      Uma das máquinas de teste usadas no trabalho de suporte à AMD está com uma Radeon RX 7900XT e ela é bem rápida. Dá para comparar tranquilamente com GPUs GeForce série 40 de ponta
      [1]: https://en.wikipedia.org/wiki/ATI_Technologies
    • Igual aqui. Como usuário antigo de Linux, eu odeio muito a Nvidia por todo o sofrimento que ela causou, então realmente torci para que a AMD desse certo
      Comprei uma placa AMD potente por um preço alto esperando que logo alcançaria a Nvidia, mas na prática não foi nada disso, e acho que a culpa é de a AMD não ter colocado os recursos necessários
      A AMD ainda pode mudar, mas precisa começar agora mesmo
    • A AMD parece acreditar que essa nova febre de computação com GPU vai passar logo, então acha que não vale a pena investir
      É um dos piores casos de autossabotagem que já vi no setor de tecnologia
    • O llamafile oferece suporte a GPU AMD
      No Windows, graças à biblioteca tinyBLAS, basta ter o driver gráfico
      https://github.com/Mozilla-Ocho/llamafile/releases/tag/0.6.2
      Por padrão ele abre uma aba do navegador com uma GUI de chat, e também pode ser executado como um chatbot de linha de comando ao estilo do Ollama, como abaixo
      https://justine.lol/oneliners/#chat
    • Como outros já disseram, o Ollama usa internamente o Llama.CPP, e o Llama.CPP lançou recentemente suporte a Vulkan, que deve permitir funcionar também em GPUs AMD
      Consegui rodar no meu notebook AMD usando um llama.cpp compilado com suporte a Vulkan junto com meu app [1], mas não consegui fazer o Ollama funcionar porque ele parte de algumas suposições sobre como encontrar as GPUs disponíveis na máquina
      [1]: https://msty.app
  • Se você está procurando uma boa UI de chat para usar por cima do Ollama e quer suporte tanto a modelos online quanto locais, existe o app [1] que estou criando
    Ele é focado em uso offline e privacidade, e lancei suporte para Windows hoje de manhã
    [1]: https://msty.app

    • Para referência, está aparecendo uma detecção Program:Win32/Wacapew.C!ml
    • Fugindo um pouco do assunto, com o que você fez a landing page?
    • Isso é parecido com o LLM Studio?
    • Há planos para um cliente Linux?
    • Vocês também pretendem adicionar a Gemini API?
  • Fico curioso sobre a razão de tantas dessas portas de IA para “rodar localmente” na prática rodarem como servidor
    Os desenvolvedores esqueceram que dá para executar código dentro do processo da UI?
    Vejo o mesmo padrão em launchers de Stable Diffusion e hosts de LLM
    Se não for estritamente necessário, eu não gostaria de manter um serviço em segundo plano rodando localmente; então por que todas essas implementações parecem funcionar assim?

    • Pergunta realmente interessante. Acho que os dois modelos de distribuição podem coexistir
      Uma boa analogia pode ser com motores de banco de dados. SQLite é uma biblioteca e Postgres é um serviço de longa duração; ambos são amplamente usados e cada um tem seus próprios trade-offs
    • Além do tempo de carregamento inicial que outras pessoas mencionaram, talvez você queira usar o mesmo motor de inferência ou o mesmo LLM para vários propósitos em múltiplos aplicativos
      Outro fator grande, na minha visão, é que não é fácil deixar a máquina, o ambiente e o sistema operacional em um estado em que o modelo consiga rodar com eficiência
      Colocar essa complexidade dentro de um contêiner, ou seja, de um “servidor”, ajuda bastante tanto na configuração inicial quanto em acompanhar melhorias e atualizações contínuas
    • Não faz sentido carregar os pesos do zero toda vez. Isso exigiria mover vários gigabits de memória repetidamente
      Em vez disso, faz sentido ter um processo de longa duração lidando com várias requisições de predição
      E é bem provável que em breve isso também passe a atender vários clientes
    • Pessoalmente, vejo isso como algo positivo
      Não tenho um notebook ou workstation potente, mas tenho um servidor headless com múltiplas GPUs
      Graças a projetos assim, consigo experimentar LLMs no servidor e expor a API e a interface web na rede interna
    • Rodo o Ollama em um PC gamer grande por causa da velocidade, mas quero usar os modelos também em outros lugares da casa
      Então deixo o Open-WebUI em chat.domain.example e o Ollama em api.chat.domain.example. Ambos só podem ser acessados dentro da rede local
      Com essa configuração, no notebook e no celular eu uso o modelo local na velocidade máxima via interface web, e um Raspberry Pi rodando um assistente de voz experimental consegue consultar o Ollama pelo endpoint de API
      Graças à GPU gamer, tudo roda na velocidade máxima. A mesma lógica vale para uma configuração com Stable Diffusion
  • Eu não sabia que usuários de Windows ainda não podiam usar o Ollama
    Parece que, poucos anos atrás, eram os usuários de Mac que tinham que esperar

    • Há alguns meses ele já funcionava bem no WSL, inclusive com suporte completo a GPU
      Só que isso não era muito conveniente para a maioria das pessoas, e o suporte nativo para Windows é a cereja do bolo
    • Já faz um tempo que rodo o Ollama no WSL do Windows
      No fim das contas é x86 Linux, então tudo simplesmente funciona
  • Fico curioso sobre como o LM Studio de código fechado (https://lmstudio.ai) se compara ao Ollama

    • O lado bom é que a configuração é muito fácil, você pode baixar e carregar modelos/pesos com um clique, e ele funciona muito bem
      O lado ruim é que, no Windows, ele coloca os pesos em uma estrutura própria de diretórios dentro de /users/username/.cache, consome dezenas de GB e nem avisa, além de não permitir compartilhar isso com outros clientes
      Ele não deixa importar modelos baixados manualmente, a busca é ruim e também não gosto da forma como lida com as configurações da instância
  • Pelo que parece, ele já estava disponível em Linux e Mac
    A mudança desta vez é a adição do Windows: https://github.com/ollama/ollama

  • Eu estava justamente pensando em instalar isso e mexer um pouco por conta própria para atender a esse tipo de requisito, e aí saiu este post
    É interessante ver que, nos meus testes, foi realmente simples e funcionou bem
    Só me parece problemático que o instalador, mais uma vez, não tenha opção para escolher o local de destino. Se houver vários usuários no servidor, cada um acaba tendo sua própria cópia em vez de uma única instalação global

  • Estou rodando o Ollama com a ideia de montar um fluxo de trabalho de checagem gramatical/ortográfica para escrita
    Isso não está diretamente ligado ao Ollama em si, e até agora o Ollama tem funcionado bem
    Existe algum lugar apropriado para fazer esse tipo de pergunta? Estou pensando em algo como um Stack Overflow para LLMs

  • Instalei e rodei o modelo llama2 em um Mac Mini novo e tive um kernel panic completo. O que é isso?

    • Isso pode acontecer se o modelo escolhido for maior do que a memória unificada disponível
      Qual versão do llama2 você escolheu, e quanta memória unificada você tem?