Weiter zum Inhalt

Torchchat-Tutorial von PyTorch: Lokale Einrichtung mit Python

Lerne in diesem praxisnahen Tutorial, wie du PyTorchs Torchchat lokal mit Python einrichtest – Schritt für Schritt mit Anleitungen und Beispielen.
Aktualisiert 18. Sept. 2026

Mit KI erkunden

ChatGPTClaudePerplexity

Große Sprachmodelle (LLMs) sind inzwischen fester Bestandteil zahlreicher Technologiebereiche, und die meisten Produkte bringen heute Funktionen auf LLM-Basis mit. Die Ausführung dieser Modelle auf eigenen Geräten wie Laptops, Desktops oder Smartphones stieß jedoch lange auf Hürden durch Hardwarebeschränkungen.

Als Antwort darauf hat das PyTorch-Team Torchchat vorgestellt – ein flexibles Framework, das die Effizienz von LLMs auf unterschiedlichster Hardware steigert. Dieser Durchbruch ermöglicht eine performante lokale Verarbeitung auf vielen Geräten und macht fortgeschrittene KI-Modelle potenziell für mehr Menschen zugänglich.

PyTorch ist ein führendes Open-Source-Framework für Machine Learning, entwickelt von Facebooks AI Research Lab (FAIR). Es unterstützt verschiedene Anwendungsfälle, darunter Computer Vision und Natural Language Processing.

In diesem Artikel geben wir einen Überblick über die Funktionen von Torchchat und zeigen, wie du es lokal einrichtest.

KI-Anwendungen entwickeln

Lerne, wie man KI-Anwendungen mit der OpenAI API erstellt.
Start Upskilling for Free

Funktionen von Torchchat

Torchchat bietet vier Hauptfunktionen:

  1. LLMs mit Python und PyTorch ausführen.
  2. Eigenständige Modelle auf einer Desktop-App oder einem Server ohne Python betreiben.
  3. Modelle auf einem Mobilgerät ausführen.
  4. Die Leistung eines Modells evaluieren.

LLMs mit Python und PyTorch ausführen

In diesem Modus läuft ein LLM auf einer Maschine mit installiertem Python und PyTorch. Du kannst direkt im Terminal mit dem Modell interagieren oder einen Server mit einer REST API aufsetzen. Darauf konzentrieren wir uns in diesem Artikel.

Eigenständige Modelle betreiben

Torchchat nutzt AOT Inductor (Ahead-of-Time Inductor), um ein eigenständiges, verteilbares Executable für PyTorch-Inferenzprogramme zu erstellen – in Form einer dynamischen Bibliothek ohne Abhängigkeit von Python und PyTorch.

Dieser Ansatz adressiert die Anforderungen von Produktionsumgebungen, in denen Laufzeitstabilität über Updates und Änderungen im Serving-Umfeld gewährleistet sein muss, sodass Modelle ohne erneutes Kompilieren weiterlaufen.

AOT Inductor optimiert die Modellauslieferung durch effiziente, binäre Distributionsformate, die schnell geladen und unmittelbar ausgeführt werden können – und behebt damit die Grenzen und den Overhead textbasierter Formate wie TorchScript. Es setzt Codegenerierung und Optimierungen für CPU- und GPU-Performance ein, um Overhead zu reduzieren und die Ausführung zu beschleunigen.

Ausführung auf Mobilgeräten

Für die Ausführung auf Mobilgeräten setzt Torchchat auf ExecuTorch. Ähnlich wie AOT Inductor optimiert ExecuTorch das Modell für die Ausführung auf Mobil- oder Embedded-Geräten und erzeugt ein PTE-Artefakt, mit dem das Modell später ausgeführt werden kann.

Ein Modell evaluieren

Der Evaluationsmodus von Torchchat kann genutzt werden, um die Leistung eines LLMs auf verschiedenen Aufgaben aus lm_eval zu bewerten. Das ist besonders für Forschende wichtig, die neue Modelle gegen gängige Benchmarks testen möchten.

Warum Torchchat nutzen

