Direkt zum Inhalt

Wie du DeepSeek Janus-Pro vor Ort verwendest

Lerne, wie du das DeepSeek Janus-Pro Projekt einrichtest, dein eigenes Docker-Image erstellst und die Janus-Webanwendung lokal auf deinem Laptop ausführst.
Aktualisierte 29. Jan. 2025  · 13 Min. Lesezeit

DeepSeek, ein chinesisches KI-Startup, hat die globale KI-Branche aufgemischt, eine Billion Dollar von den US-Börsen gefegt und Tech-Giganten wie Nvidia und OpenAI erschüttert. Es hat sich schnell als führend in den Bereichen Texterstellung, Schlussfolgerungen, Visionsmodelle und Bilderzeugung etabliert. DeepSeek hat vor kurzem modernste Modelle auf den Markt gebracht, darunter Janus, ein multimodales Modell, das visuelle Daten verstehen und Bilder aus Text generieren kann.

Bild vom Autor

In diesem Lernprogramm lernen wir die Janus-Serie kennen, richten das Janus-Projekt ein, bauen einen Docker-Container, um das Modell lokal auszuführen, und testen seine Fähigkeiten mit verschiedenen Bild- und Textaufforderungen.

Erfahre mehr über die DeepSeek-Modelle, die die globale KI-Branche aufmischen:

Was ist die DeepSeek Janus-Serie?

Die DeepSeek Janus-Serie ist eine neue Reihe von multimodalen Modellen, die mit Hilfe innovativer Frameworks visuelle Verstehens- und Generierungsaufgaben vereinen. Die Serie umfasst Janus, JanusFlow und den fortschrittlichen Janus-Pro, die jeweils auf der vorherigen Version aufbauen und bemerkenswerte Verbesserungen in Bezug auf Effizienz, Leistung und multimodale Fähigkeiten aufweisen.

1. Janus

Janus ist ein innovatives autoregressives System, das die visuelle Kodierung in verschiedene Pfade für Verstehens- und Generierungsaufgaben aufteilt und dabei eine einheitliche Transformatorarchitektur verwendet. Mit diesem Ansatz werden Konflikte zwischen diesen Rollen gelöst und die Flexibilität und Effektivität erhöht. Janus erreicht oder übertrifft aufgabenspezifische Modelle, was es zu einem starken Kandidaten für multimodale Systeme der nächsten Generation macht.

2. JanusFlow

JanusFlow kombiniert autoregressive Sprachmodellierung mit Rectified Flow, einer modernen generativen Modellierungstechnik. Sein minimalistisches Design ermöglicht ein einfaches Training innerhalb großer Sprachmodell-Frameworks, ohne dass komplizierte Änderungen notwendig sind. JanusFlow zeigt bei Benchmarks eine überragende Leistung im Vergleich zu spezialisierten und vereinheitlichten Ansätzen und verschiebt damit die Grenzen der Modellierung von Bildsprache.

3. Janus-Pro

Janus-Pro verbessert die bisherigen Modelle durch optimierte Trainingsstrategien, erweiterte Trainingsdatensätze und die Skalierung auf größere Modellgrößen. Diese Fortschritte verbessern das multimodale Verstehen und das Befolgen von Text-zu-Bild-Befehlen erheblich und sorgen für eine stabilere Text-zu-Bild-Erzeugung.

Janus Pro Benchmark

Quelle: deepseek-ai/Janus

Lies DeepSeek's Janus-Pro: Funktionen, DALL-E 3-Vergleich & Mehr erfährst du mehr über die Janus-Serie, wie du darauf zugreifen kannst und wie sie im Vergleich zu DALL-E 3 von OpenAI abschneidet.

Das Janus Projekt einrichten

Janus ist ein relativ neues Modell, und derzeit gibt es keine quantisierten Versionen oder lokale KI-Anwendungen, die auf Laptops oder Desktops verwendet werden können. 

