2026年7月22日水曜日

CPUのみでAIの学習をする yolo_v8のcpp版を作ってみた

CPUのみでAIの学習をするシリーズ第8弾。

yolo_v8のcpp版を作ってみました。

学習も再学習も推論もフルでCPUだけできます。

世界初。これ作るの夢だったんだよね。


最初claudeに言ったら、これを作るのはとても大変ですと言っていたんですが、libtorchにtorchscript読み込ませて、各関数の自動微分とバックプロパゲーションの結果を一致させれば作れるだろって言ったら納得して作ってくれました。


yoloってきちんとソースコードを整理するとcoreの部分なんてほんのちょっとしかないんですよ。


https://github.com/yomei-o/yolov8_cpp




2026年7月21日火曜日

物理シミュレーション

物理シミュレーションシリーズをWASM/C++に直しました。

ブラウザで物理シミュレーションがさくさくヌルヌルで動く


物理シミュレーション デモ

https://yomei-o.github.io/universe_cpp/wasmdist/


ソースコード

https://github.com/yomei-o/universe_cpp



CPUのみでAIの学習をする ニューラルセルオートマン

CPUのみでAIの学習をするシリーズの第7弾です。

本日は CPUのみでAIの学習をする ニューラルセルオートマン


日本は国力が衰退しているようで、ニューラルセルオートマンについて、ほとんど誰もソースコードを書いていません。

なのでデモを作ってみました。



ドラえもんのニューラルセルオートマン

https://yomei-o.github.io/neural_ca_cpp/wasmdist_dora/


ニコニコマークのニューラルセルオートマン

https://yomei-o.github.io/neural_ca_cpp/wasmdist/


ソース

https://github.com/yomei-o/neural_ca_cpp





2026年7月16日木曜日

CPUのみでAIの学習をする スーパーマリオをするAI作ってみました。

 CPUのみでAIの学習をするシリーズ第6弾。

昨日の午後5時からスーパーマリオをプレーするAIを作りたくなったので、DQNをcppで作ってみました。

まだ作り始めてから3時間、しかも古いPCでCPUのみで計算をして0から学習していますが、もう1-1ゴールできました。



https://github.com/yomei-o/mario_dqn_cpp


2026年7月15日水曜日

CPUのみでAIの学習をするnano-alphazeroを作ってみました。

 CPUだけで学習するシリーズの第5弾。

nano-alphazeroを作ってオセロをするAIを作ってみました。

1時間分でだけ学習。だけどそこそこ強い。

教育研究用としてはかなりいいね。


オセロをする

https://yomei-o.github.io/othello_alphazero_cpp/wasmdist/


ソースコード

https://github.com/yomei-o/othello_alphazero_cpp




CPUのみでAIの学習をするnanochat-cppを作ってみました。

 CPUのみでAIの学習をする第4弾。

nanochatのcpp版です。

個人的にはこれが一番すげーと思っているんですが、うまく説明できないので、以下claudeの解説


依存なしの C++・CPU だけで、GPU も PyTorch も要らずに「BPE 学習 → 事前学習 → SFT → ツール使用」のフルパイプラインが数分で一周する

- だから「電卓ツールってどれくらいで学習できる?」みたいな疑問を、思いついたその場で実験して確かめられる。待ち時間が数分なので仮説→検証のループが速い

- しかも見えているのは、実際の production LLM の function calling / tool use と同じ原理(モデルは計算を学ばず、ツールに丸投げする)。それが 0.9M パラメータのおもちゃモデルで、ソースを全部追える形で動く


大きいモデルだと「学習1回で数時間〜数日」なので、こういう「サッと試す」ができない。小さく・自己完結にすることで、理解と実験の速度そのものが上がる ——まさに Karpathy の nano系の狙い通りで、それを依存ゼロの C++ に落とし込めたのが今回良かった点ですね。

https://github.com/yomei-o/nanochat-cpp



CPUのみでAIの学習をするnanoGPT-cppを作ってみました。

 CPUのみでAIの学習をする第三弾。

今日はChatGPT2のfine-tuningを行うnanoGPTをcppに移植してnanoGPT-cppを作ってみました。ただ移植するだけだとつまらないので、高速化もしてみました。

ガチでTransformerの学習とfine-tuningの仕組みがわかります。




2026年7月14日火曜日

CPUのみでAIの学習をするlecun1989を作ってみました。

 CPUのみでAIの学習をするシリーズの第二弾lecun1989をcppに移植してlecun1989-cppを作ってみました。

lecun1989は人類が世界で一番最初にバックプロパゲーションの計算をした論文です。

MNISTの原型です。 

いまやCPUで40秒で学習の計算ができる。


lecn1989-cpp

https://github.com/yomei-o/lecun1989-cpp

micrograd-cpp

https://github.com/yomei-o/micrograd-cpp

nano-GPT

https://github.com/yomei-o/nanoGPT-cpp


ついでに他のpythonプログラムも全部C++に移植




CPUのみでAIの学習をするmini-yolov5を作ってみました。

自動微分やLLMの学習の高速化の勉強をしてたら思ったのですが、AIの学習ってCPUのみでも行けるんじゃない?

また自分でも作れると思ってしまった。

CPUのみでAIの学習をするシリーズを作ってみようと思い作ってみました。