Ein LLM lokal auszuführen statt über eine Cloud-API eines Drittanbieters wie die API von OpenAI eröffnet diverse Einsatzszenarien und Vorteile – je nach Bedarf und Kontext.

  • Datenschutzkritische Anwendungen: In Branchen mit sensiblen Daten wie Gesundheitswesen, Finanzwesen oder Recht bleibt Vertrauliches in der eigenen Infrastruktur – konform mit Datenschutzvorgaben.
  • Echtzeitanwendungen: Anwendungen mit strengen Latenzanforderungen – etwa interaktive Chatbots, Generierung in Echtzeit oder Live-Monitoring – profitieren von lokaler Ausführung, da Netzwerklatenzen zur Cloud entfallen.
  • Offline- oder Low-Connectivity-Szenarien: In Umgebungen mit wenig oder keinem Internetzugang ermöglicht die lokale Bereitstellung LLM-basierte Anwendungen – z. B. Feldforschung, Remote-Lernen oder In-Flight-Entertainment.
  • Kostenkontrolle und Optimierung: Bei hohem Durchsatz oder Dauerbetrieb kann die lokale Ausführung kostengünstiger sein, weil sie Request-basierte Preismodelle von Cloud-APIs umgeht und vorhandene Rechenressourcen nutzt.

Wenn du mehr darüber erfahren möchtest, wie ein KI-Modell auf einem Gerät statt in der Cloud läuft, lies diesen Blogpost zu Edge AI.

Lokale Einrichtung mit Python

Richten wir Torchchat nun Schritt für Schritt lokal ein. Wir beginnen damit, das Torchchat-Repository zu klonen.

Code klonen oder herunterladen

Der erste Schritt ist, das Torchchat-Repository zu klonen. Mit installiertem Git kannst du im Terminal folgenden Befehl ausführen:

git clone git@github.com:pytorch/torchchat.git

Alternativ lässt sich das Repository über die GitHub-Oberfläche herunterladen.

How to download torchchat from github.

Installation

Wir gehen davon aus, dass Python 3.10 bereits installiert ist. Eine Anleitung zur Installation findest du in diesem Artikel.

Zur Installation öffnest du ein Terminal im Torchchat-Ordner. Zuerst erstellen wir eine virtuelle Umgebung:

python -m venv .venv

Kurz gesagt ist eine virtuelle Umgebung ein in sich geschlossener Projektordner mit eigenen Installationsverzeichnissen für Python-Bibliotheken, -Pakete und teils sogar einer spezifischen Python-Version. So hat jedes Projekt genau die Versionen, die es braucht – ohne Konflikte mit anderen Projekten.

Als Nächstes aktivieren wir die Umgebung mit:

source .venv/bin/activate

Zum Abschluss installieren wir alle benötigten Abhängigkeiten. Torchchat liefert dafür das Skript install_requirements.sh, das du so ausführst:

./install_requirements.sh

Torchchat sollte nun installiert und einsatzbereit sein. Du kannst die Installation prüfen, indem du die verfügbaren Torchchat-Befehle auflistest:

python torchchat.py --help

Torchchat lokal mit Python nutzen

Mit installierten Torchchat können wir LLMs lokal auf unserem Rechner ausführen.

Alle unterstützten Modelle auflisten

Torchchat unterstützt eine große Bandbreite an LLMs. Mit dem Befehl list lassen sich alle unterstützten Modelle anzeigen:

python torchchat.py list

Die vollständige Modulliste findest du im GitHub-Repository.

List of models supported by torchchat

Der Abschnitt „Notes“ liefert hilfreiche Infos zum jeweiligen Modell, etwa den besten Einsatzzweck und den Alias, den du in Torchchat-Befehlen angibst.

Ein Modell herunterladen

Torchchat nutzt Hugging Face als Distributionskanal. Hugging Face ist eine kollaborative Plattform mit Tools, um NLP- und ML-Modelle mit Open-Source-Code zu erstellen, zu trainieren und bereitzustellen. Mehr dazu in diesem Blogpost: What Is Hugging Face.

Vor dem Download eines Modells musst du:

  1. Die Hugging Face Command Line Interface installieren
  2. Einen Account bei Hugging Face anlegen
  3. Einen Zugriffstoken erstellen
  4. Dich über die Hugging Face CLI anmelden

Die Installation der Hugging Face CLI erfolgt mit pip:

pip install huggingface_hub

Anschließend erstellst du auf der Hugging Face-Website einen Account. Danach kannst du in den Profileinstellungen einen Zugriffstoken erstellen:

Profile settings on Hugging Face

Im Profil öffnest du „Access Tokens“, um einen neuen Token anzulegen:

