AI mở & chạy cục bộ

Mở khóa hiệu năng BF16 trên GPU Nvidia RTX dòng 30 bằng module kernel Linux

Một module kernel Linux mã nguồn mở mới giúp mở khóa toàn bộ tốc độ lệnh BF16 và FP16 trên các card đồ họa Nvidia RTX dòng 30 dành cho người dùng phổ thông, mang lại mức tăng thông lượng đáng kể cho suy luận LLM cục bộ.

Hình minh họa bảng mạch GPU với cơ chế mở khóa lộ ra các mẫu mạng nơ-ron.
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

Module kernel Linux mã nguồn mở có tên gpu-unlock hiện cho phép các card đồ họa Nvidia RTX dòng 30 dành cho người dùng phổ thông hoạt động ở tốc độ lệnh dấu phẩy động cấp chuyên nghiệp. Được phát hành vào cuối tháng 10 năm 2026 bởi nhà phát triển Zagitta, công cụ này thay đổi cách hệ điều hành khởi tạo các kiến trúc GPU cụ thể trước khi driver chính thức của Nvidia tiếp quản. Dự án nhắm đến các kỹ sư và nhà nghiên cứu chạy các mô hình ngôn ngữ lớn (LLM) cục bộ, những người tìm kiếm thông lượng tính toán cao hơn mà không cần nâng cấp phần cứng.

Chuyện gì đã xảy ra

Dự án gpu-unlock kết hợp các kỹ thuật từ những công cụ mở khóa CMP trước đây với các phương pháp khởi tạo giai đoạn đầu thường chỉ dành cho ứng dụng UEFI. Thay vì vá driver độc quyền của Nvidia hoặc yêu cầu sửa đổi firmware phức tạp vốn dễ bị hỏng mỗi khi cập nhật driver, giải pháp này hoạt động như một module kernel độc lập. Nó chặn quy trình khởi tạo GPU trong initramfs của Linux, áp dụng các bộ chọn tốc độ cụ thể vào thanh ghi phần cứng trước khi driver Nvidia tiêu chuẩn liên kết với card. Cách tiếp cận này đảm bảo tương thích với các driver Nvidia chính thức chưa được chỉnh sửa qua nhiều lần cập nhật.

Các báo cáo từ người dùng cho thấy cải thiện hiệu suất đáng kể đối với các khối lượng công việc nặng về ma trận, vốn là cốt lõi của các tác vụ suy luận AI hiện đại. Trên RTX 3090 Ti, điểm chuẩn nhân ma trận tổng quát (GEMM) dày đặc cho thấy thông lượng BF16 nhảy vọt từ 87,50 TFLOPS lên 157,41 TFLOPS. Mức tăng tương tự cũng được quan sát thấy trên các mẫu RTX 3080, 3090, 3070 và 3060, với mức tăng GEMM BF16 dao động từ khoảng 25% đến hơn 80%, tùy thuộc vào giới hạn điện năng và biến thể chip cụ thể. Module nhắm mục tiêu cụ thể vào các kiến trúc chip GA102, GA103, GA104 và GA106 được tìm thấy trong các card dành cho người dùng phổ thông này.

Mức tăng hiệu suất không đồng đều trên tất cả các thao tác AI. Trong khi các giai đoạn prefill của LLM, mô hình diffusion và các triển khai FlashAttention chứng kiến tốc độ tăng từ 14% đến 36%, thì các giai đoạn decode của LLM hầu như không thay đổi vì chúng bị giới hạn bởi băng thông bộ nhớ chứ không phải thông lượng tính toán. Các khối lượng công việc INT8 cũng không cho thấy cải thiện đáng kể. Quan trọng nhất, những người dùng so sánh đầu ra của mô hình trước và sau khi mở khóa đã báo cáo kết quả giống hệt nhau từng bit, xác nhận rằng mức tăng hiệu suất đến từ việc tận dụng các khả năng phần cứng trước đó bị hạn chế, chứ không phải do xấp xỉ hóa các phép tính.

Cơ chế hoạt động

Cơ chế cốt lõi liên quan đến việc ghi các giá trị cụ thể vào thanh ghi bộ chọn tốc độ của GPU trong khoảng thời gian ngắn giữa lúc khởi động hệ thống và lúc tải driver. Module ghi 0x88888888 vào thanh ghi SS0, chọn tốc độ BF16 đầy đủ, và 0x8 vào thanh ghi SS1 4-bit cho IMLA4. Sau đó, nó thực hiện một Đặt lại Cấp độ Chức năng (FLR) để áp dụng các cài đặt này. Bằng cách thực thi chuỗi thao tác này ở giai đoạn initramfs, module đảm bảo phần cứng được cấu hình trước khi driver Nvidia độc quyền khởi tạo trạng thái riêng của nó. Thời điểm này rất quan trọng vì một khi driver liên kết với thiết bị, các thanh ghi cấp thấp này thường bị khóa hoặc được quản lý độc quyền bởi phần mềm của hãng.

