- Transformers.js là một thư viện học máy hiện đại dành cho web, cho phép chạy trực tiếp 🤗 Transformers trong trình duyệt mà không cần máy chủ
- Được thiết kế để tương đương về mặt chức năng với thư viện
transformers của Python, nên có thể chạy cùng các mô hình đã huấn luyện trước với API tương tự
- Hỗ trợ các tác vụ phổ biến trên nhiều phương thức như xử lý ngôn ngữ tự nhiên, thị giác máy tính, âm thanh và đa phương thức
- Sử dụng ONNX Runtime để chạy mô hình trong trình duyệt, đồng thời có thể dùng 🤗 Optimum để dễ dàng chuyển đổi các mô hình đã huấn luyện trước từ PyTorch, TensorFlow hoặc JAX sang ONNX
Tính năng chính
- Hỗ trợ API
pipeline giống hệt thư viện Python, giúp chuyển đổi dễ dàng từ mã hiện có
- Hỗ trợ nhiều tác vụ và kiến trúc khác nhau (kèm trạng thái hỗ trợ và liên kết tài liệu/mô hình)
- Xử lý ngôn ngữ tự nhiên: Fill-Mask, Question Answering, Sentence Similarity, Summarization, Text Classification, Text Generation, Text-to-text Generation, Token Classification, Translation, Zero-Shot Classification, Feature Extraction, v.v.
- Thị giác: Depth Estimation, Image Classification, Image Segmentation, Image-to-Image, Object Detection, Image Feature Extraction, v.v.
- Âm thanh: Audio Classification, Automatic Speech Recognition, Text-to-Speech
- Đa phương thức: Document Question Answering, Image-to-Text, Zero-Shot Audio/Image Classification, Zero-Shot Object Detection, v.v.
- Mặc định sử dụng các mô hình đã huấn luyện trước được host sẵn và các tệp nhị phân WASM đã biên dịch sẵn, đồng thời có thể tùy biến
Cài đặt và cách sử dụng
- Có thể cài qua NPM:
npm i @xenova/transformers
- Có thể dùng trong JavaScript thuần mà không cần bundler thông qua CDN hoặc static hosting
- Cung cấp nhiều ứng dụng mẫu/mẫu dự án: Whisper Web, Doodle Dash, Code Playground, Semantic Image Search, Vanilla JavaScript, React, Text to speech, Browser extension, Electron, Next.js, Node.js, v.v.
- Có thể tùy chỉnh đường dẫn mô hình, việc có tải mô hình từ xa hay không, vị trí tệp WASM, v.v. thông qua cấu hình môi trường
- Có thể chuyển đổi mô hình PyTorch, TensorFlow, JAX sang ONNX bằng các script chuyển đổi được cung cấp
Các mô hình được hỗ trợ
- Hỗ trợ nhiều mô hình như ALBERT, Audio Spectrogram Transformer, BART, BEiT, BERT, Blenderbot, BLOOM, CamemBERT, Chinese-CLIP, CLAP, CLIP, CLIPSeg, CodeGen, ConvBERT, ConvNeXT, DeBERTa, DeiT, Depth Anything, DETR, DINOv2, DistilBERT, DiT, Donut, DPT, EfficientNet, ELECTRA, ESM, Falcon, FLAN-T5, GLPN, GPT Neo, GPT NeoX, GPT-2, GPT-J, GPTBigCode, HerBERT, Hubert, LongT5, LLaMA, MPNet, MPT, MT5, NLLB, Nougat, OPT, v.v.
Ý kiến của GN⁺
- Transformers.js là một thư viện hữu ích, cho phép chạy nhiều mô hình Transformer hiện đại trực tiếp trong trình duyệt mà không cần máy chủ. Đặc biệt, nó hỗ trợ tác vụ trong nhiều lĩnh vực như xử lý ngôn ngữ tự nhiên, thị giác máy tính và âm thanh nên tính ứng dụng rất cao
- Thư viện cung cấp API tương tự thư viện Python nên có thể chuyển đổi dễ dàng từ mã hiện có, đồng thời hỗ trợ nhiều mô hình đã huấn luyện trước nên có thể sử dụng ngay mà không cần huấn luyện thêm
- Việc cung cấp các ứng dụng mẫu và template giúp dễ áp dụng cho nhiều mục đích khác nhau, đồng thời tính năng tùy biến cũng mang lại độ linh hoạt cao
- Tuy nhiên, do chạy trong trình duyệt nên có thể gặp giới hạn về tài nguyên, và việc phải liên tục bổ sung/hỗ trợ các mô hình mới cũng có thể tạo gánh nặng về bảo trì phát triển
- Các framework ML chạy trong trình duyệt tương tự gồm có TensorFlow.js, ONNX.js và WebDNN. Đặc biệt, TensorFlow.js hỗ trợ cả trình duyệt lẫn Node.js và cung cấp nhiều tính năng hơn như transfer learning, trực quan hóa, v.v.
Chưa có bình luận nào.