Creating an access token on Hugging Face

Für diesen Artikel reichen Leserechte. Notiere dir den Token direkt beim Erstellen, da er später nicht mehr angezeigt wird.

Mit dem Token meldest du dich per folgendem Befehl an:

huggingface-cli login

Nach erfolgreicher Anmeldung kannst du mit dem Befehl download ein Modell herunterladen. Manche Modelle sind sehr groß – prüfe daher den verfügbaren Speicherplatz. Für das Beispiel nutzen wir das stories15M-Modell, ein kleines Modell zur Story-Generierung. Es ist ein guter Einstieg, da der Download schnell geht und keine Sonderrechte nötig sind.

Der Download erfolgt so:

python torchchat.py download stories15M

Ein Modell ausführen

Nach dem Download kannst du die Befehle chat oder generate verwenden. Für Textgenerierung gibst du mit --prompt eine Eingabe vor. Beispiel:

python torchchat.py generate stories15M --prompt “Once upon a time”

Dieser Befehl weist Torchchat an, mit dem Modell stories15M Text zur Eingabe ”Once upon a time” zu generieren.

Für den Chatmodus nutzt du chat ohne Prompt:

python torchchat.py chat stories15M 

Der Chatmodus startet einen interaktiven Dialog im Terminal. Beachte: Manche Modelle eignen sich eher für den generate-Modus, andere für chat. Diese Info findest du im Abschnitt „Notes“ der Modell­dokumentation.

Zugriff auf ein Modell anfordern

Einige Modelle wie llama3 erfordern spezielle Zugriffsrechte. Wenn du versuchst, ein solches Modell herunterzuladen, erscheint eine Fehlermeldung:

Access to model meta-llama/Meta-Llama-3-8B-Instruct is restricted and you are not in the authorized list. Visit https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct to ask for access.

Über die angegebene URL kannst du Zugriff anfragen. Fülle ein kurzes Formular mit persönlichen Angaben aus und akzeptiere die Nutzungsbedingungen. Du erhältst eine E‑Mail, sobald der Zugriff gewährt ist.

Access request form for a LLM on Hugging Face

Erweiterte Nutzung

Torchchat bietet zusätzliche Optionen für die lokale Ausführung von LLMs, damit du sie an Anforderungen und Hardware anpassen kannst. Schauen wir uns einige davon an.

Präzision steuern

LLMs basieren stark auf Matrixmultiplikationen, also auf dem Multiplizieren vieler Gleitkommazahlen. Es gibt verschiedene Datentypen zur Repräsentation von Gleitkommazahlen mit unterschiedlicher Genauigkeit.

Höhere Präzision stellt sicher, dass feine Nuancen aus dem Training bei der Inferenz erhalten bleiben – wichtig für komplexe Aufgaben oder nuanciertes Sprachverständnis. Allerdings verlangsamt hohe Präzision die Inferenz. Der richtige Datentyp ist ein Abwägen zwischen Tempo und Genauigkeit.

Den Datentyp legst du mit dem Parameter --dtype fest, zum Beispiel:

python torchchat.py chat --dtype fast stories15M

Just-in-Time-Kompilierung

Das Flag --compile aktiviert die Just-in-Time-(JIT)-Kompilierung des Modells. JIT kompiliert Teile des Modells zur Laufzeit in Maschinencode, statt sie bei jeder Ausführung zu interpretieren. Das kann die Effizienz und Geschwindigkeit auf verschiedenen Hardwareplattformen deutlich steigern.

Mit JIT verlängert sich die Startzeit wegen des zusätzlichen Kompilierungsschritts, die Inferenz läuft danach jedoch schneller. So kombinierst du chat mit JIT:

python torchchat.py chat --compile stories15M

Beachte, dass diese Option nicht auf jeder Hardware unterstützt wird. In diesem Fall ignoriert Torchchat den Kompilierungsschritt und führt das LLM ohne ihn aus.

Quantisierung

Quantisierung reduziert die Modellgröße und beschleunigt die Inferenz, ohne Leistung oder Genauigkeit stark zu beeinträchtigen. Das ist besonders relevant für die Bereitstellung auf Edge-Geräten oder in Umgebungen mit begrenzten Rechenressourcen, Speicher und Bandbreite.

