AI Personal Learning
und praktische Anleitung

Jina Embeddings v2 zu v3 Migrationsanleitung

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 


Jina Embeddings v3 Unser neuestes 570-Millionen-Parameter-Top-Level-Textvektormodell erreicht bei mehrsprachigen und langen Textretrievalaufgaben die derzeit beste SOTA.

v3 ist nicht nur leistungsfähiger, sondern bietet auch viele neue und spannende Funktionen. Wenn Sie noch Jina Embeddings v2 verwenden, das im Oktober 2023 veröffentlicht wurde, empfehlen wir Ihnen dringend, so bald wie möglich auf v3 zu migrieren.

Beginnen wir mit einem kurzen Überblick über die Highlights von Jina Embeddings v3:

  • Unterstützung für 89 Sprachen Überwindung der Einschränkung, dass v2 nur einige wenige zweisprachige Sprachen verarbeiten kann, und Realisierung einer echten mehrsprachigen Textverarbeitung.
  • Eingebauter Lora-Adapterv2 ist ein allgemeines Einbettungsmodell, während v3 über einen integrierten Lora-Adapter verfügt, der Vektoren generiert, die speziell für Ihre Such-, Klassifizierungs-, Clustering- und andere Aufgaben optimiert sind, um eine bessere Leistung zu erzielen.
  • Die Langtextsuche ist genauer :: v3 Nutzung von 8192 Token Die Technik des Late Chunking, die Blockvektoren mit reichhaltigeren Kontextinformationen erzeugt, kann die Genauigkeit der Suche nach langen Texten erheblich verbessern.
  • Vektordimensionen sind flexibel und kontrollierbar Die Vektordimensionen von : v3 können flexibel angepasst werden, um ein Gleichgewicht zwischen Leistung und Speicherplatz zu erreichen und den hohen Speicheraufwand zu vermeiden, der mit hochdimensionalen Vektoren verbunden ist. Ermöglicht wird dies durch Matryoshka Representation Learning (MRL).

Link zum Open-Source-Modell: https://huggingface.co/jinaai/jina-embeddings-v3

Modell-API-Link: https://jina.ai/?sui=apikey

Link zum Musterpapier: https://arxiv.org/abs/2409.10173

 

Kurzanleitung zur Migration

  • Da es sich bei v3 um ein völlig neues Modell handelt, können die Vektoren und Indizes von v2 nicht direkt wiederverwendet werden, und Sie müssen die Daten erneut indizieren.
  • In den meisten Szenarien (96%) schneidet v3 deutlich besser ab als v2, während v2 nur gelegentlich gleichauf oder sogar leicht besser abschneidet als v3 bei der englischen Zusammenfassungsaufgabe. Angesichts der Mehrsprachenunterstützung und der erweiterten Funktionen von v3 sollte v3 jedoch in den meisten Szenarien bevorzugt werden.
  • Die v3-API umfasst jetzt Aufgabe, undAbmessungen im Gesang antworten spätes_Klingeln Drei Parameter, deren genaue Verwendung Sie in unserem Blogbeitrag nachlesen können.

Anpassung der Abmessungen

  • v3 gibt standardmäßig einen 1024-dimensionalen Vektor aus, während v2 nur 768 Dimensionen hat. Mit dem Lernen der Matryoshka-Darstellung kann v3 nun theoretisch jede Dimension ausgeben. Die Entwickler können die Abmessungen Parameter steuern flexibel die Dimensionalität der Ausgangsvektoren, um das beste Gleichgewicht zwischen Speicherkosten und Leistung zu finden
  • Wenn Ihr vorheriges Projekt auf der Grundlage der API v2 entwickelt wurde, ändern Sie den Modellnamen direkt in jina-einbettungen-v3 ist nicht möglich, da sich die Standardabmessungen geändert haben. Wenn Sie die Datenstruktur oder die Größe mit v2 konsistent halten wollen, können Sie die Abmessungen=768Die Verteilung der Vektoren von v3 und v2 ist völlig unterschiedlich, auch wenn sie die gleiche Dimension haben. Auch wenn die Dimensionen gleich sind, haben die Vektoren von v3 und v2 völlig unterschiedliche Verteilungen auf dem semantischen Raum und können daher nicht direkt austauschbar verwendet werden.

