0 / 0
Zurück zur englischen Version der Dokumentation
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.

Unterstützte Sprachen

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

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

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 similarity
print(util.cos_sim(query_embeddings, passage_embeddings))

Verwendung mit Huggingface Transformers

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 queries
with 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)

Evaluierung

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

Das granite-embedding-107m-multilingual Granit-Modell basiert auf einer reinen XLM-RoBERTa Transformatorarchitektur, die intern bei IBM trainiert wurde.

Tabelle 2. Granite Einbettung Modellarchitektur Details
Modell granite-embedding-30m-english granite-embedding-125m-english granite-embedding-107m-multilingual granite-embedding-278m-multilingual
Einbettungsgröße 384 768 384 768
Anzahl Ebenen 6 12. 6 12.
Anzahl der Aufmerksamkeitsspitzen 12. 12. 12 12.
Zwischengröße 1536 3072 1536 3072
Aktivierungsfunktion GeLU GeLU GeLU GeLU
Wortschatzgröße 50265 50265 250002 250002
Maximale Sequenzlänge 512 512 512 512
Anzahl Parameter 30M 125M 107M 278M

Trainingsdaten

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) 1.827,15
SearchQA 582.261
S2ORC (Titel, Zusammenfassung) 41.769.185
WikiAnswers Doppelte Fragenpaare 77.427.422
CCNews 614.664
XSum 226.711
SimpleWiki 102.225
Maschinell übersetzte, sprachübergreifende, parallele Korpora 28.376.115
SPECTER-Zitat-Drillinge 684.100
Maschinelle Übersetzungen von SPECTER-Zitat-Triplets 4.104.600
Natürliche Fragen (NQ) 100.231
SQuAD2.0 87.599
HotpotQA 85.000
Fieber 109.810
PubMed 20.000.000
Mehrsprachige Miracl-Drillinge 81.409
Mehrsprachiger MrTydi 48.715
Sadeeem Frage Beantwortung 4.037
DBPedia Titel-Text-Paare 4.635.922
Synthetisch: Englische Abfrage – Wikipedia-Passage 1.879.093
Synthetisch: Englische Faktenüberprüfung 9.888
Synthetisch: Mehrsprachige Abfrage – Wikipedia-Passage 300.266
Synthetisch: Mehrsprachige Nachrichtenzusammenfassungen 37.489
IBM interne Dreifachbelegungen 40.290
IBM Interne Titel-Text-Paare 1.524.586

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

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

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

  • 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