Chạy một mô hình ngôn ngữ siêu nhỏ trong sector khởi động 510 byte
Dự án mới mang tên bootgpt chạy một mạng nơ-ron cấp ký tự (char-level) trong Master Boot Record, tạo ra các nhật ký Linux giả trên phần cứng trần mà không cần hệ điều hành.
Được dịch tự động từ bản gốc tiếng Anh.
Nhà phát triển kerlenton đã ra mắt bootgpt, một dự án thực thi trực tiếp một mô hình ngôn ngữ nhỏ từ Master Boot Record (MBR) của máy tính. Được công bố vào cuối tháng 10 năm 2026, công cụ này hoạt động hoàn toàn ở chế độ thực 16-bit trên phần cứng BIOS cũ, không yêu cầu hệ điều hành hay runtime C để vận hành.
Chuyện gì đã xảy ra
Dự án trình diễn một mạng nơ-ron thức dậy cùng với máy và tạo ra các nhật ký khởi động Linux bị "ảo giác" (hallucinated). Thay vì tải một hệ điều hành truyền thống, đoạn mã đọc các sector của chính nó từ đĩa, nạp một mô hình nặng 11,5 KB được lưu trữ trong các sector tiếp theo, và bắt đầu in văn bản lên màn hình bằng cách sử dụng các ngắt BIOS cơ bản. Đầu ra mô phỏng dấu thời gian, địa chỉ bus PCI và các sự kiện ACPI cho phần cứng thực tế không tồn tại trên máy chủ.
Cách tiếp cận này khác biệt đáng kể so với những nỗ lực gần đây nhằm chạy các mô hình lớn hơn như Llama-2 trong quá trình khởi động. Trong khi các dự án khác như sectorllm sử dụng hơn 1,2 KB mã assembly để chạy các mô hình transformer với cơ chế attention, bootgpt tự giới hạn mình trong mức giới hạn nghiêm ngặt 510 byte của không gian mã MBR. Các trọng số và bảng từ vựng được giữ trong các sector dữ liệu, cho phép engine suy luận vẫn cực kỳ gọn nhẹ trong khi vẫn tạo ra các thông điệp hệ thống mạch lạc, dù vô nghĩa.
Kho lưu trữ bao gồm các công cụ để tạo dữ liệu huấn luyện, huấn luyện mô hình và ghi lại các bản demo. Người dùng có thể ghi ảnh đĩa được cung cấp vào một USB stick và khởi động bất kỳ máy nào tương thích BIOS để xem hiệu ứng. Hệ thống được thiết kế để tự chứa, chỉ đọc các sector của chính nó và khởi động lại khi nhấn bất kỳ phím nào.
Cách thức hoạt động
Cốt lõi của hệ thống là một mạng nơ-ron cấp ký tự với một lớp ẩn duy nhất. Để phù hợp với các ràng buộc khắt khe của sector khởi động, nhà phát triển đã lượng tử hóa tất cả các tham số mô hình sang định dạng int8 bằng cách sử dụng các tỷ lệ lũy thừa của hai. Lựa chọn cụ thể này cho phép bộ xử lý ở chế độ thực 16-bit thực hiện toàn bộ quá trình forward pass chỉ bằng phép nhân số nguyên (imul) và một lệnh chia số nguyên (idiv), tránh nhu cầu về mô phỏng dấu phẩy động phức tạp.
Việc huấn luyện được xử lý bởi một script Python tạo ra 3 MB nhật ký dmesg giả. Bộ tạo biến đổi các phiên bản kernel và cấu hình đĩa trong mỗi phiên để ngăn mô hình đơn giản chỉ ghi nhớ các chuỗi lặp đi lặp lại. Sự biến đổi này buộc mạng nơ-ron nhỏ học các mẫu cấu trúc của nhật ký khởi động thay vì chỉ lặp lại văn bản tĩnh. Script huấn luyện cũng mô phỏng chính xác toán học số nguyên mà mã assembly sẽ thực thi, bao gồm một Bộ sinh tuyến tính đồng dư (LCG) cho việc lấy mẫu. Điều này đảm bảo rằng đầu ra từ môi trường huấn luyện Python khớp với đầu ra của sector khởi động từng ký tự một.
Mã assembly runtime, nằm trong boot.asm, đảm nhận phần việc nặng nề. Nó sử dụng ngắt 13h để nạp các trọng số từ đĩa và ngắt 10h để in ký tự vào buffer video. Các hàm kích hoạt được triển khai thông qua softclip sử dụng các lệnh cdq và idiv, trong khi việc lấy mẫu dựa vào nhiễu được gieo từ bộ đếm thời gian hệ thống. Vì MBR bị giới hạn ở 512 byte, với hai byte cuối cùng dành cho chữ ký khởi động, mã thực thi phải vừa vặn trong 510 byte.
Chi tiết quan trọng
- Engine suy luận vừa vặn hoàn toàn trong giới hạn mã 510 byte của Master Boot Record.
- Mô hình sử dụng lượng tử hóa int8 với các tỷ lệ lũy thừa của hai để cho phép toán số nguyên hiệu quả trên phần cứng thời kỳ 386.
- Dữ liệu huấn luyện bao gồm 3 MB nhật ký khởi động Linux tổng hợp với các phiên bản kernel và thiết lập đĩa đa dạng.
- Hệ thống chạy ở chế độ thực 16-bit, sử dụng các ngắt BIOS cho I/O đĩa và xuất video.
- Trọng số, chuỗi và bảng từ vựng được lưu trữ trong 23 sector tiếp theo sau MBR, tổng cộng 11,5 KB.
- Bất kỳ phím nào được nhấn đều kích hoạt khởi động lại, và bản demo có thể được ghi lại không giao diện (headlessly) thông qua socket giám sát QEMU.
Tại sao điều này quan trọng
Đối với các kỹ sư làm việc về AI biên (edge AI) và hệ thống nhúng, bootgpt đóng vai trò là một ví dụ cực đoan về suy luận trong điều kiện tài nguyên hạn chế. Nó chứng minh cách lượng tử hóa cẩn thận và đơn giản hóa kiến trúc có thể cho phép các mạng nơ-ron chạy trên phần cứng có bộ nhớ và sức mạnh xử lý không đáng kể. Trong khi hầu hết các triển khai AI hiện đại tập trung vào GPU và footprint RAM lớn, dự án này làm nổi bật khả năng tồn tại của các thao tác chỉ dùng số nguyên trên CPU cũ, điều vẫn còn liên quan đối với các vi điều khiển tiết kiệm điện và các thiết bị IoT chuyên dụng.
Dự án cũng nhấn mạnh tầm quan trọng của độ trung thực mô phỏng trong phát triển ML nhúng. Bằng cách đảm bảo vòng lặp huấn luyện Python mô phỏng chính xác số học số nguyên của môi trường assembly đích, nhà phát triển đã tránh được các lỗi tinh vi thường gặp trong triển khai mô hình đa nền tảng. Phương pháp xác minh rằng huấn luyện và suy luận tạo ra kết quả giống hệt nhau là một thực hành có giá trị cho bất kỳ ai triển khai mô hình trên các môi trường phần cứng phi chuẩn hoặc bị hạn chế, nơi hỗ trợ dấu phẩy động vắng mặt hoặc không nhất quán.
Những gì bạn có thể làm
- Nhân bản kho lưu trữ bootgpt và kiểm tra các script build để hiểu quy trình lượng tử hóa.
- Sử dụng corpus_gen.py được cung cấp để tạo các bộ dữ liệu tổng hợp cho các nhiệm vụ tạo văn bản có cấu trúc khác.
- Thử nghiệm chiến lược lượng tử hóa int8 trong các dự án nhúng của riêng bạn để giảm kích thước mô hình.
- Chạy ảnh đĩa trong QEMU để quan sát quá trình khởi động mà không gây rủi ro cho phần cứng vật lý.
- Nghiên cứu mã nguồn boot.asm để tìm hiểu cách các ngắt BIOS xử lý I/O trong môi trường chế độ thực.
- So sánh kiến trúc với sectorllm để hiểu rõ các đánh đổi giữa độ phức tạp của mô hình và kích thước mã.



