Pressemitteilungen
Modelle
Produkte
keyboard_arrow_down
DeepSearch
Suchen, lesen und überlegen, bis die beste Antwort gefunden ist.
Leser
Lesen Sie URLs und suchen Sie im Internet nach fundierteren LLMs.
Einbettungen
Multimodale und mehrsprachige Einbettungen von Weltklasse.
Reranker
Neural Retriever der Weltklasse zur Maximierung der Suchrelevanz.
Mehr
keyboard_arrow_down
Klassifikator
Zero-Shot- und Few-Shot-Klassifizierung für Bild und Text.
Segmentierer
Schneiden Sie langen Text in Abschnitte und führen Sie eine Tokenisierung durch.

API-Dokumente
Automatische Codegenerierung für Ihre Copilot-IDE oder LLM
open_in_new


Unternehmen
keyboard_arrow_down
Über uns
Kontaktieren Sie unseren Vertrieb
Praktikantenprogramm
Begleiten Sie uns
open_in_new
Logo herunterladen
open_in_new
Terms & amp; Bedingungen


Einloggen
login
Die CLIP-Architektur für multimodale KI
Einführung in Jina CLIP v1
Neuer State-of-the-Art bei multimodalen Einbettungen
Erste Schritte mit der Embeddings API
Open-Source Jina CLIP v1 auf Hugging Face
Zusammenfassung
star
Hervorgehoben
Pressemitteilung
Juni 05, 2024

Jina CLIP v1: Ein wirklich multimodales Embedding-Modell für Text und Bild

Das neue multimodale Embedding-Modell von Jina AI übertrifft nicht nur OpenAI CLIP bei der Text-Bild-Suche, es ist gleichzeitig auch ein leistungsstarkes Image-Embedding-Modell und ein hochmodernes Text-Embedding-Modell. Sie benötigen keine verschiedenen Modelle mehr für unterschiedliche Modalitäten.
Abstract 3D render of a neon blue and green grid pattern on a black background, creating a sense of depth.
Sofia Vasileva
Scott Martens
Susana Guzmán
Sofia Vasileva, Scott Martens, Susana Guzmán • 8 Minuten gelesen

Jina CLIP v1 (jina-clip-v1) ist ein neues multimodales Embedding-Modell, das die Fähigkeiten von OpenAIs originalem CLIP-Modell erweitert. Mit diesem neuen Modell haben Nutzer ein einziges Embedding-Modell, das State-of-the-Art-Leistung sowohl bei reinen Text-Retrievals als auch bei Text-Bild-Cross-Modal-Retrievals bietet. Jina AI hat die Leistung von OpenAI CLIP um 165% beim reinen Text-Retrieval und um 12% beim Bild-zu-Bild-Retrieval verbessert, bei identischer oder leicht besserer Leistung bei Text-zu-Bild- und Bild-zu-Text-Aufgaben. Diese verbesserte Leistung macht Jina CLIP v1 unverzichtbar für die Arbeit mit multimodalen Eingaben.

💡
jina-clip-v1 verbessert OpenAI CLIP in jeder Retrieval-Kategorie.

In diesem Artikel werden wir zunächst die Schwächen des ursprünglichen CLIP-Modells und unseren Ansatz zu deren Behebung mittels einer einzigartigen Co-Training-Methode diskutieren. Anschließend werden wir die Effektivität unseres Modells anhand verschiedener Retrieval-Benchmarks demonstrieren. Abschließend geben wir detaillierte Anleitungen, wie Nutzer mit Jina CLIP v1 über unsere Embeddings API und Hugging Face beginnen können.

tagDie CLIP-Architektur für multimodale KI

Im Januar 2021 veröffentlichte OpenAI das CLIP (Contrastive Language–Image Pretraining) Modell. CLIP hat eine einfache, aber geniale Architektur: es kombiniert zwei Embedding-Modelle, eines für Texte und eines für Bilder, in einem einzigen Modell mit einem gemeinsamen Embedding-Ausgaberaum. Seine Text- und Bild-Embeddings sind direkt miteinander vergleichbar, wodurch der Abstand zwischen einem Text-Embedding und einem Bild-Embedding proportional dazu ist, wie gut dieser Text das Bild beschreibt und umgekehrt.