Kurz gesagt wandelt Quantisierung Gewichte und Aktivierungen eines Netzes von Gleitkommazahlen (meist 32 Bit) in niedrigere Bitbreiten um – etwa 16-Bit- oder 8-Bit-Integer, in Einzelfällen sogar binär.

Das unterscheidet sich von der Präzisionswahl via --dtype. Quantisierung wirkt direkt auf die Modellgewichte und erzeugt ein kleineres Modell, während der Datentyp den Typ der Daten für die Inferenzberechnungen festlegt.

Für Quantisierung in Torchchat brauchst du eine JSON-Konfigurationsdatei und rufst sie so auf:

python torchchat.py chat --quantize config.json stories15M

Details zum Format der Datei config.json und zur Funktionsweise der Quantisierung in Torchchat findest du in der Quantisierungsdokumentation.

Gerät festlegen

Mit der Option --device gibst du an, auf welchem Gerät das LLM ausgeführt wird. Für CUDA z. B. so:

python torchchat.py chat --device cuda stories15M

Fazit

Torchchat ist ein großer Schritt zur Demokratisierung der LLM-Inferenz. Es macht es einfach, LLMs effizient auf einer Vielzahl von Geräten auszuführen.

Torchchat kann noch weit mehr, als wir hier gezeigt haben. Mit dieser Anleitung hast du alles Nötige, um LLMs mit Python und PyTorch lokal auf deinem Rechner zum Laufen zu bringen. Ich kann dir nur empfehlen, Torchchat weiter auszuprobieren.

Verdiene eine Top-KI-Zertifizierung

Zeige, dass du KI effektiv und verantwortungsbewusst einsetzen kannst.

François Aubry's photo
Author
François Aubry
LinkedIn
Full-Stack-Ingenieur und Gründer von CheapGPT. Das Unterrichten war schon immer meine Leidenschaft. Schon als Schülerin habe ich eifrig nach Möglichkeiten gesucht, anderen Schülern Nachhilfe zu geben und sie zu unterstützen. Diese Leidenschaft führte dazu, dass ich einen Doktortitel anstrebte, wobei ich auch als Lehrassistentin tätig war, um meine akademischen Bemühungen zu unterstützen. In diesen Jahren fand ich im traditionellen Klassenzimmer große Erfüllung, indem ich Verbindungen förderte und das Lernen erleichterte. Doch mit dem Aufkommen von Online-Lernplattformen erkannte ich das transformative Potenzial der digitalen Bildung. Ich war sogar aktiv an der Entwicklung einer solchen Plattform an unserer Hochschule beteiligt. Es ist mir ein großes Anliegen, traditionelle Unterrichtsprinzipien mit innovativen digitalen Methoden zu verbinden. Meine Leidenschaft ist es, Kurse zu erstellen, die nicht nur ansprechend und informativ, sondern auch für Lernende im digitalen Zeitalter zugänglich sind.
Themen
Künstliche Intelligenz
Generative KI
Verwandt

Tutorial

Python-Tutorial zum Verknüpfen von Zeichenfolgen

Lerne verschiedene Methoden zum Verknüpfen von Zeichenfolgen in Python kennen, mit Beispielen, die jede Technik zeigen.
DataCamp Team's photo

DataCamp Team

5 Min.

Tutorial

Python-Anweisungen IF, ELIF und ELSE

In diesem Tutorial lernst du ausschließlich Python if else-Anweisungen kennen.
Sejal Jaiswal's photo

Sejal Jaiswal

9 Min.

Tutorial

if…elif…else in Python Tutorial

Lerne, wie du in Python if…elif…else-Anweisungen erstellst.
DataCamp Team's photo

DataCamp Team

4 Min.

Tutorial

Python Switch Case Statement: Ein Leitfaden für Anfänger

Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Matt Crabtree's photo

Matt Crabtree

5 Min.

Tutorial

Python-Lambda-Funktionen: Ein Leitfaden für Anfänger

Lerne mehr über Python-Lambda-Funktionen, wozu sie gut sind und wann man sie benutzt. Enthält praktische Beispiele und bewährte Methoden für eine effektive Umsetzung.
Mark Pedigo's photo

Mark Pedigo

10 Min.

Tutorial

Python Datenstrukturen Tutorial

Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Sejal Jaiswal's photo

Sejal Jaiswal

24 Min.

Mehr AnzeigenMehr Anzeigen