Repolode
kerlenton

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. 1

    Homebrewでnasmとqemuをインストールする

    brew install nasm qemu
  2. 2

    Python仮想環境を作成し、numpyをインストールする

    python3 -m venv .venv && .venv/bin/pip install numpy
  3. 3

    ブートイメージをビルドする

    ./build.sh
  4. 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 の数値は毎日更新されます。

関連プロジェクト

システマティックレビュー向けに大規模なテキストデータセットをスクリーニングする際、active learningでレコードの優先順位を付けるオープンソースの機械学習ツール。

AI・機械学習#active-learning#systematic-reviews#machine-learning
1067+8 今週187PythonApache-2.0活発にメンテナンス更新 一昨日