Transformator – chatgpz.de – KI-Tools & Praxiswissen https://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Tue, 09 Dec 2025 09:06:13 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Die Reise eines Tokens: Was wirklich in einem Transformator passiert https://chatgpz.de/machine-learning/die-reise-eines-tokens-was-wirklich-in-einem-transformator-passiert/ https://chatgpz.de/machine-learning/die-reise-eines-tokens-was-wirklich-in-einem-transformator-passiert/#respond Tue, 09 Dec 2025 09:06:13 +0000 http://chatgpz.de/machine-learning/die-reise-eines-tokens-was-wirklich-in-einem-transformator-passiert/ [ad_1]

In diesem Artikel erfahren Sie, wie ein Transformator Eingabe-Tokens in kontextbezogene Darstellungen und letztendlich in Wahrscheinlichkeiten für das nächste Token umwandelt.

Zu den Themen, die wir behandeln werden, gehören:

  • Wie Tokenisierung, Einbettungen und Positionsinformationen Eingaben vorbereiten
  • Welche mehrköpfigen Aufmerksamkeits- und Feed-Ahead-Netzwerke innerhalb jeder Schicht beitragen?
  • Wie die endgültige Projektion und Softmax Wahrscheinlichkeiten für das nächste Token erzeugen

Lasst uns unsere Reise beginnen.

Die Reise eines Tokens: Was wirklich in einem Transformator passiert

Die Reise eines Tokens: Was wirklich in einem Transformator passiert (zum Vergrößern anklicken)
Bild vom Herausgeber

Die Reise beginnt

Große Sprachmodelle (LLMs) basieren auf der Transformer-Architektur, einem komplexen tiefen neuronalen Netzwerk, dessen Eingabe eine Folge von Token-Einbettungen ist. Nach einem tiefgreifenden Prozess – der wie eine Parade zahlreicher gestapelter Aufmerksamkeits- und Feed-Ahead-Transformationen aussieht – wird eine Wahrscheinlichkeitsverteilung ausgegeben, die angibt, welches Token als nächstes als Teil der Modellantwort generiert werden soll. Aber wie lässt sich dieser Weg von Eingaben zu Ausgaben für einen einzelnen Token in der Eingabesequenz erklären?

In diesem Artikel erfahren Sie, was innerhalb eines Transformer-Modells – der Architektur hinter LLMs – auf Token-Ebene passiert. Mit anderen Worten, wir werden sehen, wie Eingabe-Tokens oder Teile einer Eingabetextsequenz in generierte Textausgaben umgewandelt werden, und die Gründe für die Änderungen und Transformationen, die innerhalb des Transformators stattfinden.

Die Beschreibung dieser Reise durch ein Transformer-Modell orientiert sich am obigen Diagramm, das eine generische Transformer-Architektur zeigt und zeigt, wie Informationen durch sie fließen und sich entwickeln.

Einstieg in den Transformer: Vom Roheingabetext zur Eingabeeinbettung

Bevor wir in die Tiefen des Transformer-Modells vordringen, werden bereits einige Transformationen an der Texteingabe vorgenommen, vor allem, damit sie in einer Type dargestellt werden, die für die internen Schichten des Transformers vollständig verständlich ist.

Tokenisierung

Der Tokenizer ist eine algorithmische Komponente, die typischerweise in Symbiose mit dem Transformatormodell des LLM arbeitet. Es nimmt die Rohtextsequenz, z. B. die Benutzeraufforderung, und teilt sie in diskrete Token (häufig Teilworteinheiten oder Bytes, manchmal ganze Wörter) auf, wobei jedes Token in der Quellsprache einem Bezeichner zugeordnet wird ich.

Token-Einbettungen

Es gibt eine erlernte Einbettungstabelle E mit Type |V| × d (Wortschatzgröße durch Einbettungsdimension). Nachschlagen der Bezeichner für eine Längenfolge n ergibt eine Einbettungsmatrix X mit Type n × d. Das heißt, jeder Token-Bezeichner wird einem zugeordnet D-dimensionaler Einbettungsvektor, der eine Reihe von bildet X. Zwei Einbettungsvektoren sind einander ähnlich, wenn sie mit Token verknüpft sind, die ähnliche Bedeutungen haben, z. B. König und Kaiser oder umgekehrt. Wichtig ist, dass zu diesem Zeitpunkt jede Token-Einbettung semantische und lexikalische Informationen für dieses einzelne Token enthält, ohne Informationen über den Relaxation der Sequenz einzubeziehen (zumindest noch nicht).

