QEMUをベースにした軽量なCPUエミュレータフレームワーク。アーキテクチャに依存しないAPIで、複数のアーキテクチャのマシンコードを実行できます。
kerlenton/bootgpt
512バイトのx86ブートセクターで動作し、リアルモードで偽のLinux起動ログを生成する小さな文字単位の言語モデル。
- スター
- 99
- フォーク
- 4
- 未解決の Issue
- 0
- 最終コミット
- 6 日前
これは何?
bootgptは、OSが起動する前に動作するニューラルネットワークです。512バイトのMBRには手書きのx86アセンブリが収められており、後続の23ディスクセクターから11.5 KBのint8量子化モデルを読み込み、OSやCランタイムを使わずに386クラスのCPUで16ビットリアルモード推論を実行します。
モデルは、文字埋め込み、1つの隠れ層、softmaxを備えた小さな文字単位のネットワークです。Pythonスクリプトで生成した約3 MBの合成dmesg風ログを使って学習しています。学習では2の累乗の量子化スケールを使用するため、アセンブリで整数の乗算と除算による順伝播を実行できます。同じ整数演算をシミュレートするPythonスクリプトもあり、その出力はブートセクターの出力と1文字ずつ一致します。
このプロジェクトは主に、デモシーンとサイズコーディングの実験です。QEMU上での実行を想定しており、ヘッドレスQEMUからデモGIFを録画するスクリプトも用意されています。また、ディスクイメージをUSBメモリに書き込めば、BIOS搭載マシンでも実行できます。
主な機能
- 01ブートセクターのコードは512バイトに収まり、後続のディスクセクターからモデルの重みを読み込みます。
- 02整数演算のみを使い、16ビットリアルモードで推論を実行します。
- 03Pythonの学習スクリプトでモデルをint8に量子化し、比較用にアセンブリの演算をシミュレートします。
- 04学習データとして、合成したカーネル風の起動ログを生成します。
- 05QEMU上で実行でき、ディスクイメージをUSBメモリに書き込むこともできます。
ユースケース
- 生のx86アセンブリでニューラルネットワークの推論を実装する方法を学ぶ。
- サイズコーディングやブートセクタープログラミングの技法を学ぶ。
- 非常に制約の厳しいハードウェアで、int8量子化や固定小数点推論を試す。
クイックスタート
- 1
Homebrewでnasmとqemuをインストールする
brew install nasm qemu - 2
Python仮想環境を作成し、numpyをインストールする
python3 -m venv .venv && .venv/bin/pip install numpy - 3
ブートイメージをビルドする
./build.sh - 4
QEMUでイメージを実行する
./run.sh
使う前に知っておきたいこと
- READMEのインストールコマンドはmacOS(Homebrew)向けのため、他のプラットフォームでは個別に環境をセットアップする必要があります。
- このモデルは偽のブートログを生成する小さなジョーク作品であり、汎用言語モデルではありません。
- 実機で起動するにはBIOS搭載のマシンが必要で、disk.imgをUSBメモリに書き込む必要がありますが、READMEでは簡単に触れられているだけです。
トピック
よくある質問
- bootgpt とは?
- 512バイトのx86ブートセクターで動作し、リアルモードで偽のLinux起動ログを生成する小さな文字単位の言語モデル。 bootgptは、OSが起動する前に動作するニューラルネットワークです。512バイトのMBRには手書きのx86アセンブリが収められており、後続の23ディスクセクターから11.5 KBのint8量子化モデルを読み込み、OSやCランタイムを使わずに386クラスのCPUで16ビットリアルモード推論を実行します。
- bootgpt は無料で使えますか?ライセンスは?
- bootgpt は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- bootgpt は今もメンテナンスされていますか?
- 活発にメンテナンス中。bootgpt の最終コミットは 2026年10月31日 です。
- bootgpt は何に使えますか?
- 生のx86アセンブリでニューラルネットワークの推論を実装する方法を学ぶ。 サイズコーディングやブートセクタープログラミングの技法を学ぶ。 非常に制約の厳しいハードウェアで、int8量子化や固定小数点推論を試す。
- bootgpt のインストール方法は?
- Homebrewでnasmとqemuをインストールする: brew install nasm qemu Python仮想環境を作成し、numpyをインストールする: python3 -m venv .venv && .venv/bin/pip install numpy ブートイメージをビルドする: ./build.sh QEMUでイメージを実行する: ./run.sh
- bootgpt はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kerlenton/bootgpt
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
LLaMA、GPT-J、GPT-OSSなどのオープンソースLLMを、自分のデータでローカルまたはプライベートクラウド上でファインチューニング、評価、実行できるPythonライブラリです。
システマティックレビュー向けに大規模なテキストデータセットをスクリーニングする際、active learningでレコードの優先順位を付けるオープンソースの機械学習ツール。
Keras 3は、JAX、TensorFlow、PyTorch、または推論向けのOpenVINOで動作する深層学習フレームワークです。
ONNX形式にエクスポートしたMLモデルを実行するクロスプラットフォームのアクセラレーター。PyTorchスクリプトでの学習にも対応します。
Unity ML-Agents Toolkitは、Unityのゲームやシミュレーションを強化学習・模倣学習によるAIエージェントの訓練環境として利用できます。