Leitfaden zur Ausführung großer Sprachmodelle mit Ollama auf H100-GPUs

Dieser Artikel ist ein Leitfaden zur Ausführung großer Sprachmodelle mit Ollama auf H100-GPUs. Dank der Unterstützung von NVIDIA H100-GPUs können Sie nun die Entwicklung, das Testen, die Bereitstellung und die Optimierung Ihrer KI/ML-Anwendungen nahtlos beschleunigen – ohne den umfangreichen Einrichtungs- oder Wartungsaufwand, der bei traditionellen Plattformen erforderlich ist.

Ollama ist ein Open-Source-Tool, das Zugriff auf eine vielfältige Bibliothek vortrainierter Modelle bietet, eine mühelose Installation und Einrichtung auf verschiedenen Betriebssystemen ermöglicht und eine lokale API für die nahtlose Integration in Anwendungen und Workflows bereitstellt. Sie können LLMs anpassen und feinabstimmen, die Leistung mit Hardware-Beschleunigung optimieren und von interaktiven Benutzeroberflächen für intuitive Interaktionen profitieren.

Voraussetzungen

  • Zugriff auf H100-GPUs: Stellen Sie sicher, dass Sie Zugriff auf NVIDIA H100-GPUs haben, entweder über lokale Hardware oder über eine ccloud³ VM, die mit einer Cloud GPU ausgestattet ist.
  • Unterstützte Frameworks: Vertrautheit mit Python und Linux-Befehlen.
  • Installation von CUDA und cuDNN: Stellen Sie sicher, dass die NVIDIA CUDA- und cuDNN-Bibliotheken installiert sind, um die optimale GPU-Leistung zu gewährleisten.
  • Ausreichender Speicher und Arbeitsspeicher: Stellen Sie sicher, dass ausreichend Speicherplatz und Arbeitsspeicher vorhanden sind, um große Modelldatensätze und Gewichte zu verarbeiten.
  • Grundlegendes Verständnis von LLMs: Ein grundlegendes Verständnis großer Sprachmodelle und ihrer Struktur, um diese effektiv verwalten und optimieren zu können.

Diese Voraussetzungen helfen dabei, eine reibungslose und effiziente Nutzung von LLMs mit Ollama auf H100-GPUs zu gewährleisten.

Was ist Ollama?

Ollama bietet eine Möglichkeit, ein großes Sprachmodell aus seiner umfangreichen Sprachmodell-Bibliothek herunterzuladen, die Llama3.1, Mistral, Code Llama, Gemma und viele weitere Modelle umfasst. Es kombiniert Modellgewichte, Konfiguration und Daten in einem einzigen Paket, das durch eine Modelfile definiert wird.

Ollama bietet eine flexible Plattform zum Erstellen, Importieren und Nutzen von benutzerdefinierten oder vorgefertigten Sprachmodellen – ideal für die Erstellung von Chatbots, Textzusammenfassungen und vieles mehr. Es legt besonderen Wert auf Datenschutz, integriert sich nahtlos in Windows, macOS und Linux und ist kostenlos nutzbar. Ollama ermöglicht es Ihnen außerdem, Modelle problemlos lokal bereitzustellen. Darüber hinaus unterstützt die Plattform Echtzeit-Interaktionen über eine REST-API.

Es eignet sich perfekt für LLM-basierte Webanwendungen und Tools. Es funktioniert ähnlich wie Docker: Mit Docker können wir verschiedene Images aus einem zentralen Hub abrufen und in Containern ausführen. Darüber hinaus erlaubt Ollama die Anpassung der Modelle durch die Erstellung einer Modelfile. Unten finden Sie den Code zur Erstellung einer Modelfile:

From llama2

# Setzen der Temperatur
PARAMETER temperature 1

# System-Prompt festlegen

SYSTEM """ 
Sie sind ein hilfreicher Lehrassistent, erstellt von DO. 
Beantworten Sie Fragen zu Künstlicher Intelligenz und Deep Learning. """ 

Als Nächstes wird das benutzerdefinierte Modell ausgeführt:

Ollama create MLexp \-f ./Modelfile
Ollama run MLexp