Positionskodierung

Vor dem vollständigen Eintritt in die Kernteile des Transformators ist es notwendig, in jeden Token-Einbettungsvektor einzuschleusen – additionally in jede Zeile der Einbettungsmatrix X – Informationen über die Place dieses Tokens in der Sequenz. Dies wird auch als Einfügen von Positionsinformationen bezeichnet und erfolgt typischerweise mit trigonometrischen Funktionen wie Sinus und Cosinus, obwohl es auch Techniken gibt, die auf erlernten Positionseinbettungen basieren. Eine nahezu restliche Komponente wird zum vorherigen Einbettungsvektor summiert e_t mit einem Token verknüpft, wie folgt:

(
x_t^{(0)} = e_t + p_{textual content{pos}}

mit p_pos

Jetzt ist es an der Zeit, in die Tiefen des Transformators vorzudringen und zu sehen, was darin passiert!

Tief im Inneren des Transformators: Von der Eingabeeinbettung zu Ausgabewahrscheinlichkeiten

Lassen Sie uns erklären, was mit jedem „angereicherten“ Einzel-Token-Einbettungsvektor passiert, wenn er eine Transformatorschicht durchläuft, und dann herauszoomen, um zu beschreiben, was im gesamten Schichtstapel passiert.

Die Formel

(
h_t^{(0)} = x_t^{(0)}
)

wird verwendet, um die Darstellung eines Tokens auf Ebene 0 (der ersten Ebene) zu bezeichnen, während wir allgemeiner verwenden werden ht(l) um die Einbettungsdarstellung des Tokens auf der Ebene zu bezeichnen l.

Mehrköpfige Aufmerksamkeit

Die erste Hauptkomponente innerhalb jeder replizierten Schicht des Transformators ist die vielköpfige Aufmerksamkeit. Dies ist wohl die einflussreichste Komponente in der gesamten Architektur, wenn es darum geht, viele aussagekräftige Informationen über seine Rolle in der gesamten Sequenz und seine Beziehungen zu anderen Token im Textual content zu identifizieren und in die Darstellung jedes Tokens zu integrieren, sei es syntaktische, semantische oder jede andere Artwork von sprachlicher Beziehung. Mehrere Köpfe in diesem sogenannten Aufmerksamkeitsmechanismus sind jeweils darauf spezialisiert, verschiedene sprachliche Aspekte und Muster im Token und der gesamten Sequenz, zu der es gehört, gleichzeitig zu erfassen.

Das Ergebnis einer Tokendarstellung ht(l) (mit eingefügten Positionsinformationen a priorinicht vergessen!) Das Durchlaufen dieser mehrköpfigen Aufmerksamkeit innerhalb einer Ebene ist eine kontextangereicherte oder kontextbewusste Token-Repräsentation. Durch die Verwendung von Restverbindungen und Schichtnormalisierungen über die Transformatorschicht hinweg werden neu generierte Vektoren zu stabilisierten Mischungen ihrer eigenen vorherigen Darstellungen und der mehrköpfigen Aufmerksamkeitsausgabe. Dies trägt dazu bei, die Kohärenz während des gesamten Prozesses zu verbessern, der wiederholt über Schichten hinweg angewendet wird.

Feed-Ahead-Neuronales Netzwerk

Als nächstes kommt etwas relativ weniger Komplexes: ein paar Feed-Ahead-Neuronales Netzwerk (FFN)-Schichten. Dabei kann es sich beispielsweise um mehrschichtige Perzeptrone (MLPs) professional Token handeln, deren Ziel es ist, die Token-Funktionen, die nach und nach erlernt werden, weiter zu transformieren und zu verfeinern.

Der Hauptunterschied zwischen der Aufmerksamkeitsphase und dieser besteht darin, dass Aufmerksamkeit in jeder Token-Darstellung Kontextinformationen aus allen Token mischt und integriert, der FFN-Schritt jedoch unabhängig auf jedem Token angewendet wird und die bereits integrierten Kontextmuster verfeinert, um daraus nützliches „Wissen“ zu gewinnen. Diese Schichten werden auch durch Restverbindungen und Schichtnormalisierungen ergänzt, und als Ergebnis dieses Prozesses haben wir am Ende einer Transformatorschicht eine aktualisierte Darstellung ht(l+1) Dies wird zur Eingabe für die nächste Transformatorschicht und gelangt so in einen weiteren mehrköpfigen Aufmerksamkeitsblock.

Der gesamte Prozess wird so oft wiederholt, wie in unserer Architektur definierte gestapelte Schichten vorhanden sind, wodurch die Token-Einbettung nach und nach mit immer mehr übergeordneten, abstrakten und weitreichenden sprachlichen Informationen hinter diesen scheinbar nicht entzifferbaren Zahlen bereichert wird.

Endziel

Was passiert additionally ganz am Ende? Oben im Stapel erhalten wir nach Durchlaufen der letzten replizierten Transformatorschicht eine endgültige Token-Darstellung ht*(L) (Wo t* bezeichnet die aktuelle Vorhersageposition), die durch a projiziert wird lineare Ausgabeschicht gefolgt von a Softmax.

Die lineare Schicht erzeugt nicht normalisierte Werte, die als „ Protokolleund der Softmax wandelt diese Logits in Wahrscheinlichkeiten für das nächste Token um.

Berechnung der Protokolle:

(
textual content{logits}_j = W_{textual content{vocab}, j} cdot h_{t^*}^{(L)} + b_j
)

Anwenden von Softmax zur Berechnung normalisierter Wahrscheinlichkeiten:

(
textual content{softmax}(textual content{logits})_j = frac{exp(textual content{logits}_j)}{sum_{ok} exp(textual content{logits}_k)}
)

Verwendung von Softmax-Ausgaben als Subsequent-Token-Wahrscheinlichkeiten:

(
P(textual content{token} = j) = textual content{softmax}(textual content{logits})_j
)

Diese Wahrscheinlichkeiten werden für alle möglichen Token im Vokabular berechnet. Anschließend wird der nächste vom LLM zu generierende Token ausgewählt – häufig der mit der höchsten Wahrscheinlichkeit, obwohl auch auf Stichproben basierende Decodierungsstrategien üblich sind.

Das Ende der Reise

In diesem Artikel wurde mit einem sanften Maß an technischen Particulars eine Reise durch die Transformer-Architektur unternommen, um ein allgemeines Verständnis dafür zu vermitteln, was mit dem Textual content passiert, der einem LLM – dem bekanntesten Modell, das auf einer Transformer-Architektur basiert – bereitgestellt wird, und wie dieser Textual content innerhalb des Modells auf Token-Ebene verarbeitet und transformiert wird, um schließlich in die Ausgabe eines Modells zu gelangen: das nächste zu generierende Wort.

Wir hoffen, dass Sie unsere gemeinsame Reise genossen haben und freuen uns auf die Gelegenheit, in naher Zukunft eine weitere Reise anzutreten.

[ad_2]

]]>
https://chatgpz.de/machine-learning/die-reise-eines-tokens-was-wirklich-in-einem-transformator-passiert/feed/ 0 14674
5 Tipps zum Bauen optimiertes Umarmungsgesichts -Transformator -Pipelines https://chatgpz.de/data-science/5-tipps-zum-bauen-optimiertes-umarmungsgesichts-transformator-pipelines/ https://chatgpz.de/data-science/5-tipps-zum-bauen-optimiertes-umarmungsgesichts-transformator-pipelines/#respond Fri, 12 Sep 2025 13:47:46 +0000 https://chatgpz.de/data-science/5-tipps-zum-bauen-optimiertes-umarmungsgesichts-transformator-pipelines/ [ad_1]

