KI-Modelle und Plattformen

Mistral 2 und Mistral NeMo: Ein umfassender Leitfaden zu den neuesten LLMs aus Paris

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen
Mistral Large 2 and Mistral NeMo

Gegründet von ehemaligen Mitarbeitern von Google’s DeepMind und Meta, hat das in Paris ansässige Startup Mistral AI seit 2023 kontinuierlich Wellen in der AI-Gemeinschaft geschlagen.

Mistral AI erregte erstmals die Aufmerksamkeit der Welt mit seinem Debütmodell, Mistral 7B, das 2023 veröffentlicht wurde. Dieses 7-Milliarden-Parameter-Modell gewann schnell an Popularität aufgrund seiner beeindruckenden Leistung, die größere Modelle wie Llama 2 13B in verschiedenen Benchmarks übertraf und sogar Llama 1 34B in vielen Metriken übertraf. Was Mistral 7B von anderen abhob, war nicht nur seine Leistung, sondern auch seine Zugänglichkeit – das Modell konnte leicht von GitHub heruntergeladen oder sogar über einen 13,4-Gigabyte-Torrent bezogen werden, was es für Forscher und Entwickler auf der ganzen Welt leicht zugänglich machte.

Der unkonventionelle Ansatz des Unternehmens bei Veröffentlichungen, bei dem traditionelle Papiere, Blogs oder Pressemitteilungen oft vermieden werden, hat sich als außerordentlich effektiv erwiesen, um die Aufmerksamkeit der AI-Gemeinschaft zu gewinnen. Diese Strategie, kombiniert mit ihrem Engagement für Open-Source-Prinzipien, hat Mistral AI zu einem bedeutenden Spieler im AI-Landschaft gemacht.

Der rasante Aufstieg von Mistral AI in der Branche wird weiter durch ihren jüngsten Finanzierungerfolg unterstrichen. Das Unternehmen erreichte eine atemberaubende Bewertung von 2 Milliarden US-Dollar nach einer von Andreessen Horowitz angeführten Finanzierungsrunde. Dies folgte auf eine historische Seed-Runde von 118 Millionen US-Dollar – die größte in der europäischen Geschichte –, die die immense Zuversicht der Investoren in die Vision und Fähigkeiten von Mistral AI unterstreicht.

Jenseits ihrer technologischen Fortschritte war Mistral AI auch aktiv an der Gestaltung der AI-Politik beteiligt, insbesondere in Diskussionen über den EU-AI-Akt, bei dem sie für eine reduzierte Regulierung von Open-Source-AI eingetreten sind.

Jetzt, im Jahr 2024, hat Mistral AI erneut die Latte mit zwei bahnbrechenden Modellen gehoben: Mistral Large 2 (auch bekannt als Mistral-Large-Instruct-2407) und Mistral NeMo. In diesem umfassenden Leitfaden werden wir tief in die Funktionen, Leistung und potenziellen Anwendungen dieser beeindruckenden AI-Modelle eintauchen.

Schlüsselspezifikationen von Mistral Large 2 umfassen:

  • 123 Milliarden Parameter
  • 128k Kontextfenster
  • Unterstützung für Dutzende von Sprachen
  • Kompetenz in 80+ Programmiersprachen
  • Erweiterte Funktionsaufruf-Fähigkeiten

Das Modell ist darauf ausgelegt, die Grenzen der Kosteneffizienz, Geschwindigkeit und Leistung zu erweitern, was es zu einer attraktiven Option für Forscher und Unternehmen macht, die an der Spitze der AI-Technologie stehen möchten.

Mistral NeMo: Das neue kleinere Modell

Während Mistral Large 2 das Beste von Mistral AIs großen Modellen repräsentiert, nimmt Mistral NeMo, das im Juli 2024 veröffentlicht wurde, einen anderen Ansatz. Entwickelt in Zusammenarbeit mit NVIDIA (NVDA ), ist Mistral NeMo ein kompaktes 12-Milliarden-Parameter-Modell, das dennoch beeindruckende Fähigkeiten bietet:

  • 12 Milliarden Parameter
  • 128k Kontextfenster
  • Spitzenleistung in seiner Größenklasse
  • Apache 2.0-Lizenz für offene Nutzung
  • Quantisierungs-bewusste Ausbildung für effiziente Inferenz