Die Leistung der NVIDIA H100-GPUs

Die H100 ist Nvidias leistungsstärkste GPU, die speziell für Anwendungen der Künstlichen Intelligenz entwickelt wurde. Mit 80 Milliarden Transistoren – sechs Mal mehr als die A100 – kann sie große Datensätze deutlich schneller verarbeiten als andere GPUs auf dem Markt.

Wie allgemein bekannt, sind KI-Anwendungen datenintensiv und erfordern eine enorme Rechenleistung. Um diese gewaltige Arbeitslast zu bewältigen, gelten H100-GPUs als die beste Wahl.

Die H100 verfügt über Tensor-Kerne der vierten Generation und eine Transformer-Engine mit FP8-Präzision. Im Vergleich zu früheren Modellen verdreifacht die H100 die Gleitkommaoperationen pro Sekunde (FLOPS) und liefert 60 Teraflops doppelte Präzision (FP64), was für präzise Berechnungen in HPC-Aufgaben entscheidend ist. Sie kann Matrixmultiplikationen mit einfacher Präzision bei einer Petaflop-Durchsatzrate mit TF32-Präzision ausführen, ohne dass Änderungen am bestehenden Code erforderlich sind. Dies macht sie besonders benutzerfreundlich für Entwickler.

Die H100 führt DPX-Befehle ein, die die Leistung für dynamische Programmieraufgaben erheblich steigern und eine bis zu 7-fache Leistungssteigerung im Vergleich zur A100 sowie eine 40-fache Beschleunigung gegenüber CPUs für spezifische Algorithmen wie die DNA-Sequenzierung bieten.

H100-GPUs liefern die erforderliche Rechenleistung und bieten eine Speicherbandbreite von 3 Terabyte pro Sekunde (TB/s) pro GPU. Diese hohe Leistung ermöglicht eine effiziente Verarbeitung großer Datensätze.

Die H100 unterstützt Skalierbarkeit durch Technologien wie NVLink und NVSwitch™, die es mehreren GPUs ermöglichen, effizient zusammenzuarbeiten.

Warum LLMs mit Ollama auf H100-GPUs ausführen?

Um Ollama effizient auszuführen, wird eine NVIDIA-GPU benötigt, um Prozesse reibungslos laufen zu lassen. Mit einer CPU müssen Sie mit langsamen Reaktionszeiten rechnen.

  • Dank ihrer fortschrittlichen Architektur bietet die H100 außergewöhnliche Rechenleistung, die dazu beiträgt, die Effizienz von LLMs erheblich zu steigern.
  • Ollama ermöglicht es Ihnen, LLMs anzupassen und feinabzustimmen, um Ihre spezifischen Anforderungen zu erfüllen. Funktionen wie Prompt Engineering, Few-Shot Learning und gezieltes Fine-Tuning helfen dabei, Modelle an gewünschte Ergebnisse anzupassen. Die Kombination von Ollama mit H100-GPUs verbessert sowohl die Inferenz- als auch die Trainingszeiten für Entwickler und Forscher.
  • H100-GPUs haben die Kapazität, Modelle wie Falcon 180b zu verarbeiten, was sie ideal für die Erstellung und Bereitstellung von Gen-AI-Tools wie Chatbots oder RAG-Anwendungen macht.
  • H100-GPUs verfügen über Hardware-Optimierungen wie Tensor-Kerne, die Aufgaben im Zusammenhang mit LLMs erheblich beschleunigen, insbesondere bei komplexen Matrixoperationen.

Einrichtung von Ollama mit H100-GPUs

Ollama ist vollständig kompatibel mit Windows, macOS und Linux. Hier verwenden wir Linux-Code, da unser Beispiel auf Linux basieren.

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um die GPU-Spezifikation zu überprüfen:

Als Nächstes installieren wir Ollama über dasselbe Terminal:

curl \-fsSL https://ollama.com/install.sh | sh

Dies startet die Installation von Ollama sofort.

Nach Abschluss der Installation können Sie jedes LLM abrufen und mit dem Modell arbeiten, z. B. Llama 3.1, Phi3, Mistral, Gemma 2 oder ein anderes Modell.

