Zum Inhalt

Deep Learning

Tokenisierung mit Byte Pair Encoding (BPE)

Die Tokenisierung ist ein entscheidender Schritt in vielen NLP-Anwendungen (Natural Language Processing). Sie bestimmt, wie Wörter (bzw. Text) in kleinere Einheiten – sogenannte Tokens – zerlegt werden. Diese Tokens können einzelne Buchstaben, Wortteile (Subwords) oder ganze Wörter sein. Besonders bei modernen Sprachmodellen und Anwendungen wie maschineller Übersetzung und Textklassifikation wird eine geschickte Tokenisierung immer wichtiger.

---
config:
  sankey:
    showValues: false
    linkColor: 'target'
    width: 450
    height: 300
---
%%{
init: {
    'theme': 'base',
    'themeVariables': {
    'primaryTextColor': '#888888'
    }
}
}%%
sankey-beta

Tokenisierung_,Token,10.0
Tokenisierung_,is,10.0
Tokenisierung_,ierung,10.0
mit_ Byte_,mit,10.0
mit_ Byte_,Byte,10.0
Pair_,P,10.0
Pair_,air,10.0
Encoding_,Enc,10.0
Encoding_,oding,10.0

Ein gängiges Verfahren dafür ist Byte Pair Encoding (BPE). Ursprünglich entstammt BPE einer Datenkompressionstechnik, hat jedoch Einzug in die NLP-Welt gefunden, um das Problem von seltenen Wörtern und unbekanntem Vokabular besser zu handhaben. Dieser Blog-Beitrag zeigt Schritt für Schritt, wie man einen BPE-Tokenizer aufbaut und wie ein solcher Tokenizer anschließend zum Einsatz kommt.

Kontrastive Embeddings für die Text-zu-Bild-Suche

In diesem Beitrag stelle ich ein Projekt vor, das sich mit Text-zu-Bild-Retrieval1 befasst. Die Grundidee: Nutzerinnen und Nutzer geben eine kurze Beschreibung ein und erhalten jene Bilder vorgeschlagen, die am ehesten zum eingegebenen Text passen.

Um dieses Ziel zu erreichen, kommt ein Dual-Encoder-Ansatz zum Einsatz, der Bilder und Texte in einen gemeinsamen Merkmalsraum einbettet. Dadurch können Ähnlichkeiten verlässlich bestimmt und Bild-Text-Paare nach ihrer Übereinstimmung sortiert werden. Im Gegensatz zu klassischen Regressionslösungen entsteht durch kontrastives Training ein besonders aussagekräftiger Embedding-Raum, in dem das gesuchte Bild leichter auffindbar ist.

Im Folgenden erläutere ich die Datenstruktur, das Modell-Design sowie die rechtlichen Rahmenbedingungen (Compliance-Filter). Anschließend illustrieren Codebeispiele, wie das Modell trainiert und getestet wird und welche Performancekennzahlen (etwa Recall@5) für das Ranking in der Praxis besonders wichtig sind.

Synchrone Gradientenaggregation bei Parameter-Servern

In der modernen Welt des maschinellen Lernens und der künstlichen Intelligenz spielen neuronale Netzwerke eine zentrale Rolle. Mit der wachsenden Komplexität und Größe dieser Modelle steigt jedoch auch der Bedarf, das Training effizient auf mehrere Maschinen zu verteilen. Hierbei erweisen sich Parameter-Server als unverzichtbares Werkzeug, um die enormen Rechenanforderungen durch verteiltes Training zu bewältigen. Parameter-Server ermöglichen es, die Berechnungen auf mehrere Rechner (Worker-Knoten1) aufzuteilen und die Modellparameter zentral zu speichern und zu aktualisieren.

sequenceDiagram
    participant DB as Datenbank
    participant W1 as Worker 1
    participant W2 as Worker 2
    participant PS as Parameter-Server

    DB->>W1: Sendet Trainingsdaten
    DB->>W2: Sendet Trainingsdaten

    W1->>PS: Sendet Gradienten
    W2->>PS: Sendet Gradienten

    PS-->>W1: Aggregierte & aktualisierte Parameter
    PS-->>W2: Aggregierte & aktualisierte Parameter