Heute möchte ich Ihnen ein leistungsstarkes multimodales Open-Source-Modell vorstellen - Janus-Pro, die neueste Version der Janus-Serie von DeepSeek. Es kann nicht nur Bilder lesen und Fragen beantworten, sondern auch Bilder auf der Grundlage von Textbeschreibungen generieren. Kurz gesagt, es integriert die Fähigkeit, Bilder zu sehen, ähnlich wie GPT-4V, und die Fähigkeit, Bilder mit Stable Diffusion zu zeichnen.
In diesem Beitrag werden die Vor- und Nachteile von Janus, die Verwendung, die Bereitstellung und die Integrationspakete erläutert.
Was ist Janus?
DeepSeek Open Source Multimodal Large Model ist, einfach ausgedrückt, ein Modell, das den Inhalt des Bildes verstehen und Bilder erzeugen kann. Derzeit gibt es drei Versionen des Modells, bzw.: Janus, JanusFlow, Janus-Pro.
Lesen Sie mehr:DeepSeek veröffentlicht einheitliche multimodale Verstehens- und generative Modelle: von JanusFlow zu Janus-Pro
Janus-Test
Farberkennung
Hier habe ich ein Bild eines andersfarbigen Helms hochgeladen und es Janus überlassen, das Bild zu interpretieren.
Die Antwort von Janus.
Dieses Bild zeigt vier Helme, rot, weiß, gelb und blau. Jeder Helm hat eine Belüftungsöffnung für die Wärmeableitung. Diese Helme werden in der Regel auf Baustellen, in Fabriken oder anderen Arbeitsumgebungen verwendet, in denen Schutzausrüstung erforderlich ist. Der Hintergrund des Bildes ist weiß, wodurch die Farben der Schutzhelme besser sichtbar werden.
Janus ist in der Lage, Farbe und Anzahl der Helme genau zu bestimmen.
Objekterkennung
Hier habe ich ein Bild von einer CNC-Maschine gefunden und es Janus zugeworfen, um zu sehen, ob er es versteht.
Die Antwort von Janus.
Es handelt sich um eine Industriemaschine, insbesondere eine numerisch gesteuerte Werkzeugmaschine (CNC-Maschine). An der Vorderseite der Maschine befindet sich ein Bedienfeld mit mehreren Tasten und Anzeigen zur Bedienung und Überwachung der Maschine. Auf der linken Seite der Maschine befindet sich eine verstellbare Ablage zur Aufnahme von Werkstücken oder Materialien. An der Oberseite der Maschine befindet sich ein Lüfter, der den Arbeitsbereich kühl hält. An den Seiten und der Vorderseite der Maschine befinden sich eine Reihe von Anzeigen und Indikatoren, die den Maschinenstatus und Betriebsinformationen anzeigen. Die Vorderseite und die Seiten der Maschine sind mit dem VNT-600L"-Logo gekennzeichnet, was darauf hinweist, dass es sich um das 600L-Modell der Marke VNT handelt. Das Gesamtdesign ist modern und funktionell und eignet sich für die Präzisionsbearbeitung und -fertigung.
Hier gibt es einige Probleme. Es ist richtig, dass Janus in der Lage ist, diese CNC-Maschine zu erkennen, einschließlich der allgemeinen Struktur der gesamten Maschine. Allerdings ist das "VNT-600L"-Logo hier falsch identifiziert, es sollte VMC850L sein.
Texterkennung
Hier ist ein Test mit dem offiziellen Beispiel, und Sie können sehen, dass Janus auch mathematische Formeln erkennt.
Die Antwort von Janus.
Diese Formel ist die Definition einer Funktion (A_n), die die Position einer Zahl (n) in einer Menge (S) beschreibt. Genauer gesagt definiert die Formel den Wert einer Funktion (A_n), die von der Position einer Zahl (n) in einer Menge (S) abhängt.
Im Einzelnen ist die Formel wie folgt definiert:
[A_n = a_0 links[ 1 + frac{3}{4} sum_{k=1}^{n} frac{4}{9} rechts]^{k}
]
Diese Formel kann wie folgt interpretiert werden:
- Die Funktion (a_0) ist eine Konstante, die den Anfangswert der Funktion (A_n) definiert.
- Der Wert der Funktion (A_n) hängt von der Position von (n) in der Menge (S) ab.
- Die Position von (n) in (S) wird durch eine Zahl (k) dargestellt, deren Wert von der Position von (n) in der Menge (S) abhängt.
Diese Formel kann verwendet werden, um den Wert von (A_n) in der Menge (S) zu berechnen, wobei (S) eine Menge ist, die (n) enthält.
In manchen Fällen ist die Texterkennung nicht optimal, wie in der folgenden Abbildung zu sehen ist
Vincennes-Diagramm
Das andere große Plus von Janus ist die Grafik zur Texterstellung, aber wenn ich sie benutze, finde ich sie nicht so toll. Sie ist nicht schnell und benötigt eine Menge Videospeicher.
Aber... Etwas ist besser als nichts 👍🏻
Unterschiede zwischen den verschiedenen Versionen der Janus-Serie
- Janus, die Version der ersten Generation, führte erstmals das Konzept der "visuellen Entkopplung" ein. Modellgröße: 1,3B Parameter.
- JanusFlow, die zweite Generation von JanusFlow, verbessert die Methode der Bilderzeugung im Vergleich zu seinem Vorgänger und erhöht die Geschwindigkeit und Qualität der Bilderzeugung.
- Janus-Pro, die neueste Version, ist vollständig aktualisiert und verbessert das Verständnis der Modelle erheblich. Modellgröße: Es gibt zwei Versionen, 1B und 7B.
Die drei Versionen sind wie ständige Upgrades desselben Produkts, mit erheblichen Verbesserungen in jeder Generation, und der Janus-Pro ist bei weitem die leistungsstärkste Version.
lokaler Einsatz
Python Version 3.10
git clone https://github.com/deepseek-ai/Janus.git
pip install -e .
python demo/app_januspro.py
Ändern Sie das Modell
Janus-Pro hat zwei Versionen des Modells, 1B und 7B, verschiedene Modelle erfordern unterschiedlichen Videospeicher, im Vergleich zu 1B ist 7B der beste.
In der MAC-Version des von mir bereitgestellten Integration Packs wird standardmäßig das 1B-Modell verwendet.
Wenn Sie über genügend Speicherplatz verfügen und ein 7B-Modell verwenden möchten, können Sie diedemo/app_januspro.py
Skriptelast_model
Methode in der
model_path = "deepseek-ai/Janus-Pro-1B"
ändern in
model_path = "deepseek-ai/Janus-Pro-7B"
Windows-Freunde brauchen sich darüber natürlich keine Gedanken zu machen, denn es gibt 1B- und 7B-Boot-Optionen zur Auswahl.
Laufende Konfiguration
WIN
Windows NVIDIA Graphics 1B Benötigt 8G Videospeicher
Damit das Integrationspaket ausgeführt werden kann, ist CUDA-Unterstützung erforderlich. cuda12.4 ist erforderlich.
https://developer.nvidia.com/cuda-12-4-0-download-archive
MAC
MAC hier, um die Konfiguration der meisten Benutzer zu berücksichtigen, habe ich nur die 1B-Version des Modells, wenn Sie 7B benötigen, können Sie die Schritte in der Bereitstellung Abschnitt oben, um das Modell zu ändern.
Für die MAC-Version habe ich eine Speicheroptimierung durchgeführt, um den Speicher rechtzeitig freizugeben und Speicherredundanz zu vermeiden. MAC Apple Silicon M1/M2/M3/M4 Chips 16G Speicher.
am Ende schreiben
Siehe hier, kann es kleine Partner werden das Gefühl, dass die Anwendung dieses Projekts ist relativ begrenzt Szene. Aber nach meinem Verständnis gibt es Partner, die Janus leistungsstarke Grafik Verständnis Fähigkeiten, technische Zeichnungen, technische Dokumente und andere PDF-Informationen in eine intelligente Wissensbasis zu verwenden.
Hier ist der Screenshot, den er mir geschickt hat:
Noch besser: Wenn Sie meinen letzten Beitrag über WeChat BOT gelesen haben, ist es durchaus möglich, Janus einzubinden und Ihrem Bot die Fähigkeit zu geben, auch Bilder zu betrachten und zu erzeugen!