5 Tipps zum Bauen optimiertes Umarmungsgesichts -Transformator -Pipelines5 Tipps zum Bauen optimiertes Umarmungsgesichts -Transformator -PipelinesBild von Editor | Chatgpt

# Einführung

Umarmtes Gesicht ist für viele AI -Entwickler und Datenwissenschaftler zum Commonplace geworden, da es die Barriere für die Arbeit mit fortgeschrittener KI drastisch senkt. Anstatt mit KI -Modellen von Grund auf zu arbeiten, können Entwickler auf eine breite Palette von vorbereiteten Modellen ohne Probleme zugreifen. Benutzer können diese Modelle auch mit benutzerdefinierten Datensätzen anpassen und schnell bereitstellen.

Einer der umarmenden Gesichtsgerüst -API -Wrapper ist die Transformatoren -PipelinesEine Reihe von Paketen, die aus dem vorbereiteten Modell, seinem Tokenizer, seiner Vor- und Nachbearbeitung und zugehörigen Komponenten bestehen, um einen KI-Anwendungsfall zu erstellen. Diese Pipelines abstrakten komplexen Code und bieten eine einfache, nahtlose API.

Die Arbeit mit Transformatoren -Pipelines kann jedoch chaotisch werden und kann möglicherweise keine optimale Pipeline ergeben. Aus diesem Grund werden wir fünf verschiedene Möglichkeiten untersuchen, wie Sie Ihre Transformers -Pipelines optimieren können.

