paint-brush
Rang 7b GGUF für umfassende Aufzählungsnotizen mit Ollama: Go Home Model-Rangliste, du bist betrunken!von@cognitivetech
1,552 Lesungen
1,552 Lesungen

Rang 7b GGUF für umfassende Aufzählungsnotizen mit Ollama: Go Home Model-Rangliste, du bist betrunken!

von CognitiveTech8m2024/02/11
Read on Terminal Reader

Zu lang; Lesen

Auf der Suche nach einem Modell, das Mistral 7b Instruct 0.2 tatsächlich übertrifft. Entgegen der Rangfolge auf Bestenlisten finde ich keine. Überprüfen Sie meine Methoden und Ergebnisse und beweisen Sie, dass ich falsch liege!
featured image - Rang 7b GGUF für umfassende Aufzählungsnotizen mit Ollama: Go Home Model-Rangliste, du bist betrunken!
CognitiveTech HackerNoon profile picture
0-item
1-item
2-item
3-item

Nach vorne

Lassen Sie mich zunächst sagen, dass ich die Entwickler von Large Language Models (LLM), die Tools zu ihrer Bewertung oder die Einzelpersonen/Organisationen, die sie bewerten und Bestenlisten erstellen, nicht beleidigen möchte. Als relativer Neuling in diesem Ökosystem bin ich Ihrer Arbeit zu Dank verpflichtet und dankbar, dass mir der Weg erleichtert wurde, Aufgaben zu erledigen, die sonst mühsam wären.


Natürlich muss mein nächster Beitrag verschiedene Methoden für das Modellranking untersuchen, um etwas detaillierter zu erfahren, wie die Bewertungen funktionieren.

Einführung

Wenn Sie meinen vorherigen Artikel „PrivateGPT for Book Summarization: Testing and Ranking Configuration Variables“ noch nicht gelesen haben, könnte es hilfreich sein, ihn noch einmal durchzulesen, da ich Begriffe definiert und erklärt habe, wie ich zu verschiedenen Praktiken und Überzeugungen gelangt bin.


Wenn Sie diesen Artikel gelesen haben, wissen Sie, dass ich meine Prozesse seit einigen Monaten verfeinere und dabei Large Language Models (LLM) verwende, um Bücher zusammenzufassen. Ich habe eine Reihe von Parametern gemessen, darunter Eingabeaufforderungsvorlagen, Systemeingabeaufforderungen, Benutzereingabeaufforderungen usw.


In dieser ersten Runde der Modellbewertungen und dem Sammeln von Daten über die Verwendung von Konfigurationsvariablen habe ich herausgefunden, dass mistral-7b-instruct-v0.2.Q8_0.gguf die qualitativ hochwertigsten Notizen mit Aufzählungszeichen erzeugt, und habe nach einer gesucht, die diese übertrifft. Das passt seitdem auf meine 12GB 3060.

Ich wage es doppelt! Zeigen Sie mir einen 7b, der den Mistral für diese Aufgabe übertrifft.


Für dieses Ranking nutze ich diese Wissensbasis, um verschiedene führende 7b-Modelle zu bewerten. Dieses Mal verwende ich Ollama , da ich es einfacher zu verwenden und recht leistungsfähig finde.


Ich habe mich für die folgenden Modelle entschieden, weil sie meiner Meinung nach auf verschiedenen Bestenlisten über Mistral 7b Instruct 0,2 rangierten oder weil sie sich selbst zum besten 7b ernannt hatten. (getestete Chat-Vorlagen in Klammern)


  • openchat-3.5-0106.Q8_0.gguf (OpenChat)

  • Schnorchel-Mistral-pairrm-dpo.Q8_0.gguf (Mistral)

  • Dolphin-2.6-Mistral-7b.Q8_0.gguf (Mistral)

  • supermario-v2.Q8_0.gguf (ChatML)

  • openhermes-2.5-mistral-7b.Q8_0.gguf (ChatML)

  • openhermes-2.5-neural-chat-7b-v3-1-7b.Q8_0.gguf (ChatML)

  • openhermes-2.5-neural-chat-v3-3-slerp.Q8_0.gguf (ChatML)

  • WestLake-7B-v2-Q8_0.gguf (ChatML, Mistral)

  • MBX-7B-v3-DPO.q8_0.gguf (ChatML, Mistral)

  • neuralbeagle14-7b.q8_0.gguf (ChatML, Mistral)

  • omnibeagle-7b-q8_0.gguf (ChatML, Mistral)


