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の仕組みがわかります。