Lassen Sie uns darauf eingehen.

# 1. Batch -Inferenzanfragen

Bei Verwendung von Transformatoren -Pipelines verwenden wir häufig die Grafikverarbeitungseinheit (GPU) nicht vollständig. Die Batch -Verarbeitung mehrerer Eingänge kann die GPU -Nutzung erheblich verbessern und die Inferenzeffizienz verbessern.

Anstatt jeweils eine Probe zu verarbeiten, können Sie die Pipeline verwenden batch_size Parameter oder eine Liste von Eingängen übergeben, damit das Modell mehrere Eingänge in einem Vorwärtspass verarbeitet. Hier ist ein Codebeispiel:

from transformers import pipeline

pipe = pipeline(
    job="text-classification",
    mannequin="distilbert-base-uncased-finetuned-sst-2-english",
    device_map="auto"
)

texts = (
    "Nice product and quick supply!",
    "The UI is complicated and gradual.",
    "Assist resolved my subject shortly.",
    "Not well worth the worth."
)

outcomes = pipe(texts, batch_size=16, truncation=True, padding=True)
for r in outcomes:
    print(r)

Durch Batching -Anfragen können Sie einen höheren Durchsatz mit nur minimalen Auswirkungen auf die Latenz erzielen.

# 2. Verwenden Sie eine geringere Präzision und Quantisierung

Viele vorbereitete Modelle versagen inferenz, da Entwicklungs- und Produktionsumgebungen nicht genügend Speicher haben. Eine niedrigere numerische Präzision hilft bei der Verringerung des Speicherverbrauchs und beschleunigt die Schlussfolgerung, ohne viel Genauigkeit zu beeinträchtigen.

Hier finden Sie beispielsweise, wie Sie die halbe Präzision der GPU in einer Transformatoren -Pipeline verwenden:

import torch
from transformers import AutoModelForSequenceClassification

mannequin = AutoModelForSequenceClassification.from_pretrained(
    model_id,
    torch_dtype=torch.float16
)

In ähnlicher Weise können Quantisierungstechniken Modellgewichte komprimieren, ohne die Leistung merklich zu verschlechtern:

# Requires bitsandbytes for 8-bit quantization
from transformers import AutoModelForCausalLM

mannequin = AutoModelForCausalLM.from_pretrained(
    model_id,
    load_in_8bit=True,
    device_map="auto"
)

Durch die Verwendung niedrigerer Präzision und Quantisierung der Produktion wird normalerweise die Pipelines beschleunigt und die Speicherverwendung verringert, ohne die Modellgenauigkeit erheblich zu beeinflussen.

# 3. Wählen Sie effiziente Modellarchitekturen

In vielen Anwendungen benötigen Sie nicht das größte Modell, um die Aufgabe zu lösen. Die Auswahl einer leichteren Transformatorarchitektur, wie z. B. ein destilliertes Modell, ergibt häufig eine bessere Latenz und Durchsatz mit einem akzeptablen Kompromiss der Genauigkeit.

Kompaktmodelle oder destillierte Versionen, wie z. Distilbertbehalten Sie den größten Teil der Genauigkeit des ursprünglichen Modells, jedoch mit weitaus weniger Parametern, was zu einer schnelleren Folgerung führt.

Wählen Sie ein Modell, dessen Architektur für Inferenz optimiert ist und entspricht den Genauigkeitsanforderungen Ihrer Aufgabe.

# 4. Nutzen Sie das Caching

Viele Systemverschwendung berechnen sich, indem sie teure Arbeiten wiederholen. Das Caching kann die Leistung erheblich verbessern, indem die Ergebnisse kostspieliger Berechnungen wiederverwendet werden.

with torch.inference_mode():
    output_ids = mannequin.generate(
        **inputs,
        max_new_tokens=120,
        do_sample=False,
        use_cache=True
    )