Bei einigen Modellen, bei denen ich nicht die gewünschten Ergebnisse erzielte, da sie größtenteils von Mistral abgeleitet sind, habe ich die Mistral-Vorlage getestet, obwohl dort ChatML als bevorzugte Eingabe aufgeführt ist.

Aufzählungspunkte mit fett gedruckten Überschriften und Begriffen

Schreiben Sie umfassende Notizen mit Aufzählungszeichen, die den folgenden Text zusammenfassen, wobei Überschriften, Begriffe und Schlüsselkonzepte fett gedruckt sind.\n\nTEXT:


Auch wenn GPT3.5 nicht mein persönlicher Basisstandard ist, ist es so etwas wie ein Industriestandard, und ich würde erwarten, dass es bessere Ergebnisse liefert als die meisten 7b Q8 GGUFs.


Eine Beispielantwort von GPT3.5

Es sind zwar keine Schlüsselkonzepte der Begriffe in Fettdruck enthalten, die Überschriften sind jedoch fett gedruckt, und im Großen und Ganzen ist dies im Vergleich zu Absatzblöcken recht einfach zu lesen. Ob wir Begriffe in Fettschrift finden oder nicht, kann auch vom Eingabetext selbst abhängen, wobei eine Zusammenfassung mit Aufzählungspunkten immer fettgedruckte Überschriften enthalten sollte.

Ich suche Models, die Notizen machen:

  • Schneller
  • mit mehr Details, weniger Füllmaterial
  • mit vergleichbaren Details mit längerem Kontext (derzeit werden diese Funktionen auf etwa 2,5.000 Kontext ausgeweitet)


Ich betrachte dies als eine grundlegende Aufgabe für jedes Instruct-Modell. Im Idealfall trainieren Entwickler ihre Modelle, um diese Art idealer Aufzählungsnotizen zu generieren. Ich habe Unmengen an Daten, einige Bücher sind bereits trainiert, aber es ist relativ einfach, diese Notizen für ein Buch zu generieren (mit Mistral 7b Instruct 0.2 , wobei der Text von Hand semantisch in Teile mit jeweils weniger als 2,5.000 Token aufgeteilt wird).


Wenn es sich um ein Buch mit 300–600 Seiten handelt, kann es in der Regel an einem einzigen Tag erstellt werden, einschließlich Vor- und Nachbearbeitung.


Irgendwann werde ich vielleicht mit etwas Feinabstimmung experimentieren, um ihre Fähigkeiten selbst zu verbessern.

Die Rangliste

Zuvor habe ich versucht, jedem Ranking eine Punktzahl zu geben. Es ist wirklich schwierig, eine numerische Bewertung abzugeben. Ich denke, ich werde in Zukunft versuchen, einen LLM dazu zu bringen, die Zusammenfassungen zu bewerten. Dieses Mal hinterlasse ich einfach einen Kommentar dazu, wo es mangelhaft ist und was mir gefällt, ohne jedem Modell eine numerische Bewertung zu geben.


Ich habe jedes der folgenden Modelle an einem einzelnen Buchkapitel getestet, aufgeteilt in 6 Teile von jeweils 1900–3000 Token. Ich werde jeweils eine repräsentative Beispielausgabe veröffentlichen und die vollständigen Daten werden wie immer auf GitHub verfügbar sein.

Mistral 7b Instruct 0,2 Q8 GGUF

Ich bin mir sicher, dass Sie inzwischen erkannt haben, dass Mistral meiner Meinung nach die 7b zu schlagen hat.

Modelldatei