Dies hat sich als sehr nützlich für multimodales Information Retrieval und Zero-Shot-Bildklassifizierung erwiesen. Ohne spezielles zusätzliches Training war CLIP in der Lage, Bilder gut in Kategorien mit natürlichsprachlichen Labels einzuordnen.

Diagram illustrating image to text translation using an astronaut on Mars with a red moon as an example.

Das Text-Embedding-Modell im ursprünglichen CLIP war ein spezielles neuronales Netzwerk mit nur 63 Millionen Parametern. Auf der Bildseite veröffentlichte OpenAI CLIP mit einer Auswahl von ResNet und ViT-Modellen. Jedes Modell wurde für seine individuelle Modalität vortrainiert und dann mit beschrifteten Bildern trainiert, um ähnliche Embeddings für vorbereitete Bild-Text-Paare zu erzeugen.

Flowchart with text "Embedding Space", linked to "Image Encoder" and "Text Encoder", with a "Distracted boyfriend" label.

Dieser Ansatz lieferte beeindruckende Ergebnisse. Besonders bemerkenswert ist die Zero-Shot-Klassifizierungsleistung. Auch wenn die Trainingsdaten keine beschrifteten Bilder von Astronauten enthielten, konnte CLIP Bilder von Astronauten basierend auf seinem Verständnis verwandter Konzepte in Texten und Bildern korrekt identifizieren.

Allerdings hat OpenAIs CLIP zwei wichtige Nachteile:

  • Erstens ist die Texteingabekapazität sehr begrenzt. Es kann maximal 77 Token als Eingabe verarbeiten, aber empirische Analysen zeigen, dass es in der Praxis nicht mehr als 20 Token zur Erzeugung seiner Embeddings nutzt. Dies liegt daran, dass CLIP mit Bildern und Bildunterschriften trainiert wurde, und Bildunterschriften tendenziell sehr kurz sind. Dies steht im Gegensatz zu aktuellen Text-Embedding-Modellen, die mehrere tausend Token unterstützen.
  • Zweitens ist die Leistung seiner Text-Embeddings bei reinen Text-Retrieval-Szenarien sehr schlecht. Bildunterschriften sind eine sehr eingeschränkte Art von Text und spiegeln nicht das breite Spektrum an Anwendungsfällen wider, die ein Text-Embedding-Modell unterstützen sollte.

In den meisten realen Anwendungsfällen werden reines Text- und Bild-Text-Retrieval kombiniert oder zumindest beide für Aufgaben zur Verfügung gestellt. Die Pflege eines zweiten Embeddings-Modells für reine Text-Aufgaben verdoppelt effektiv die Größe und Komplexität Ihres KI-Frameworks.

Das neue Modell von Jina AI adressiert diese Probleme direkt, und jina-clip-v1 nutzt die Fortschritte der letzten Jahre, um State-of-the-Art-Leistung für Aufgaben mit allen Kombinationen von Text- und Bildmodalitäten zu bieten.

tagEinführung in Jina CLIP v1

Jina CLIP v1 behält das ursprüngliche CLIP-Schema von OpenAI bei: zwei Modelle, die co-trainiert werden, um Ausgaben im gleichen Embedding-Raum zu erzeugen.

Für die Textkodierung haben wir die Jina BERT v2 Architektur adaptiert, die in den Jina Embeddings v2 Modellen verwendet wird. Diese Architektur unterstützt ein State-of-the-Art 8k Token Eingabefenster und gibt 768-dimensionale Vektoren aus, die genauere Embeddings aus längeren Texten erzeugen. Dies ist mehr als das 100-fache der 77 Token Eingabe, die im ursprünglichen CLIP-Modell unterstützt wurden.

Für Bild-Embeddings verwenden wir das neueste Modell der Beijing Academy for Artificial Intelligence: das EVA-02 Modell. Wir haben empirisch verschiedene Bild-KI-Modelle verglichen, sie in cross-modalen Kontexten mit ähnlichem Pre-Training getestet, und EVA-02 übertraf die anderen deutlich. Es ist auch in der Modellgröße vergleichbar mit der Jina BERT Architektur, sodass die Rechenlasten für Bild- und Textverarbeitungsaufgaben ungefähr identisch sind.

Diese Entscheidungen bringen wichtige Vorteile für Benutzer:

  • Bessere Leistung bei allen Benchmarks und allen modalen Kombinationen, und besonders große Verbesserungen bei der reinen Text-Embedding-Leistung.
  • Die empirisch überlegene Leistung von EVA-02 sowohl bei Bild-Text- als auch bei reinen Bildaufgaben, mit dem zusätzlichen Vorteil von Jina AIs zusätzlichem Training, das die reine Bildleistung verbessert.
  • Unterstützung für viel längere Texteingaben. Die 8k Token Eingabeunterstützung von Jina Embeddings ermöglicht es, detaillierte Textinformationen zu verarbeiten und mit Bildern zu korrelieren.
  • Eine große Nettoeinsparung bei Speicherplatz, Rechenleistung, Code-Wartung und Komplexität, da dieses multimodale Modell auch in nicht-multimodalen Szenarien sehr leistungsfähig ist.

tagTraining

Ein Teil unseres Rezepts für hochleistungsfähige multimodale KI sind unsere Trainingsdaten und -prozedur. Wir stellen fest, dass die sehr kurze Länge der Texte in Bildunterschriften die Hauptursache für die schlechte reine Textleistung in CLIP-artigen Modellen ist, und unser Training ist explizit darauf ausgerichtet, dies zu beheben.

Flowchart illustrating optimization of text and caption-image similarity in three tasks, using a model and encoders, ending i

Das Training erfolgt in drei Schritten:

  1. Verwendung von Daten mit beschrifteten Bildern, um Bild- und Text-Embeddings anzugleichen, durchsetzt mit Textpaaren mit ähnlichen Bedeutungen. Dieses Co-Training optimiert gemeinsam für die beiden Arten von Aufgaben. Die reine Textleistung des Modells nimmt während dieser Phase ab, aber nicht so stark wie wenn wir nur mit Bild-Text-Paaren trainiert hätten.
  2. Training mit synthetischen Daten, die Bilder mit längeren, von einem KI-Modell generierten Texten verbinden, die das Bild beschreiben. Gleichzeitiges Weitertraining mit reinen Textpaaren. Während dieser Phase lernt das Modell, längere Texte in Verbindung mit Bildern zu verarbeiten.
  3. Verwendung von Text-Triplets mit schwierigen Negativbeispielen, um die reine Textleistung durch das Erlernen feinerer semantischer Unterscheidungen weiter zu verbessern. Gleichzeitig wird das Training mit synthetischen Paaren von Bildern und langen Texten fortgesetzt. Während dieser Phase verbessert sich die reine Textleistung dramatisch, ohne dass das Modell seine Bild-Text-Fähigkeiten verliert.

Weitere Informationen zu den Details des Trainings und der Modellarchitektur finden Sie in unserem aktuellen Paper:

Jina CLIP: Your CLIP Model Is Also Your Text Retriever
Contrastive Language-Image Pretraining (CLIP) wird häufig verwendet, um Modelle zu trainieren, die Bilder und Texte in einem gemeinsamen Einbettungsraum durch Abbildung auf Vektoren fester Größe ausrichten. Diese Modelle sind der Schlüssel für multimodales Information Retrieval und verwandte Aufgaben. Allerdings zeigen CLIP-Modelle bei reinen Textaufgaben im Vergleich zu spezialisierten Textmodellen eine schlechtere Leistung. Dies führt zu Ineffizienzen bei Information-Retrieval-Systemen, die separate Einbettungen und Modelle für reine Text- und multimodale Aufgaben verwalten. Wir schlagen eine neuartige Multi-Task-Kontrastive-Trainingsmethode vor, um dieses Problem zu lösen, mit der wir das jina-clip-v1-Modell trainieren, um State-of-the-Art-Leistung sowohl bei Text-Bild- als auch bei Text-Text-Retrieval-Aufgaben zu erreichen.
arXiv.orgAndreas Koukounas