Effizientes Caching verkürzt die Rechenzeit und verbessert die Reaktionszeiten und senkt die Latenz in Produktionssystemen.

# 5. Verwenden Sie eine beschleunigte Laufzeit über Optimum (ONNX -Laufzeit)

Viele Pipelines laufen in einem Pytorch Nicht so optimaler Modus, der Python-Overhead- und zusätzliche Speicherkopien hinzufügt. Verwendung Optimum mit Open Neural Community Alternate (ONNX) Laufzeit – über Onnx -Laufzeit – Konvertiert das Modell in einen statischen Graphen- und verschützt, sodass die Laufzeit schnellere Kerne auf einer zentralen Verarbeitungseinheit (CPU) oder einer GPU mit weniger Overhead verwenden kann. Das Ergebnis ist normalerweise eine schnellere Inferenz, insbesondere bei CPU oder gemischter {Hardware}, ohne wie Sie die Pipeline aufrufen.

Installieren Sie die erforderlichen Pakete mit:

pip set up -U transformers optimum(onnxruntime) onnxruntime

Konvertieren Sie dann das Modell mit solchen Code:

from optimum.onnxruntime import ORTModelForSequenceClassification

ort_model = ORTModelForSequenceClassification.from_pretrained(
    model_id,
    from_transformers=True
)

Indem Sie die Pipeline in ONNX -Laufzeit über optimum konvertieren, können Sie Ihren vorhandenen Pipeline -Code beibehalten und gleichzeitig eine geringere Latenz und eine effizientere Schlussfolgerung erhalten.

# Einpacken

Transformers Pipelines ist ein API -Wrapper im umarmenden Gesichtsgerüst, der die Entwicklung der AI -Anwendung erleichtert, indem komplexe Code in einfachere Schnittstellen kondensiert. In diesem Artikel haben wir fünf Tipps untersucht, um die Pipelines der Umarmung von Gesichtstransformatoren zu optimieren, von Batch -Inferenzanfragen über die Auswahl effizienter Modellarchitekturen bis hin zur Nutzung von Caching und darüber hinaus.

Ich hoffe das hat geholfen!

Cornellius Yudha Wijaya ist ein Information Science Assistant Supervisor und Datenautor. Während er in Vollzeit bei Allianz Indonesien arbeitet, liebt er es, Python- und Datentipps über soziale Medien und das Schreiben von Medien zu teilen. Cornellius schreibt über eine Vielzahl von KI- und maschinellen Lernthemen.

[ad_2]

]]>
https://chatgpz.de/data-science/5-tipps-zum-bauen-optimiertes-umarmungsgesichts-transformator-pipelines/feed/ 0 12329
Transformator Lab https://chatgpz.de/artificial-intelligence/transformator-lab/ https://chatgpz.de/artificial-intelligence/transformator-lab/#respond Sun, 13 Apr 2025 10:02:11 +0000 https://chatgpz.de/artificial-intelligence/transformator-lab/ [ad_1]

Artificiell Intelligens Och Stora Språkmodeller Har Blivit Alt Mer Tillgängliga, Männer att faktiskt Arbeta Med dem Kräver OFTA Spezialistkaper. Transformator Labor Försöker förändra detta Genom att erbjuda en plattform där utvecklare kan experimentera med ai-modeller lokalt utan att Behöva djupa tekniska kunskaper.

Transformator Lab ärr en öppen källkods-plattform som låter vem som helst bygga, finjustera och körra stora spåkmodeller (llm) lokalt på sin egen dator utan att benöva scriva kod. Plattformen som nyligen har fått sted från Mozilla Genom Deras Builders Programm, Riktar Sig bis Utvecklare Som Vill Integrera ai-modeller i Sina produkter utan att Behöva djupgående python-kunskaper eller eller Erfarenhet av maskinlärming.

Grundtanken är Enkel Males Kraftful: Din Dator, Dina Modeller, Dina Regler. I en värld där många ai-tjänster kärver molnanslutning och Betald Prenumeration, Erbjuder Transformator Lab ETT Alternativ Där du Behåller Voller Kontroll över dina ai-modeller.

Multimodalt Strud Och Visualiseringsverktyg

