Erste Schritte mit LLMOps: Bessere KI-Anwendungen entwickeln
Die Entstehung von OpenAIs ChatGPT hat in Unternehmen eine Welle des Interesses an großen Sprachmodellen (LLMs) ausgelöst. Große Technologieunternehmen und Forschungsorganisationen machen LLMs nun zugänglicher, bemühen sich darum, die Dateninfrastruktur zu verbessern, Modelle für maßgeschneiderte Anwendungen feinzujustieren und Probleme wie Halluzinationen und Verzerrungen zu überwachen. Dieses wachsende Interesse hat auch zu einem Anstieg der Nachfrage nach Technologieanbietern geführt, die Large Language Model Operations (LLMOps) unterstützen. Diese Anbieter stellen umfassende Workflows für die Entwicklung, Feinabstimmung und Bereitstellung von LLMs in Produktionsumgebungen bereit.
Bei unserem kürzlichen Unstructured Data Meetup sprach Sage Elliott, Machine-Learning-Ingenieur bei Union.ai, über die Bereitstellung und Verwaltung von LLMs und bot wertvolle Einblicke in die Tools, Strategien und Best Practices, die für die Integration dieser Modelle in Geschäftsanwendungen erforderlich sind. Seine Präsentation war besonders hilfreich für KI-Entwickler und Betriebsleiter und konzentrierte sich darauf, die Zuverlässigkeit und Skalierbarkeit von LLM-Anwendungen in Produktionsumgebungen sicherzustellen.
In diesem Beitrag fassen wir die wichtigsten Erkenntnisse aus Sages Vortrag zusammen und besprechen das Konzept und die Methoden von LLMOps.
<< Sehen Sie sich die Aufzeichnung von Sage Elliotts Vortrag an >>
Was sind LLMOps?
LLMOps steht für Large Language Model Operations, die MLOps ähneln, jedoch speziell für große Sprachmodelle (LLMs) gedacht sind. Um LLMOps zu verstehen, wollen wir zunächst MLOps erläutern.
MLOps (Machine Learning Operations) bezeichnet die Praktiken und Tools, die verwendet werden, um Machine-Learning-Modelle effizient in Produktionsumgebungen bereitzustellen und zu warten. Es ist eine Erweiterung von DevOps (Development and Operations), das Anwendungsentwicklung und Betrieb in einen kohärenten Prozess integriert. Dieser Ansatz stellt sicher, dass sowohl Entwicklung als auch Betrieb gemeinsam betrachtet werden, anstatt in getrennten Silos zu funktionieren.
Was sind MLOps?
Was sind MLOps? Bildquelle: https://ml-ops.org/content/MLOps-principles
Bevor die DevOps-Methodik entstand, konzentrierten sich Entwicklungsteams darauf, Anwendungen oder Updates so schnell wie möglich zu schreiben, während Betriebsteams die Stabilität, Wirksamkeit und Benutzererfahrung der Anwendung priorisierten. Dieser in Bereiche aufgeteilte Ansatz führte häufig zu Ineffizienzen, was suboptimale Anwendungen mit langsamer Entwicklung und seltenen Updates zur Folge hatte.
DevOps transformiert diesen Prozess, indem es die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams fördert und so einen optimierteren und effizienteren Workflow sicherstellt. MLOps erweitert diese Prinzipien auf Machine Learning und adressiert die Herausforderungen bei der Bereitstellung und Wartung von ML-Modellen.
LLMOps konzentriert sich auf den ganzheitlichen Ansatz von MLOps, indem dessen Prinzipien auf Anwendungen großer Sprachmodelle (LLM) angewendet werden. Es befasst sich mit allen Aspekten der Entwicklung, Bereitstellung, Wartung und kontinuierlichen Verbesserung von LLM-Anwendungen.
Die zentrale Philosophie der Zusammenarbeit ist auch in Sages Definition von LLMOps enthalten—„Gemeinsam KI entwickeln“, was die Idee betont, dass alle relevanten Geschäftsbereiche, z. B. Entwicklung, Betrieb, Produktmanagement usw., zusammenarbeiten müssen, um die leistungsfähigsten LLM-Anwendungen zeitnah und kosteneffizient zu erstellen.
Kontinuierliche Integration und kontinuierliche Bereitstellung/Deployment (CI/CD)
Wie bei DevOps ist eines der Kernprinzipien von LLMOps Continuous Integration/Continuous Deployment (CI/CD): der Prozess der Automatisierung des Entwicklungslebenszyklus von LLM-Anwendungen.
Kontinuierliche Integration (CI) ist die Praxis, Anwendungsaktualisierungen automatisch zu übernehmen und mit dem Hauptzweig zusammenzuführen, d. h. mit der Version der LLM-Anwendung, die derzeit in Produktion läuft. Wenn ein Entwickler Code in ein Repository wie GitHub einreicht, löst diese Aktion einen automatisierten Workflow aus, der überprüft, ob die Aktualisierungen für die Integration bereit sind. CI fördert häufige Änderungen durch Entwicklungsteams und hilft, Konflikte beim Zusammenführen von Code zu vermeiden.
Kontinuierliche Bereitstellung/Deployment (CD) bezeichnet den Prozess, Änderungen an der Anwendung nach Integration und Validierung automatisch in einer Produktionsumgebung bereitzustellen. Dieser Prozess umfasst weitere Tests, wie Funktions- und Benutzerakzeptanztests sowie Infrastrukturkonfiguration.
Obwohl kontinuierliche Bereitstellung und Deployment oft synonym verwendet werden, gibt es einen Unterschied zwischen ihnen. Die kontinuierliche Bereitstellung endet vor dem automatischen Produktions-Deployment, typischerweise für abschließende menschliche Prüfungen, um die Einhaltung organisatorischer und regulatorischer Vorgaben sicherzustellen. Im Gegensatz dazu veröffentlicht kontinuierliches Deployment Anwendungsaktualisierungen automatisch für Nutzer. Vor diesem Hintergrund ist echtes kontinuierliches Deployment selten - insbesondere in der LLM-Anwendungsentwicklung, die noch in den Anfängen steckt.
Wer sollte LLMOps nutzen?
Kurz gesagt: Jeder, der eine LLM-Anwendung entwickelt, sollte LLMOps in gewissem Maße nutzen.
Einerseits ist LLMOps für KI-Anwendungen auf Produktionsebene unerlässlich, wobei die genaue Infrastruktur von den Anforderungen der Anwendung abhängt. Im Gegensatz dazu profitiert selbst ein einfaches, persönliches KI-Projekt von der Implementierung einer einfachen LLMOps-Pipeline.
Die Integration von LLMOps in Ihre KI-Anwendung bietet die folgenden Vorteile:
Ressourcenmanagement und Skalierbarkeit: Bewusstsein für die Nutzung Ihrer Rechenressourcen, um eine optimale Benutzererfahrung zu bieten. LLMs benötigen große Mengen an Arbeitsspeicher, um effektiv zu laufen, daher ist es entscheidend, feststellen zu können, ob Ihre Hardware, d. h. GPUs, für die Anforderungen Ihrer Anwendung ausreicht.
Modellaktualisierung und Verbesserungen: schnelleres Erkennen von Fehlern oder Schwächen eines Modells und entsprechende Aktualisierung.
Ethische und verantwortungsvolle KI-Praktiken: Bewusstsein für den vorgesehenen Zweck Ihrer KI-Anwendung und die möglichen Folgen einer Fehlfunktion. Eine der Hauptsorgen bei LLMs ist ihre Tendenz zu „halluzinieren“, d. h. ungenaue oder irrelevante Ausgaben zu liefern; dieses Problem könnte sich beispielsweise in einer Anwendung zur medizinischen Beratung als katastrophal erweisen.
Beispiel für eine vereinfachte LLMOps-Pipeline
Die von CBInsights erstellte Marktübersicht identifiziert über 90 Unternehmen in 12 Kategorien, die Unternehmen dabei helfen, LLM-Projekte von Anfang bis Ende zu verwalten. Diese Landschaft zeigt auch die Größe des LLMOps-Marktes.
LLMOps-Marktlandschaft
LLMOps-Marktlandschaft: über 90 Unternehmen in 12 verschiedenen Kategorien, die Unternehmen dabei helfen, LLM-Projekte von Anfang bis Ende umzusetzen.
Um das Verständnis zu erleichtern, hat Sage eine vereinfachte LLMOps-Pipeline erstellt.
Eine vereinfachte LLMOps-Pipeline
Lassen Sie uns die Elemente dieses Diagramms erklären:
Sys Prompt: Die Benutzereingabe wird Teil des System-Prompts und wird in das LLM eingespeist.
Modell: Das LLM bildet die Grundlage der Anwendung für die Antwortgenerierung.
Guardrail: Die Kontrollen, die Sie eingerichtet haben, um sicherzustellen, dass der Benutzer nur angemessene Eingaben macht, d. h. versucht, das Modell dazu zu bringen, schädliche oder anstößige Inhalte zu generieren.
Datenspeicher: Vektordatenbanken wie Milvus und Zilliz Cloud (das verwaltete Milvus). Diese Datenbanken stellen dem LLM Langzeitgedächtnis und kontextbezogene Abfrageinformationen bereit und helfen dem LLM, genauere Ergebnisse zu generieren. Diese Komponente ist besonders vorteilhaft in Retrieval Augmented Generation (RAG)-Anwendungen.
Monitor: Die Tools, die verwendet werden, um die LLM-Anwendung kontinuierlich zu überwachen
CI/CD-Orchestrator: Eine Plattform, die Ihre Anwendung verwaltet und dabei hilft, ihre Integration und Bereitstellung in Produktionsumgebungen zu automatisieren.
Erste Schritte mit LLMOps
Obwohl sich LLMOps schnell verändert und Anbieter täglich neue LLMOps-Tools veröffentlichen, bleiben die Grundprinzipien von LLMOps glücklicherweise dieselben.
Hier ist eine einfache Drei-Schritte-Philosophie für den Einstieg in LLMOps.
Das Modell ausliefern
Die Leistung des Modells überwachen
Das Modell verbessern
Sehen wir uns jeden Schritt genauer an.
Ihr Modell ausliefern
Das Ausliefern des Modells bezieht sich darauf, Ihre LLM-Anwendung so schnell wie möglich in einer Produktionsumgebung bereitzustellen. Dieser Ansatz ist entscheidend, da er Ihnen ermöglicht, genaue Daten von Benutzern zu erhalten, die mit dem Modell interagieren, und schnell zu lernen, wie Sie Ihre LLM-Anwendung an die Bedürfnisse der Benutzer anpassen können. Ein Paradebeispiel ist eine Chatbot-Anwendung, bei der es weitaus hilfreicher ist, Beispiele für echte Benutzereingaben und die entsprechenden Ausgaben des Modells zu erhalten, als Eingaben in einer Testumgebung lediglich vorherzusagen.
HuggingFace Spaces ist eine fantastische Ressource, die die Auslieferung Ihres Modells in die Produktion vereinfacht. Es ist eine Hosting-Plattform für die meisten ML-Anwendungen und stellt kostengünstige Cloud-GPUs zur Ausführung von LLMs bereit, was sie ideal für Prototyping macht. Sie können Ihre Anwendung auch in einem privaten Space bereitstellen, um begrenzten Zugriff für diejenigen zu gewähren, die Ihre LLM-Anwendung testen sollen, oder sie öffentlich machen, um Feedback von der großen und aktiven HuggingFace-Community zu erhalten.
HuggingFace Spaces
HuggingFace Spaces
HuggingFace bietet mehr als nur Spaces für die Modellbereitstellung; es stellt ein umfassendes Ökosystem für die Entwicklung und Bereitstellung von Anwendungen bereit. Im Mittelpunkt des Angebots steht eine riesige Sammlung von über 640.000 Open-Source-ML-Modellen, darunter Sprach-, Computer-Vision- und Sprachmodelle. Darüber hinaus bietet HuggingFace mehrere Bibliotheken, die alle notwendigen Komponenten für den Aufbau von End-to-End-LLM-Anwendungen enthalten, zusammen mit den Datensätzen, die für das Training benötigt werden.
Um zu veranschaulichen, wie Sie LLM-Anwendungen mit HuggingFace erstellen können, sehen wir uns an, wie man ein Modell mithilfe seiner Bibliotheken Transformer (für den Zugriff auf die LLMs) und Datasets (für den Zugriff auf Trainingsdaten) herunterlädt und trainiert.
Zunächst müssen Sie die entsprechenden Bibliotheken installieren:
pip install torch transformers datasets
Als Nächstes laden wir das LLM herunter, das wir innerhalb unserer Anwendung verwenden möchten. Wie oben erwähnt, bietet HuggingFace Hunderttausende von Modellen, von denen jedes den notwendigen Code zur Integration in Ihre Anwendung bereitstellt. Zum Beispiel werden wir das Llama 3-Modell wie folgt laden:
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct”)
Als Nächstes müssen wir den Datensatz laden, um das Modell feinabzustimmen. Für dieses Beispiel verwenden wir einen der vielen verfügbaren Datensätze von HuggingFace. Wenn Sie jedoch lieber Ihre eigenen Daten für einen domänenspezifischen oder aufgabenspezifischen Zweck verwenden möchten, müssen Sie lediglich den Dateipfad durch denjenigen ersetzen, der auf Ihren Trainingsdatenordner verweist.
from datasets import load_dataset
dataset = load_dataset("talkmap/telecom-conversation-corpus")
Nach dem Laden des Datensatzes müssen wir ihn tokenisieren, indem wir ihn in Subword-Tokens umwandeln, die das LLM leicht verarbeiten kann. Wir müssen den mit dem Llama 3-Modell verknüpften Tokenizer verwenden, um sicherzustellen, dass die Daten konsistent mit dem Pre-Training-Prozess tokenisiert werden und dieselben Tokens-zu-Index-Zuordnungen bzw. dasselbe „Vokabular“ beibehalten. Sie können diesen Schritt mit nur wenigen Codezeilen abschließen.
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct")
# Define tokenizer function
def tokenize_function(examples):
return tokenizer(examples["text"], padding="True", truncation=True)
tokenized_dataset = dataset.map(tokenize_function, batched=True)
Nun müssen wir die Hyperparameter-Konfigurationen festlegen, um unser Modell mithilfe eines TrainingArguments-Objekts feinzuabstimmen. Diese Konfiguration bietet 109 optionale Parameter und gibt Ihnen eine granulare Kontrolle über den Trainingsprozess. Wenn Sie möchten, können Sie sich auf die Standardeinstellungen verlassen, indem Sie keine spezifischen Parameter übergeben.
from transformers import TrainingArguments
training_args = TrainingArguments()
Zuletzt müssen wir, nachdem wir die Elemente unseres Modells definiert haben, sie nur noch in ein Trainingsobjekt einfügen und die zugehörige Train-Funktion wie folgt aufrufen:
Nachdem die Elemente unseres trainer-Objekts konfiguriert sind, bleibt nur noch, alles zusammenzufügen und die train-Funktion aufzurufen, um unser Llama 3-Basismodell feinzuabstimmen.
from transformers import Trainer
trainer = Trainer(
model=model,
dataset=dataset,
args=training_args,
)
trainer.train()
Und das war’s – mit nur wenigen Codezeilen können Sie ein Sprachmodell herunterladen und trainieren, das zur Unterstützung einer LLM-Anwendung verwendet werden kann.
Ein spezifischeres und ausführlicheres Beispiel dafür, wie HuggingFace die Entwicklung von LLM-Anwendungen vereinfacht, finden Sie in unserem Tutorial zum Erstellen einer QA-Anwendung mit Milvus
Kontinuierliche Überwachung und Bewertung
Sobald Sie Ihre LLM-App in einer Produktionsumgebung bereitstellen, ist es aus den folgenden Gründen unerlässlich, Ihre App zu überwachen:
Um festzustellen, wie Ihr Modell in der Produktion funktioniert: Erfüllt es seinen vorgesehenen Anwendungsfall? Entspricht es den Erwartungen der Nutzer?
Wie können Sie das Modell verbessern?
Führen die Verbesserungen, die Sie anschließend am Modell vornehmen, zu den erwarteten Leistungssteigerungen, oder sind weitere Änderungen erforderlich?
Die Rechenressourcen, die Ihr Modell verbraucht: Müssen Sie mehr Ressourcen, z. B. GPUs, zuweisen, damit Ihre Anwendung besser funktioniert? Außerdem: Wie skalierbar ist Ihre Anwendung mit den Ressourcen, die sie verbraucht?
Wie verhält es sich nach Änderungen, z. B. zusätzlichem Training oder Fine-Tuning?
Bewertungsmetriken helfen Ihnen, die Fähigkeit Ihres Modells zu messen, als Antwort auf einen Nutzer-Prompt korrekte Ausgaben zu erzeugen. Zu den am häufigsten verwendeten Metriken gehören BLEU, ROUGE und BERTScore, die im Folgenden beschrieben werden.
| Metrik | Zweck |
| BLEU (Bilingual Evaluation Understudy) | Wird häufig in der maschinellen Übersetzung verwendet und misst die Ähnlichkeit zwischen modellgeneriertem Text und Referenztext auf Grundlage der Überschneidung von n-Grammen (n aufeinanderfolgenden Wörtern) |
| ROUGE (Recall-Oriented Understudy for Gisting Evaluation) | Bewertet die Qualität modellgenerierter Zusammenfassungen, indem die Überschneidung von n-Grammen, Wortsequenzen und Wortpaaren mit Referenzzusammenfassungen verglichen wird. |
| BERTScore (Bidirectional Encoder Representations from Transformers) Score | Misst textuelle Ähnlichkeit, indem BERT-Embeddings genutzt werden, um semantische Bedeutung zu erfassen; bietet eine detailliertere Bewertung als oberflächliche n-Gramm-Überschneidungen wie bei BLEU und ROUGE. |
Darüber hinaus gibt es weitere qualitative Möglichkeiten, die Leistung Ihrer LLM-Anwendung zu bewerten.
Bewertung der Genauigkeit und Relevanz der Ausgabe: Eine Antwort kann gut formuliert sein, aber wie hilfreich ist sie in Bezug auf den Eingabe-Prompt? Liefert sie den Wert, den der Benutzer erwartet?
Bestimmen, wie Benutzer Ihre LLM-Anwendung verwenden und ob Sie sie entsprechend feinabstimmen müssen.
Bewertung der Stimmung von Antworten: Reagiert die Anwendung im gewünschten Ton?
Gibt es Jailbreaking-Versuche, d. h. Versuche, das Modell dazu zu bringen, Ausgaben zu erzeugen, die es nicht erzeugen sollte? Zum Beispiel, einen Chatbot zu fragen, wie man selbstgebaute Waffen herstellt. Dieser Ansatz bestimmt, ob Sie Guardrails in Ihre Anwendung aufnehmen oder bereits implementierte verbessern sollten.
Die kontinuierliche Überwachung Ihrer LLM-Anwendungen ist nicht kompliziert. Auf dem Markt sind viele Tools verfügbar, um Ihre LLM-gestützten Anwendungen zu bewerten, darunter LangKit, wie Sage in seinem Vortrag hervorhob, Ragas, Continuous Eval, TruLens-Eval, LlamaIndex, Phoenix, DeepEval, LangSmith und OpenAI Evals.
Um mehr über die Bewertung von LLM-Anwendungen zu erfahren, werfen Sie einen Blick auf unseren Artikel zur RAG-Bewertung.
Ihr Modell verbessern
Mithilfe der Metriken und des Feedbacks aus der Überwachung Ihres Modells können Sie neue Iterationen Ihrer LLMs in deutlich kürzerer Zeit erstellen. Eine leistungsstarke und effiziente Möglichkeit, Verbesserungen umzusetzen, besteht darin, einen MLOps-Orchestrator wie Flyte in Ihre Pipeline zu integrieren. Ein MLOps-Orchestrator vereinfacht die Verwaltung Ihrer LLM-Anwendung auf folgende Weise:
Automatisiertes Testen: automatisches Ausführen von Tests, wenn Änderungen vorgenommen werden.
Software-Builds: Kompilieren des Codes und Vorbereiten für die Bereitstellung.
Bereitstellung: Verschieben der neuesten Version der Anwendung in die Produktion.
Überwachung und Berichterstattung: Verfolgen des Status von Builds, Tests und Bereitstellungen sowie Bereitstellen von Feedback.
Ein Orchestrator verwaltet Ihre Anwendung über Workflows, also eine Reihe von Schritten, die erforderlich sind, um eine bestimmte Aufgabe oder ein bestimmtes Ziel auszuführen. Jeder Schritt innerhalb eines Workflows kann einzeln ausgeführt, getestet und verifiziert werden, während der Orchestrator die Reihenfolge steuert, in der jede Aufgabe ausgeführt wird. Beispiele für Workflows sind das Trainieren oder Fine-Tuning eines LLM, das Bereitstellen einer Anwendung in einer Umgebung oder das Integrieren neuer Funktionen in eine Anwendung, die in Produktion läuft.
Workflows optimieren die Entwicklung und Wartung von LLM-Anwendungen auf verschiedene Weise. Erstens sind Workflows reproduzierbar, sodass ein bestehender Workflow über verschiedene Pipelines hinweg kopiert werden kann, was erheblich Zeit und Aufwand spart. Ebenso können Workflows versioniert werden, wodurch sichergestellt wird, dass Sie eine Pipeline auf den Zustand zurücksetzen können, den sie zu einem bestimmten Zeitpunkt hatte.
In der Realität eignet sich ein MLOps-Orchestrator am besten für LLM-Anwendungen auf Unternehmensebene, die von mehreren Personen oder Teams entwickelt werden, und ist für eine kleinere Anwendung wahrscheinlich überdimensioniert. Anstelle eines Orchestrators ist es ein praktikablerer Ansatz, Ihr Modell in die Produktion zu bringen, seine Nutzung zu überwachen und Ihre Anwendung manuell gemäß den gewonnenen Erkenntnissen zu aktualisieren.
Zusammenfassung
Um also Sage Elliotts Vortrag über LLMOps zusammenzufassen:
LLMOps bezeichnet eine Sammlung von Philosophien und Technologien, die die effiziente Entwicklung, Bereitstellung, Wartung und Verbesserung von LLM-Anwendungen erleichtern.
LLMOps kann auch als "Building AI Together" definiert werden, was bedeutet, dass, ähnlich wie bei DevOps (wovon es abgeleitet ist), verschiedene Teams innerhalb einer Organisation zusammenarbeiten, um LLM-Anwendungen zu entwickeln, anstatt in Silos mit gegensätzlichen Zielen zu arbeiten.
Auch wenn es überwältigend erscheinen mag, können Sie mit LLMOps mit einem dreistufigen Prozess beginnen:
Ship: ein Modell so schnell wie möglich in Produktion bereitstellen, um echtes Nutzerfeedback zu erhalten
Monitor: Metriken verwenden, um seine Leistung zu bewerten
Improve: Erkenntnisse aus dem Monitoring nutzen, um Ihre Anwendung zu verbessern.
HuggingFace ist eine ausgezeichnete Ressource, um Prototypen schnell in Produktion bereitzustellen. Die Transformer-Bibliothek ermöglicht es Ihnen, Modelle einfach herunterzuladen und feinzuabstimmen, die Datasets-Bibliothek stellt die Daten für das Fine-Tuning bereit, und Spaces bietet eine Hosting-Plattform, um es schnell in Produktion bereitzustellen.
Flyte ist ein Beispiel für einen MLOps-Orchestrator, der die Verwaltung Ihrer LLM-Anwendung vereinfacht.
Weitere Ressourcen
Wir empfehlen Ihnen, die untenstehenden Ressourcen zu erkunden, um Ihr Verständnis von LLMOps zu vertiefen und zu lernen, wie Sie es auf Ihren Entwicklungsprozess für KI-Anwendungen anwenden können.
Um mehr über Vektordatenbanken, große Sprachmodelle (LLMs) und andere zentrale Konzepte der KI und des maschinellen Lernens zu erfahren, besuchen Sie die Wissensdatenbank Zilliz Learn .
Weiterlesen

How to Build an Enterprise-Ready RAG Pipeline on AWS with Bedrock, Zilliz Cloud, and LangChain
Build production-ready enterprise RAG with AWS Bedrock, Nova models, Zilliz Cloud, and LangChain. Complete tutorial with deployable code.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.