Um mit Modellen zu arbeiten und mit ihnen zu chatten, führen Sie den folgenden Code aus. Sie können das Modell nach Ihren Anforderungen anpassen. Die Ausführung des Modells mit Ollama ist äußerst unkompliziert. Da wir hier die leistungsstarke H100-GPU verwenden, erfolgt die Antwortgenerierung schnell und effizient.

ollama run example_model
ollama run qwen2:7b

Behebung von Verbindungsfehlern in Ollama

Falls der Fehler “could not connect to ollama app, is it running?” auftritt, verwenden Sie den folgenden Code, um eine Verbindung zu Ollama herzustellen:

sudo systemctl enable ollama
sudo systemctl start ollama

Unterstützte Modelle in Ollama

Ollama unterstützt eine große Auswahl an Modellen. Hier sind einige Beispielmodelle, die heruntergeladen und verwendet werden können:

Modell Parameter Größe Download-Befehl
Llama 3.1 8B 4.7GB Ollama run llama3.1
Llama 3.1 70B 40GB Ollama run llama3.1:70b
Llama 3.1 405B 231GB Ollama run llama3.1:405b
Phi 3 Mini 3.8B 2.3GB Ollama run phi3
Phi 3 Medium 14B 7.9GB Ollama run phi3:medium
Gemma 2 27B 16GB Ollama run gemma2:27b
Mistral 7B 4.1GB Ollama run mistral
Code Llama 7B 3.8GB Ollama run codellama

Mit Ollama können Sie LLMs bequem ausführen, ohne eine Internetverbindung zu benötigen, da das Modell und seine Abhängigkeiten lokal gespeichert werden.

Python-Code für die Fibonacci-Folge

Unten finden Sie ein Python-Skript zur Generierung einer Fibonacci-Sequenz:

def fibonacci(n): 
    """ 
    Diese Funktion gibt die ersten n Zahlen der Fibonacci-Folge aus.
    
    Parameter:
    @param n (int): Die Anzahl der zu druckenden Elemente der Fibonacci-Folge.

    Rückgabe:
    None
    """ 
    # Initialisierung der ersten beiden Zahlen der Fibonacci-Folge.
    a, b = 0, 1 

    # Iteration über den Bereich zur Generierung der Fibonacci-Folge.
    for i in range(n): 
        print(a) 
        # Aktualisierung der nächsten Zahl in der Sequenz
        a, b = b, a + b 

# Testfunktion zur Ausgabe der ersten 10 Zahlen der Fibonacci-Folge.
if __name__ == "__main__": 
    fibonacci(10)

Dieser Python-Code definiert eine einfache fibonacci-Funktion, die eine Ganzzahl als Argument entgegennimmt und die ersten n Zahlen der Fibonacci-Folge ausgibt. Die Fibonacci-Folge beginnt mit 0 und 1, wobei jede nachfolgende Zahl die Summe der beiden vorhergehenden Zahlen ist.

Der if __name__ == "__main__":-Block am Ende testet diese Funktion, indem er sie mit dem Parameterwert 10 aufruft. Dadurch werden die ersten 10 Zahlen der Fibonacci-Folge ausgegeben.

Fazit

Ollama ist ein neues Gen-AI-Tool zur lokalen Nutzung großer Sprachmodelle, das verbesserte Privatsphäre, Anpassungsmöglichkeiten und Offline-Zugänglichkeit bietet. Es hat die Arbeit mit LLMs vereinfacht und ermöglicht es Ihnen, Open-Source-LLMs direkt auf Ihren eigenen Systemen zu erkunden und zu testen. Ollama fördert Innovation und ein tieferes Verständnis für Künstliche Intelligenz.

Quelle: digitalocean.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

VeraCrypt unter Ubuntu 24.04 installieren & nutzen

Security, Tutorial
VeraCrypt unter Ubuntu 24.04 installieren – Schritt-für-Schritt-Anleitung VeraCrypt ist eine kostenlose Open-Source-Verschlüsselungslösung, mit der sich vertrauliche Daten wie Dateien, Ordner und ganze Laufwerke absichern lassen. Um diese leistungsstarke Sicherheitssoftware optimal…