Hugging Face ra mắt @huggingface/kernels – Hơn 200 kernel WebGPU cho AI chạy trên trình duyệt
Thư viện mới @huggingface/kernels cung cấp 207 kernel WebGPU tối ưu, kèm công cụ đo hiệu năng Fleet, hứa hẹn tăng tốc inference AI trong trình duyệt.
Sự ra mắt của @huggingface/kernels
Vào ngày 1 tháng 9 năm 2026, nhóm WebAI của Hugging Face công bố một bước tiến quan trọng trong việc đưa AI lên trình duyệt: thư viện @huggingface/kernels. Đây là một bộ sưu tập tối thiểu nhưng đầy đủ, cho phép tải và chạy hơn 200 kernel WebGPU được tối ưu từ Hugging Face Hub. Cùng với đó, Hugging Face cũng giới thiệu Fleet – một công cụ benchmark và kiểm thử GPU chạy trực tiếp trong trình duyệt, giúp người dùng và cộng đồng thu thập dữ liệu hiệu năng và độ chính xác trên các thiết bị thực tế.
Chi tiết kỹ thuật và các thành phần của bộ công cụ
``javascript import { getKernel } from "@huggingface/kernels"; const add = await getKernel("webgpu-kernels/ai.onnx.Add", { version: 1 }); const { c } = await add({ a: { data: new Float32Array([1,2,3,4,5,6]), shape: [2,3] }, b: { data: new Float32Array([10,20,30]), shape: [3] }, }); ` Hệ thống tự tính toán kích thước đầu ra [2,3] và cấp phát tensor c` mà không cần người dùng can thiệp.
- Số lượng và phạm vi kernel: Thư viện hiện chứa 207 kernel, bao phủ các phép toán thường gặp trong hầu hết các kiến trúc học máy như nhân ma trận, chuẩn hoá, convolution, attention, quantization, và các phép biến đổi bố cục dữ liệu. Mỗi kernel được công bố dưới dạng một repository riêng trong tổ chức
webgpu-kernelstrên Hugging Face Hub và được cấp phép Apache‑2.0. - Cấu trúc repository: Mỗi kernel đi kèm một “kernel card” mô tả chi tiết semantics, đầu vào, đầu ra, các thuộc tính, kiểu dữ liệu hỗ trợ, và ví dụ sử dụng bằng @huggingface/kernels. Ví dụ, kernel
ai.onnx.Addthực hiện phép cộng phần tử với broadcasting đa chiều, được mô tả rõ ràng về hai đầu vào, kích thước đầu ra, và các biến thể cho các hình dạng và thiết bị khác nhau. Repository chứa các tệp: manifest.json: định nghĩa hợp đồng của phép toán (đầu vào, đầu ra, ràng buộc kiểu, quy tắc suy ra kích thước).metadata.json: ghi lại định danh kernel, checksum và nguồn gốc.test.json: các trường hợp kiểm tra độ đúng (correctness cases).bench.json: các trường hợp benchmark và tuning để đo hiệu năng.*.wgsl.jinja: mẫu shader WGSL có tham số, tạo ra mã shader thực tế cho từng yêu cầu và thiết bị.- Trình tải JavaScript: Thư viện
@huggingface/kernels(có thể cài đặt qua npm vớinpm install @huggingface/kernels@preview) đóng vai trò cầu nối giữa repository kernel và ứng dụng web. Người dùng chỉ cần gọigetKernelvới ID repository và phiên bản hợp đồng, sau đó truyền dữ liệu đầu vào đã được mô tả kiểu. Đoạn mã mẫu dưới đây minh hoạ việc cộng bias: - Công cụ Fleet: Fleet là một bộ benchmark chạy trong trình duyệt, tự động thực thi và chấm điểm các kernel trên phần cứng của người dùng. Kết quả không chỉ giúp người dùng biết được hiệu năng thực tế mà còn cung cấp “bằng chứng” riêng tư cho Hugging Face để phát hiện lỗi (kết quả sai, trường hợp chậm bất thường) và cải tiến các biến thể kernel. Với sự đồng ý của người dùng, mỗi lần chạy sẽ gửi dữ liệu thu thập về phía Hugging Face, tạo nên một kho dữ liệu hiệu năng phong phú mà các phòng thí nghiệm truyền thống không thể đạt được.
- Lý do tập trung vào kernel: Theo Nico Martin, thành viên nhóm WebAI, “một mô hình chạy trong trình duyệt cuối cùng sẽ trở thành một chuỗi các phép toán GPU như nhân ma trận, attention, và quantization. WebGPU cung cấp API đa nền tảng, nhưng hiệu năng phụ thuộc vào cách shader được tối ưu cho từng thiết bị.” Vì vậy, việc cung cấp các kernel được kiểm thử, benchmark và phiên bản hoá giúp các runtime cao hơn (như TensorFlow.js, ONNX Runtime) tối ưu hơn mà không phải tái xây dựng lại các phép toán cơ bản.
- Yêu cầu môi trường: Để chạy các kernel, trình duyệt phải hỗ trợ WebGPU – hiện có trên Chrome, Edge, Safari (phiên bản mới) và một số bản Firefox experimental. Kiểm tra nhanh bằng JavaScript:
"gpu" in navigator.
Bối cảnh và ý nghĩa đối với cộng đồng AI
Việc ra mắt @huggingface/kernels đánh dấu một bước tiến quan trọng trong xu hướng “AI trên thiết bị đầu cuối”. Khi các mô hình ngôn ngữ ngày càng lớn, việc đưa inference lên trình duyệt giúp giảm độ trễ, bảo vệ dữ liệu người dùng và giảm tải cho server. Trước đây, các nhà phát triển phải tự viết shader WGSL hoặc dựa vào các thư viện đóng gói không chuẩn, dẫn đến sự không đồng nhất về hiệu năng và độ tin cậy. Với một kho kernel mở, có tài liệu, kiểm thử và benchmark công khai, cộng đồng có thể tập trung vào việc xây dựng các mô hình mới thay vì lo lắng về tối ưu hoá cấp thấp.
So sánh với các giải pháp hiện có như TensorFlow.js hoặc ONNX Runtime Web, @huggingface/kernels không cố gắng thay thế mà bổ sung: các runtime cao hơn sẽ gọi các kernel này như các “building blocks” đã được chứng minh là nhanh và đúng. Đồng thời, Fleet tạo ra một mạng lưới crowdsourced benchmark, tương tự như các dự án Benchmark.ai, nhưng tập trung vào GPU thực tế trên trình duyệt, giúp phát hiện sớm các vấn đề tương thích trên các GPU di động, laptop, và máy tính để bàn.
Nhìn chung, với hơn 200 kernel được phát hành ngay từ đầu, giấy phép Apache‑2.0 và một công cụ benchmark cộng đồng, Hugging Face đang xây dựng nền tảng cơ bản cho một thế hệ AI nhanh, an toàn và dễ tiếp cận trên mọi thiết bị có trình duyệt hỗ trợ WebGPU. Đây có thể là một trong những bước đệm quan trọng để AI trở thành “người bạn” thực sự trên máy tính cá nhân, thay vì chỉ tồn tại trên các máy chủ đám mây lớn.