En av de mest spännande Plattformen Stöder Nu -Modeller Som kan Arbeta Med Både Textual content Och Bilder SamtIdig. DETTA Är Särskilt Intellesant Med Tanke På Den Snabba Utvecklings av multimodala ai-modeller som llama-3.2-11b-vision-intruct, Som Har Över 4,9 Miljoner Nedladdningar På umarme Gesichtsgesicht

Enkel Nedladdning AV -Modeller

Med ett enda klick kan du ladda ner hundratals populära modeller som llama3, phi3, phi4, Mistral, Mixtral, Gemma, Befehlsr Och Många Fler Direkt Från umarmtes Gesicht. Inga Krångliga Kommandoradskommandon Eller Manuella Konfigurationer Behövs.

Oavsett Om du Använder Home windows, Macos Eller Linux Kan du Använder Transformator Labor För att arbeta med Språkmodeller. DETTA Gör Plattformen Tillgänglig För Utvecklare Oavsett Deras Preferade Miljö.

Installationsvideo För Transformator Labor

https://www.youtube.com/watch?v=seypveoq-vw

OM du är intesserad av att prova transformator lab

  • Besök Den officiella hemsidan (https://transformerlab.ai).
  • LADDA NER APPALIKATIONEN För Ditt Operativsystem (Home windows, MacOS Eller Linux).
  • Starta Applikationden för attkomma Åt Huvudgränssnittet.
  • Navigera Until Fliken ”Lokaler Motor“ Och Klicka På ”Join” För Attalera Nödvänderdiga Bibliotek.
  • Den Enkelklicks-Installationsprozessen Förenklar Installationsupplevelsen.

Mer Information:

[ad_2]

]]>
https://chatgpz.de/artificial-intelligence/transformator-lab/feed/ 0 8509
Transformator? Diffusion? Transfusion! https://chatgpz.de/machine-learning/transformator-diffusion-transfusion/ https://chatgpz.de/machine-learning/transformator-diffusion-transfusion/#respond Thu, 12 Sep 2024 21:45:38 +0000 http://chatgpz.de/machine-learning/transformator-diffusion-transfusion/ [ad_1]

Eine sanfte Einführung in das neueste multimodale Transfusionsmodell

Kürzlich veröffentlichten Meta und Waymo ihr neuestes Papier —Transfusion: Vorhersage des nächsten Tokens und diffuser Bilder mit einem multimodalen Modell, das das beliebte Transformer-Modell mit dem Diffusionsmodell für multimodale Trainings- und Vorhersagezwecke integriert.

Wie Meta’s vorherige ArbeitenDas Transfusionsmodell basiert auf der Lama-Architektur mit früher Fusion, die sowohl die Texttoken-Sequenz als auch die Bildtoken-Sequenz verwendet und ein einzelnes Transformatormodell zur Generierung der Vorhersage verwendet. Anders als beim bisherigen Stand der Technik behandelt das Transfusionsmodell die Bildtoken jedoch anders:

  • Die Bild-Token-Sequenz wird von einem vortrainierten Variational Auto-Encoder-Teil generiert.
  • Die Transformator-Aufmerksamkeit für die Bildsequenz ist bidirektional und nicht kausal.
Transfusionsmodellarchitektur mit Vortrainingsaufgaben. Das Textvortraining ist die nächste Wortvorhersageaufgabe. Das Bildvortraining ist eine Rauschunterdrückungsdiffusionsaufgabe. Bildquelle: https://www.arxiv.org/pdf/2408.11039

Lassen Sie uns Folgendes im Element besprechen. Wir werden zuerst die Grundlagen wie autoregressive und Diffusionsmodelle durchgehen und uns dann mit der Transfusionsarchitektur befassen.

Autoregressive Modelle

Heutzutage basieren große Sprachmodelle (LLMs) hauptsächlich auf Transformer-Architekturen, die in den Aufmerksamkeit ist alles, was Sie brauchen Papier im Jahr 2017. Die Transformatorarchitektur besteht aus zwei Teilen: dem Encoder und dem Decoder.

Transformatorarchitektur. Hyperlinks: Encoder; Rechts: Decoder. Bildquelle: https://arxiv.org/pdf/1706.03762

Maskierte Sprachmodelle wie BERT verwenden den Encoder-Teil, der mit zufällig bidirektionalen maskierten Token-Vorhersageaufgaben (und der Vorhersage des nächsten Satzes) vortrainiert wurde. Bei autoregressiven Modellen wie den neuesten LLMs wird der Decoder-Teil normalerweise mit der nächsten Token-Vorhersageaufgabe trainiert, bei der der LM-Verlust minimiert wird:

Quelle der Gleichung: https://www.arxiv.org/pdf/2408.11039

In der obigen Gleichung ist theta der Modellparametersatz und y_i das Token am Index i in einer Sequenz der Länge n. y

Diffusionsmodelle

Was ist das Diffusionsmodell? Es handelt sich um eine Reihe von Deep-Studying-Modellen, die häufig in der Computervision (insbesondere für die medizinische Bildanalyse) zur Bildgenerierung/Rauschunterdrückung und anderen Zwecken verwendet werden. Eines der bekanntesten Diffusionsmodelle ist das DDPM, das aus dem Rauschunterdrückung bei probabilistischen Diffusionsmodellen Artikel veröffentlicht im Jahr 2020. Das Modell ist eine parametrisierte Markow-Kette, die einen Rückwärts- und Vorwärtsübergang enthält, wie unten gezeigt.

Das Diffusionsmodell ist eine bidirektionale Markow-Kette. Bildquelle: https://arxiv.org/pdf/2006.11239

Was ist eine Markow-Kette? Es handelt sich um einen statistischen Prozess, bei dem der aktuelle Schritt nur auf dem vorherigen Schritt basiert und umgekehrt. Unter der Annahme eines Markow-Prozesses kann das Modell mit einem sauberen Bild beginnen, indem es im Vorwärtsprozess iterativ Gaußsches Rauschen hinzufügt (rechts -> hyperlinks in der Abbildung oben) und das Rauschen iterativ „lernt“, indem es im Rückwärtsprozess eine Unet-basierte Architektur verwendet (hyperlinks -> rechts in der Abbildung oben). Deshalb können wir das Diffusionsmodell manchmal als generatives Modell (bei Verwendung von hyperlinks nach rechts) und manchmal als Rauschunterdrückungsmodell (bei Verwendung von rechts nach hyperlinks) betrachten. Der DDPM-Verlust ist unten angegeben, wobei Theta der Modellparametersatz, epsilon das bekannte Rauschen und epsilon_theta das von einem Deep-Studying-Modell (normalerweise ein UNet) geschätzte Rauschen ist:

Quelle der Gleichung: https://www.arxiv.org/pdf/2408.11039

Diffusionsmodell im latenten Raum

Die Idee der Diffusion wurde weiter ausgedehnt auf den latenten Raum in der CVPR‘22-Papierbei dem die Bilder zunächst mithilfe des Encoder-Teils eines vorab trainierten Variationaler Auto-Encoder (VAE). Anschließend werden die Diffusions- und Umkehrprozesse im latenten Raum durchgeführt und mithilfe des Decoderteils des VAE wieder in den Pixelraum abgebildet. Dies könnte die Lerngeschwindigkeit und -effizienz erheblich verbessern, da die meisten Berechnungen in einem Raum mit niedrigerer Dimension durchgeführt werden.

Architektur des latenten Diffusionsmodells. Epsilon und D sind jeweils Encoder und Decoder. Bildquelle: https://arxiv.org/pdf/2112.10752

VAE-basierte Bildtransfusion

Der Kern des Transfusionsmodells ist die Fusion zwischen der Diffusion und dem Transformator für Eingabebilder. Zunächst wird ein Bild in eine Folge von 8 x 8 Patches aufgeteilt; jeder Patch wird an einen vorab trainierten VAE-Encoder übergeben, um ihn in eine latente Vektordarstellung mit 8 Elementen zu „komprimieren“. Dann wird der latenten Darstellung Rauschen hinzugefügt und von einem linearen Layer/U-Web-Encoder weiter verarbeitet, um das „verrauschte“ x_t zu erzeugen. Drittens verarbeitet das Transformatormodell die Folge verrauschter latenter Darstellungen. Zuletzt werden die Ausgaben von einem weiteren linearen/U-Web-Decoder umgekehrt verarbeitet, bevor ein VAE-Decoder verwendet wird, um das „echte“ x_0-Bild zu erzeugen.

Diffusionsmodulteil für Bildeingabe. Das Rauschen wird zur VAE-codierten Einbettung hinzugefügt. Bildquelle: https://www.arxiv.org/pdf/2408.11039