Modellwechsel

  • Die starke mehrsprachige Unterstützung in v3 hat das zweisprachige Modell in v2 (v2-base-de, v2-base-es, v2-base-zh) vollständig ersetzt.
  • Für reine Kodierungsaufgaben ist jina-embeddings-v2-based-code immer noch die beste Wahl. Die Tests zeigen, dass sie einen Wert von 0,7753 erreicht, verglichen mit 0,7537 für die generischen Vektoren von v3 (ohne Aufgabensatz) und 0,7564 für den LoRA-Adapter, was der v2-Kodierung einen Leistungsvorsprung von etwa 2,81 TP3T gegenüber v3 verleiht.

Parameter der Mission

  • Die v3-API erzeugt generische Vektoren von guter Qualität, wenn der Aufgabenparameter nicht angegeben wird. Es wird jedoch dringend empfohlen, den Aufgabenparameter entsprechend dem spezifischen Aufgabentyp festzulegen, um eine bessere Vektordarstellung zu erhalten.
  • Um v3 dazu zu bringen, das Verhalten von v2 zu emulieren, verwenden Sie die task="text-matching"Wir empfehlen, verschiedene Aufgabenoptionen auszuprobieren, um die beste Lösung zu finden, aber nicht, um die Text-Übereinstimmung Als universelles Programm.
  • Wenn Ihr Projekt v2 für die Informationsbeschaffung verwendet, wird empfohlen, für den Aufgabentyp Abruf auf v3 zu wechseln (Abruf.passage im Gesang antworten abruf.abfrage), lassen sich bessere Abrufergebnisse erzielen.

Andere Überlegungen

  • Für ganz neue Aufgabentypen (die selten sind), versuchen Sie, den Aufgabenparameter als Ausgangspunkt auf None zu setzen.
  • Wenn Sie die Technik des Umschreibens von Bezeichnungen in v2 für Klassifizierungsaufgaben mit Nullproben verwendet haben, können Sie in v3 einfach die task="Klassifizierung" Ein ähnlicher Effekt wird erzielt, weil v3 die Vektordarstellung für die Klassifizierungsaufgabe optimiert hat.
  • Sowohl v2 als auch v3 unterstützen Kontextlängen von bis zu 8192 Token, aber v3 ist dank der FlashAttention2-Technologie effizienter und bildet die Grundlage für die Late-Scoring-Funktion von v3.

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 

Spätes Chunking

  • v3 führt eine Late-Splitting-Funktion ein, die 8192 Token verwendet, um einen langen Kontext zu bilden, und diesen dann in Vektoren aufteilt, so dass jedes kleine Stück kontextuelle Informationen enthält, was die Abfrage natürlich genauer macht.
  • spätes_Klingeln Sie ist derzeit nur in der API verfügbar. Wenn Sie also Modelle lokal ausführen, können Sie diese Funktion noch eine Weile nicht nutzen.
  • anfangen zu benutzen spätes_Klingeln Die Textlänge jeder Anfrage darf 8192 Token nicht überschreiten, da v3 nur so viele Inhalte auf einmal verarbeiten kann.

Leistung und Geschwindigkeit

  • Obwohl v3 dreimal so viele Parameter wie v2 hat, ist die Schlussfolgerung schneller als v2 oder zumindest gleich schnell, was hauptsächlich auf die FlashAttention2-Technologie zurückzuführen ist.
  • Nicht alle Grafikprozessoren unterstützen FlashAttention2. v3 läuft auch dann, wenn Sie einen Grafikprozessor ohne FlashAttention verwenden, ist aber möglicherweise etwas langsamer als v2.
  • Bei der Verwendung der API wirken sich auch Faktoren wie Netzwerklatenz, Ratenbeschränkungen und Verfügbarkeitszonen auf die Latenz aus, so dass die API-Latenz die tatsächliche Leistung des v3-Modells nicht vollständig widerspiegelt.

Im Gegensatz zu v2 ist Jina Embeddings v3 unter CC BY-NC 4.0 lizenziert. v3 kann kommerziell über unsere API, AWS oder Azure genutzt werden. Forschung und nicht-kommerzielle Nutzung sind kein Problem. Für den lokalen kommerziellen Einsatz kontaktieren Sie bitte unser Vertriebsteam für eine Lizenz:

https://jina.ai/contact-sales

 

Mehrsprachige Unterstützung