Das Janus-Repository auf GitHub bietet jedoch eine hervorragende Gradio Webanwendung, die jeder ausprobieren kann. Das Problem ist jedoch, dass die Demo oft nicht funktioniert, weil mehrere Pakete miteinander in Konflikt stehen.

Um dieses Problem zu lösen, werden wir in diesem Projekt den ursprünglichen Code ändern, unser eigenes Docker-Image erstellen und den Container lokal mit der Docker Desktop-Anwendung ausführen. 

1. Docker Desktop installieren

Um loszulegen, lade die neueste Version von Docker Desktop von der offiziellen Docker-Website herunter und installiere sie.

Hinweis für Windows-Benutzer:

Wenn du Windows verwendest, musst du auch das Windows Subsystem für Linux (WSL) installieren. Öffne dein Terminal und führe den folgenden Befehl aus, um WSL zu installieren:

wsl --install

2. Klone das Janus Repository

Als nächstes klonst du das Janus-Repository von GitHub und navigierst zum Projektverzeichnis:

git clone https://github.com/deepseek-ai/Janus.git
cd Janus

3. Ändern Sie den Demo-Code

Navigiere zum Demo-Ordner und öffne die Datei app_januspro.py in deinem bevorzugten Code-Editor. Nimm die folgenden Änderungen vor:

  1. Ändere den Modellnamen: Ersetze deepseek-ai/Janus-Pro-7B durch deepseek-ai/Janus-Pro-1B.

Dadurch wird die leichtere Version des Modells geladen, die nur 4,1 GB groß ist und sich daher besser für die lokale Nutzung eignet.

Ändern der janus pro-Webanwendungsdatei

  1. Aktualisiere die letzte Zeile des Skripts: Ändere die Funktion demo.queue wie folgt:
demo.queue(concurrency_count=1, max_size=10).launch(
    server_name="0.0.0.0", server_port=7860
)

Ändern der janus pro-Webanwendungsdatei

Diese Änderung stellt die Kompatibilität mit der Docker-URL und dem Port sicher.

4. Ein Docker-Image erstellen

Um die Anwendung zu containerisieren, erstellst du eine Dockerfile im Stammverzeichnis des Projekts. Verwende den folgenden Inhalt für die Dockerfile:

# Use the PyTorch base image
FROM pytorch/pytorch:latest

# Set the working directory inside the container
WORKDIR /app

# Copy the current directory into the container
COPY . /app

# Install necessary Python packages
RUN pip install -e .[gradio]

# Set the entrypoint for the container to launch your Gradio app
CMD ["python", "demo/app_januspro.py"]

Die Dockerfile wird: 

  • Erstelle ein Docker-Image mit dem PyTorch-Basis-Image.
  • Sie legt das Arbeitsverzeichnis innerhalb des Containers fest.
  • Alle notwendigen Dateien von deinem lokalen Rechner werden in das Verzeichnis /app im Docker-Container kopiert.
  • Das Dockerfile installiert alle erforderlichen Abhängigkeiten für die Anwendung.
  • Schließlich wird die Gradio-Anwendung innerhalb des Containers gestartet.

Erstellen und Ausführen des Docker-Images 

Sobald die Dockerfile fertig ist, bauen wir das Docker-Image und starten den Container.

Du kannst die Einführung in Docker besuchen, um die Grundlagen des Erstellens und Verteilens eines Docker-Images zu lernen.

Gib den folgenden Befehl in das Terminal ein, um das Docker-Image zu erstellen. Dieser Befehl verwendet die Dockerfile, die sich im Stammordner befindet, und weist dem Bild den Namen janus zu:

docker build -t janus . 

Je nach deiner Internetgeschwindigkeit dauert es 10 bis 15 Minuten, um das Bild von Grund auf zu erstellen. 

Erstellung des Janus Docker Images

Der folgende Befehl startet einen Docker Container für die Janus-Anwendung. Sie ermöglicht die GPU-Unterstützung, weist den Port 7860 für den Zugriff auf die Gradio-App zu und sorgt für eine dauerhafte Speicherung der Hugging Face-Modelldateien.