Mistral NeMo wird als Ersatz für Systeme positioniert, die derzeit Mistral 7B verwenden, und bietet verbesserte Leistung bei gleichzeitiger Beibehaltung der Benutzerfreundlichkeit und Kompatibilität.

Schlüsselfunktionen und Fähigkeiten

Sowohl Mistral Large 2 als auch Mistral NeMo teilen sich mehrere Schlüsselfunktionen, die sie im AI-Landschaft abheben:

  1. Große Kontextfenster: Mit 128k Token-Kontextlängen können beide Modelle längere Textpassagen verarbeiten und verstehen, was zu kohärenteren und kontextuell relevanten Ausgaben führt.
  2. Mehrsprachige Unterstützung: Die Modelle überzeugen in einer breiten Palette von Sprachen, einschließlich Englisch, Französisch, Deutsch, Spanisch, Italienisch, Chinesisch, Japanisch, Koreanisch, Arabisch und Hindi.
  3. Erweiterte Codierfähigkeiten: Beide Modelle zeigen außergewöhnliche Fähigkeiten in der Codegenerierung in zahlreichen Programmiersprachen.
  4. Anweisungsverfolgung: Signifikante Verbesserungen wurden in der Fähigkeit der Modelle vorgenommen, präzise Anweisungen zu verfolgen und mehrstufige Gespräche zu führen.
  5. Funktionsaufruf: Native Unterstützung für Funktionsaufrufe ermöglicht es diesen Modellen, dynamisch mit externen Tools und Diensten zu interagieren.
  6. Argumentations- und Problemlösungsfähigkeiten: Verbesserte Fähigkeiten in mathematischer Argumentation und komplexen Problemlösungsaufgaben.

Lassen Sie uns einige dieser Funktionen genauer betrachten und untersuchen, wie sie in der Praxis funktionieren.

Leistungsbewertungen

Um die tatsächlichen Fähigkeiten von Mistral Large 2 und Mistral NeMo zu verstehen, ist es wichtig, ihre Leistung in verschiedenen Benchmarks zu betrachten. Lassen Sie uns einige Schlüsselmetriken untersuchen:

Mistral Large 2-Bewertungen

Diese Tabelle präsentiert die Kompetenz verschiedener LLMs in verschiedenen Programmiersprachen. Modelle wie Mistral Large 2 (24.07), Llama 3.1 (405B) und GPT-4o werden auf ihre Fähigkeit, Code in Sprachen wie Python, C++, Bash, Java, TypeScript, PHP und C# zu verstehen und zu generieren, bewertet.

Llama 3.1 405B zeigt starke Leistung in mehreren Sprachen, insbesondere in Python und Java. Diese Kompetenz ist für Anwendungen, die Codegenerierung, Debugging und Softwareentwicklung beinhalten, von entscheidender Bedeutung und macht diese Modelle zu wertvollen Werkzeugen für Entwickler.

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Mistral NeMo-Bewertungen

Während spezifische Benchmark-Ergebnisse für Mistral NeMo in den bereitgestellten Informationen nicht enthalten sind, wird es als Spitzenleistung in seiner Größenklasse beschrieben. Das Modell übertrifft andere aktuelle Open-Source-Pretrained-Modelle wie Gemma 2 9B und Llama 3 8B in verschiedenen Aufgaben.

Mehrsprachige und Codierfähigkeiten

Eine der herausragenden Funktionen von sowohl Mistral Large 2 als auch Mistral NeMo ist ihre außergewöhnliche mehrsprachige Fähigkeit. Dies ist insbesondere in unserer zunehmend globalisierten Welt wichtig, in der AI-Modelle Inhalte in mehreren Sprachen verstehen und generieren müssen.

Mistral Large 2 unterstützt beispielsweise Dutzende von Sprachen, einschließlich Französisch, Deutsch, Spanisch, Italienisch, Portugiesisch, Arabisch, Hindi, Russisch, Chinesisch, Japanisch und Koreanisch. Diese mehrsprachige Kompetenz geht über bloße Übersetzung hinaus und umfasst ein differenziertes Verständnis und die Generierung von Inhalten in diesen Sprachen.

Um dies zu veranschaulichen, betrachten wir ein Beispiel, in dem Mistral Large 2 Text in mehreren Sprachen generiert:

[INST] Generieren Sie eine kurze Begrüßung in Englisch, Französisch, Deutsch, Spanisch und Japanisch. [/INST]

Hier sind kurze Begrüßungen in den angeforderten Sprachen:

Englisch: Hello! How are you today?
Französisch: Bonjour ! Comment allez-vous aujourd’hui ?
Deutsch: Hallo! Wie geht es Ihnen heute?
Spanisch: ¡Hola! ¿Cómo estás hoy?
Japanisch: こんにちは!今日はお元気ですか?

[INST]

Jetzt schreiben Sie ein einfaches “Hello, World!”-Programm in Python, Java und JavaScript. [/INST]

Diese Beispiele zeigen sowohl die mehrsprachige Textgenerierung als auch die Codierfähigkeiten des Modells.

Beide Modelle sind auf verschiedenen Plattformen wie Hugging Face, Mistral AIs Plattform und großen Cloud-Dienstleistern wie Google Cloud Platform, Azure AI Studio, Amazon Bedrock und IBM watsonx.ai​ (Mistral AI | Frontier AI in Ihrer Hand)​​​ verfügbar.

Das Agentic-Paradigma und Funktionsaufruf

Sowohl Mistral Large 2 als auch Mistral NeMo umfassen ein agentenorientiertes Design, das einen Paradigmenwechsel in der Interaktion mit AI-Modellen darstellt. Dieser Ansatz konzentriert sich auf die Entwicklung von Modellen, die in der Lage sind, mit ihrer Umgebung zu interagieren, Entscheidungen zu treffen und Aktionen auszuführen, um bestimmte Ziele zu erreichen.

Eine Schlüsselfunktion, die dieses Paradigma ermöglicht, ist die native Unterstützung für Funktionsaufrufe. Dies ermöglicht es den Modellen, dynamisch mit externen Tools und Diensten zu interagieren und ihre Fähigkeiten damit über die einfache Textgenerierung hinaus zu erweitern.

Lassen Sie uns ein Beispiel betrachten, wie Funktionsaufruf mit Mistral Large 2 funktionieren könnte:

from mistral_common.protocol.instruct.tool_calls import Function, Tool
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest

<p># Initialisieren Sie Tokenizer und Modell
mistral_models_path = &quot;Pfad/zum/mistral/modell&quot; # Stellen Sie sicher, dass dieser Pfad korrekt ist
tokenizer = MistralTokenizer.from_file(f&quot;{mistral_models_path}/tokenizer.model.v3&quot;)
model = Transformer.from_folder(mistral_models_path)</p>

<p># Definieren Sie eine Funktion für das Abrufen von Wetterinformationen
weather_function = Function(
name=&quot;get_current_weather&quot;,
description=&quot;Abrufen des aktuellen Wetters&quot;,
parameters={
&quot;type&quot;: &quot;object&quot;,
&quot;properties&quot;: {
&quot;location&quot;: {
&quot;type&quot;: &quot;string&quot;,
&quot;description&quot;: &quot;Stadt und Bundesland, z.B. San Francisco, CA&quot;,
},
&quot;format&quot;: {
&quot;type&quot;: &quot;string&quot;,
&quot;enum&quot;: [&quot;celsius&quot;, &quot;fahrenheit&quot;],
&quot;description&quot;: &quot;Die Temperaturskala, die verwendet werden soll. Dies kann aus der Benutzerposition abgeleitet werden.&quot;,
},
},
&quot;required&quot;: [&quot;location&quot;, &quot;format&quot;],
},
)</p>

<p># Erstellen Sie eine Chat-Completion-Anfrage mit der Funktion
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content=&quot;Wie ist das Wetter heute in Paris?&quot;),
],
)</p>

<p># Codieren Sie die Anfrage
input_ids = tokenizer.encode_chat_completion(completion_request).tokens</p>

