transformers.js v4 Preview- Hiện đã có trên NPM!
Thông báo về bản xem trước Transformers.js v4, hiện đã có trên NPM, cho phép các nhà phát triển sử dụng các mô hình Transformer trực tiếp trong trình duyệt.
- 9 min read
Transformers.js v4 Preview: Đã có trên NPM!
Chúng tôi vui mừng thông báo Transformers.js v4 (bản xem trước) hiện đã có trên NPM! Sau gần một năm phát triển (chúng tôi bắt đầu vào tháng 3 năm 2025 🤯), cuối cùng chúng tôi đã sẵn sàng để bạn dùng thử. Trước đây, người dùng phải cài đặt v4 trực tiếp từ mã nguồn qua GitHub, nhưng giờ đây, mọi thứ đơn giản chỉ là chạy một lệnh duy nhất!
sh npm i @huggingface/transformers@next
Chúng tôi sẽ tiếp tục xuất bản các bản phát hành v4 dưới thẻ next trên NPM cho đến khi phát hành đầy đủ, vì vậy hãy mong đợi các bản cập nhật thường xuyên!
Cải thiện Hiệu suất & Thời gian chạy
Thay đổi lớn nhất chắc chắn là việc áp dụng Runtime WebGPU mới, được viết lại hoàn toàn bằng C++. Chúng tôi đã làm việc chặt chẽ với nhóm ONNX Runtime để kiểm tra kỹ lưỡng Runtime này trên khoảng 200 kiến trúc mô hình được hỗ trợ, cũng như nhiều kiến trúc độc quyền của v4.
Ngoài hỗ trợ toán tử tốt hơn (cho hiệu suất, độ chính xác và phạm vi bao phủ), Runtime WebGPU mới này cho phép sử dụng cùng một mã transformers.js trên nhiều môi trường JavaScript khác nhau, bao gồm trình duyệt, môi trường chạy phía máy chủ và ứng dụng máy tính. Đúng vậy, giờ đây bạn có thể chạy các mô hình được tăng tốc WebGPU trực tiếp trên Node, Bun và Deno!

Chúng tôi đã chứng minh rằng có thể chạy các mô hình AI hiện đại 100% cục bộ trong trình duyệt, và bây giờ chúng tôi tập trung vào hiệu suất: làm cho các mô hình này chạy nhanh nhất có thể, ngay cả trong môi trường bị hạn chế tài nguyên. Điều này đòi hỏi phải suy nghĩ lại hoàn toàn chiến lược xuất khẩu của chúng tôi, đặc biệt là đối với các mô hình ngôn ngữ lớn. Chúng tôi đạt được điều này bằng cách triển khai lại các mô hình mới từng toán tử một, tận dụng các Contrib Operators chuyên biệt của ONNX Runtime như com.microsoft.GroupQueryAttention, com.microsoft.MatMulNBits, hoặc com.microsoft.QMoE để tối đa hóa hiệu suất.
Ví dụ, bằng cách áp dụng toán tử com.microsoft.MultiHeadAttention, chúng tôi đã đạt được tốc độ nhanh hơn ~4 lần cho các mô hình nhúng dựa trên BERT.

Bản cập nhật này cho phép hỗ trợ ngoại tuyến hoàn toàn bằng cách lưu trữ các tệp WASM cục bộ trong trình duyệt, cho phép người dùng chạy các ứng dụng Transformers.js mà không cần kết nối internet sau lần tải xuống ban đầu.
Cấu trúc lại Kho chứa
Việc phát triển một phiên bản chính mới đã mang đến cho chúng tôi cơ hội đầu tư vào cơ sở mã và thực hiện các công việc tái cấu trúc đã bị trì hoãn từ lâu.
PNPM Workspaces
Cho đến nay, kho chứa GitHub là gói npm của chúng tôi. Điều này hoạt động tốt miễn là kho chứa chỉ hiển thị một thư viện duy nhất. Tuy nhiên, nhìn về tương lai, chúng tôi nhận thấy sự cần thiết của nhiều gói phụ thuộc nặng nề vào lõi Transformers.js nhưng giải quyết các trường hợp sử dụng khác nhau, chẳng hạn như triển khai cụ thể của thư viện hoặc các tiện ích nhỏ hơn mà hầu hết người dùng không cần nhưng lại cần thiết cho một số người.
Đó là lý do tại sao chúng tôi chuyển kho chứa thành một monorepo bằng cách sử dụng pnpm workspaces. Điều này cho phép chúng tôi xuất các gói nhỏ hơn phụ thuộc vào @huggingface/transformers mà không gặp phải chi phí quản lý kho chứa riêng biệt.
Cấu trúc Lớp Mô-đun
Một nỗ lực tái cấu trúc lớn khác nhằm vào tệp models.js ngày càng phình to. Trong v3, tất cả các mô hình có sẵn đều được định nghĩa trong một tệp duy nhất trải dài hơn 8.000 dòng, ngày càng khó bảo trì. Đối với v4, chúng tôi đã chia tệp này thành các mô-đun nhỏ hơn, tập trung với sự phân biệt rõ ràng giữa các hàm tiện ích, logic cốt lõi và việc triển khai cụ thể của mô hình. Cấu trúc mới này cải thiện khả năng đọc và giúp việc thêm các mô hình mới trở nên dễ dàng hơn nhiều. Giờ đây, các nhà phát triển có thể tập trung vào logic cụ thể của mô hình mà không cần điều hướng qua hàng nghìn dòng mã không liên quan.
Kho chứa Ví dụ
Trong v3, nhiều dự án ví dụ Transformers.js nằm trực tiếp trong kho chứa chính. Đối với v4, chúng tôi đã chuyển chúng sang một kho chứa riêng, cho phép chúng tôi duy trì cơ sở mã sạch sẽ hơn tập trung vào thư viện cốt lõi. Điều này cũng giúp người dùng dễ dàng tìm kiếm và đóng góp vào các ví dụ mà không cần xem xét lại kho chứa chính.
Prettier
Chúng tôi đã cập nhật cấu hình Prettier và định dạng lại tất cả các tệp trong kho chứa. Điều này đảm bảo định dạng nhất quán trên toàn bộ cơ sở mã, với tất cả các PR trong tương lai sẽ tự động tuân theo cùng một kiểu. Không còn tranh cãi về định dạng nữa… Prettier xử lý tất cả, giữ cho mã sạch sẽ và dễ đọc cho mọi người.
Mô hình và Kiến trúc Mới
Nhờ chiến lược xuất khẩu mới của chúng tôi và sự hỗ trợ ngày càng tăng của ONNX Runtime đối với các toán tử tùy chỉnh, chúng tôi đã có thể bổ sung nhiều mô hình và kiến trúc mới vào Transformers.js v4. Bao gồm các mô hình phổ biến như GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1 và Youtu-LLM. Nhiều mô hình trong số này đòi hỏi chúng tôi phải triển khai hỗ trợ cho các mẫu kiến trúc tiên tiến, bao gồm Mamba (mô hình không gian trạng thái), Multi-head Latent Attention (MLA) và Mixture of Experts (MoE). Có lẽ quan trọng nhất, các mô hình này đều tương thích với WebGPU, cho phép người dùng chạy chúng trực tiếp trong trình duyệt hoặc môi trường JavaScript phía máy chủ với tăng tốc phần cứng. Hãy theo dõi các bản demo thú vị giới thiệu các mô hình mới này!
Hệ thống Xây dựng Mới
Chúng tôi đã di chuyển hệ thống xây dựng của mình từ Webpack sang esbuild, và kết quả thật đáng kinh ngạc. Thời gian xây dựng giảm từ 2 giây xuống chỉ còn 200 mili giây, cải thiện gấp 10 lần giúp tăng tốc đáng kể quá trình lặp lại phát triển. Tuy nhiên, tốc độ không phải là lợi ích duy nhất: kích thước gói cũng giảm trung bình 10% trên tất cả các bản dựng. Cải thiện đáng chú ý nhất là đối với transformers.web.js, mặc định xuất khẩu của chúng tôi, giờ đây nhỏ hơn 53%, có nghĩa là thời gian tải nhanh hơn và thời gian khởi động nhanh hơn cho người dùng.
Thư viện Tokenizers.js Độc lập
Một yêu cầu thường xuyên từ người dùng là trích xuất logic mã hóa thành một thư viện riêng biệt, và với v4, đó chính là điều chúng tôi đã làm. @huggingface/tokenizers là một bản tái cấu trúc hoàn chỉnh logic mã hóa, được thiết kế để hoạt động liền mạch trên trình duyệt và môi trường chạy phía máy chủ. Với kích thước chỉ 8,8kB (đã nén) và không có phụ thuộc, nó cực kỳ nhẹ trong khi vẫn giữ được độ an toàn kiểu hoàn chỉnh.
javascript import { Tokenizer } from “@huggingface/tokenizers”;
// Tải từ Hugging Face Hub
const modelId = “HuggingFaceTB/SmolLM3-3B”;
const tokenizerJson = await fetch(
https://huggingface.co/${modelId}/resolve/main/tokenizer.json
).then(res => res.json());
const tokenizerConfig = await fetch(
https://huggingface.co/${modelId}/resolve/main/tokenizer_config.json
).then(res => res.json());
// Tạo tokenizer const tokenizer = new Tokenizer(tokenizerJson, tokenizerConfig);
// Mã hóa văn bản const tokens = tokenizer.tokenize(“Hello World”); // [‘Hello’, ‘ĠWorld’]
const encoded = tokenizer.encode(“Hello World”); // { ids: [9906, 4435], tokens: [‘Hello’, ‘ĠWorld’], … }
Sự tách biệt này giữ cho lõi của Transformers.js tập trung và gọn nhẹ, đồng thời cung cấp một công cụ độc lập, linh hoạt mà bất kỳ dự án WebML nào cũng có thể sử dụng độc lập.
Cải tiến Khác
Chúng tôi đã thực hiện nhiều cải tiến về chất lượng cuộc sống trên toàn thư viện. Hệ thống kiểu đã được tăng cường với các kiểu pipeline động thích ứng dựa trên đầu vào, mang lại trải nghiệm nhà phát triển tốt hơn và độ an toàn kiểu.

Việc ghi nhật ký đã được cải thiện để cung cấp cho người dùng nhiều quyền kiểm soát hơn và phản hồi rõ ràng hơn trong quá trình thực thi mô hình. Ngoài ra, chúng tôi đã thêm hỗ trợ cho các mô hình lớn hơn vượt quá 8 tỷ tham số. Trong các thử nghiệm của chúng tôi, chúng tôi đã có thể chạy GPT-OSS 20B (q4f16) ở tốc độ ~60 token mỗi giây trên M4 Pro Max.
Lời cảm ơn
Chúng tôi muốn gửi lời cảm ơn chân thành đến tất cả những người đã đóng góp vào bản phát hành lớn này, đặc biệt là nhóm ONNX Runtime vì công việc tuyệt vời của họ trên Runtime WebGPU mới và sự hỗ trợ của họ trong quá trình phát triển, cũng như tất cả những người đóng góp bên ngoài và người thử nghiệm sớm.
Các Bài viết Khác từ Blog của chúng tôi
Transformers.js v3: Hỗ trợ WebGPU, Mô hình & Tác vụ Mới, và Nhiều hơn nữa… announcement, transformers.js, transformers, javascript, webgpu 82* October 22, 2024* 298* December 1, 2025* Hot
Transformers v5: Định nghĩa mô hình đơn giản cung cấp năng lượng cho hệ sinh thái AI transformers, v5, community, python, announcement, open-source 298* December 1, 2025* Hot
Cộng đồng
[an_avatar_of_juanpin] [an_avatar_of_SuperPauly]
-
juanpin 8 days ago any examples yet in Spaces?
- SuperPauly 5 days ago Yeah bro, here https://huggingface.co/collections/webml-community/transformersjs-v4-demos
Công ty
Link bài viết gốc
- Tags:
- Ai
- 9 February 2026
- Huggingface.co