Mistral Small but Mighty - Apache 2.0, Multimodal & Fast

Mistral Small 3.1 is a fast, open-source model under Apache 2.0 that beats GPT-4 Mini and Claude Haiku on several benchmarks. It handles images, text extraction from receipts and charts, and multilingual tasks well, making it strong for agent workflows and lightweight inference.
Chapters
Heute war mal wieder ein großer Tag für Open Source. Diesmal ist Mistels Mole 3.1 dran, das in seiner Modellgröße auf dem neuesten Stand der Technik ist. Es ist multimodellfähig, mehrsprachig und das Beste daran ist Apache. Es ist ein Direkter Konkurrent von Gemma 3 das letzte Woche von Google veröffentlicht wurde. In diesem Video zeige ich euch, wie ihr mit diesem Modell loslegen könnt und wir werden uns auch die Multimodell Fähigkeiten ansehen. Aber vorher werfen wir noch einen kurzen Blick auf das Modell und die Benchmarks. Dieses Modell verfügt über ein erweitertes Kontextfenster von 128 Token, was mit GEMA 3 vergleichbar ist. In puncto Leistung kann es GEMA 3 und GPT-4 Mini entweder übertreffen oder ist mit ihnen vergleichbar, aber da es ein kleineres Modell ist, liefert es uns viel bessere Token pro Sekunde. Dieses Diagramm zeigt die Leistung all dieser vier Modelle, zu denen auch Haiku von Claude gehört, im GPQA Datensatz, zusammen mit der Latenz oder der Anzahl der Token pro Sekunde. Dieses Modell übertrifft alle anderen im gleichen Benchmark, hat aber die geringste Latenz. Jammer und mrosmol laufen auf derselben Hardware. Wir wissen jedoch nicht, welche Hardware OpenAI und Entropic zum Ausführen dieser Modelle verwenden. Was die Leistung der Benchmarks betrifft, ist dieses Modell für seine Größe wirklich stark. Es kann alle anderen Modelle seiner Kategorie schlagen und diese Leistungsverbesserung ist über verschiedene Benchmarks hinweg ziemlich gleichmäßig. Es ist auch multimodal dh es kann Bilder verstehen, OCR durchführen und die Leistung bei multimodalen Benchmarks ist ebenfalls wirklich stark. Tatsächlich übertrifft es alle anderen Modelle derselben Größe durchweg. Ich denke, dies könnte ein großartiger Kandidat für Multimodell Rack Systeme sein, insbesondere angesichts seiner Leistung bei Benchmarks wie Chart QA und Document Visual QA. Seine mehrsprachige Leistung ist ebenfalls ziemlich stark, insbesondere bei europäischen und ostasiatischen Sprachen. Bei Sprachen aus dem Nahen Osten hinkt es sowohl dem GEMA 3 als auch dem GPD Mini hinterher. Das ist also definitiv ein zu berücksichtigender Faktor, wenn Sie dies für mehrsprachige Zwecke verwenden möchten. Auch bei langen Kontlex Aufgaben scheint es sich recht gut zu schlagen, Obwohl es beim K Datensatz von Ruler besser abschneidet als GEMA 3 und GPT-4 OMI, aber hinter 3.5 HiKu zurückbleibt. Unternehmen haben die Ergebnisse früher in den Haststack Tests oder Benchmarks auf Needle veröffentlicht, aber Mistel hat beschlossen, diese Ergebnisse nicht zu zeigen. Es wird also interessant sein zu sehen, ob jemand diese Experimente tatsächlich durchführen kann. Sie veröffentlichen auch die Basis und die finetune Version und bei den vortrainierten Modellen ist die Leistung immer noch wirklich gut. SIE ist mit GEMA 3 vergleichbar. Die Modellgröße ist ziemlich gut. Sie können dies tatsächlich lokal ausführen. Sie können es beispielsweise auf einer RTX 1490 oder einem MacBook mit 32 GB VRAM ausführen. Es verfügt auch über Funktionen mit geringer Latenz beim Aufrufen von Funktionen. Es scheint also eine großartige Option für agentenbasierte Workflows zu sein. Die Open Source Community experimentiert nun damit, diese kleineren Modelle in Schlussfolgerungsmodelle umzuwandeln, so wie das Mr. Small 3 von Nose Research in Deep Hermes B umgewandelt wurde. Ich denke also, dass es sich auch um einen wirklich guten Kandidat für die Erstellung kleinerer Schlussfolgerungsmodelle handelt. Gewichtungen für das Modell sind auf Hugging Face sowohl für die Instruct als auch für die Basisversion verfügbar. Ich habe jedoch noch keine quantisierten Version gesehen, sodass ich sie noch nicht lokal ausführen kann. Das Modell ist jedoch auf Ihrer Plattform verfügbar. Daher zeige ich Ihnen einige Beispiele, wie Sie mit Hilfe Ihrer API mit diesem Modell interagieren können. Sie haben auch die Systemeingabeaufforderung veröffentlicht, die Sie zur Verwendung als Journal Assistenten empfehlen. Das ist großartig, denn man kann viel daraus lernen. Bevor wir uns also einige Tests ansehen, werfen wir kurz einen Blick auf die Systemeingabeaufforderung dort. Ihr Mistels Mall 3.1 ist ein großes Sprachmodell, das von Misteleye entwickelt wurde, einem französischen Start up mit Hauptsitz in Paris. Wenn Sie einige Modelle gesehen haben, fragen Sie sie normalerweise, um welches Modell es sich handelt. Sie haben anhand Ihrer Trainingsdaten keine wirkliche Vorstellung. Das einzige, was dem Modell verrät, um welches Modell es sich handelt, ist die Systemaufforderung. Wir haben bei vielen Modellen wie R gesehen, dass das Modell manchmal antwortet, dass es von OpenAI erstellt wurde, wenn man es fragt, wer es erstellt hat. Der Grund dafür ist, dass es das in den Trainingsdaten oft sieht. Daher sollten Sie auf jeden Fall eine sehr starke Systemaufforderung einbinden, die das Verhalten des Modells steuert. Ihre Wissensdatenbank wurde zuletzt am aktualisiert. Es handelt sich also um einen relativ alten Datensatz und dann erhält es das heutige Datum in seiner Systemaufforderung. Wenn Sie sich bei Informationen nicht sicher sind, sagen Sie, dass Sie die Informationen nicht haben und erfinden Sie nichts. Das ist für LLMs schwer zu tun, da sie immer sehr darauf vertrauen, dass sie ihnen Antworten geben. Dann teilt es dem Modell mit, dass es nicht versucht, die Frage sofort zu beantworten, wenn die Nutzerfrage unklar oder mehrdeutig ist und nicht genügend Kontext bietet, damit du die Frage präzise beantworten kannst. Du versuchst nicht, sie sofort zu beantworten, sondern bittest den Nutzer, die Anfrage zu erläutern. Zum Beispiel Welche guten Restaurants gibt es in meiner Nähe? Oder Wer bist du? Wann geht der nächste Flug nach Tokio? Dies sind einige Beispiele, bei denen das Modell möglicherweise nicht sicher genug ist und den Nutzer um weitere Informationen bitten muss. Dann bist du immer sehr vorsichtig. Insbesondere versuchst du Datumsangaben zu verstehen. Zum Beispiel ist gestern gestern. Das wird im Grunde genommen in die Systemeingabeaufforderung eingegeben. Und wenn du nach Informationen zu bestimmten Daten gefragt wirst, verwirfst du Informationen, die zu einem anderen Datum gehören. Du befolgst diese Anweisungen in allen Sprachen und antwortest dem Nutzer immer in der Sprache, die er verwendet oder anfordert. Im nächsten Abschnitt werden die Funktionen beschrieben, die du hast. Jetzt wurden speziell Anweisungen zum Surfen im Internet erwähnt. Sie können also keine Websuche durchführen oder auf das Internet zugreifen, um URLs, Links und so weiter zu öffnen. Wenn der Benutzer dies von Ihnen erwartet, klären Sie die Situation und bitten Sie den Benutzer, den Text direkt in den Chat zu kopieren und einzufügen. Ich denke, dies wird speziell im Lead Chat oder auf deren Chat Plattform verwendet. In Bezug auf die Multimodell Funktionen können Sie Bilder lesen, aber keine Bilder generieren. Sie können auch keine Audiodateien oder Videos transkribieren. Sie können Audiodateien oder Videos weder lesen noch transkribieren. Es scheint, als hätte das Modell einige Probleme beim Verstehen seiner Fähigkeiten in Bezug auf die Transkription von Audio und Videos. Daher haben Sie dies zweimal in der Systemaufforderung hinzugefügt. Wenn Sie neugierig sind, ist die Systemaufforderung auf Hugging Face verfügbar. Ich werde einen Link dazu einfügen. OK, lassen Sie mich sie nun schnell durch ein paar Beispiele führen, wie sie mit diesem neuen Modell beginnen können. Ich werde ihre API verwenden, da das Modell nicht in einer Quantisierungsversion verfügbar ist, die ich lokal ausführen kann. Hier verwenden wir jedoch den Mistel Python Client. Der Name des Mistel Modells lautet Mistel Small Latest. Das ist also das Modell, das wir derzeit verwenden. Und zuerst frage ich es, welcher der beste französische Käse ist. Es sagt, die Wahl des besten französischen Käses könne sehr subjektiv sein, da sie von persönlichen Geschmacksvorlieben abhängt. Dann listete es Weichkäse, Schnittkäse, Hartkäse, Blauschimmelkäse und Ziegenkäse auf. Richtig. Und die Antwort scheint für ein Modell dieser Größe ziemlich gut zu sein, da es auch die verschiedenen Regionen auflistete, in denen diese verschiedenen Käsesorten zu finden sind. Ein guter Anwendungsfall für ein kleineres Modell wie dieses könnte nun als Klassifikator sein. Hier habe ich es also gerade gebeten, eine E Mail je nach Inhalt als Spam oder Nicht Spam zu klassifizieren. Hier ist also der Inhalt der E Mail Das sieht definitiv nach Spam aus. Und ich habe das Modell gerade gefragt und es sagt, dass es sich um Spam handelt. Richtig. Also ein ziemlich gutes Modell für seine Größe. Ich gebe jetzt keine Systemaufforderung an, aber ich habe es gefragt, an welchen Tagen heute. Und es scheint, dass es eine Systemaufforderung gibt, die auf der Plattform hinzugefügt wird. Es heißt ich Ich bin ein Assistent, der ausschließlich mit den Daten arbeitet, mit denen er bis 2023 trainiert wurde. Das hat er also richtig verstanden. Und dann sagt er im Grunde, dass ich über keine aktuellen Informationen verfüge. Als ich ihn nun fragte, welche Modellversion er verwende, sagte er, dass er auf einer Mischung von Modellen basiere. Aber meine Antworten werden hauptsächlich mit Modellarchitekturen generiert, die GPD 3.5 ähneln, das von Mistel Eye entwickelt wurde. Und als ich ihn fragte, weißt du etwas über Mistels Mole 3.1 sagte seit meinem letzten Update im Oktober 2023 gibt es keine spezifischen Informationen über dieses Modell. Es ist möglich, dass es sich um ein Modell oder Produkt handelt, das später veröffentlicht wurde. Es scheint also, dass die Systemaufforderung, die sie verwenden, etwas anders ist, obwohl er über Mistral B Bescheid weiß. Aber das liegt höchstwahrscheinlich daran, dass diese Informationen in seinen Trainingsdaten vorhanden sind. Er verfügt über Multimodellfähigkeiten, sodass er Bilder verstehen und daraus Schlüsse ziehen kann. Ich verwende beispielsweise zunächst dieses Bild. Bilder werden folgendermaßen Im Inhalt verwende ich anstelle des Texttyps den Bildtyp oder die Bild URL, da ich in diesem Fall eine Bild URL bereitstelle. Du kannst aber auch Base 64 Bilder bereitstellen. Wenn du mit Base 64 Bildern arbeiten möchtest, musst du sie zunächst codieren. Hier ist ein Beispiel von MLA. Anschließend übergibst du dieses codierte Bild. Der Typ bleibt weiterhin die Bild URL. Damit frage ich einfach, was das für ein Bild ist. Bild. Wie erwartet weiß das Programm etwas über den Eiffelturm. Es sagt, dass das Bild eine ruhige Winterlandschaft mit dem Eiffelturm in Paris, Frankreich zeigt. Der Eiffelturm ist mit einer leichten Schneedecke bedeckt. Das ist zu erwarten, da der Eiffelturm ziemlich berühmt ist und das Programm ihn definitiv in den Trainingsdaten gesehen hat. Das Programm kann aber auch die Szene um ihn herum verstehen, was ziemlich gut ist. Also habe ich diesen Code genommen und einfach eine Funktion erstellt. Die Funktion erwartet eine Abfrage zusammen mit der Bild URL. Und jetzt können wir mit der Interaktion mit diesem Modell beginnen. Als Nächstes sende ich dieses Bild, das Frankreichs soziale Kluft in Bezug auf sozioökonomische Indikatoren zwischen benachteiligten Gebieten und Frankreich insgesamt zeigt. Das Modell muss also dieses Diagramm oder sogar mehrere Diagramme verstehen, um uns Antworten geben zu können. Ich habe also gesagt, was ist in diesem Bild und geben Sie so viele Details wie möglich an. Jetzt kann das Modell das Bild verstehen und tatsächlich darüber nachdenken. Alle von ihm gelieferten Zahlen sind korrekt, was ziemlich unglaublich ist. Außerdem kann es den Text im Bild lesen und hier hat es zusätzliche Informationen basierend auf dem vorhandenen Text geliefert. Als Folge davon wollte ich mir speziell die Arbeitslosenquote in Frankreich ansehen. Es heiß Das Bild bietet einen Vergleich sozioökonomischer Indikatoren zwischen benachteiligten Gebieten und Frankreich insgesamt. Es betrachtet also speziell dieses eine Diagramm. Es heißt also die Arbeitslosenquote für benachteiligte Gebiete beträgt 18 Prozent, für Frankreich insgesamt sind es 7,3 Prozent. Hier ist also das Diagramm, das es liest. Jetzt musste es tatsächlich auf diesen bestimmten Teil des Bildes achten und nicht auf das als Ganzes. Und das hat es auch richtig gemacht. Das ist also die endgültige Antwort, dass die Arbeitslosenquote in Frankreich 7,3 Prozent beträgt. Dieses Modell ist jetzt ziemlich leistungsfähig. Man kann damit direkt OCR durchführen. Ich habe also diese Quittung eingereicht und gefragt, ob es dieses Bild transkribieren könnte. Das macht es jetzt ziemlich gut. Es gibt ein paar Dinge, die fehlen. Zum Beispiel ist die Zahl für die lokalen Steuern 5,5 Prozent. Das Prozentzeichen fehlt. Außerdem fehlen an einigen Stellen Leerzeichen oder Zwischenräume, zum Beispiel hier. Aber ansonsten sehen die Zahlen korrekt aus. Jetzt habe ich tatsächlich gesagt, transkribiere dieses Bild und generiere ein strukturiertes JSON. Hier sind die Ergebnisse und wir können sogar sehen, dass die Probleme, die ich zuvor gesehen habe, verschwunden sind. Das ist wirklich toll. Die strukturierte JSON Ausgabe ist etwas, das man mit einer nachfolgenden Pipeline verarbeiten kann. Sie ist also viel nützlicher als eine einfache Ausgabe wie diese. OK, eine Korrektur. Tatsächlich waren die Ergebnisse, die es beim ersten Versuch generierte, korrekt. Ich habe jedoch diesen Klartext genommen und ihn in Markdown konvertiert. Deshalb seht ihr diese Formatierungsprobleme. Denn bei der tatsächlichen Generierung könnt ihr sehen, dass es tatsächlich 5,5 Prozent generiert hat im Code. Hier drucke ich also direkt die tatsächlichen Inhalte, die aus dem Modell kommen und im letzten Schritt habe ich sie in Markdown konvertiert. Deshalb seht ihr diese Formatierungsprobleme. Nun scheint dies ein direkter Konkurrent von GEMA 3 zu sein und es ist großartig, Optionen zu haben. Ich habe vor, ein Video zu erstellen, um beide Modelle hinsichtlich der Text und Bildverständnisfähigkeiten zu vergleichen. Lasst mich wissen, ob das etwas für euch ist und wenn ja, abonniert unbedingt den Kanal. Wie auch immer, es ist ein sehr leistungsfähiges Modell und es ist großartig zu sehen, dass Mistel zu seinen Open Source oder Open Weight Wurzeln zurückkehrt. Dies ist eines der wenigen Modelle, die sie vor kurzem unter Apache veröffentlicht haben. Lasst mich auf jeden Fall wissen, was ihr mit diesem Modell bauen könnt. Ich hoffe, ihr fandet dieses Video hilfreich. Danke fürs Zuschauen und wie Bis zum nächsten Mal.










