Aktuelle Texteinbettungsmodelle wie BERT sind auf die gleichzeitige Verarbeitung von jeweils nur 512 Token beschränkt, was ihre Wirksamkeit bei langen Dokumenten beeinträchtigt. Diese Einschränkung führt häufig zu einem Verlust des Kontexts und eines differenzierten Verständnisses. Jina Embeddings v2 behebt dieses Downside jedoch, indem es Sequenzen mit bis zu 8192 Token unterstützt, wodurch der Kontext erhalten bleibt und die Genauigkeit und Relevanz der verarbeiteten Informationen in langen Dokumenten verbessert wird. Dieser Fortschritt stellt eine wesentliche Verbesserung beim Umgang mit komplexen Textdaten dar.
Lernziele
- Verstehen Sie die Einschränkungen traditioneller Texteinbettungsmodelle wie BERT bei der Verarbeitung langer Dokumente.
- Erfahren Sie, wie Jina Embeddings v2 diese Einschränkungen mit seiner 8192-Token-Unterstützung und seiner fortschrittlichen Architektur überwindet.
- Entdecken Sie die wichtigsten Innovationen hinter Jina Embeddings v2, darunter ALiBi, GLU und den dreistufigen Schulungsprozess.
- Entdecken Sie reale Anwendungen von Jina Embeddings v2 in Bereichen wie Rechtsrecherche, Content material Administration und generative KI.
- Erwerben Sie praktische Kenntnisse über die Integration von Jina Embeddings v2 in Ihre Projekte mithilfe von Hugging Face-Bibliotheken.
Dieser Artikel wurde im Rahmen der veröffentlicht Knowledge Science-Blogathon.
Die Herausforderungen der Einbettung langer Dokumente
Lange Dokumente stellen im NLP einzigartige Herausforderungen dar. Herkömmliche Modelle verarbeiten Textual content in Blöcken, kürzen den Kontext oder erzeugen fragmentierte Einbettungen, die das Originaldokument falsch darstellen. Daraus ergibt sich:
- Erhöhter Rechenaufwand
- Höhere Speichernutzung
- Verminderte Leistung bei Aufgaben, die ein ganzheitliches Verständnis des Textes erfordern
Jina Embeddings v2 geht diese Probleme direkt an, indem es das Token-Restrict auf erweitert 8192Dadurch entfällt die Notwendigkeit einer übermäßigen Segmentierung und die semantische Integrität des Dokuments bleibt erhalten.
Lesen Sie auch: Leitfaden zum Worteinbettungssystem
Innovatives Architektur- und Schulungsparadigma
Jina Embeddings v2 nutzt das Beste von BERT und bereichert es mit modernsten Innovationen. So funktioniert es:
- Achtung bei linearen Biases (ALiBi): ALiBi ersetzt herkömmliche Positionseinbettungen durch eine lineare Verzerrung, die auf Aufmerksamkeitswerte angewendet wird. Dadurch kann das Modell effektiv auf Sequenzen extrapolieren, die viel länger sind als diejenigen, die während des Trainings beobachtet wurden. Im Gegensatz zu früheren Implementierungen, die für unidirektionale generative Aufgaben konzipiert waren, verwendet Jina Embeddings v2 eine bidirektionale Variante, um die Kompatibilität mit kodierungsbasierten Aufgaben sicherzustellen.
- Gated Linear Items (GLU): Die Feedforward-Schichten verwenden GLU, das für die Verbesserung der Transformatoreffizienz bekannt ist. Das Modell verwendet Varianten wie GEGLU und ReGLU, um die Leistung basierend auf der Modellgröße zu optimieren.
- Optimierter Schulungsprozess: Jina Embeddings v2 folgt einem dreistufigen Trainingsparadigma:
- Vorschulung: Das Modell wird auf dem Colossal Clear Crawled Corpus (C4) trainiert und nutzt Masked Language Modeling (MLM), um eine robuste Grundlage zu schaffen.
- Feinabstimmung mit Textpaaren: Konzentriert sich auf die Ausrichtung von Einbettungen für semantisch ähnliche Textpaare.
- Harte detrimental Feinabstimmung: Enthält herausfordernde Distraktor-Beispiele, um die Rating- und Retrieval-Fähigkeiten des Modells zu verbessern.
- Gedächtniseffizientes Coaching: Techniken wie gemischtes Präzisionstraining und Aktivierungs-Checkpointing gewährleisten die Skalierbarkeit für größere Stapelgrößen, was für kontrastive Lernaufgaben von entscheidender Bedeutung ist.
Bei der ALiBi-Aufmerksamkeit wird vor der Softmax-Operation eine lineare Verzerrung in jeden Aufmerksamkeitswert einbezogen. Jeder Aufmerksamkeitskopf verwendet einen eigenen konstanten Skalar m, der seine Berechnung diversifiziert. Unser Modell übernimmt die Encoder-Variante, bei der sich alle Token bei der Berechnung gegenseitig berücksichtigen, im Gegensatz zur kausalen Variante, die ursprünglich für die Sprachmodellierung entwickelt wurde. Im letzteren Fall beschränkt eine Kausalmaske die Token darauf, sich ausschließlich um die vorhergehenden Token in der Sequenz zu kümmern.
Leistungsbenchmarks
Jina Embeddings v2 bietet hochmoderne Leistung in mehreren Benchmarks, einschließlich des Large Textual content Embedding Benchmark (MTEB) und neu gestalteten Datensätzen für lange Dokumente. Zu den wichtigsten Highlights gehören:
- Einstufung: Erreicht höchste Genauigkeit bei Aufgaben wie der Amazon-Polaritäts- und Poisonous-Conversations-Klassifizierung und demonstriert ein robustes semantisches Verständnis.
- Clustering: Übertrifft die Konkurrenz bei der Gruppierung verwandter Texte, bestätigt durch Aufgaben wie PatentClustering und WikiCitiesClustering.
- Abruf: Hervorragend geeignet für Retrieval-Aufgaben wie NarrativeQA, bei denen ein umfassender Dokumentkontext unerlässlich ist.
- Umgang mit langen Dokumenten: Behält die MLM-Genauigkeit auch bei 8192-Token-Sequenzen bei und stellt damit seine Fähigkeit zur effektiven Verallgemeinerung unter Beweis.
Das Diagramm vergleicht die Leistung von Einbettungsmodellen bei Abruf- und Clustering-Aufgaben mit unterschiedlichen Sequenzlängen. Textual content-embedding-ada-002 zeichnet sich insbesondere durch seine 8191-Token-Obergrenze aus und zeigt erhebliche Fortschritte bei Aufgaben mit langem Kontext. Andere Modelle wie e5-base-v2 zeigen konsistente, aber weniger dramatische Verbesserungen bei längeren Sequenzen, was möglicherweise auf das Fehlen von Präfixen wie question: in seinem Setup zurückzuführen ist. Insgesamt erweist sich die Handhabung längerer Sequenzen als entscheidend für die Maximierung der Leistung bei diesen Aufgaben.
Anwendungen in realen Szenarien
- Juristische und akademische Forschung: Die Fähigkeit von Jina Embeddings v2, lange Dokumente zu kodieren, macht es supreme für die Suche und Analyse von juristischen Schriftsätzen, wissenschaftlichen Arbeiten und Patentanmeldungen. Es gewährleistet kontextreiche und semantisch genaue Einbettungen, die für detaillierte Vergleiche und Abrufaufgaben von entscheidender Bedeutung sind.
- Content material-Administration-Systeme: Unternehmen, die umfangreiche Repositories mit Artikeln, Handbüchern oder Multimedia-Untertiteln verwalten, können Jina Embeddings v2 für effizientes Tagging, Clustering und Abruf nutzen.
- Generative KI: Mit seiner erweiterten Kontextverarbeitung kann Jina Embeddings v2 generative KI-Anwendungen erheblich verbessern. Zum Beispiel:
- Verbesserung der Qualität von KI-generierten Zusammenfassungen durch die Bereitstellung umfangreicherer, kontextbezogener Einbettungen.
- Ermöglicht relevantere und präzisere Vervollständigungen für auf Eingabeaufforderungen basierende Modelle.
- E-Commerce: Erweiterte Produktsuch- und Empfehlungssysteme profitieren von Einbettungen, die differenzierte Particulars in langen Produktbeschreibungen und Benutzerbewertungen erfassen.
Vergleich mit bestehenden Modellen
Jina Embeddings v2 zeichnet sich nicht nur durch seine Fähigkeit aus, längere Sequenzen zu verarbeiten, sondern auch durch seine konkurrenzfähige Leistung gegenüber proprietären Modellen wie text-embedding-ada-002 von OpenAI. Während viele Open-Supply-Modelle ihre Sequenzlänge auf 512 Token begrenzen, ermöglicht die 16-fache Verbesserung von Jina Embeddings v2 völlig neue Anwendungsfälle im NLP.
Darüber hinaus gewährleistet die Open-Supply-Verfügbarkeit die Zugänglichkeit für verschiedene Organisationen und Projekte. Das Modell kann mithilfe von Ressourcen für bestimmte Anwendungen verfeinert werden Hugging Face-Repository.
Wie verwende ich Jina Embeddings v2 mit Hugging Face?
Schritt 1: Set up
!pip set up transformers
!pip set up -U sentence-transformers
Schritt 2: Verwenden von Jina Embeddings mit Transformers
Sie können Jina-Einbettungen direkt über die Transformers-Bibliothek verwenden:
import torch
from transformers import AutoModel
from numpy.linalg import norm
# Outline cosine similarity perform
cos_sim = lambda a, b: (a @ b.T) / (norm(a) * norm(b))
# Load the Jina embedding mannequin
mannequin = AutoModel.from_pretrained('jinaai/jina-embeddings-v2-base-en', trust_remote_code=True)
# Encode sentences
embeddings = mannequin.encode(('How is the climate immediately?', 'What's the present climate like immediately?'))
# Calculate cosine similarity
print(cos_sim(embeddings, embeddings))
Ausgabe:
Umgang mit langen Sequenzen
Um längere Sequenzen zu verarbeiten, geben Sie den Parameter max_length an:
embeddings = mannequin.encode(('Very lengthy ... doc'), max_length=2048)
Schritt 3: Verwendung von Jina-Einbettungen mit Satztransformatoren
Alternativ können Sie Jina-Einbettungen mit der Satztransformatoren-Bibliothek verwenden:
from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim
# Load the Jina embedding mannequin
mannequin = SentenceTransformer('jinaai/jina-embeddings-v2-base-en', trust_remote_code=True)
# Encode sentences
embeddings = mannequin.encode(('How is the climate immediately?', 'What's the present climate like immediately?'))
# Calculate cosine similarity
print(cos_sim(embeddings, embeddings))
Festlegen der maximalen Sequenzlänge
Steuern Sie die Länge der Eingabesequenz nach Bedarf:
mannequin.max_seq_length = 1024 # Set most sequence size to 1024 tokens
Wichtige Hinweise
- Stellen Sie sicher, dass Sie bei Hugging Face angemeldet sind, um auf geschlossene Modelle zugreifen zu können. Stellen Sie bei Bedarf ein Zugriffstoken bereit.
- Der Leitfaden gilt für englische Modelle; Verwenden Sie für andere Sprachen die entsprechende Modellkennung (z. B. Chinesisch oder Deutsch).
Lesen Sie auch: Erkunden des Einbettens von Modellen mit Vertex AI
Abschluss
Jina Embeddings v2 stellt einen wichtigen Fortschritt im NLP dar und geht auf die Herausforderungen der Einbettung langer Dokumente ein. Durch die Unterstützung von Sequenzen von bis zu 8192 Token und die Bereitstellung einer starken Leistung ermöglicht es eine Vielzahl von Anwendungen, einschließlich akademischer Forschung, Unternehmenssuche und generativer KI. Da NLP-Aufgaben zunehmend die Verarbeitung langer und komplexer Texte umfassen, werden Innovationen wie Jina Embeddings v2 unverzichtbar. Seine Fähigkeiten verbessern nicht nur aktuelle Arbeitsabläufe, sondern eröffnen auch neue Möglichkeiten für die zukünftige Arbeit mit langen Textdaten.
Für weitere Particulars oder um Jina Embeddings v2 in Ihre Projekte zu integrieren, besuchen Sie es Umarmende Gesichtsseite.
Wichtige Erkenntnisse
- Jina Embeddings v2 unterstützt bis zu 8192 Token und behebt damit eine wichtige Einschränkung bei NLP-Aufgaben mit langen Dokumenten.
- ALiBi (Consideration with Linear Biases) ersetzt herkömmliche Positionseinbettungen und ermöglicht es dem Modell, längere Sequenzen effektiv zu verarbeiten.
- Gated Linear Items (GLU) verbessern die Transformatoreffizienz, wobei Varianten wie GEGLU und ReGLU die Leistung steigern.
- Der dreistufige Trainingsprozess (Vortraining, Feinabstimmung und harte detrimental Feinabstimmung) stellt sicher, dass das Modell robuste und genaue Einbettungen erzeugt.
- Jina Embeddings v2 schneidet bei Aufgaben wie Klassifizierung, Clustering und Abruf außergewöhnlich intestine ab, insbesondere bei langen Dokumenten.
Häufig gestellte Fragen
A. Jina Embeddings v2 unterstützt Sequenzen mit bis zu 8192 Token und überwindet damit die 512-Token-Grenze traditioneller Modelle wie BERT. Dadurch können lange Dokumente ohne Segmentierung verarbeitet werden, der globale Kontext bleibt erhalten und die semantische Darstellung wird verbessert.
A. Das Modell beinhaltet hochmoderne Innovationen wie Consideration with Linear Biases (ALiBi), Gated Linear Items (GLU) und ein dreistufiges Trainingsparadigma. Diese Optimierungen ermöglichen eine effektive Bearbeitung längerer Texte bei gleichzeitig hoher Leistung und Effizienz.
A. Sie können es entweder mithilfe der Bibliotheken „Transformer“ oder „Satztransformer“ integrieren. Beide bieten benutzerfreundliche APIs für die Textkodierung, die Verarbeitung langer Sequenzen und die Durchführung von Ähnlichkeitsberechnungen. Detaillierte Einrichtungsschritte und Beispielcodes finden Sie im Handbuch.
A. Stellen Sie sicher, dass Sie bei Hugging Face angemeldet sind, um auf geschlossene Modelle zugreifen zu können, und geben Sie bei Bedarf ein Zugriffstoken an. Bestätigen Sie außerdem die Kompatibilität des Modells mit Ihren Sprachanforderungen, indem Sie die entsprechende Kennung auswählen (z. B. für chinesische oder deutsche Modelle).
Die in diesem Artikel gezeigten Medien sind nicht Eigentum von Analytics Vidhya und werden nach Ermessen des Autors verwendet.