Việc cài đặt yêu cầu thêm module vào dòng lệnh kernel Linux và xây dựng lại các image initramfs. Công cụ hỗ trợ các bản phân phối chính bao gồm Arch, Debian, Ubuntu, Fedora và RHEL thông qua các script build tự động xử lý việc giải quyết phụ thuộc và tạo gói. Người dùng phải chủ động lựa chọn tham gia bằng cách chỉ định địa chỉ PCI đích hoặc sử dụng cờ all trong các tham số kernel. Module bao gồm các kiểm tra an toàn để bỏ qua các card đã được liên kết với driver khác hoặc đang tắt nguồn, và nó xử lý các chu kỳ suspend-to-RAM bằng cách áp dụng lại việc mở khóa khi resume nếu card mất nguồn.

Chi tiết chính

  • Phần cứng được hỗ trợ: GeForce RTX 3090 Ti, 3090, 3080 (10GB/20GB), 3070 và 3060 (12GB) dựa trên các chip GA102, GA104 và GA106.
  • Mức tăng hiệu suất: Thông lượng GEMM BF16 tăng 25–80%, với tốc độ prefill của LLM cải thiện 14–36%.
  • Tương thích Driver: Hoạt động với các driver Nvidia chính thức chưa chỉnh sửa; không cần vá driver.
  • Phương pháp Cài đặt: Module kernel Linux được nạp qua initramfs trước khi driver Nvidia liên kết.
  • An toàn: Đầu ra vẫn giống hệt nhau từng bit; module tự động bỏ qua các card đã được liên kết hoặc không được hỗ trợ.
  • Hạn chế: Không có mức tăng hiệu suất cho decode LLM (giới hạn bởi bộ nhớ) hoặc các khối lượng công việc INT8; không hỗ trợ chế độ ngủ đông (hibernation).

Tại sao điều này quan trọng

Đối với các nhà phát triển xây dựng và chạy các mô hình AI cục bộ, chi phí phần cứng là một ràng buộc chính. GPU dành cho người dùng phổ thông cung cấp tỷ lệ hiệu năng/giá tốt hơn đáng kể so với các card trung tâm dữ liệu chuyên nghiệp, nhưng các nhà sản xuất thường hạn chế nhân tạo một số chế độ độ chính xác để phân khúc thị trường. Module này thực sự loại bỏ những rào cản nhân tạo đó cho người dùng Linux, cho phép những người đam mê và các nhóm nhỏ khai thác nhiều giá trị hơn từ phần cứng hiện có. Khả năng nhân đôi thông lượng BF16 trên một chiếc RTX 3090 đưa khả năng tính toán của nó gần hơn với các phiên bản chuyên nghiệp đắt đỏ hơn nhiều cho các tác vụ huấn luyện và suy luận cụ thể.

Cách tiếp cận kỹ thuật này cũng thiết lập một tiền lệ về cách các công cụ do cộng đồng phát triển có thể tương tác với các driver mã nguồn đóng. Bằng cách hoạt động ở cấp độ kernel trước khi driver của hãng tải, module tránh được những rắc rối pháp lý và bảo trì liên quan đến việc dịch ngược hoặc vá các binary độc quyền. Điều này có nghĩa là người dùng có thể hưởng lợi từ các bản vá bảo mật và tính năng mới nhất của driver mà không phải chờ đợi một bản vá cộng đồng bắt kịp. Nó chứng minh một con đường bền vững cho những người đam mê phần cứng để tối đa hóa tiện ích trong khi vẫn duy trì sự ổn định và khả năng hỗ trợ của hệ thống.

Bạn có thể làm gì

  • Xác minh rằng model GPU của bạn khớp với các kiến trúc GA102, GA103, GA104 hoặc GA106 được hỗ trợ liệt kê trong tài liệu dự án.
  • Nhân bản repository và chạy make install để xây dựng và cài đặt module trên bản phân phối Linux của bạn.
  • Thêm gpu_unlock.targets=all vào tệp cấu hình dòng lệnh kernel (ví dụ: /etc/default/grub).
  • Xây dựng lại initramfs của bạn bằng lệnh phù hợp cho distro của bạn (ví dụ: sudo update-grub hoặc sudo mkinitcpio -P).
  • Khởi động lại hệ thống và kiểm tra journalctl -k -b | grep gpu_unlock để xác nhận việc mở khóa đã được áp dụng thành công.
  • Chạy benchmark cho workload LLM hoặc AI cụ thể của bạn để đo lường các cải thiện thực tế về thời gian prefill và huấn luyện.
  • #linux
  • #nvidia
  • #gpu
  • #llm
  • #optimization
  • #open-source

Công cụ từ cửa hàng Bytechap

$89

DocBento

Hệ thống quản lý tài liệu tự host, có khả năng đọc mọi bản quét và trả lời kèm trích dẫn trang cụ thể.

Demo trực tiếp

Đọc tiếp

Tất cả bài viết