v3 ist derzeit das branchenweit führende mehrsprachige Vektormodell** und belegt Platz 2 in den M****TEB-Charts für Modelle mit weniger als einer Milliarde Parametern. **Es unterstützt 89 Sprachen und deckt damit die meisten der wichtigsten Sprachen der Welt ab.

Dazu gehören Chinesisch, Englisch, Japanisch, Koreanisch, Deutsch, Spanisch, Französisch, Arabisch, Bengalisch, Dänisch, Niederländisch, Finnisch, Georgisch, Griechisch, Hindi, Indonesisch, Italienisch, Lettisch, Norwegisch, Polnisch, Portugiesisch, Rumänisch, Russisch, Slowakisch, Schwedisch, Thai, Türkisch, Ukrainisch, Urdu und Vietnamesisch. Türkisch, Ukrainisch, Urdu und Vietnamesisch.

Wenn Sie zuvor die Modelle Englisch, Englisch/Deutsch, Englisch/Spanisch oder Englisch/Chinesisch von v2 verwendet haben, müssen Sie jetzt nur noch die Modell Parameter und wählen Sie die entsprechenden Aufgabe Typs können Sie problemlos zu v3 wechseln.

# v2 Deutsch-Englisch

Daten = {
    "Modell": "jina-Einbettungen-v2-Basis-de",
    "Eingabe": [
        "Die Kraft wird sein mit Sie. Immer.",
        "Die Macht wird mit dir sein. Immer.",
        "Die Fähigkeit zu zerstören a Planet ist unbedeutend nächste zu die Macht von die Kraft.",
        "Die Fähigkeit, eine Planeten zu zerstörenören, ist nichts im Vergleich zur Macht der Macht."
    ]
}
# v3 Mehrsprachig

Daten = {
    "Modell": "jina-Einbettungen-v3",
    "Aufgabe": "Abruf.Durchgang",
    "Eingabe": [
        "Die Kraft wird sein mit Sie. Immer.",
        "Die Macht wird mit dir sein. Immer." ,
        "Die Macht ist mit dir. Für immer." ,
        "La Forza sarà con te. Sempre." ,
        "フォースと共にあらんこと. Das ist eine gute Idee."
    ]
}

Antwort = requests.post(url, headers=headers, json=Daten)

 

Aufgabenspezifische Vektordarstellung

v2 verwendet eine generische Vektordarstellung, d.h. alle Aufgaben nutzen das gleiche Modell. v3 bietet speziell optimierte Vektordarstellungen für verschiedene Aufgaben (z.B. Retrieval, Klassifizierung, Clustering usw.), um die Leistung in bestimmten Szenarien zu verbessern.

Wählen Sie verschiedene Aufgabe Dies bedeutet, dass dem Modell mitgeteilt wird, welche Merkmale für diese Aufgabe relevant sind und extrahiert werden sollen, wodurch eine Vektordarstellung erzeugt wird, die den Anforderungen der Aufgabe besser entspricht.

Im Folgenden wird anhand eines Beispiels aus der Wissensdatenbank für Lichtschwert-Reparaturen gezeigt, wie v2-Code auf v3 migriert werden kann, um die Leistungssteigerung durch aufgabenspezifische Vektordarstellungen zu erfahren:

