🙄

はじめに

に公開

自己紹介

Web 系エンジニアです。大学院ではテンソルネットワークを用いた手法の研究に触れていました。大学(院)時代には機械学習の研究経験はほとんどなく、教科書レベルの一通りの勉強をして、自分の研究テーマに関連していた後述の論文[1]を読んで少し実装をした程度です。

なぜ記事を書き始めたか

昨今の機械学習の進歩を見て、「勉強しないと置いていかれる」と感じ、改めて学習を始めました。せっかく学ぶなら自分のメモとしてまとめようという気持ちになり、記事を書き始めました。
今の会社でのエンジニアリングが肌に合わない部分もあり、将来的には転職の助けになればという思いもあります。

現在の興味

現在は主に大規模言語モデル(LLM)に興味があります。ただし、モデルの「精度」そのものよりも、同じ精度を維持しつつ「小型化」する方向性に関心があります。
(この節の以下は機械学習の研究経験がない筆者の理解が含まれます。)
現状の LLM 界隈は、OpenAI や Google、Anthropic、X、DeepSeek なといった大企業が大量の計算資源を投入して性能を高める競争をしています。性能向上は重要ですが、次のフェーズとして大事になるのは「いかに少ない計算資源や低電力で同等の性能を出すか」だと考えています。データセンターの建設や生成 AI の電力需要の増大といった環境問題を考えると、この方向性は避けられないと思います。そういう意味で、LLM の小型化に特に注目しています。

一旦の今後の予定

作成する記事の対象読者

対象となる読者は、LLM の基本的な構造については理解していて、様々な発展に興味があるような層を想定しています。基礎的な機械学習の内容については、他にも様々な良質な記事や動画などなどがあるかと思うので、そちらをご参照いただきたいなと思っています。

投稿予定

まずは、個人的に興味を持った論文 [1] を解説する記事を作る予定です。この論文の要点は、いくつかのニューラルネットワークにおいて、行列積演算子(Matrix Product Operator:MPO) と呼ばれる疎(スパース)なパラメータ表現を用いることで、S パラメータ数を大幅に減らしても性能を保てる、という点です。ざっくり言えば、ニューラルネットワークの重み行列を低ランク近似のように表現しても、十分な表現力が保てるよ、という話です。
公開しました!
記事:https://zenn.dev/yoshi12/articles/b61dc034925dab

上の論文は主にフィードフォワード層の計算削減に関するもので、LLM(の主要部分である Transformer 層)全体に適用するには別途工夫が必要です。そこで次に、[2] BP-transformer を解説する予定です。
BP-transformer も同様の発想で、attention の重み行列(特に計算量が大きくなりがちな K V^T の項)をスパースな表現で近似し、計算量を削減します。通常の attention がコンテキスト長 N に対して O(N^2) の計算量になるのに対し、BP-transformer は O(N log N) を目指す構造になっています。個人的には BP-transformer の構造が美しく感じられ、興味深いアプローチだと思っています。軽く調べた限りでは日本語のまとまった解説が見つからなかった(あったらごめんなさい!)ので、分かりやすく紹介できればと考えています。
公開しました!
記事:https://zenn.dev/yoshi12/articles/888880cfc791a3

上記 2 本で、Transformer の attention 層とフィードフォワード層の両方に対する計算削減のアイデアを押さえられるため、「LLM の軽量化」に関する理解が深まると期待しています。もちろん古い手法だったり実運用にそのまま使いづらい点があったりするかもしれませんが、個人レベルで考察するには面白いテーマだと感じています。

少なくとも、2025 年 8 月 に発表された、OpenAI の gpt-oss(公式リリースノート)というオープンソースモデルでは、上記の手法は採用されず、密な行列積の演算が行われているようでした。(そこまで大きなモデルではないので、採用するメリットが薄いだけかもしれませんが…)

[1]: Compressing deep neural networks by matrix product operators(arXiv: https://arxiv.org/abs/1904.06194)
[2]: BP-Transformer: Modelling Long-Range Context via Binary Partitioning(arXiv:https://arxiv.org/abs/1911.04070)

Discussion