Kolmogorov-Arnold-Transformer
Kolmogorov-Arnold Transformer
September 16, 2024
Autoren: Xingyi Yang, Xinchao Wang
cs.AI
Zusammenfassung
Transformer stehen als Eckpfeiler des modernen Deep Learning. Traditionell verlassen sich diese Modelle auf Mehrschichtperzeptron (MLP)-Schichten, um die Informationen zwischen Kanälen zu mischen. In diesem Paper stellen wir den Kolmogorov-Arnold Transformer (KAT) vor, eine neuartige Architektur, die MLP-Schichten durch Kolmogorov-Arnold Netzwerk (KAN)-Schichten ersetzt, um die Ausdruckskraft und Leistung des Modells zu verbessern. Die Integration von KANs in Transformer ist jedoch keine leichte Aufgabe, insbesondere bei Skalierung. Insbesondere identifizieren wir drei Schlüsselherausforderungen: (C1) Basissfunktion. Die Standard-B-Spline-Funktion, die in KANs verwendet wird, ist nicht für die parallele Berechnung auf moderner Hardware optimiert, was zu langsameren Inferenzgeschwindigkeiten führt. (C2) Parameter- und Berechnungseffizienz. KAN erfordert eine einzigartige Funktion für jedes Ein-Ausgangs-Paar, was die Berechnung extrem groß macht. (C3) Gewichtsinitialisierung. Die Initialisierung der Gewichte in KANs ist besonders herausfordernd aufgrund ihrer erlernbaren Aktivierungsfunktionen, die für das Erreichen der Konvergenz in tiefen neuronalen Netzwerken entscheidend sind. Um die genannten Herausforderungen zu überwinden, schlagen wir drei Schlüssellösungen vor: (S1) Rationale Basis. Wir ersetzen B-Spline-Funktionen durch rationale Funktionen, um die Kompatibilität mit modernen GPUs zu verbessern. Durch die Implementierung in CUDA erreichen wir schnellere Berechnungen. (S2) Gruppen-KAN. Wir teilen die Aktivierungsgewichte durch eine Gruppe von Neuronen, um die Rechenlast zu reduzieren, ohne die Leistung zu beeinträchtigen. (S3) Varianzerhaltende Initialisierung. Wir initialisieren die Aktivierungsgewichte sorgfältig, um sicherzustellen, dass die Aktivierungsvarianz über die Schichten hinweg erhalten bleibt. Mit diesen Designs skaliert KAT effektiv und übertrifft traditionelle MLP-basierte Transformer problemlos.
English
Transformers stand as the cornerstone of mordern deep learning.
Traditionally, these models rely on multi-layer perceptron (MLP) layers to mix
the information between channels. In this paper, we introduce the
Kolmogorov-Arnold Transformer (KAT), a novel architecture that replaces MLP
layers with Kolmogorov-Arnold Network (KAN) layers to enhance the
expressiveness and performance of the model. Integrating KANs into
transformers, however, is no easy feat, especially when scaled up.
Specifically, we identify three key challenges: (C1) Base function. The
standard B-spline function used in KANs is not optimized for parallel computing
on modern hardware, resulting in slower inference speeds. (C2) Parameter and
Computation Inefficiency. KAN requires a unique function for each input-output
pair, making the computation extremely large. (C3) Weight initialization. The
initialization of weights in KANs is particularly challenging due to their
learnable activation functions, which are critical for achieving convergence in
deep neural networks. To overcome the aforementioned challenges, we propose
three key solutions: (S1) Rational basis. We replace B-spline functions with
rational functions to improve compatibility with modern GPUs. By implementing
this in CUDA, we achieve faster computations. (S2) Group KAN. We share the
activation weights through a group of neurons, to reduce the computational load
without sacrificing performance. (S3) Variance-preserving initialization. We
carefully initialize the activation weights to make sure that the activation
variance is maintained across layers. With these designs, KAT scales
effectively and readily outperforms traditional MLP-based transformers.Summary
AI-Generated Summary