docker run -it -p 7860:7860 -d -v huggingface:/root/.cache/huggingface -w /app --gpus all --name janus janus:latest

Wenn du die Docker Desktop-Anwendung öffnest und zum Reiter "Container" navigierst, siehst du, dass der Container janus läuft. Sie ist jedoch noch nicht einsatzbereit.

Das Janus Image im Container ausführen.

Um den Fortschritt zu überprüfen, klicke auf den Container janus und gehe dann auf den Reiter "Logs". Hier wirst du feststellen, dass der Container die Modelldatei vom Hugging Face Hub herunterlädt.

Logs auf janus Container

Sobald das Modell erfolgreich heruntergeladen wurde, wird in den Protokollen eine Meldung angezeigt, die besagt, dass die Anwendung läuft.

Das Modell wurde erfolgreich heruntergeladen und die Webanwendung läuft.

Du kannst dann auf deine Anwendung zugreifen, indem du die folgende URL in deinem Browser aufrufst: http://localhost:7860/.

Wenn du Probleme hast, prüfe bitte die aktualisierte Version des Janus-Projekts unter kingabzpro/Janus: Janus-Series.

Testen des Janus Pro Modells

Die Web-App hat eine saubere Oberfläche und alles scheint reibungslos zu funktionieren. In diesem Abschnitt testen wir das multimodale Verständnis und die Text-zu-Bild-Erstellung des Janus Pro.

Testen des multimodalen Verständnisses

Um das multimodale Verständnis des Modells zu bewerten, laden wir zunächst ein Bild aus dem DataCamp-Tutorial und bitten das Modell, es zu erklären. Die Ergebnisse sind beeindruckend - selbst mit dem kleineren 1B-Modell ist die Reaktion sehr genau und detailliert.                                                                                                    

Janus Webanwendung UI Multimodales Verstehen

Als nächstes laden wir ein weiteres Bild und bitten das Modell, den Inhalt einer Infografik zusammenzufassen. Das Modell versteht den Text im Bild erfolgreich und liefert eine sehr genaue und kohärente Antwort. Das zeigt, dass das Modell sowohl visuelle als auch textliche Elemente gut verarbeiten und interpretieren kann.

Janus Webanwendung UI Multimodales Verstehen

Testen der Text-zu-Bild-Erzeugung

Wenn du in der App nach unten scrollst, findest du den Abschnitt "Text-to-Image Generation". Hier kannst du eine Eingabeaufforderung deiner Wahl eingeben und auf die Schaltfläche "Bilder generieren" klicken. Das Modell erzeugt fünf Variationen des Bildes, was einige Minuten dauern kann.

Janus Webanwendung UI Text zu Bild Generationen

Die Ergebnisse sind bemerkenswert: Die Qualität und Detailgenauigkeit der Ergebnisse sind mit Stable Diffusion XL vergleichbar.

Du kannst lernen, wie man Stable Diffusion XL mit DreamBooth und LoRA fein abstimmen auf deine persönlichen Bilder anwenden kannst.

Janus Webanwendung UI Text zu Bild Generationen

Versuchen wir es mit einer anderen Aufforderung:

Aufforderung:

"Das Bild zeigt ein kunstvoll gestaltetes Auge vor einem kreisförmigen Hintergrund, der mit verschnörkelten Wirbelmustern verziert ist, die sowohl an Realismus als auch an Surrealismus erinnern. Im Mittelpunkt steht eine auffallend leuchtend blaue Iris, die von zarten Adern umgeben ist, die von der Pupille nach außen strahlen und für Tiefe und Intensität sorgen. Die Wimpern sind lang und dunkel und werfen subtile Schatten auf die Haut um sie herum, die glatt und doch leicht texturiert wirkt, als wäre sie im Laufe der Zeit gealtert oder verwittert.

