BootGPT: 부트 섹터에서 실행되는 언어 모델
개요
BootGPT는 PC의 부트 섹터에서 직접 작동하도록 설계된 특수 신경망입니다. 512바이트의 수작업 어셈블리 코드를 활용하여 운영 체제, C 런타임 또는 외부 종속성 없이 실행됩니다. 실행 시 시스템은 타임스탬프, PCI 버스 정보, ACPI 이벤트가 포함된 가상 Linux 부팅 로그를 생성하며, 저수준 머신 러닝 추론의 기능적 시연을 제공합니다.
아키텍처 및 구현
이 프로젝트는 부트 섹터와 후속 디스크 섹터 간에 작업 부하를 분할하여 추론을 수행합니다. 마스터 부트 레코드(MBR)에는 핵심 런타임이 포함되어 있으며, 11.5KB의 int8 모델과 필요한 데이터는 다음 섹터에 위치합니다. 런타임은 386 호환 하드웨어에서 16비트 리얼 모드로 작동합니다.
주요 기술 구성 요소는 다음과 같습니다:
- 추론 엔진: 어셈블리 코드는 디스크 로딩을 위해
int 13h를, 화면 출력을 위해int 10h를 사용합니다. 신경망의 순전파는 정수 연산(imul및idiv)을 사용하여 최적화되었으며, softclip 활성화 함수가 어셈블리로 직접 구현되었습니다. - 양자화: 모델은 Python을 사용하여 학습되었으며 2의 거듭제곱 스케일을 사용하여 int8로 양자화되었습니다. 이를 통해 Python 학습 스크립트와 어셈블리 런타임이 동일한 출력을 생성하도록 보장하여 문자 단위의 검증이 가능합니다.
- 데이터 처리: 기능적 시스템의 환상을 유지하기 위해 모델은 약 3MB의 가짜
dmesg로그로 학습되었습니다. 반복적인 로그 구조를 학습함으로써, 이 작은 모델은 실제 Linux 커널 부팅 시퀀스의 구문과 형식을 모방한 출력을 생성할 수 있습니다.
기존 기술과의 비교
BootGPT는 512바이트 MBR 제약의 한계를 뛰어넘는 부트 섹터 프로젝트의 계보를 잇습니다. 이전 프로젝트들이 이 공간 내에서 체스 엔진, BASIC 인터프리터, C 컴파일러를 구현한 반면, BootGPT는 특히 극단적인 모델 소형화에 중점을 둡니다.
어텐션 메커니즘을 갖춘 트랜스포머 아키텍처를 구현하는 sectorllm과 같은 프로젝트와 달리, BootGPT는 하나의 은닉층을 가진 단순한 문자 단위 네트워크를 사용하여 최소한의 풋프린트를 우선시합니다. 이러한 설계 선택을 통해 전체 추론 엔진이 MBR 내에 상주할 수 있게 되었으며, 가중치와 어휘는 후속 섹터에 저장되어 부팅 과정을 효과적으로 생성 작업으로 전환합니다.