2 Punkte von GN⁺ 2024-02-18 | 1 Kommentare | Auf WhatsApp teilen
  • Ollama kann jetzt auch unter Windows in einer nativen Umgebung ausgeführt werden, wodurch das Herunterladen, Ausführen und Generieren mit lokalen großen Sprachmodellen einfacher wird
  • Ollama für Windows bietet integrierte GPU-Beschleunigung, Zugriff auf die vollständige Modellbibliothek sowie die OpenAI-kompatible Ollama-API
  • Für die Modellausführung werden eine NVIDIA-GPU und moderne CPU-Befehlssätze wie AVX und AVX2 genutzt; eine separate Konfiguration oder Virtualisierung ist nicht erforderlich
  • Die vollständige Modellbibliothek und Vision-Modelle sind unter Windows nutzbar, und bei LLaVA 1.6 können Bilder per Drag-and-drop zu ollama run hinzugefügt und so an Nachrichten angehängt werden
  • Dank der im Hintergrund laufenden Ollama-API lassen sich bestehende Tools für OpenAI mit lokalen Modellen verbinden

Windows-Preview verfügbar

  • Ollama ist als Windows-Preview verfügbar, sodass sich große Sprachmodelle unter Windows herunterladen, ausführen und zur Generierung nutzen lassen
  • Ollama für Windows enthält die wichtigsten Funktionen auf einmal

Hardwarebeschleunigung und Ausführung

  • Bei der Modellausführung wird eine NVIDIA-GPU zur Beschleunigung verwendet
  • Wenn verfügbar, werden auch moderne CPU-Befehlssätze wie AVX und AVX2 genutzt
  • Es kann unter Windows ohne zusätzliche Einrichtung oder Virtualisierung direkt verwendet werden

Vollständige Modellbibliothek und Vision-Modelle

  • Auch unter Windows kann die vollständige Ollama-Modellbibliothek ausgeführt werden
  • Vision-Modelle sind ebenfalls enthalten
  • Wenn während der Ausführung eines Vision-Modells wie LLaVA 1.6 ein Bild per Drag-and-drop zu ollama run hinzugefügt wird, kann es an die Nachricht angehängt werden

Im Hintergrund laufende Ollama-API

  • Die Ollama-API wird automatisch im Hintergrund gestartet und ist unter http://localhost:11434 verfügbar
  • Tools und Anwendungen können sich ohne zusätzliche Konfiguration mit dieser API verbinden
  • Ein Beispiel für einen Aufruf der Ollama-API in PowerShell:
(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 für Windows unterstützt wie auf anderen Plattformen ebenfalls OpenAI-Kompatibilität
  • Bestehende Tools für OpenAI können zusammen mit lokalen Modellen über Ollama verwendet werden

Installation und Feedback

  • Um mit der Windows Preview zu starten, wird OllamaSetup.exe heruntergeladen
  • Die Installationsdatei OllamaSetup.exe wird per Doppelklick installiert
  • Nach der Installation wird ein Terminal geöffnet und das Modell mit folgendem Befehl ausgeführt
ollama run llama2
  • Wenn eine neue Version verfügbar ist, weist Ollama auf das Update hin
  • Bei Problemen kann ein GitHub-Issue erstellt oder dem Discord-Server beigetreten werden, um Feedback zu senden

1 Kommentare

 
GN⁺ 2024-02-18
Meinungen auf Hacker News
  • Ich nutze auf dem Desktop Open-WebUI als Frontend
    Ich habe etwa 12 feinabgestimmte Mistral-Modelle und ein paar andere Modelle gesammelt, und für Chat- oder Informationsextraktionsaufgaben ist das völlig ausreichend
    Die Open-WebUI-App sieht ChatGPT ziemlich ähnlich und bietet auch eine Suche in Unterhaltungen
    https://github.com/open-webui/open-webui

    • Für alle, die die Ankündigung vor ein paar Stunden verpasst haben: open-webui ist das Rebranding des Projekts, das früher ollama-webui hieß
      Ich kann bestätigen, dass es als Frontend für Ollama ziemlich solide ist. Es funktioniert wirklich gut, und das Entwicklungstempo ist erstaunlich hoch
      Wenn ich alle paar Wochen das neueste Docker-Image ziehe, bin ich immer wieder überrascht, wie sehr es sich verbessert hat
      [0] https://github.com/open-webui/open-webui/discussions/764
    • Mich würde interessieren: Wofür nutzt du diese feinabgestimmten Modelle? Hast du sie mit eigenen Daten feinabgestimmt, oder wählst du je nach Aufgabe öffentliche Modelle aus?
    • Gibt es ein ähnliches Tool, das man im Terminal verwenden kann?
  • Wie immer gibt es nichts zur Unterstützung von AMD-GPUs
    So traurig, dass ich schon bereue, diesmal AMD gekauft zu haben

    • Unterstützung für AMD-GPUs ist definitiv ein wichtiger Punkt auf der Projekt-Roadmap
      Es ist schade, dass wir das noch nicht sauber an einer Stelle wie ROADMAP.md öffentlich gemacht haben; das wollen wir bald nachholen
      Einige Projekt-Maintainer kommen aus der Gegend von Toronto, der ursprünglichen Heimat von ATI Technologies, daher wünschen wir uns auch persönlich, dass Ollama gut auf AMD-GPUs läuft :)
      Eine der Testmaschinen für die AMD-Unterstützung nutzt eine Radeon RX 7900XT und ist ziemlich schnell. Sie kann absolut mit High-End-GPUs der GeForce-40-Serie mithalten
      [1]: https://en.wikipedia.org/wiki/ATI_Technologies
    • Geht mir genauso. Als langjähriger Linux-Nutzer hasse ich Nvidia wegen all der Schmerzen, die sie verursacht haben, ziemlich, und ich wollte wirklich, dass AMD Erfolg hat
      Ich habe teuer eine leistungsstarke AMD-Karte gekauft, in der Erwartung, dass sie Nvidia bald einholen würden, aber in Wirklichkeit war das überhaupt nicht der Fall, und ich denke, das liegt daran, dass AMD nicht die nötigen Ressourcen investiert hat
      AMD kann sich ändern, aber sie müssen sofort damit anfangen
    • AMD scheint zu glauben, dass dieser neue Hype um GPU-Computing bald wieder vorbei ist, und sieht daher offenbar keinen Grund zu investieren
      Das ist einer der schlimmsten Akte der Selbstsabotage, die ich in der Tech-Branche gesehen habe
    • llamafile unterstützt AMD-GPUs
      Unter Windows reicht dank der tinyBLAS-Bibliothek der Grafiktreiber aus
      https://github.com/Mozilla-Ocho/llamafile/releases/tag/0.6.2
      Standardmäßig öffnet es einen Browser-Tab mit Chat-GUI, und man kann es auch wie unten als Ollama-ähnlichen Kommandozeilen-Chatbot ausführen
      https://justine.lol/oneliners/#chat
    • Wie andere schon gesagt haben, verwendet Ollama intern Llama.CPP, und Llama.CPP hat kürzlich Vulkan-Support veröffentlicht, der auch auf AMD-GPUs laufen soll
      Es ist mir gelungen, llama.cpp mit Vulkan-Support zu kompilieren und zusammen mit meiner App [1] auf einem AMD-Laptop auszuführen, aber Ollama habe ich nicht zum Laufen bekommen, weil es einige Annahmen darüber trifft, wie verfügbare GPUs auf dem Rechner gefunden werden
      [1]: https://msty.app
  • Wenn du nach einer guten Chat-UI für Ollama suchst und sowohl Online- als auch lokale Modelle unterstützen möchtest, gibt es die App [1], an der ich arbeite
    Sie ist auf Offline-Nutzung und Datenschutz ausgerichtet, und heute Morgen haben wir Windows-Support veröffentlicht
    [1]: https://msty.app

    • Nur als Hinweis: Es gibt eine Erkennung als Program:Win32/Wacapew.C!ml
    • Etwas off-topic, aber womit habt ihr die Landingpage gebaut?
    • Ist das ähnlich wie LLM Studio?
    • Gibt es Pläne für einen Linux-Client?
    • Plant ihr auch, die Gemini API hinzuzufügen?
  • Ich frage mich, warum so viele dieser „lokal ausführen“-AI-Ports so oft als Server laufen
    Haben Entwickler vergessen, dass man Code innerhalb des UI-Prozesses ausführen kann?
    Dasselbe Muster sehe ich bei Stable-Diffusion-Runnern und LLM-Hosts
    Wenn es nicht unbedingt nötig ist, möchte ich lokal keinen Hintergrunddienst laufen lassen – warum scheinen all diese Implementierungen so zu funktionieren?

    • Wirklich interessante Frage. Ich denke, beide Bereitstellungsmodelle können existieren
      Eine gute Analogie könnte eine Datenbank-Engine sein. SQLite ist eine Library und Postgres ein dauerhaft laufender Dienst; beide sind weit verbreitet und haben jeweils ihre Trade-offs
    • Neben der von anderen erwähnten anfänglichen Ladezeit kann es sein, dass man dieselbe Inference-Engine oder dasselbe LLM in mehreren Anwendungen für verschiedene Zwecke nutzen möchte
      Ein weiterer großer Faktor ist meiner Meinung nach, dass es nicht einfach ist, Maschine, Umgebung und Betriebssystem in einen Zustand zu bringen, in dem das Modell effizient laufen kann
      Wenn man diese Komplexität in einen Container, also einen „Server“, packt, hilft das sehr bei der Ersteinrichtung und dabei, laufende Verbesserungen und Updates mitzunehmen
    • Die Gewichte jedes Mal spontan zu laden, ergibt keinen Sinn. Schließlich müsste man ständig mehrere Gigabit an Speicher hin- und herschieben
      Stattdessen ist eine Architektur mit einem dauerhaft laufenden Prozess, der mehrere Prediction-Requests verarbeitet, sinnvoll
      Sehr wahrscheinlich wird man das irgendwann bald auch mehreren Clients bereitstellen
    • Ich persönlich sehe das als Vorteil
      Ich habe keinen leistungsstarken Laptop oder keine Workstation, aber einen Headless-Server mit mehreren GPUs
      Dank solcher Projekte kann ich auf dem Server mit LLMs experimentieren und API sowie Web-UI im internen Netz bereitstellen
    • Wegen der Geschwindigkeit lasse ich Ollama auf einem großen Gaming-PC laufen, möchte die Modelle aber auch an anderen Orten im Haus nutzen
      Deshalb läuft Open-WebUI unter chat.domain.example und Ollama unter api.chat.domain.example. Beide sind nur im lokalen Netzwerk erreichbar
      Mit dieser Konfiguration können Laptop und Smartphone über die Web-UI lokale Modelle mit maximaler Geschwindigkeit nutzen, und ein Raspberry Pi, auf dem ich mit einem Sprachassistenten experimentiere, kann Ollama über den API-Endpunkt abfragen
      Dank der Gaming-GPU läuft alles mit maximaler Geschwindigkeit. Dieselbe Logik gilt auch für mein Stable-Diffusion-Setup
  • Mir war nicht klar, dass Windows-Nutzer Ollama bisher nicht verwenden konnten
    Noch vor ein paar Jahren waren es gefühlt die Mac-Nutzer, die warten mussten

    • In WSL lief es schon seit einigen Monaten gut, inklusive vollständiger GPU-Unterstützung
      Für die meisten war das nur nicht besonders bequem, und native Windows-Unterstützung ist das Tüpfelchen auf dem i
    • Ich habe Ollama schon eine Weile unter Windows WSL laufen
      Am Ende ist es x86 Linux, daher funktioniert einfach alles problemlos
  • Ich frage mich, wie das proprietäre LM Studio (https://lmstudio.ai) im Vergleich zu Ollama abschneidet

    • Gut ist, dass die Einrichtung sehr einfach ist, man Modelle/Gewichte mit einem Klick herunterladen und laden kann und es sehr gut funktioniert
      Was mir nicht gefällt: Unter Windows legt es die Gewichte unter /users/username/.cache in einer eigenen Verzeichnisstruktur ab, belegt damit Dutzende GB, ohne es einem mitzuteilen, und erlaubt nicht, sie mit anderen Clients zu teilen
      Es lässt einen keine selbst heruntergeladenen Modelle importieren, die Suchfunktion ist miserabel, und die Art, wie es Instanz-Einstellungen handhabt, gefällt mir ebenfalls nicht
  • Es scheint bereits unter Linux und Mac verfügbar zu sein
    Die Änderung hier ist die Ergänzung von Windows: https://github.com/ollama/ollama

  • Ich war gerade dabei, genau solche Anforderungen selbst zu installieren und ein wenig auszuprobieren, als dieser Beitrag erschien
    Beim Testen ist interessant, dass es wirklich einfach ist und gut funktioniert
    Allerdings scheint es wieder keine Option zu geben, den Zielort des Installers auszuwählen. Wenn mehrere Nutzer auf einem Server sind, bekommt jeder seine eigene Kopie statt einer globalen Installation

  • Ich lasse Ollama laufen, weil ich einen Workflow für Grammatik- und Tippfehlerprüfung fürs Schreiben bauen möchte
    Das hat nicht direkt mit Ollama selbst zu tun, und bisher funktioniert Ollama gut
    Gibt es irgendwo einen passenden Ort für solche Fragen? Ich frage mich, ob es so etwas wie Stack Overflow für LLMs gibt

  • Ich habe auf einem neuen Mac Mini ein llama2-Modell installiert und gestartet, und es kam zu einer kompletten Kernel Panic. Was ist da los?

    • Das kann passieren, wenn das ausgewählte Modell größer ist als der verfügbare Unified Memory
      Welche Version von llama2 hast du ausgewählt, und wie viel Unified Memory hast du?