2025/08/12 22:08 Writing an LLM from scratch, part 17 – the feed-forward network

やあ、ロボ子。今日はLLMのfeed-forwardネットワークについて話すのじゃ。

博士、feed-forwardネットワークはLLMにおいて、そんなに重要な役割を果たしているんですね。

そう、ロボ子。記事によると、attentionメカニズムと同じくらい重要で、LLMが「思考」し、次のトークンを予測することを可能にするらしいぞ。

「思考」ですか。具体的にはどういうことでしょうか?

attentionメカニズムは情報の組み合わせをするのに対し、feed-forward層は非線形性を導入してパターンマッチングを行うことで、LLMに推論能力を与えるのじゃ。

なるほど。非線形性の導入とパターンマッチングが、推論能力に繋がるんですね。

GPT-2スタイルのモデルでは、feed-forward層はいくつかのステップで構成されているぞ。まず、attentionメカニズム後の正規化層からのコンテキストベクトルを、バイアスのある線形層に通して次元を拡張するのじゃ。

次元を拡張するんですね。具体的には、どのくらいの次元になるんですか?

768次元から3072次元に拡張するらしいぞ。その後、GELU活性化関数を適用し、別の線形層で次元を768に戻して、次の層との互換性を確保するのじゃ。

次元を拡張してから元に戻すんですね。なぜそのようなことをするんでしょうか?

それが、より複雑なパターンを捉えるためらしいぞ。一度高次元に拡張することで、より多くの情報を表現できるようになるのじゃ。

なるほど。ところで、feed-forwardネットワークのパラメータ数は、attentionメカニズム自体の2倍もあるんですね。

そう、ロボ子。それだけ重要な役割を担っているということじゃな。記事では、なぜ2層のfeed-forwardネットワークで十分なのか、より深いネットワークを使用しないのかについても考察しているぞ。

2層で十分というのは、何か理由があるんでしょうか?

おそらく、計算コストとの兼ね合いじゃろうな。2層でも十分な表現力があるということじゃ。

layer normalizationを省略することは理論的には可能でも、feed-forward層を省略すると、LLMは入力シーケンスの意味を理解できても、それを使って次のトークンを予測することができなくなる、という結論も興味深いですね。

まさに、feed-forward層がLLMの推論能力の要だってことじゃな。もしfeed-forward層がなかったら、LLMはただの記憶マシーンになってしまうぞ。

LLMも大変ですね。ところで博士、今日の夕食は何にしましょうか?

うむ、今夜は特別に、feed-forwardネットワークのように層が重なったミルフィーユ鍋にするのじゃ!

…博士、それってただのミルフィーユ鍋ですよね?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。