見出し画像

【自作LLM実験②】LLMを自分で設計・訓練し新アーキテクチャを発明しよう。GPU-16GBのVRAMあれば可能です。

最近GPT-5.6solとアイデア出し合って自作LLM作ってプレ学習してベンチで性能測ったりしてて思ったのが、別にVRAM-16GBあれば自作して訓練まで完結させれるな、ということです。

Xやnoteを見ていると、まだLLMを自作して実験している人は少ない様に感じます。新しく発表されたローカルLLMを最高級GPUでぶん回してベンチ結果を出したり、量子化を工夫して少ないVRAMで動くようにする研究が主流なようです。

日本は中国や米国と比べてLLMの研究が弱いという印象があります。

自作LLM文化が日本で広がって、多くの人が新しい仕組みや効率的な仕組みを考えて実装して実験してベンチ回して比較して、その結果をどんどん公開するようになったら面白いんじゃないかと思っています。

巨大なLLMを作るとなると、当然個人では無理です。

でも、新しいLLMの仕組みを考えて試すことまで巨大企業にしかできないわけではありません。

むしろ新しいアーキテクチャの実験なら、小さいモデルでもできます。

そして今はAIがあります。

自分もLLMのコードを自分で書いているわけではありません。

こういう仕組みにしたらどうなるんだろう、とGPTと話して設計を考えて、コードを書かせて、実装を確認させて、実際にGPUで回して結果を見る。

結果が悪かったら、なぜダメだったのかをまた一緒に考える。

そこから次の構造を作る。

これをずっと繰り返しています。

昔だったら、思いついた仕組みを実際にTransformerへ実装するところだけでもかなり大変だったと思います。

でも今は、「こんな仕組みを作りたい」と言えば、かなりのところまでAIがコードにしてくれます。

LLMそのものを作れる時代になったんじゃないか

と思っています。

皆が自分の考えたアーキテクチャを公表し、

そして同じデータ、同じtoken数、同じベンチで比較する。

そういうことを大量の人がやり始めたら、かなり面白いと思います。

新しい仕組みなんて、最初は変な思いつきでいいと思います。

失敗して実験の進め方やAIへの指示の出し方、実験用Skillsの作り方などを学んでいく。それらも皆と共有する。

日本でそういう自作LLM文化が広がってほしいです。

自分で構造を考えて、自分で作って、自分で学習させて、自分で性能を測る。

そして、

「俺の考えたTransformer、普通のTransformerより強かった」

みたいな報告がXやnoteに大量に流れてくるようになったら、かなり面白いと思っています。


ここで、小さいLLMで実験して何の意味があるの?と思う人もいるかもしれません。

ちょうど最近Metaの研究者らが出した 「Small-Scale Experiments: Are We There Yet?」 という論文が面白かったです。

この論文では、なんと4Mパラメータくらいのかなり小さいモデルでも、ちゃんと条件を整えて実験するとスケーリング則が現れることを報告しています。

ただし、小さいモデルほど ハイパーパラメータ にかなり敏感らしいです。

ハイパーパラメータというのは、モデルが学習して勝手に覚える数字ではなく、人間が訓練前に決める設定値のことです。

例えば、

  • 学習率をどれくらいにするか

  • 一度に何tokenずつ学習させるか

  • weight decayをどれくらいかけるか

  • warmupをどれくらい入れるか

みたいな訓練設定です。

小さいモデルでは、こういう設定が少しズレるだけで性能がかなり変わる。

そのため、本当は大型化しても有効な仕組みなのに、小型モデル側の設定が悪かったせいで「この仕組みは効果なし」と判断してしまうことがある、という話です。

逆にモデルが大きくなっていくと、この設定への敏感さは減っていきます。

つまり、

「小型モデルで試しても大型モデルのことは分からない」ではなく、

「小型モデルでは、そのモデルの性能をちゃんと引き出した状態で比較しないと、大型モデルにつながる傾向を見落としやすい」

ということです。

実際この論文では、Transformerの各層で行う「数値を整える処理」を、計算の前に置くのか後に置くのかという違いを、小型モデルで比較しています。

そして小型モデルで得られた結果から、モデルを大きくしたときは、その処理を計算の前に置くPre-Normの方が有利になるという、すでに大型モデルで知られている傾向まで再現できています。

これは個人でLLMを作って実験する上でもかなり重要だと思います。

最初から何十億パラメータのモデルを訓練しなくてもいい。

まず小さいモデルで、新しいAttentionやMLPや情報の流し方を考えて、そのモデルに合った訓練条件までちゃんと詰めて比較する。

そこで標準Transformerより強くて、さらにモデルサイズを少しずつ大きくしても優位が伸びたり維持されたりするなら、

その仕組みは大型モデルでも有効になる可能性がある。

もちろん小型で勝ったから、そのまま100Bでも勝つと断言できるわけではありません。

でも逆に言えば、

新しいLLMアーキテクチャを探す最初の場所として、小型モデルは十分使える。

しかも小型なら家庭用GPUで何個も作って、失敗して、作り直して、比較できます。

個人が巨大研究所と同じGPU枚数を用意する必要はありません。

小さいところで大量にアイデアを試して、本当に伸びそうな仕組みを見つける。

そして、その中で当たりが出たものを大型化していく。

自作LLMでやるなら、このやり方が一番現実的だと思います。


AMDもIntelも、2026年8月現在はPyTorchでGPU訓練できる。ただし、実用上の難易度はかなり違います。

AMD

AMDはかなり現実的です。

ROCmがAMD版CUDAに相当する基盤で、PyTorchから普通に学習できます。AMD公式でもRadeonを機械学習開発に使うことを明確にサポートしていて、RX 9070 XT、9070、9060 XT、7900 XTXなどがROCmの対応GPU一覧に入っています。(AMD ROCm Documentation)

つまり、たとえば

  • RX 9060 XT 16GB

  • RX 9070 16GB

  • RX 9070 XT 16GB

  • RX 7900 XTX 24GB

  • Radeon AI PRO R9700 32GB

あたりで、小型LLMをゼロから事前学習すること自体は普通に可能です。(AMD ROCm Documentation)

問題は性能よりもCUDA向けコードとの互換性です。

普通のPyTorch演算だけならかなり動きますが、

torch.cuda

前提のコードや、CUDA専用kernel、特定のFlashAttention、Triton/CUDA extensionなどを使っていると修正が必要になることがあります。

なので、

「PyTorchだけで素直に書いたTransformer」ならAMDでも十分狙える。
「CUDA専用最適化を山盛りにした訓練コード」だと面倒になる。

という感じです。


Intel

Intelも技術的にはできます

現在はPyTorch本体にIntel GPUのXPUサポートが入っていて、

device = torch.device("xpu")

のようにIntel GPUを使えます。以前必要だったIntel Extension for PyTorchも2026年3月でEOLになり、Intel自身が「今後はネイティブPyTorchを使ってほしい」と案内しています。(Intel Extension for PyTorch)

つまりArc Pro B50 16GB、B60 24GB、B70 32GBのようなGPUで、forward、backward、optimizerを回してLLMを事前学習することはできます

ただ、ここはAMDより一段慎重に考えた方がいい。

PyTorch XPU自体は正式に存在していて、Intel GPUで学習可能ですが、CUDAと比べるとLLM訓練用の周辺ecosystemがまだ薄いです。PyTorch側もIntel GPU対応を継続的に強化していますが、2026年にもTransformer/SDPAのbackwardに関する不具合報告などがあります。(PyTorch)

なので現時点では、

GPU事前学習難易度

  • NVIDIA CUDA一番楽

  • AMD ROCm○〜◎十分現実的

  • Intel XPUできるが工夫が必要

という感じです。

AMDまで入れるとかなり参加人口が増えます。RX 9060 XT 16GBなんかはNVIDIAの16GBカードより安いので、「6〜7万円級の家庭用GPUでもLLMをゼロから事前学習できる」という話までできる。



いいなと思ったら応援しよう!

AIと対話する愚者 この言葉の海を渡り、ここまで辿り着いてくださり感謝します。もしあなたの心に小さな灯火がともったなら、チップという形でその光を分けていただけませんか。いただいた光は、まだ見ぬ真理の暗闇を照らす、大きな松明のエネルギーとさせていただきます。あなたの光が、誰かの道をも照らします。