IBM Granite embedding 107m multilingual model card
Granite 107m Mehrsprachige Modellkarte
Letzte Aktualisierung: 16. Jan. 2025
Granite 107m Mehrsprachige Modellkarte
granite-embedding-107m-multilingual ist ein 107M Biencoder-Einbettungsmodell aus Granite, das zur Generierung hochwertiger Texteinbettungen verwendet werden kann. Dieses Modell erzeugt Einbettungsvektoren der Größe 384 und wird mithilfe einer Kombination aus Open-Source-Relevanzpaardatensätzen mit einer freizügigen, unternehmensfreundlichen Lizenz und IBM gesammelten und generierten Datensätzen trainiert. Dieses Modell wurde mithilfe von kontrastiver Feinabstimmung, Wissensdestillation und Modellzusammenführung für eine verbesserte Leistung entwickelt.
Englisch, Deutsch, Spanisch, Französisch, Japanisch, Portugiesisch, Arabisch, Tschechisch, Italienisch, Koreanisch, Niederländisch und Chinesisch. Benutzer können granite-embedding-107m-multilingual für Sprachen über diese 12 Sprachen hinaus anpassen.
Vorgesehene Verwendung
Copy link to section
Das Modell ist darauf ausgelegt, Vektordarstellungen mit fester Länge für einen bestimmten Text zu erstellen, die für Textähnlichkeits-, Abruf- und Suchanwendungen verwendet werden können.
Verwendung mit Satztransformationen
Copy link to section
Das Modell ist mit SentenceTransformer kompatibel und sehr benutzerfreundlich:
Installieren Sie zunächst die Bibliothek der Satztransformatoren.
pip install sentence_transformers
Das Modell kann dann verwendet werden, um Textpaare zu kodieren und die Ähnlichkeit zwischen ihren Darstellungen zu ermitteln.
from sentence_transformers import SentenceTransformer, util
model_path = "ibm-granite/granite-embedding-107m-multilingual"# Load the Sentence Transformer model
model = SentenceTransformer(model_path)
input_queries = [
' Who made the song My achy breaky heart? ',
'summit define'
]
input_passages = [
"Achy Breaky Heart is a country song written by Don Von Tress. Originally titled Don't Tell My Heart and performed by The Marcy Brothers in 1991. ",
"Definition of summit for English Language Learners. : 1 the highest point of a mountain : the top of a mountain. : 2 the highest level. : 3 a meeting or series of meetings between the leaders of two or more governments."
]
# encode queries and passages
query_embeddings = model.encode(input_queries)
passage_embeddings = model.encode(input_passages)
# calculate cosine similarityprint(util.cos_sim(query_embeddings, passage_embeddings))
Show more
Verwendung mit Huggingface Transformers
Copy link to section
Dies ist ein einfaches Beispiel für die Verwendung granite-embedding-107m-multilingual mit der Transformers-Bibliothek und PyTorch.
Installieren Sie zunächst die erforderlichen Bibliotheken.
pip install transformers torch
Das Modell kann dann zur Verschlüsselung von Textpaaren verwendet werden.
import torch
from transformers import AutoModel, AutoTokenizer
model_path = "ibm-granite/granite-embedding-107m-multilingual"# Load the model and tokenizer
model = AutoModel.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path)
model.eval()
input_queries = [
' Who made the song My achy breaky heart? ',
'summit define'
]
# tokenize inputs
tokenized_queries = tokenizer(input_queries, padding=True, truncation=True, return_tensors='pt')
# encode querieswith torch.no_grad():
# Queries
model_output = model(**tokenized_queries)
# Perform pooling. granite-embedding-107m-multilingual uses CLS Pooling
query_embeddings = model_output[0][:, 0]
# normalize the embeddings
query_embeddings = torch.nn.functional.normalize(query_embeddings, dim=1)
Show more
Evaluierung
Copy link to section
Die durchschnittliche Leistung granite-embedding-107m-multilingual bei Multilingual Miracl (in 18 Sprachen), Mintaka Retrieval (in 8 Sprachen) und MTEB Retrieval für Englisch (in 15 Aufgaben), Deutsch (über 4 Aufgaben), Spanisch (über 2 Aufgaben), Französisch (über 5 Aufgaben), Japanisch (über 2 Aufgaben), Arabisch (1 Aufgabe), Koreanisch (1 Aufgabe) und Chinesisch (über 8 Aufgaben) wird unten berichtet. Das 107 m lange granite-embedding-107m-multilingual Granit-Modell ist doppelt so schnell wie andere Modelle mit ähnlichen Einbettungsabmessungen.
Tabelle 1 Benchmark-Ergebnisse für granite-embedding-107m-multilingual
Modell
Parameter (M)
Einbettungsdimension
Miracl (18)
Mintaka-Bergung (8)
MTEB Englisch (15)
MTEB Deutsch (4)
MTEB Spanisch (2)
MTEB Französisch (5)
MTEB Japanisch (2)
MTEB Arabisch (1)
MTEB Koreanisch (1)
MTEB Chinesisch (8)
granite-embedding-107m-multilingual
107
384
55.9
22.6
45.3
70.3
48.7
51.1
59.0
63.2
70.5
40.8
Modellarchitektur
Copy link to section
Das granite-embedding-107m-multilingual Granit-Modell basiert auf einer reinen XLM-RoBERTa Transformatorarchitektur, die intern bei IBM trainiert wurde.
Insgesamt bestehen die Trainingsdaten aus vier Hauptquellen: (1) unüberwachte, aus dem Internet zusammengetragene Titel-Text-Datenpaare, (2) öffentlich verfügbare Datenpaare mit einer freizügigen, unternehmensfreundlichen Lizenz, (3) IBM Datenpaare, die auf bestimmte technische Bereiche abzielen, und (4) IBM synthetische Daten. Die Daten sind unten aufgeführt:
Tabelle 3. Trainingsdaten für granite-embedding-107m-multilingual (107 m)
Dataset
Num. Paare
MC4
52.823.484
Mehrsprachige Website
12.369.322
Englische Wikipedia
20.745.403
Mehrsprachige Wikimedia
2.911.090
Miraculous Corpus (Titel-Textkörper)
10.120.398
Stack Exchange Doppelte Fragen (Titel)
304.525
Stack Exchange Doppelte Fragen (Titel)
304.525
Stack Exchange Doppelte Fragen (Textkörper)
250.519
Maschinelle Übersetzungen von Stack Exchange Doppelte Fragen (Titel)
187.195
Paare aus Titel und Antwort in der Stack Exchange
4.067.139
Stack Exchange (Titel, Text) Paare
23.978.013
Stack Exchange (Titel, Text) Paare
23.978.013
Maschinelle Übersetzungen von Stack-Exchange-Paaren (Titel+Text, Antwort)
Insbesondere verwenden wir den beliebten MS-MARCO-Abrufdatensatz aufgrund seiner nicht kommerziellen Lizenz nicht in unserem Trainingskorpus, während andere Open-Source-Modelle aufgrund seiner hohen Qualität mit diesem Datensatz trainieren.
Infrastruktur
Copy link to section
Wir trainieren Granite Embedding Models mithilfe des Computerclusters Cognitive Compute Cluster von IBM, der mit NVIDIA A100 80gb GPUs ausgestattet ist. Dieser Cluster bietet eine skalierbare und effiziente Infrastruktur für das Training unserer Modelle über mehrere GPUs.
Ethische Überlegungen und Einschränkungen
Copy link to section
Die englischen Daten, die zum Trainieren des Basissprachenmodells verwendet wurden, wurden gefiltert, um Texte zu entfernen, die Hass, Beleidigungen und Obszönitäten enthielten.
Ressourcen
Copy link to section
Informieren Sie sich über die neuesten Updates für Granite : IBM Granite -Website
Erste Schritte mit Tutorials, Best Practices und sofortiger technischer Beratung: IBM Granite -Dokumentation
Erfahren Sie mehr über die neuesten Lernressourcen Granite : IBM
Über den Einsatz von Cookies auf dieser WebsiteUnsere Websites benötigen einige Cookies, um ordnungsgemäß zu funktionieren (erforderlich). Darüber hinaus können mit Ihrer Zustimmung weitere Cookies verwendet werden, um die Nutzung der Website zu analysieren, die Benutzerfreundlichkeit zu verbessern und Werbung zu schalten.Weitere Informationen finden Sie in Ihren Cookie-Benutzervorgaben. Durch den Besuch unserer Website erklären Sie sich mit der Verarbeitung von Informationen einverstanden, wie in der IBMDatenschutzbestimmung beschrieben.Um eine reibungslose Navigation zu ermöglichen, werden Ihre Cookie-Präferenzen über die hier aufgeführten IBM Web-Domains hinweg gemeinsam genutzt.