<p># Generieren Sie eine Antwort
out_tokens, _ = generate([input_ids], model, max_tokens=256, temperature=0.7, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id)
result = tokenizer.decode(out_tokens[0])</p>

print(result)

In diesem Beispiel definieren wir eine Funktion für das Abrufen von Wetterinformationen und fügen sie unserer Chat-Completion-Anfrage hinzu. Das Modell kann dann diese Funktion verwenden, um Echtzeit-Wetterdaten abzurufen, und zeigt damit, wie es mit externen Systemen interagieren kann, um genauere und aktuellere Informationen bereitzustellen.

Tekken: Ein effizienterer Tokenizer

Mistral NeMo führt einen neuen Tokenizer namens Tekken ein, der auf Tiktoken basiert und auf über 100 Sprachen trainiert wurde. Dieser neue Tokenizer bietet signifikante Verbesserungen in der Textkomprimierungseffizienz im Vergleich zu früheren Tokenizern wie SentencePiece.

Schlüsselfunktionen von Tekken umfassen:

  • 30% effizientere Komprimierung für Quellcode, Chinesisch, Italienisch, Französisch, Deutsch, Spanisch und Russisch
  • 2x effizientere Komprimierung für Koreanisch
  • 3x effizientere Komprimierung für Arabisch
  • Übertrifft den Llama-3-Tokenizer bei der Komprimierung von Text für etwa 85% aller Sprachen

Diese verbesserte Tokenisierungseffizienz führt zu besserer Modellleistung, insbesondere bei der Verarbeitung von mehrsprachigem Text und Quellcode. Sie ermöglicht es dem Modell, mehr Informationen innerhalb des gleichen Kontextfensters zu verarbeiten, was zu kohärenteren und kontextuell relevanten Ausgaben führt.

Lizenzierung und Verfügbarkeit

Mistral Large 2 und Mistral NeMo haben unterschiedliche Lizenzmodelle, die ihre beabsichtigten Einsatzfälle widerspiegeln:

Mistral Large 2

  • Veröffentlicht unter der Mistral-Forschungslizenz
  • Erlaubt die Nutzung und Modifizierung für Forschungs- und nichtkommerzielle Zwecke
  • Kommerzielle Nutzung erfordert eine Mistral-Commercial-Lizenz

Mistral NeMo

  • Veröffentlicht unter der Apache-2.0-Lizenz
  • Erlaubt offene Nutzung, einschließlich kommerzieller Anwendungen

Beide Modelle sind auf verschiedenen Plattformen verfügbar:

  • Hugging Face: Gewichte für beide Basismodelle und Instruktionsmodelle sind hier gehostet
  • Mistral AI: Verfügbar als mistral-large-2407 (Mistral Large 2) und open-mistral-nemo-2407 (Mistral NeMo)
  • Cloud-Dienstleister: Verfügbar auf Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock und IBM watsonx.ai
https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Für Entwickler, die diese Modelle nutzen möchten, hier ein schnelles Beispiel, wie man Mistral Large 2 mit Hugging Face-Transformern lädt und verwendet:

from transformers import AutoModelForCausalLM, AutoTokenizer

<p>model_name = &quot;mistralai/Mistral-Large-Instruct-2407&quot;
device = &quot;cuda&quot; # Verwenden Sie GPU, wenn verfügbar</p>

<p># Laden Sie das Modell und den Tokenizer
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)</p>

<p># Bewegen Sie das Modell auf das geeignete Gerät
model.to(device)</p>

<p># Vorbereiten Sie die Eingabe
messages = [
{&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: &quot;Sie sind ein hilfreicher AI-Assistent.&quot;},
{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Erklären Sie das Konzept von neuronalen Netzen in einfachen Worten.&quot;}
]</p>

<p># Codieren Sie die Eingabe
input_ids = tokenizer.apply_chat_template(messages, return_tensors=&quot;pt&quot;).to(device)</p>

<p># Generieren Sie eine Antwort
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)</p>

<p># Dekodieren und Ausgeben der Antwort
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)</p>

Dieser Code zeigt, wie man das Modell lädt, die Eingabe im Chat-Format vorbereitet, eine Antwort generiert und die Ausgabe dekodiert.

