Heim > Technologie-Peripheriegeräte > KI > Formulierung von Merkmalsschaltungen mit spärlichen Autoencodern in LLM

Formulierung von Merkmalsschaltungen mit spärlichen Autoencodern in LLM

王林
Freigeben: 2025-02-26 01:46:08
Original
616 Leute haben es durchsucht

große Sprachmodelle (LLMs) haben bemerkenswerte Fortschritte erzielt, die eine Vielzahl von Aufgaben ausführen können, vom Generieren menschlicher Text bis zur Beantwortung von Fragen. Das Verständnis, wie diese Modelle funktionieren, bleibt jedoch eine Herausforderung, insbesondere weil es ein Phänomen gibt, das als Überlagerung bezeichnet wird, bei dem Merkmale in einem Neuron gemischt werden, was es sehr schwierig macht, menschlich verständliche Darstellungen aus der ursprünglichen Modellstruktur zu extrahieren. Aus diesem Grund scheinen Methoden wie Sparse AutoCoder in der Lage zu sein, Merkmale zu entwirren, um die Interpretierbarkeit zu verbessern.

In diesem Blog-Beitrag werden wir den spärlichen Autocoder verwenden, um nach einigen Feature-Schleifen in einem besonders interessanten Fall von Objekt-Verb-Konsistenz zu suchen und zu verstehen, wie die Modellkomponenten zur Aufgabe beitragen.

Schlüsselkonzepte

Feature -Schleife

Im Kontext neuronaler Netzwerke lernt die Feature -Schleife, wie das Netzwerk Eingabefunktionen lernt, um komplexe Muster auf einer höheren Ebene zu bilden. Wir verwenden die Metapher von "Schleifen", um zu beschreiben, wie Merkmale in verschiedenen Schichten eines neuronalen Netzwerks verarbeitet werden, da diese Verarbeitungsweise uns an den Prozess der Verarbeitung und Kombination von Signalen in elektronischen Schaltungen erinnert. Diese Feature -Loops werden allmählich durch die Verbindung zwischen dem Neuron und der Schicht gebildet, wobei jedes Neuron oder jede Schicht für die Transformation der Eingabefunktionen verantwortlich ist, und ihre Wechselwirkungen führen zu nützlichen Merkmalskombinationen, die zusammenarbeiten, um die endgültige Vorhersage zu machen.

Folgendes ist ein Beispiel für Merkmalsschleifen: In vielen visuellen neuronalen Netzwerken können wir "eine Schleife als eine Familie von Einheiten finden, die Kurven in verschiedenen Winkeln erkennen. Kurvendetektoren bestehen hauptsächlich aus frühen, weniger komplexen Kurvendetektoren. und Leitungsdetektor -Implementierung.

In den folgenden Kapiteln werden wir eine Feature-Schleife für konsistente Aufgaben in LLM untersuchen.

Overlay- und Sparse AutoCoder

Im Kontext des maschinellen Lernens beobachten wir manchmal die Überlagerung und beziehen sich auf das Phänomen, dass ein Neuron im Modell mehrere überlappende Merkmale anstelle einer einzelnen, unterschiedlichen Merkmale darstellt. Zum Beispiel enthält Inceptionv1 ein Neuron, das auf das Gesicht der Katze, die Vorderseite des Autos und die Beine der Katze reagiert.

Dies ist das, was der spärliche Autocoder (SAE) macht.

SAE hilft uns, die Aktivierung des Netzwerks in einen spärlichen Satz von Funktionen zu entsperren. Diese spärlichen Merkmale sind von Menschen oft verständlich, sodass wir das Modell besser verstehen können. Durch die Anwendung von SAE auf die Aktivierung des LLM -Modells auf versteckte Schicht können wir Merkmale isolieren, die zur Ausgabe des Modells beitragen.

Sie können Details darüber finden, wie SAE in meinem vorherigen Blog -Beitrag funktioniert.

Fallstudie: Subjekt-Vorbereitungskonsistenz

Subjekt-Vorbereitungskonsistenz

Die Konsistenz

Subjektvorhersage ist eine grundlegende grammatikalische Regel in Englisch. Das Subjekt und das Prädikatverben in einem Satz müssen in der Menge konsistent sein, d. H. Einfach oder plural. Zum Beispiel:

  • "Die Katze läuft ." (Singular Subjekt, Singular Verb)
  • "Die Katzen run ." (Plural -Subjekt, Pluralverb)

Für den Menschen ist das Verständnis dieser einfachen Regel für Aufgaben wie Textgenerierung, Übersetzung sowie Frage und Antwort sehr wichtig. Aber woher wissen wir, ob LLM diese Regel wirklich gelernt hat?

Wir werden nun untersuchen, wie LLM -Formulare Schleifen für diese Aufgabe aufweisen.

Feature -Schleife bauen