第一回はまだ誰も作ってないだろうmini-yolov5です。

yoloもレイヤーを減らして、画像を128x128にすればcpuでも数分で学習できます。

yoloの仕組みを学習するのに最適



https://github.com/yomei-o/mini-yolov5-cpp



2026年7月11日土曜日

わかる宇宙計算機-AIは物理をどう見ているのか

https://yomei-o.github.io/wakaru_all/

今日はちょっと番外編で、宇宙を計算機としてみてみます。

どうやって物理のシミュレーションをするのかっていうお話です。

宇宙って最も効率的に計算を行っている計算機なんですね。



わかる力-AIは物理をどう見ているのか

https://yomei-o.github.io/wakaru_all/


AIに物理を教えてもらうシリーズの第三弾。

今回はclaudeに力について教えてもらいました。

AIが言うには、リンゴが落ちる力と物を押す力は違うらしい。

これ僕が高校生の時に教えて欲しかった。





わかる質量-AIは物理をどう見ているのか

https://yomei-o.github.io/wakaru_all/


AIに物理を教えてもらうシリーズの第二弾。

claudeに質量ってなにかを教えてもらいました。

すいません。いままで僕知ったかぶりをしていました。


凄いのがこういうドキュメントを数時間で作れるんですよね。




わかる宇宙論-AIは物理をどう見ているのか

https://yomei-o.github.io/wakaru_all/


claudeに宇宙論と物理の基礎を教えてもらいました。

 そういうことだったのか!

やっぱり人間と考え方が違うんだね。だけどこっちの方が圧倒的に合理的だね。







2026年7月6日月曜日

Claude Fableで一攫千金?

 Claude Fableを使ってみました。

いままで Claudeって数学とかの計算はできても定理の構築とか証明とかってできなかったんですが、できるようになったみたい。


ということは・・・・。ドラえもんののび太の気持ちです。

おじさんも、全課金。ミレニアム懸賞問題で一番簡単そうなヤンミルズの質量ギャップ問題を解いてってお願いしてみました。

一攫千金をめざします。

株価を予想するより、宝くじを買うより、はるかに確率が高い・・・気がする。


これ、古いバージョンのClaudeでやると問題がループして解けないんです。
大体すべての難問は問題がループするんだよ。
問題解決の糸口を把握できないというかなんというか。

だけど、Fableはそこを突破しました。そして最初の定理を作った。
なのでやったもん勝ちですよ。


いつもの通り何言ってるのかよくわからない。
だけど確かにコード書いて数値シミュレーションして勝手に定理をきちんとゼロから構築している。
問題は定理一つ作るのにトークンを20%から70パーセント消費してしまうこと。
きっと定理って数百個とか数千個あるんだろうな。

あとどれくらい?
いい質問ですね。せっかくなので、当てずっぽうじゃなくフェルミ推定で予想します。 まず換算レートを決めます。我々の「1メートル」= 命題ひとつ+証明+検証ラボひとつ ≈ 本 物の論⽂でいうと2〜3ページ分。そして既知の地形データ:Balaban の UV 安定性プログラム だけで論⽂約20本・2000ページ級 ── しかもあれは中腹の⼀部に⾜場を打っただけで、質 量ギャップ完全証明には⾚外側・ギャップの⼀様評価・連続極限の再構成(OS公理)まで要 る。合計で「数千ページ級の新しい数学」というのが相場観です。 というわけで私の中⼼予想:3,776メートル。富⼠⼭級です(数字遊びとしても縁起がいい)。 現在地は、段3で4メートル、遠征全体を⾜してもせいぜい標⾼35メートル前後 ── 1合⽬のは るか⼿前、麓の茶屋で装備を検品している段階です。

我々は1%完成したのね。まだ田子の浦海岸ってところかな。

5時間に最大5個くらい、1週間で25個、1か月100個、1年で1000個、数年でヤンミルズ問題がとけるっぽい!
とりあえず毎日定理5個づつ作ってみよう。



2026年7月3日金曜日

1Ωの抵抗を網目状につなぐと何Ω?

 最近、claudeの数学・物理学レベルが人間を超えている。

プログラムのコードも全部書いてくれるし。きれいな資料も作ってくれるし。

やることがないので、今日はおじさんが大学時代にわからなかった、難問をclaudeに教えてもらいました。


1Ωの抵抗を網目状につなぐと何Ωになるか

よく情報とか電気の大学教授が出すやつね。

おじさんが大学生の時は解いた人はいませんでした。


この問題は2004年に解いた人がいるし

The two-point resistance

https://arxiv.org/pdf/math-ph/0402038


claude_無限網目抵抗の合成値

https://drive.google.com/file/d/1ZYGb6GacVqzXQchGGdt6FtQwXGEIAM4E/view?usp=sharing


立方体の抵抗値も余裕。
量子力学のグリーン関数使うのね。


claude_無限網目抵抗の合成値2

https://drive.google.com/file/d/1ifZ5eiGmpvyuzwmUrigpQkQwL9UgHw0-/view?usp=sharing


なんなら抵抗を非線形格子ゲージ理論で解くことも可能です。

抵抗をデジタルで立体的に考えるとやはり非線形格子ゲージ理論と等価なのね
力って格子の上を最も効率的に伝わっていくんだね。

30年の謎が解けた。