Einschränkungen und ethische Überlegungen

Während Mistral Large 2 und Mistral NeMo bedeutende Fortschritte in der AI-Technologie darstellen, ist es wichtig, ihre Einschränkungen und die ethischen Überlegungen im Zusammenhang mit ihrer Nutzung zu berücksichtigen:

  1. Potenzial für Vorurteile: Wie alle AI-Modelle, die auf großen Datensätzen trainiert werden, können diese Modelle Vorurteile in ihren Trainingsdaten erben und verstärken. Benutzer sollten sich dessen bewusst sein und geeignete Schutzmaßnahmen ergreifen.
  2. Mangel an wahrem Verständnis: Trotz ihrer beeindruckenden Fähigkeiten besitzen diese Modelle kein wahres Verständnis oder Bewusstsein. Sie generieren Antworten auf der Grundlage von Mustern in ihren Trainingsdaten, was manchmal zu plausibel klingenden, aber falschen Informationen führen kann.
  3. Privatsphärebedenken: Bei der Verwendung dieser Modelle, insbesondere in Anwendungen, die sensible Informationen verarbeiten, ist es wichtig, die Auswirkungen auf die Datensicherheit und den Datenschutz zu berücksichtigen.

Schlussfolgerung

Das Feintuning von fortschrittlichen Modellen wie Mistral Large 2 und Mistral NeMo bietet eine leistungsstarke Gelegenheit, die neueste AI-Technologie für eine Vielzahl von Anwendungen zu nutzen, von dynamischem Funktionsaufruf bis hin zu effizienter mehrsprachiger Verarbeitung. Hier sind einige praktische Tipps und wichtige Erkenntnisse, die Sie im Hinterkopf behalten sollten:

  1. Verstehen Sie Ihren Anwendungsfall: Definieren Sie klar, welche spezifischen Aufgaben und Ziele Sie mit Ihrem Modell erreichen möchten. Dieses Verständnis wird Ihre Wahl des Modells und des Feintuningsansatzes leiten, sei es Mistral’s robuste Funktionsaufruf-Fähigkeiten oder seine effiziente mehrsprachige Textverarbeitung.
  2. Optimieren Sie für Effizienz: Nutzen Sie den Tekken-Tokenizer, um die Textkomprimierungseffizienz erheblich zu verbessern, insbesondere wenn Ihre Anwendung das Verarbeiten großer Textmengen oder mehrerer Sprachen beinhaltet. Dies wird die Modellleistung verbessern und die Rechenkosten senken.
  3. Nutzen Sie Funktionsaufrufe: Embracieren Sie das agentiche Paradigma, indem Sie Funktionsaufrufe in Ihre Modellinteraktionen integrieren. Dies ermöglicht es Ihrem AI-Modell, dynamisch mit externen Tools und Diensten zu interagieren und genauere und aktuellere Ausgaben bereitzustellen. Beispielsweise kann die Integration von Wetter-APIs oder anderen externen Datenquellen die Relevanz und Nützlichkeit der Modellantworten erheblich steigern.
  4. Wählen Sie die richtige Plattform: Stellen Sie sicher, dass Sie Ihre Modelle auf Plattformen bereitstellen, die ihre Fähigkeiten unterstützen, wie Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock und IBM watsonx.ai. Diese Plattformen bieten die notwendige Infrastruktur und Tools, um die Leistung und Skalierbarkeit Ihrer AI-Modelle zu maximieren.

Indem Sie diese Tipps befolgen und die bereitgestellten Codebeispiele nutzen, können Sie die Kraft von Mistral Large 2 und Mistral NeMo effektiv für Ihre spezifischen Bedürfnisse nutzen.

Ich habe die letzten fünf Jahre damit verbracht, mich in die faszinierende Welt des Machine Learning und Deep Learning zu vertiefen. Mein Engagement und meine Expertise haben mich dazu geführt, an über 50 verschiedenen Software-Entwicklungsprojekten mit einem besonderen Fokus auf AI/ML beizutragen. Meine anhaltende Neugier hat mich auch zum Bereich der Natural Language Processing hingezogen, einem Feld, das ich weiter erforschen möchte.