Über dem Auge befindet sich eine steinähnliche Struktur, die an klassische Architektur erinnert und der Komposition einen Hauch von Geheimnis und zeitloser Eleganz verleiht. Dieses architektonische Element steht in scharfem, aber harmonischem Kontrast zu den organischen Kurven, die es umgeben. Unterhalb des Auges befindet sich ein weiteres dekoratives Motiv, das an barocke Kunst erinnert und das Gefühl der Ewigkeit, das in jedem sorgfältig gefertigten Detail steckt, noch verstärkt.

Insgesamt strahlt die Atmosphäre eine geheimnisvolle Aura aus, die sich nahtlos mit Elementen vermischt, die Zeitlosigkeit suggerieren, was durch das Nebeneinander von realistischen Texturen und surrealen künstlerischen Schnörkeln erreicht wird. Jede Komponente - von den verschlungenen Mustern, die das Auge einrahmen, bis zu dem antik anmutenden Steinstück darüber - trägt auf einzigartige Weise dazu bei, ein visuell fesselndes Tableau mit rätselhafter Anziehungskraft zu schaffen."

Janus Webanwendung UI Text zu Bild Generationen

Die Ergebnisse sind wieder einmal verblüffend. Die erzeugten Bilder fangen die komplizierten Details und surrealen künstlerischen Elemente ein, die in der Aufforderung beschrieben werden.

Fazit

Um die volle Leistungsfähigkeit des Modells zu testen, hat DeepSeek die gleiche Version der Webanwendung auf Hugging Face Spaces eingesetzt. Du kannst sie aufrufen unter Mit Janus-Pro-7B chatten. Eines der herausragenden Merkmale des Janus Pro Modells ist seine hohe Genauigkeit, selbst wenn du kleinere Varianten wie das 1B Modell verwendest.

In diesem Tutorium haben wir Janus Prokennengelernt , ein multimodales Modell, das sowohl Bilder verstehen als auch Bilder aus Textaufforderungen erzeugen kann. Außerdem haben wir unsere eigene lokale Lösung entwickelt, um das Modell privat auf einem Laptop-Grafikprozessor zu nutzen. Dieser Aufbau ist schnell und effizient und ermöglicht es dir, mit begrenzten Ressourcen frei zu experimentieren.

Schau dir unseren neuesten Leitfaden an Feinabstimmung von DeepSeek R1 (Reasoning Model). Du wirst lernen, das Denkmodell auf dem medizinischen Chain-of-Thought-Datensatz zu trainieren, um bessere KI-Ärzte für die Zukunft zu entwickeln.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Als zertifizierter Data Scientist ist es meine Leidenschaft, modernste Technologien zu nutzen, um innovative Machine Learning-Anwendungen zu entwickeln. Mit meinem fundierten Hintergrund in den Bereichen Spracherkennung, Datenanalyse und Reporting, MLOps, KI und NLP habe ich meine Fähigkeiten bei der Entwicklung intelligenter Systeme verfeinert, die wirklich etwas bewirken können. Neben meinem technischen Fachwissen bin ich auch ein geschickter Kommunikator mit dem Talent, komplexe Konzepte in eine klare und prägnante Sprache zu fassen. Das hat dazu geführt, dass ich ein gefragter Blogger zum Thema Datenwissenschaft geworden bin und meine Erkenntnisse und Erfahrungen mit einer wachsenden Gemeinschaft von Datenexperten teile. Zurzeit konzentriere ich mich auf die Erstellung und Bearbeitung von Inhalten und arbeite mit großen Sprachmodellen, um aussagekräftige und ansprechende Inhalte zu entwickeln, die sowohl Unternehmen als auch Privatpersonen helfen, das Beste aus ihren Daten zu machen.

Themen

Top KI-Kurse

Kurs

Introduction to LLMs in Python

4 hr
12.3K
Learn the nuts and bolts of LLMs and the revolutionary transformer architecture they are based on!
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen