| チャットボットのふりをしているわけではありません。コートを羽織ったルックアップテーブルでもありません。ちゃんとしたデコーダー専用のトランスフォーマーです。Attention、RMSNorm、フィードフォワード、残差――全部入り。2層、4ヘッド、だいたい25,000パラメータ。すべてint8です。量子化を意識した学習(QAT)で、浮動小数モデルと整数モデルが、次のトークンが何になるべきかについて一致するようにしました。 それはフロッピーディスク上にあります。トークンあたり1分以上かかります。完全な返信を得るには数分の待ち時間が必要で、境界が色を点滅させ、SIDチップがトークンごとに1回ビープ音を鳴らして「まだそこにいる、まだ考えてる!」と教えてくれます。 私はもう何日も同じ部屋でそれと一緒にいました。ときどき、後ろでビープ音。トークンが落ちるたびに、私は毎回にっこりします :D まあ正直に言うと……賢いわけではありません。ただ、その25,000パラメータがGPT-4などのものより約7,000万倍(?)小さいと考えると、そこは受け入れられると思います。私はC64を、だいたい100回の短い“感情サポート”のやり取りで学習させました(「悲しい」->「それは本当に大変そう」)。そして今では、壊れた小さな「ぼくぼく、ここここ」みたいなやり方で、私に優しくしようとします。 「HELLO! RE SOUNDS ME. MEFUL!」はナンセンスと言ってもいいでしょう。でも、なぜか意図はちゃんとにじみ出ています……それとも、私の頭が“本来あるべき以上に深いものだ”と勘違いさせているだけでしょうか? でも、最初に読んだときは強い満足感がありました。子どもの頃の夢が叶ってくる感じに……。私のC64は今生きています! それを擁護するように言われても困ります。私はただ報告しているだけです ;) 64kあれば、あらゆるボットに十分だ64KBのRAMを持つマシンに、重み25KB。読み込んだ後でも、コード、アクティベーション用のバッファ、トークナイザのテーブル、BASIC、KERNAL――その全部のための余裕がまだあります。C64は、本物のトランスフォーマーを載せても実際に“まだ余る”ほどの余裕があります。1982年のハードウェアで。 コツは、すべての重みが1バイトだということです。学習時に織り込まれた、テンソルごとのシフトがあるおかげで、int8が、ほとんどのフレームワークが32ビット浮動小数に任せている仕事をやってくれます。保存容量は4分の1、帯域は4分の1、そしてそれに対応する形で学習していれば精度の“崖”がありません。 6510には乗算器も除算器も浮動小数点もありません。だから、すべてのmatmulは「シフトして足す」です。除算は“戻す長除算(restoring long division)”。RMSNormは平方根を欲しがるので、整数のisqrtがあります。Softmaxは128エントリの事前計算expテーブル……そしてそれを、純粋なアセンブリで、どれにも触れる前にPythonのリファレンスに対して完全一致(bit-exact)するようにしています。大事な実機のC64に触れる前に、です。 そもそもNVIDIAなんて要る?C64に搭載されているチップは、OpenAIやGoogleが自分たちのモデルで使っているのと同じアーキテクチャを動かせます。もちろん遅いだけです。とても、とても、さらにとても遅い。誇らしげに遅い。 自分のハードウェアで、独自のAIチャットボットを動かせます! 言い訳は不要! :)このプロジェクト全体は冗談として始まり、そして本気の“何か”に変わりました。 いまAIに関する見出しは全部“スケール”の話です。より大きなモデル、より大きなクラスタ、より大きなデータセンター、より大きな電力消費、より高い水道代、より大きな政府の発注。誰かがDRAMの世界中の供給を買うと言い出す。メモリ価格が3倍になります。彼らはこっそり手を引く。価格は下がりません。小規模な開発者たちがあちこちでその後始末をする。レトロ修理の人たちはチップを調達できない。ゲームスタジオのハードウェア予算は爆発する。棚を倒した子は、すでに車の中です。 そして同じ人たちが今度は、未来にはもっと筋肉が必要だと言います。もっと計算力。もっと何もかも。信じろよ、Bro! 特異点(シンギュラリティ)はさらに1000億ドルが必要だし、さらにあなたのグリッド容量も必要で、さらに地下水も必要です。未来はもっと筋肉ではない。未来はもっと良い思考です。思想を込めて学習したトークナイザ、筋の通った量子化、正直な計算――パラメータ25kのトランスフォーマーなら、1982年のコンピュータで(壊れてるけど、小さくて、かわいい会話ができます)。その洞察をスケールアップすると、誰も発電所を所有する必要がないまま、スマホ、冷蔵庫、車、コンモドール、どれでも動かせるくらい小さなモデルが作れる。研究はもうその方向を指しています。小さいモデル、より良いデータ、賢い学習、スパース性、蒸留。毎月のように「実は“パラメータの10分の1”でも、ただ…すればできる」と言う論文が出ます。 私たちは、その道がどこに通じるのかを知ることはできないでしょう。実際には。というのも、お金を持っている人たちが、文章を言い終わる前に答えが「もっと(more)」だと決めてしまったからです。億万長者たちはケーキを全部食べる。残りの私たちは、ケーキ不足は自分たちのせいだと言われ、さらに「しかもサブスクはこちら」って渡されます。 まあ、それである必要はありません……そして言葉より行動ということで:私は、E.T.が公開された年の1MHzのホームコンピュータに、本物のトランスフォーマーを載せて、あなたがそれを試せるように公開しました… すべてGitHubにあります:https://github.com/gizmo64k/soulplayer-c64 .. 重み、ディスクイメージ...そして近日中にソースも [link] [comments] |
トランスフォーマーモデルを改造なしの株式用コモドール64に載せてみた
Reddit r/LocalLLaMA / 2026/4/9
💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical UsageModels & Research
要点
- 貢献者は、フロッピーディスクに保存した int8 重みを用いて、改造なしの Commodore 64 上で真のデコーダーのみのトランスフォーマー(2層、4ヘッド、約25,000パラメータ)を動かしたと報告している。
- このモデルは量子化を意識した学習(quantization-aware training)を採用しており、整数(int8)版が浮動小数点モデルのトークン予測と一致するようにしている。そのため、トランスフォーマーをシステムコードやバッファと64KB RAM内に収められる。
- 推論は遅い(1トークンあたり1分以上。全文の応答には数分)上、生成中には視覚的な/色の境界エフェクトが見られる。さらにモデルがトークンを生成するたびに、SIDチップが1回ずつビープ音を鳴らす。
- 記事では、C64には浮動小数点ハードウェアがないため、シフト&加算で matmul(行列積)を実装すること、整数の平方根によって RMSNorm を行うこと、ソフトマックスを事前計算したテーブルでアセンブリ言語により実現することなどが強調されている。
- このプロジェクトは、実用的なチャットシステムというより「子どもの頃の夢」を叶えるデモとして提示されており、GPT-4 のような現代のLLMと比べてパラメータ数が極めて小さい点との対比が示されている。