Ollama verfügt über eine Funktion , mit der Sie den Modellspeicherort, die Vorlage und die Parameter in eine Modelldatei eingeben, die zum Speichern einer Kopie Ihres LLM mit Ihrer angegebenen Konfiguration verwendet wird. Dies macht es einfach, verschiedene Modelle zu testen, ohne sich ständig mit Parametern herumschlagen zu müssen.


Ich habe die Parameter für alle Modelle mit Ausnahme der Chat-Vorlage gleich gehalten, aber ich werde Ihnen die Vorlage, die ich für jedes Modell verwende, mitteilen, damit Sie genau sehen können, wie ich die Vorlage verwende. Sie können mir mitteilen, ob ich mit den folgenden Modellen bessere Ergebnisse erzielen würde, wenn ich eine anders konfigurierte Modelldatei verwende.

 TEMPLATE """ <s></s>[INST] {{ .Prompt }} [/INST] """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

Mistral 7b Instruct v0.2 Ergebnis

Ich werde nicht sagen, dass Mistral es jedes Mal perfekt macht, aber in den meisten Fällen ist dies mein Ergebnis. Und wenn Sie auf die GPT3.5-Antwort zurückblicken, stimmen Sie vielleicht zu, dass dies besser ist.

7b ZIEGE?

OpenChat 3.5 0106 Q8 GGUF

Ich war angenehm überrascht von OpenChats 0106 . Hier ist ein Modell, das behauptet, das beste 7b-Modell zu haben und zumindest mit Mistral 7b konkurrenzfähig zu sein.

Modelldatei

 TEMPLATE """ GPT4 Correct User: {{ .Prompt }}<|end_of_turn|>GPT4 Correct Assistant: """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenChat 3.5 0106 Ergebnis

In dieser kleinen Stichprobe wurden 4/6 Mal fette Überschriften angezeigt. Später werde ich es zusammen mit allen anderen Top-Konkurrenten anhand einer detaillierteren Analyse überprüfen.

Mir gefällt, was ich sehe, aber es bedarf einer tieferen Betrachtung

Schnorchel Mistral Pairrm DPO Q8 GGUF

Offensichtlich bin ich hier voreingenommen, da Snorkel auf Mistral 7b Instruct 0.2 trainiert wurde. Unabhängig davon bin ich vorsichtig optimistisch und freue mich auf weitere Veröffentlichungen von Snorkel.ai .

Modelldatei

 TEMPLATE """ <s></s>[INST] {{ .Prompt }} [/INST] """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

Snorkel Mistral Pairrm DPO-Ergebnis

4/6 dieser Zusammenfassungen sind genau richtig, aber andere enthalten Unregelmäßigkeiten wie extrem lange Listen mit Schlüsselbegriffen und Überschriften, anstatt sie nur als Teil der Zusammenfassung in Fettdruck darzustellen.

Das dunkle Pferd dieser Rasse.

Dolphin 2.6 Mistral 7B Q8 GGUF

Hier ist ein weiteres Mistral-Derivat , das viel Beachtung findet.

Modelldatei

 TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

Dolphin 2.6 Mistral 7B Ergebnis

Dies ist ein weiteres anständiges Modell, das fast so gut ist wie Mistral 7b Instruct 0.2. Drei von sechs Zusammenfassungen hatten das richtige Format und fette Überschriften, eine andere hatte ein gutes Format ohne Fettdruck, aber zwei von sechs waren rundum schlecht.

Schlechte Form

OpenHermes 2.5 Mistral-7B Q8 GGUF

Dieses Modell erfreut sich großer Beliebtheit, sowohl auf Bestenlisten als auch unter „den Leuten“ in nicht verbundenen Discord-Chats. Ich möchte, dass es in dieser Rangliste führend ist, aber das ist einfach nicht der Fall.

Modelldatei

 TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenHermes 2.5 Mistral Ergebnis

3/6 Ergebnisse ergeben eine korrekte Struktur, aber keinen fetten Text. Einer von ihnen hat sowohl Struktur als auch fetten Text. Die anderen beiden hatten größere Textblöcke und eine schlechte Struktur.

Für mich einfach nicht „da“.

OpenHermes 2.5 Neural Chat 7b v3.1 7B Q8 GGUF