In der tatsächlichen Implementierung werden der Anfangstoken des Bildes (BOI) und der Endtoken des Bildes (EOI) auf beiden Seiten der Bilddarstellungssequenz aufgefüllt, bevor die Texttoken verkettet werden. Die Selbstaufmerksamkeit für das Bildtraining ist eine bidirektionale Aufmerksamkeit, während die Selbstaufmerksamkeit für Texttoken kausal ist. In der Trainingsphase ist der Verlust für die Bildsequenz ein DDPM-Verlust, während der Relaxation der Texttoken den LM-Verlust verwendet.

Warum additionally die Mühe? Warum brauchen wir ein so kompliziertes Verfahren zur Verarbeitung von Bild-Patch-Tokens? Im Dokument wird erklärt, dass der Token-Bereich für Textual content und Bilder unterschiedlich ist. Während die Texttoken diskret sind, sind die Bildtoken/Patches natürlich kontinuierlich. Beim bisherigen Stand der Technik müssen Bild-Token vor der Einfügung in das Transformatormodell „diskretisiert“ werden, während dieses Drawback durch die direkte Integration des Diffusionsmodells gelöst werden könnte.

Vergleich mit dem neuesten Stand der Technik

Das primäre multimodale Modell, mit dem das Papier vergleicht, ist das Chamäleon-Modelldas Meta Anfang des Jahres vorgeschlagen hat. Hier vergleichen wir den Unterschied zwischen Architektur und Trainingssatzgröße zwischen Chameleon-7B und Transfusion-7B.

Unterschiede in Architektur und Coaching zwischen Chameleon 7B und Transfusion 7B. Bild vom Autor.

Das Dokument listet den Leistungsvergleich über die Genauigkeit der Llama2-Pre-Coaching-Suite, die COCO Zero-Shot Frechet Inception Distance (FID) und den GenEval-Benchmark auf. Wir können sehen, dass Transfusion bei den bildbezogenen Benchmarks (COCO und Gen) viel besser abschneidet als Chameleon, während es im Vergleich zu Chameleon bei gleicher Anzahl von Parametern nur sehr wenig verliert.

Bildquelle: https://www.arxiv.org/pdf/2408.11039

Weitere Kommentare.

Obwohl die Idee des Papiers tremendous interessant ist, ist der „Diffusion“-Teil der Transfusion kaum eine tatsächliche Diffusion, da es im Markov-Prozess nur zwei Zeitstempel gibt. Außerdem macht das vorab trainierte VAE das Modell nicht mehr streng durchgängig. Außerdem sieht das Design VAE + Linear/UNet + Transformer Encoder + Linear/UNet + VAE so kompliziert aus, dass sich das Publikum fragen muss, ob es eine elegantere Möglichkeit gibt, diese Idee umzusetzen. Außerdem habe ich zuvor über die neueste Veröffentlichung von Apple zu den Generalisierungsvorteilen der Verwendung autoregressiver Modellierung auf Bilder, daher könnte es interessant sein, noch einmal über den Ansatz „MIM + autoregressive Modellierung“ nachzudenken.
Wenn du diesen Beitrag interessant findest und darüber diskutieren möchtest, kannst du gerne einen Kommentar hinterlassen und ich freue mich, die Diskussion dort weiterzuführen 🙂

Verweise

  • Zhou et al., Transfusion: Vorhersage des nächsten Tokens und diffuser Bilder mit einem multimodalen Modell. arXiv 2024.
  • Workforce C. Chameleon: Gemischtmodale Early-Fusion-Grundlagenmodelle. arXiv-Preprint 2024.
  • Touvron et al., Llama: Offene und effiziente grundlegende Sprachmodelle. arXiv 2023.
  • Rombach et al., Hochauflösende Bildsynthese mit latenten Diffusionsmodellen. CVPR 2022.
  • Ho et al., Rauschunterdrückung bei probabilistischen Diffusionsmodellen. NeurIPS 2020.
  • Vaswani, Aufmerksamkeit ist alles, was Sie brauchen. NeurIPS 2017.
  • Kingma, Automatische Kodierung von Variational Bayes. ArXiv-Vorabdruck 2013.


Transformator? Diffusion? Transfusion! wurde ursprünglich veröffentlicht in Auf dem Weg zur Datenwissenschaft auf Medium, wo die Leute die Unterhaltung fortsetzen, indem sie diese Geschichte hervorheben und darauf reagieren.

[ad_2]

]]>
https://chatgpz.de/machine-learning/transformator-diffusion-transfusion/feed/ 0 3844