# In echten Projekten werden wir größere Datensätze verwenden, dies ist nur ein Beispiel
Wissensdatenbank = [
    "Warum flackert meine Lichtschwertklinge? Eine flackernde Klinge kann ein Hinweis auf eine schwache Batterie oder einen instabilen Kristall sein. Bitte laden Sie die Batterie auf und überprüfen Sie die Stabilität des Kristalls. Wenn das Flackern anhält, muss der Kristall möglicherweise neu kalibriert oder ausgetauscht werden.",
    "Warum ist meine Klinge schwächer als vorher? Eine schwächer werdende Klinge könnte auf einen schwachen Akku oder ein Problem mit der Stromverteilung hindeuten. Bitte laden Sie zunächst den Akku auf. Wenn das Problem weiterhin besteht, muss möglicherweise die LED ausgetauscht werden.",
    "Kann ich die Farbe meiner Lichtschwertklinge ändern? Bei vielen Lichtschwertern kann die Farbe der Klinge durch den Austausch von Kristallen oder durch Änderung der Farbeinstellungen über das Bedienfeld am Griff angepasst werden. Detaillierte Anweisungen findest du im Handbuch deines Modells.",
    "Was kann ich tun, wenn mein Lichtschwert überhitzt ist? Überhitzung kann durch längeren Gebrauch verursacht werden. Schalten Sie das Lichtschwert aus und lassen Sie es mindestens 10 Minuten lang abkühlen. Wenn es häufig überhitzt, kann das ein Hinweis auf ein internes Problem sein, das von einem Techniker überprüft werden muss.",
    "Wie lade ich mein Lichtschwert auf? Schließen Sie Ihr Lichtschwert über den Anschluss in der Nähe des Griffs an das mitgelieferte Ladekabel an. Achten Sie darauf, ein offizielles Ladegerät zu verwenden, um Schäden an der Batterie und der Elektronik zu vermeiden.,
    "Warum macht mein Lichtschwert seltsame Geräusche? Seltsame Geräusche können auf ein Problem mit der Soundkarte oder den Lautsprechern hinweisen. Versuchen Sie, Ihr Lichtschwert aus- und wieder einzuschalten. Wenn das Problem weiterhin besteht, wenden Sie sich an unser Support-Team, um eine neue Soundkarte zu erhalten."
]
Abfrage = "Lichtschwerter sind zu dunkel."

Für v2 gibt es nur eine Aufgabe (Textabgleich), so dass wir nur einen Beispielcodeblock benötigen:

# v2 Code: Codierung von Wissensdatenbanken und Abfragen mit Hilfe von Textabgleichsaufgaben
Daten = {
    "Modell": "jina-embeddings-v2-base-de".,
    "normalisiert": Wahr.  # Hinweis: Dieser Parameter ist in v3 nicht mehr erforderlich.
    "Eingabe": knowledge_base
}

docs_response = requests.post(url, headers=headers, json=data)

data = {
    "Modell": "jina-embeddings-v2-base-de".,
    "Aufgabe": "text-matching",
    "Eingabe": [Abfrage]
}

query_response = requests.post(url, headers=headers, json=data)

v3 bietet Vektordarstellungen, die für bestimmte Aufgaben optimiert sind, darunter Retrieval, Trennung, Klassifizierung und Textabgleich.

Vektordarstellung der Suchaufgabe

Wir verwenden eine einfache Lichtschwert-Reparatur-Wissensbasis als Beispiel, um den Unterschied zwischen v2 und v3 bei der Bearbeitung von Text-Retrieval-Aufgaben zu demonstrieren.

Für semantische Retrievalaufgaben führt v3 eine asymmetrische Kodierung ein, bei der jeweils die Abruf.passage im Gesang antworten abruf.abfrage Codierung von Dokumenten und Abfragen zur Verbesserung der Abrufleistung und -genauigkeit.

Codierung der Dokumente: Abruf.passage

Daten = {
    "Modell": "jina-embeddings-v3",
    "Aufgabe": "abruf.passage", # "Aufgabe" Die Parameter sind neu in v3
    "late_chunking": Wahr.
    "Eingabe": knowledge_base
}

response = requests.post(url, headers=headers, json=Daten)

Abfragecode: abruf.abfrage

Daten = {
    "Modell": "jina-embeddings-v3",
    "Aufgabe": "abruf.abfrage",
    "late_chunking": Wahr.
    "Eingabe": [Abfrage]
}

Antwort = requests.post(url, headers=kopfzeilen, json=Daten)

Hinweis: Der obige Code aktiviert diespätes_KlingelnFunktion, die die Kodierung von langem Text verbessert, werden wir später im Detail vorstellen.

 

Vergleichen wir die Leistung von v2 und v3 für die Abfrage "Lichtschwerter sind zu dunkel". v2 liefert eine Reihe weniger relevanter Treffer auf der Grundlage der Kosinusähnlichkeit, wie unten dargestellt:

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 

Im Gegensatz dazu versteht v3 die Absicht der Abfrage besser und liefert genauere Ergebnisse zum Thema "Aussehen der Lichtschwertklinge", wie unten dargestellt.

Jina Embeddings v2 zu v3 Migrationsanleitung-1

v3 ermöglicht nicht nur das Abrufen von Daten, sondern bietet auch verschiedene andere aufgabenspezifische Vektordarstellungen:

Vektordarstellung der Trennaufgaben