Lassen Sie uns nun den Prozess des Erstellens von Funktionsschleifen erstellen. Wir werden in vier Schritten fortfahren:

  1. Wir geben den Satz zuerst in das Modell ein. Für diese Fallstudie betrachten wir den folgenden Satz:
  • "Die Katze läuft." (Singular Subjekt)
  • "Die Katzen rennen." (Plural -Subjekt)
  1. Wir führen das Modell auf diesen Sätzen aus, um versteckte Aktivierungen zu erhalten. Diese Aktivierungen repräsentieren, wie das Modell Sätze in jeder Schicht verarbeitet.
  2. Wir verabschieden die Aktivierung an SAE, um das Feature zu "dekomprimieren".
  3. Wir konstruieren die Feature -Schleife als Berechnungsdiagramm:
    • Eingangsknoten repräsentieren einzelne und pluralische Sätze.
    • verborgene Knoten repräsentieren die Modellschicht, die die Eingabe verarbeitet.
    • spärliche Knoten repräsentieren Merkmale, die von SAE erhalten wurden.
    • Ausgabeknoten repräsentiert die endgültige Entscheidung. In diesem Fall: Läuft oder laufen.

Spielzeugmodell

Wir erstellen zuerst ein Spielzeugsprachmodell, das für den folgenden Code keinen Sinn hat. Dies ist ein neuronales Netzwerk mit zwei einfachen Schichten.

Für die Konsistenz des Subjekts sollte das Modell:

  • Geben Sie einen Satz mit einem einzigartigen oder pluralischen Verb ein.
  • versteckte Schicht wandelt diese Informationen in eine abstrakte Darstellung um.
  • Das Modell wählt die richtige Verbform als Ausgabe aus.
<code># ====== 定义基础模型(模拟主谓一致)======
class SubjectVerbAgreementNN(nn.Module):
   def __init__(self):
       super().__init__()
       self.hidden = nn.Linear(2, 4)  # 2 个输入 → 4 个隐藏激活
       self.output = nn.Linear(4, 2)  # 4 个隐藏 → 2 个输出 (runs/run)
       self.relu = nn.ReLU()


   def forward(self, x):
       x = self.relu(self.hidden(x))  # 计算隐藏激活
       return self.output(x)  # 预测动词</code>
Nach dem Login kopieren

Es ist nicht klar, was in der verborgenen Schicht passiert. Daher haben wir den folgenden spärlichen Autoencoder eingeführt:

<code># ====== 定义稀疏自动编码器 (SAE) ======
class c(nn.Module):
   def __init__(self, input_dim, hidden_dim):
       super().__init__()
       self.encoder = nn.Linear(input_dim, hidden_dim)  # 解压缩为稀疏特征
       self.decoder = nn.Linear(hidden_dim, input_dim)  # 重构
       self.relu = nn.ReLU()


   def forward(self, x):
       encoded = self.relu(self.encoder(x))  # 稀疏激活
       decoded = self.decoder(encoded)  # 重构原始激活
       return encoded, decoded</code>
Nach dem Login kopieren

Wir trainieren die ursprünglichen Modelle SubjektverbagRementnn und SubjektverbagRementnn unter Verwendung von Sätzen, die verschiedene einzelne und pluralische Formen von Verben darstellen, wie "The Cat Runs", "The Babies Run". Aber wie zuvor sind sie für Spielzeugmodelle möglicherweise keinen Sinn.

Jetzt visualisieren wir die Funktionsschleife. Wie bereits erwähnt, sind Merkmalsschleifen neuronale Einheiten, die zur Verarbeitung spezifischer Merkmale verwendet werden. In unserem Modell gehören:

:
  1. Sprachattribute in eine versteckte Schicht der abstrakten Darstellung konvertieren.
  2. sae mit unabhängigen Merkmalen , die direkt zur Verb-Subjekt-Konsistenzaufgabe beitragen.

Sie können in der Abbildung sehen, dass wir die Feature -Schleife als Diagramm visualisieren: Formulation of Feature Circuits with Sparse Autoencoders in LLM

  • versteckte Aktivierung und Encoderausgabe sind beide Knoten des Graphen.
  • Wir haben auch den Ausgangsknoten als das richtige Verb.
  • Die Kanten in der Abbildung werden durch Aktivierungsintensität gewichtet und zeigen, welche Pfade bei den Konsensentscheidungen des Subjekts am wichtigsten sind. Zum Beispiel können Sie sehen, dass der Weg von H3 zu F2 eine wichtige Rolle spielt.

gpt2-small

Für reale Fälle führen wir einen ähnlichen Code auf GPT2-Small aus. Wir zeigen ein charakteristisches Schaltendiagramm, das die Entscheidung zur Auswahl singulärer Verben darstellt.

Formulation of Feature Circuits with Sparse Autoencoders in LLM Schlussfolgerung

Feature -Loops helfen uns zu verstehen, wie unterschiedliche Teile des komplexen LLM zur endgültigen Ausgabe führen. Wir zeigen die Möglichkeit, Feature-Schleifen mit SAE für konsistente Subjekte-Vorbereitungsaufgaben zu bilden.

Wir müssen jedoch zugeben, dass dieser Ansatz immer noch einige menschliche Interventionen erfordert, da wir nicht immer wissen, ob Schleifen ohne ordnungsgemäßes Design wirklich gebildet werden können.

referenzen

[1] Zoom: Schaltung Einführung

Bitte beachten Sie, dass ich die Image -Platzhalter bewahrt habe und angenommen habe, dass die Bilder bei den bereitgestellten URLs weiterhin zugänglich sind bleiben unverändert.

Das obige ist der detaillierte Inhalt vonFormulierung von Merkmalsschaltungen mit spärlichen Autoencodern in LLM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage