Show HN: 부트 섹터 안에 사는 언어 모델

16 hours ago 3

bootgpt는 운영체제나 C 런타임 없이 386의 16비트 리얼 모드에서 실행되며, 존재하지 않는 하드웨어의 타임스탬프, PCI BAR, ACPI 이벤트가 담긴 가짜 Linux 부팅 로그를 생성함 손으로 작성한 어셈블리로 512바이트 MBR을 구성하고, 뒤따르는 23개 섹터에서 11.5KB int8 모델을 읽어 실행함 8글자 문맥과 은닉층 하나를 사용하는 문자 단위 신경망으로, 범용 이야기 생성이 아니라 부팅 로그 생성이라는 한 가지 작업에 맞춰 학습됨 학습 스크립트가 어셈블리의 정수 연산과 샘플링을 그대로 모사하며, Python과 부트 섹터의 출력이 글자 단위로 일치함 추론 엔진과 BIOS 연동 코드를 510바이트에 넣기 위해 문자열, 가중치, 어휘 테이블은 데이터 섹터로 분리했으며, 일반 BIOS 장치에서 부팅할 수 있는 디스크 이미지를 사용함 부팅하자마자 생성하는 가짜 Linux 로그 bootgpt는 PC가 부팅하면서 신경망을 실행하고, 실제 하드웨어 상태 대신 Linux 부팅 로그 형태의 텍스트를 생성함 8글자 문맥과 은닉층 하나로 만드는 출력에는 PCI 장치 주소와 메모리 범위, 커널 명령줄, ACPI 인터럽트 링크, 네트워크 프로토콜 등록 메시지 등이 나타남 실제 로그와 비슷한 형식 안에 불완전한 문자열과 깨진 단어도 섞임 제작 과정 스레드에서 개발 과정을 확인할 수 있음 510바이트 실행 엔진과 별도 모델 데이터 MBR은 512바이트의 수작업 어셈블리이며, 다음 23개 섹터에 저장된 11.5KB int8 모델을 불러옴 boot.asm 이 전체 런타임을 구성하며, 운영체제나 C 런타임 없이 386의 16비트 리얼 모드에서 실행됨 BIOS int 13h로 가중치를 읽고 int 10h로 문자를 출력함 cdq/idiv로 softclip 활성화 함수를 구현하고, 타이머를 시드로 삼은 잡음을 더해 argmax 샘플링을 수행함 아무 키나 누르면 컴퓨터가 재부팅됨 부트 섹터에는 코드만 저장하고 문자열, 가중치, 어휘 테이블은 데이터 섹터에 배치함 추론과 BIOS 연동을 510바이트 안에 넣기 위해 데이터를 분리함 학습 데이터와 정수 추론 검증 corpus_gen.py 는 가짜 dmesg 데이터 3MB를 생성함 부팅 세션마다 커널 버전 하나와 디스크 하나를 사용함 실제 부팅 로그의 반복성을 재현해 작은 모델도 그럴듯한 출력을 만들도록 함 train.py 는 문자 임베딩, 은닉층 하나, softmax로 구성된 모델...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