Лёгкий фреймворк для эмуляции CPU на базе QEMU, который выполняет машинный код для разных архитектур через единый API, не зависящий от архитектуры.
kerlenton/bootgpt
Компактная символьная языковая модель, которая работает в 512-байтном загрузочном секторе x86 и генерирует фальшивые журналы загрузки Linux в реальном режиме.
- Звёзды
- 99
- Форки
- 4
- Открытые issues
- 0
- Последний коммит
- 7 дней назад
Что это?
bootgpt — нейросеть, которая работает во время загрузки, ещё до запуска операционной системы. В 512-байтном MBR находится написанный вручную код на ассемблере x86: он считывает int8-квантованную модель размером 11,5 КБ из следующих 23 секторов диска и выполняет инференс в 16-битном реальном режиме на процессоре класса 386 — без ОС и C runtime.
Модель представляет собой небольшую посимвольную сеть с эмбеддингами символов, одним скрытым слоем и softmax. Её обучили на примерно 3 МБ синтетических логов в стиле dmesg, сгенерированных скриптом на Python. При обучении используются степени двойки в качестве масштабов квантования, чтобы ассемблерный код мог выполнять прямой проход с помощью целочисленных умножения и деления. Скрипт на Python имитирует ту же целочисленную арифметику, и его вывод посимвольно совпадает с выводом загрузочного сектора.
Проект — прежде всего эксперимент в духе demoscene и sizecoding. Его предполагается запускать в QEMU; скрипт записывает демо в GIF из headless QEMU, а образ диска также можно записать на USB-накопитель для компьютера с BIOS.
Ключевые возможности
- 01Код загрузочного сектора умещается в 512 байт и загружает веса модели из следующих секторов диска.
- 02Инференс выполняется в 16-битном реальном режиме только с целочисленной арифметикой.
- 03Скрипт обучения на Python квантирует модель до int8 и имитирует вычисления ассемблерного кода для сравнения.
- 04Генерирует синтетические журналы загрузки в стиле ядра для обучающих данных.
- 05Работает в QEMU; образ диска можно записать на USB-накопитель.
Сценарии использования
- Изучение того, как реализовать инференс нейросети на чистом ассемблере x86.
- Изучение sizecoding и техник программирования загрузочных секторов.
- Эксперименты с int8-квантованием и инференсом с фиксированной точкой на крайне ограниченном оборудовании.
Быстрый старт
- 1
Установите nasm и qemu с помощью Homebrew
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 — нейросеть, которая работает во время загрузки, ещё до запуска операционной системы. В 512-байтном MBR находится написанный вручную код на ассемблере x86: он считывает int8-квантованную модель размером 11,5 КБ из следующих 23 секторов диска и выполняет инференс в 16-битном реальном режиме на процессоре класса 386 — без ОС и C runtime.
- bootgpt можно использовать бесплатно? Какая у него лицензия?
- bootgpt распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- bootgpt всё ещё поддерживается?
- Активно поддерживается. Последний коммит в bootgpt — 31 окт. 2026 г..
- Для чего можно использовать bootgpt?
- Изучение того, как реализовать инференс нейросети на чистом ассемблере x86. Изучение sizecoding и техник программирования загрузочных секторов. Эксперименты с int8-квантованием и инференсом с фиксированной точкой на крайне ограниченном оборудовании.
- Как установить bootgpt?
- Установите nasm и qemu с помощью Homebrew: 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 проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека Python для дообучения, оценки и запуска открытых LLM, таких как LLaMA, GPT-J и GPT-OSS, на собственных данных — локально или в частном облаке.
Инструмент машинного обучения с открытым исходным кодом, который использует active learning для приоритизации записей при просмотре больших текстовых наборов данных для систематических обзоров.
Keras 3 — фреймворк для глубокого обучения, работающий на JAX, TensorFlow, PyTorch или OpenVINO для инференса.
Библиотека глубокого обучения на базе PyTorch: высокоуровневые компоненты помогают быстро обучать модели, а низкоуровневые — проводить собственные исследования.
Кроссплатформенный ускоритель для запуска ML-моделей, экспортированных в формат ONNX, с поддержкой обучения с помощью PyTorch-скриптов.