Ich habe auch einige hochrangige Derivate von OpenHermes 2.5 Mistral ausprobiert, um zu sehen, ob ich bessere Ergebnisse erzielen könnte. Leider war das nicht der Fall.

Modelldatei

 TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenHermes 2.5 Neural Chat 7b v3.1 Ergebnis

Keines dieser Ergebnisse war wünschenswert.

Wenn ich dir 20 $ zahle, wirst du es tun?

OpenHermes 2.5 Neural-Chat v3.3 Slerp Q8 GGUF

Was auch immer sie taten, diese Derivate stellten keine Verbesserung gegenüber dem Original dar.

Modelldatei

 TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenHermes 2.5 Neural-Chat v3.3 Slerp-Ergebnis

Mit jeder neuen Version wird es nur noch schlimmer!

Ich bin ein sehr trauriger Bewerter führender Sprachmodelle.

Super Mario V2 Q8

Ich habe nicht viel von Mario erwartet, aber es ist vielversprechend. Mittlerweile sind V3 und V4 verfügbar, aber GGUF habe ich dafür noch nicht gefunden.

Modelldatei

 TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

Super Mario V2 Ergebnis

Das erste Ergebnis war täuschend gut. Die folgenden Zusammenfassungen wichen jedoch jeweils vom gewünschten Muster ab. Ich werde nach GGUF der neueren Veröffentlichungen Ausschau halten. Sie können hier sehen, dass wir Absatzblöcke mit einer fett gedruckten Überschrift erhalten haben. Nicht wirklich das, wonach ich gefragt habe.

Beispiel dafür, was ich nicht will.

Anerkennungen

  • omnibeagle-7b (ChatML) – Dieser erzeugt tatsächlich ein ordentliches Format, aber keinen fettgedruckten Text.


  • neuralbeagle14-7b (ChatML, Mistral) – Funktioniert besser mit der Mistral-Vorlage. Das Ergebnis ist „OK“, aber für meinen Geschmack ist es zu viel Verwirrung in Bezug auf Eingabeaufforderungsvorlagen.



Abschluss

Ich wünschte, ich hätte bessere Neuigkeiten mitzuteilen. Meine ideale Überschrift ist, dass es eine Fülle führender Modelle gibt, die bei der Erstellung umfassender Zusammenfassungen mit Aufzählungszeichen qualitativ hochwertige Ergebnisse liefern, und dass es mir einfach so schwer fällt, mich unter ihnen zu entscheiden. Leider ist das nicht der Fall.


Vielleicht übertreffen sie Mistral 0.2 in voller Form, liegen aber nur im GGUF-Format zurück? Ich halte es für sehr wahrscheinlich, dass keine unserer bestehenden Evaluierungen auf diese Art von Ausgabe abzielt, aber ich würde auf jeden Fall argumentieren, dass es sich um eine Aufgabe handelt, die jedes führende 7b-GGUF-Modell bewältigen können sollte.


Zu bedenken ist auch, dass Mistral 7b Instruct v0.2 kurz nach Mixtral unter großem Getöse herauskam. Ich glaube, diese Veröffentlichung ist unter dem Radar verschwunden. Tatsächlich basieren viele der „führenden“ Modelle, die ich mir angesehen habe, auf 0,1 Mistral.


Vielleicht ändern sich die Dinge und die Welt wird erkennen, dass ihre besten Modelle Mistral immer noch nicht toppen können? Andererseits sind vielleicht alle diese Modelle auch bei allen anderen Aufgaben, die ich nicht verlange, wirklich gut.

Ich bin bereit zu helfen und ich bin bereit, das Gegenteil zu beweisen

Ich habe Daten, ich habe eine Pipeline und ich habe ein endloses Bedürfnis, Zusammenfassungen von Notizen mit Aufzählungszeichen zu erstellen. Wenn Sie mit mir zusammenarbeiten möchten, wenden Sie sich bitte an mich.


Sie können auch gerne auf meinem GitHub vorbeischauen, die Daten überprüfen und Ihre eigene Version dieses Experiments ausprobieren. Ich bin froh, dass mir das Gegenteil bewiesen wird.