tagNeuer State-of-the-Art bei multimodalen Einbettungen

Wir haben die Leistung von Jina CLIP v1 bei reinen Text-, reinen Bild- und Cross-Modal-Aufgaben mit beiden Eingabemodalitäten evaluiert. Wir verwendeten den MTEB Retrieval Benchmark zur Evaluierung der reinen Textleistung. Für reine Bildaufgaben verwendeten wir den CIFAR-100 Benchmark. Für Cross-Model-Aufgaben evaluieren wir auf Flickr8k, Flickr30K und MSCOCO Captions, die im CLIP Benchmark enthalten sind.

Die Ergebnisse sind in der folgenden Tabelle zusammengefasst:

Model Text-Text Text-to-Image Image-to-Text Image-Image
jina-clip-v1 0.429 0.899 0.803 0.916
openai-clip-vit-b16 0.162 0.881 0.756 0.816
% increase
vs OpenAI CLIP
165% 2% 6% 12%

Wie Sie aus diesen Ergebnissen ersehen können, übertrifft jina-clip-v1 OpenAIs ursprüngliches CLIP in allen Kategorien und ist bei reinem Text- und Bild-Retrieval deutlich besser. Über alle Kategorien gemittelt ist dies eine 46%ige Leistungsverbesserung.

Eine detailliertere Auswertung finden Sie in unserem aktuellen Paper.

tagErste Schritte mit der Embeddings API

Sie können Jina CLIP v1 einfach in Ihre Anwendungen integrieren, indem Sie die Jina Embeddings API verwenden.

Der folgende Code zeigt, wie Sie die API aufrufen können, um Einbettungen für Texte und Bilder zu erhalten, unter Verwendung des requests Pakets in Python. Er übergibt einen Textstring und eine URL zu einem Bild an den Jina AI Server und gibt beide Kodierungen zurück.

☝️
Denken Sie daran, <YOUR_JINA_AI_API_KEY> durch einen aktivierten Jina API-Schlüssel zu ersetzen. Sie können einen Test-Schlüssel mit einer Million kostenlosen Tokens von der Jina Embeddings Webseite erhalten.
import requests
import numpy as np
from numpy.linalg import norm

cos_sim = lambda a,b: (a @ b.T) / (norm(a)*norm(b))

url = 'https://api.jina.ai/v1/embeddings'

headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer <YOUR_JINA_AI_API_KEY>'
}

data = {
  'input': [
     {"text": "Bridge close-shot"},
     {"url": "https://fastly.picsum.photos/id/84/1280/848.jpg?hmac=YFRYDI4UsfbeTzI8ZakNOR98wVU7a-9a2tGF542539s"}],
  'model': 'jina-clip-v1',
  'encoding_type': 'float'
}

response = requests.post(url, headers=headers, json=data)
sim = cos_sim(np.array(response.json()['data'][0]['embedding']), np.array(response.json()['data'][1]['embedding']))
print(f"Cosine text<->image: {sim}")

tagIntegration mit wichtigen LLM-Frameworks

Jina CLIP v1 ist bereits verfügbar für LlamaIndex und LangChain:

  • LlamaIndex: Verwenden Sie JinaEmbedding mit der MultimodalEmbedding Basisklasse und rufen Sie get_image_embeddings oder get_text_embeddings auf.
  • LangChain: Verwenden Sie JinaEmbeddings und rufen Sie embed_images oder embed_documents auf.

tagPreisgestaltung

Sowohl Text- als auch Bildeingaben werden nach Token-Verbrauch berechnet.

Für englische Texte haben wir empirisch berechnet, dass im Durchschnitt 1,1 Token pro Wort benötigt werden.

Bei Bildern zählen wir die Anzahl der 224x224 Pixel-Kacheln, die benötigt werden, um Ihr Bild abzudecken. Einige dieser Kacheln können teilweise leer sein, zählen aber genauso. Jede Kachel kostet 1.000 Token zur Verarbeitung.

Beispiel