v3 Trennung Die Aufgaben sind für Trennungsaufgaben wie Clustering, Re-Ranking usw. optimiert, z. B. für die Trennung verschiedener Arten von Entitäten, was für die Organisation und Visualisierung großer Korpora nützlich ist.

Beispiel: Unterscheidung zwischen Star Wars und Disney-Figuren

Daten = {
    "Modell": "jina-Einbettungen-v3",
    "Aufgabe": "Trennung", # Verwendung Trennung Auftrag
    "spätes_Klingeln": Wahr,
    "Eingabe": [
        "Darth Vader",
        "Lukas. Skywalker",
        "Mickey. Maus",
        "Donald Ente"
    ]
}

Antwort = requests.post(url, headers=headers, json=Daten)

Vektorielle Darstellung von Klassifizierungsaufgaben

v3 Klassifizierung Die Aufgabe ist optimiert für Textkategorisierungsaufgaben wie Stimmungsanalyse und Dokumentenklassifizierung, z. B. die Klassifizierung von Text in positive und negative Kommentare.

Beispiel: Analyse der emotionalen Tendenzen von Star Wars-Filmkritiken

Daten = {
    "Modell": "jina-embeddings-v3",
    "Aufgabe": "Klassifizierung",
    "late_chunking": Wahr.
    "Eingabe": [
        "Star Wars ist ein epochales Meisterwerk, das die Filmindustrie revolutioniert und das Science-Fiction-Kino für immer neu definiert hat!",
        "Mit atemberaubenden Bildern, unvergesslichen Charakteren und einer legendären Geschichte ist Star Wars ein unvergleichliches kulturelles Phänomen.",
        "Star Wars ist ein überbewertetes Desaster voller flacher Charaktere und ohne sinnvolle Handlung!",

}

Antwort = requests.post(url, headers=kopfzeilen, json=Daten)

Vektorielle Darstellung des Textabgleichs

v3 Text-Übereinstimmung Konzentration auf semantische Ähnlichkeitsaufgaben wie Satzähnlichkeit oder Deemphasis, z. B. Ausschluss von Satzwiederholungen oder Absätzen.

Beispiel: Erkennen von Wiederholungen in Star Wars-Zeilen

Daten = {
    "Modell": "jina-embeddings-v3",
    "Aufgabe": "text-matching",
    "late_chunking": Wahr.
    "Eingabe": [
        "Luke, ich bin dein Vater.",
        "Nein, ich bin dein Vater.",
        "Angst führt zu Wut, Wut führt zu Hass, Hass führt zur dunklen Seite.",
        "Angst führt zu Wut, Wut führt zu Hass, Hass führt zu Leid."
    ]
}

Antwort = requests.post(url, headers=kopfzeilen, json=Daten)

 

Late Chunking: Verbesserung der Kodierung langer Texte

v3 führt die spätes_Klingeln Parameter, wenn der late_chunking=True Wenn das Modell das gesamte Dokument verarbeitet und es dann in mehrere Blöcke aufteilt, um Blockvektoren zu erzeugen, die vollständige Kontextinformationen enthalten; wenn die late_chunking=False Wenn das Modell jeden Block unabhängig verarbeitet, enthalten die erzeugten Blockvektoren keine blockübergreifenden Kontextinformationen.

zur Kenntnis nehmen

  • anfangen zu benutzen late_chunking=True Die Gesamtzahl der Token pro API-Anfrage darf 8192 nicht überschreiten. Dies ist die maximale Kontextlänge, die von v3 unterstützt wird.
  • late_chunking=FalseDie Gesamtzahl der Token ist nicht begrenzt, unterliegt aber dem Ratenlimit der Embeddings-API.

Für die Verarbeitung langer Texte aktivieren Sie die spätes_Klingelnkann die Kodierungsergebnisse erheblich verbessern, da die Kontextinformationen in den Chunks erhalten bleiben und die generierte Vektordarstellung vollständiger und genauer wird.

Wir haben eine Mitschrift eines Chats verwendet, um zu bewerten spätes_Klingeln Auswirkungen auf die Effektivität der Suche nach langen Texten.

Geschichte = [
    "Sita, hast du dich schon entschieden, wohin du am Samstag zu deinem Geburtstagsessen gehen wirst?",
    "Ich bin mir nicht sicher, ich kenne mich mit den Restaurants hier nicht so gut aus.,
    "Wir können online gehen und uns Empfehlungen ansehen.",
    "Das hört sich gut an, lass es uns tun!",
    "Was für ein Gericht wünschst du dir zum Geburtstag?",
    "Ich mag vor allem mexikanisches oder italienisches Essen.",
    "Wie wäre es mit dem Bella Italia? Sieht gut aus.",
    "Oh, ich habe schon von diesem Ort gehört! Alle sagen, dass es dort toll ist!",
    "Sollen wir dann einen Tisch reservieren?",
    "Okay, ich glaube, es wird perfekt sein! Lass uns anrufen und reservieren."
]

 

Bei Verwendung von v2 für die Abfrage "Was sind gute Restaurantempfehlungen?" sind die erhaltenen Ergebnisse nicht besonders relevant.

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 

Mit v3 und nicht aktiviertem Late Chunking sind die Ergebnisse ebenso unbefriedigend.

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 

Bei Verwendung von v3 und Aktivierung von spätes Chunking Als das relevanteste Ergebnis (eine gute Restaurantempfehlung) genau an erster Stelle stand.

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 

Suchergebnisse:

Jina Embeddings v2 zu v3 Migrationsanleitung-1

 

Aus den Suchergebnissen geht hervor, dass die Aktivierung spätes_Klingeln Danach ist v3 in der Lage, die Chats, die für die Anfrage relevant sind, genauer zu identifizieren und die relevantesten Ergebnisse an die erste Stelle zu setzen.

Sie zeigt auch, dass spätes_Klingeln<span> </span>Die Genauigkeit der Suche nach langen Texten kann effektiv und effizient verbessert werden, insbesondere in Szenarien, die ein tiefes Verständnis der kontextuellen Semantik erfordern.

Verwendung russischer verschachtelter Vektoren zur Darstellung von Ausgleichseffizienz und Leistung

v3 Verabschiedet Abmessungen Der Parameter unterstützt eine flexible Steuerung der Vektordimensionen, so dass Sie die Dimension des Ausgabevektors an den tatsächlichen Bedarf anpassen und ein Gleichgewicht zwischen Leistung und Speicherplatz finden können.

Kleinere Vektordimensionen können den Speicheraufwand von Vektordatenbanken verringern und die Abrufgeschwindigkeit verbessern, aber es können auch einige Informationen verloren gehen, was zu Leistungseinbußen führt.

Daten = {
    "Modell": "jina-embeddings-v3",
    "Aufgabe": "text-matching",
    "Abmessungen": 768,  # setzt die Vektordimension auf 768, Standard ist 1024
    "Eingabe": [
        "Die Macht wird mit dir sein. Immer.",
        "Die Macht ist mit dir. Für immer.",
        "La Forza sarà con te. Sempre.",
        "フォースと共にあらんこと. Itumo".
    ]
}

response = requests.post(url, headers=headers, json=data)

allgemeine Probleme

F1: Was sind die Vorteile von Late Chunking, wenn ich das Dokument bereits vor der Vektorisierung gechunked habe?

A1: Der Vorteil des Late Splitting gegenüber dem Pre-Splitting ist die Möglichkeit Verarbeitet das gesamte Dokument vor dem Chunking, so dass die Kontextinformationen vollständiger erhalten bleiben . Late Chunking ist wichtig für die Verarbeitung komplexer oder langer Dokumente. Es kann dazu beitragen, eine relevantere Antwort beim Abruf zu liefern, da das Modell vor dem Chunking ein ganzheitliches Verständnis des Dokuments hat. Vorsegmentierte Blöcke werden hingegen unabhängig von Blöcken ohne vollständigen Kontext verarbeitet.

F2: Warum hat v2 eine höhere Benchmark-Punktzahl als v3 bei der paarweisen Klassifizierung? Muss ich mir Sorgen machen?

A2: Die scheinbar höheren Werte von v2 bei der paarweisen Klassifizierung sind hauptsächlich darauf zurückzuführen, dass die Durchschnittswerte anders berechnet werden. Der Testsatz von v3 enthält mehr Sprachen, so dass seine Durchschnittswerte wahrscheinlich niedriger sind als die von v2. Tatsächlich schneidet v3 bei der paarweisen Klassifizierung in allen Sprachen genauso gut oder sogar besser ab als modernste Modelle wie multilingual-e5.

F3: Ist die Leistung von v3 bei bestimmten Sprachen, die vom zweisprachigen Modell v2 unterstützt werden, besser?

A3: Vergleich der Leistung der zweisprachigen Modelle v3 und v2 in bestimmten Sprachen Hängt von der jeweiligen Sprache und der Art der Aufgabe ab Das zweisprachige Modell von v2 ist stark für bestimmte Sprachen optimiert und kann daher bei einigen spezifischen Aufgaben besser abschneiden. v3 ist jedoch darauf ausgelegt, ein breiteres Spektrum mehrsprachiger Szenarien zu unterstützen, mit stärkerer sprachübergreifender Generalisierung und optimiert für eine Vielzahl nachgelagerter Aufgaben durch aufgabenspezifische LoRA-Adapter. Infolgedessen erzielt v3 in der Regel eine bessere Gesamtleistung über mehrere Sprachen hinweg oder in komplexeren aufgabenspezifischen Szenarien wie semantisches Retrieval und Textkategorisierung.

Wenn Sie nur eine bestimmte Sprache bearbeiten müssen, die vom zweisprachigen Modell v2 unterstützt wird (Chinesisch-Englisch, Englisch-Deutsch, Spanisch-Englisch) und Ihre Aufgabe relativ einfach ist, ist v2 immer noch eine gute Wahl und kann in einigen Fällen sogar besser sein.

Wenn Sie jedoch mit mehreren Sprachen arbeiten müssen oder wenn Ihre Aufgabe komplexer ist (z. B. semantisches Retrieval oder Textkategorisierung), dann ist v3 mit seinen starken sprachübergreifenden Generalisierungsfähigkeiten und Optimierungsstrategien auf der Grundlage nachgelagerter Aufgaben die bessere Wahl.

F4: Warum schneidet v2 bei zusammenfassenden Aufgaben besser ab als v3 und muss ich mir Sorgen machen?

A4: v2 schneidet bei der Zusammenfassungsaufgabe besser ab, vor allem weil seine Modellarchitektur speziell für Aufgaben wie die semantische Ähnlichkeit optimiert ist, die eng mit der Zusammenfassungsaufgabe zusammenhängt. v3 wurde mit dem Ziel entwickelt, eine breitere Aufgabenunterstützung zu bieten, insbesondere bei Retrieval- und Klassifizierungsaufgaben, und ist daher bei der Zusammenfassungsaufgabe nicht so gut optimiert wie v2.

Man sollte sich jedoch keine allzu großen Sorgen machen, da die Bewertung der Zusammenfassungsaufgabe derzeit auf SummEval beruht, einem Test, der die semantische Ähnlichkeit misst und die Gesamtfähigkeit des Modells bei der Zusammenfassungsaufgabe nicht vollständig wiedergibt. In Anbetracht der Tatsache, dass v3 auch bei anderen kritischen Aufgaben wie dem Retrieval gut abschneidet, haben geringfügige Leistungsunterschiede bei der Zusammenfassungsaufgabe in der Regel keine signifikanten Auswirkungen auf reale Anwendungen.

Zusammenfassungen

Jina Embeddings v3 ist ein bedeutendes Modell-Upgrade für unser erstklassiges SOTA für mehrsprachige und lange Text-Retrieval-Aufgaben. Es wird mit einer Vielzahl von eingebauten LoRA-Adaptern geliefert, die für verschiedene Szenarien von Retrieval, Clustering, Klassifizierung und Matching angepasst werden können, je nach Ihren Bedürfnissen für genauere Vektorisierungsergebnisse. Wir empfehlen Ihnen dringend, so bald wie möglich auf v3 zu migrieren.

Dies sind nur einige unserer Einführungen in Jina Embeddings v3. Wir hoffen, Sie finden sie hilfreich. Wenn Sie Fragen haben, können Sie gerne einen Kommentar hinterlassen, um zu diskutieren!

AI Leichtes Lernen

Der Leitfaden für Laien zum Einstieg in die KI

Hilft Ihnen, die Nutzung von KI-Tools kostengünstig und von Null an zu erlernen.KI ist, wie Bürosoftware, eine wesentliche Fähigkeit für jeden. Die Beherrschung von KI verschafft Ihnen einen Vorteil bei der Stellensuche und die Hälfte des Aufwands bei Ihrer zukünftigen Arbeit und Ihrem Studium.

Details ansehen>
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Jina Embeddings v2 zu v3 Migrationsanleitung

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)