Für ein Bild mit den Abmessungen 750x500 Pixel:

  1. Das Bild wird in 224x224 Pixel-Kacheln aufgeteilt.
    1. Um die Anzahl der Kacheln zu berechnen, nehmen Sie die Breite in Pixeln und teilen Sie durch 224, dann runden Sie auf die nächste ganze Zahl auf.
      750/224 ≈ 3,35 → 4
    2. Wiederholen Sie dies für die Höhe in Pixeln:
      500/224 ≈ 2,23 → 3
  2. Die Gesamtzahl der benötigten Kacheln in diesem Beispiel ist:
    4 (horizontal) x 3 (vertikal) = 12 Kacheln
  3. Die Kosten betragen 12 x 1.000 = 12.000 Token

tagEnterprise-Support

Wir führen einen neuen Vorteil für Benutzer ein, die den Production Deployment Plan mit 11 Milliarden Token erwerben. Dies beinhaltet:

  • Drei Stunden Beratung mit unseren Produkt- und Engineering-Teams, um Ihre spezifischen Anwendungsfälle und Anforderungen zu besprechen.
  • Ein angepasstes Python-Notebook für Ihren RAG (Retrieval-Augmented Generation) oder Vektorsuche-Anwendungsfall, das zeigt, wie Sie Jina AIs Modelle in Ihre Anwendung integrieren können.
  • Zuweisung eines Account Executive und priorisierter E-Mail-Support, um sicherzustellen, dass Ihre Bedürfnisse zeitnah und effizient erfüllt werden.

tagOpen-Source Jina CLIP v1 auf Hugging Face

Jina AI ist einer Open-Source-Suchgrundlage verpflichtet und stellt dieses Modell daher kostenlos unter einer Apache 2.0 Lizenz auf Hugging Face zur Verfügung.

Beispielcode zum Herunterladen und Ausführen dieses Modells auf Ihrem eigenen System oder Ihrer Cloud-Installation finden Sie auf der Hugging Face Modellseite für jina-clip-v1.

jinaai/jina-clip-v1 · Hugging Face
Wir sind auf einer Reise, künstliche Intelligenz durch Open Source und Open Science voranzutreiben und zu demokratisieren.

tagZusammenfassung

Jina AIs neuestes Modell — jina-clip-v1 — stellt einen bedeutenden Fortschritt bei multimodalen Einbettungsmodellen dar und bietet erhebliche Leistungsverbesserungen gegenüber OpenAIs CLIP. Mit bemerkenswerten Verbesserungen bei reinen Text- und Bild-Retrieval-Aufgaben sowie wettbewerbsfähiger Leistung bei Text-zu-Bild- und Bild-zu-Text-Aufgaben ist es eine vielversprechende Lösung für komplexe Einbettungsanwendungsfälle.

Dieses Modell unterstützt aufgrund von Ressourcenbeschränkungen derzeit nur englischsprachige Texte. Wir arbeiten daran, seine Fähigkeiten auf weitere Sprachen auszuweiten.

Kategorien:
star
Hervorgehoben
Pressemitteilung
rss_feed
Büros
location_on
Sunnyvale, Kalifornien
710 Lakeway Dr, Ste 200, Sunnyvale, CA 94085, USA
location_on
Berlin, Deutschland (Hauptsitz)
Prinzessinnenstraße 19-20, 10969 Berlin, Deutschland
location_on
Peking, China
Ebene 5, Gebäude 6, Nr. 48 Haidian West St. Peking, China
location_on
Shenzhen, China
402 Etage 4, Fu'an Technology Building, Shenzhen, China
Stiftung durchsuchen
DeepSearch
Leser
Einbettungen
Reranker
Klassifikator
Segmentierer
API-Dokumentation
Jina API-Schlüssel abrufen
Ratenbegrenzung
API-Status
Unternehmen
Über uns
Kontaktieren Sie unseren Vertrieb
Pressemitteilungen
Praktikantenprogramm
Begleiten Sie uns
open_in_new
Logo herunterladen
open_in_new
Bedingungen
Sicherheit
Terms & amp; Bedingungen
Privatsphäre
Cookie-Einstellungen
email
Jina AI © 2020-2025.