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

Whistle mang nhận dạng giọng nói trên thiết bị chỉ 16,9 MB đến các thiết bị edge

Cactus Compute phát hành Whistle, một mô hình giọng nói mã nguồn mở siêu nhỏ chạy trên CPU mà không cần phụ thuộc bên ngoài và tích hợp với engine Needle để gọi công cụ trực tiếp.

Một chip vi xử lý nhỏ đại diện cho Whistle bên cạnh một tảng đá lớn đại diện cho Whisper, minh họa sự khác biệt về kích thước.
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.

Cactus Compute đã phát hành Whistle, một mô hình nhận dạng giọng nói mới có trọng số mở (open-weight), được thiết kế đặc biệt cho các môi trường hạn chế về tài nguyên. Ra mắt vào ngày 2 tháng 10 năm 2026, mô hình 16,9 MB này chạy hoàn toàn trên CPU mà không cần bất kỳ thư viện phụ thuộc bên ngoài nào, nhắm mục tiêu đến điện thoại di động, thiết bị đeo, robot và vi điều khiển. Nó chia sẻ engine C++ cơ bản với Needle, cho phép các nhà phát triển tải cả khả năng xử lý văn bản và giọng nói từ một binary duy nhất.

Chuyện gì đã xảy ra

Whistle đánh dấu một bước chuyển dịch đáng kể hướng tới xử lý âm thanh siêu nhẹ ngay trên thiết bị. Khác với các mô hình lớn hơn đòi hỏi kết nối đám mây hoặc dung lượng lưu trữ cục bộ đáng kể, Whistle hoạt động như một tệp tin duy nhất được nạp trực tiếp vào bộ nhớ. Mô hình hỗ trợ phiên âm lên đến 30 giây âm thanh trong bảy ngôn ngữ: tiếng Anh, tiếng Đức, tiếng Pháp, tiếng Tây Ban Nha, tiếng Ý, tiếng Hà Lan và tiếng Ba Lan. Việc phát hiện ngôn ngữ diễn ra tự động trừ khi nhà phát triển chỉ định cụ thể một ngôn ngữ.

Bản phát hành nhấn mạnh vào quyền riêng tư và hiệu quả. Dữ liệu âm thanh không bao giờ rời khỏi thiết bị trong quá trình xử lý. Ngoài việc phiên âm đơn thuần, Whistle cung cấp mốc thời gian theo từng từ kèm các chỉ số bắt đầu, kết thúc và xác suất được suy ra từ cơ chế attention của bộ giải mã. Nó cũng cung cấp khả năng nhúng giọng nói (speech embedding), xuất ra một hàng dữ liệu cho mỗi khung 80 ms từ bộ mã hóa mà không cần tạo ra bản ghi chép đầy đủ. Sự linh hoạt này cho phép các kỹ sư sử dụng mô hình cho nhiều tác vụ khác nhau, từ nhận diện lệnh đến phân tích ngữ nghĩa âm thanh.

Tích hợp với hệ sinh thái Needle hiện có là một tính năng cốt lõi. Cùng một hàm needle_load có thể đọc các mô hình Whistle, các mô hình văn bản Needle hoặc cả hai đồng thời. Cách tiếp cận thống nhất này có nghĩa là một binary ứng dụng duy nhất có thể xử lý đầu vào giọng nói, chuyển đổi thành văn bản và ngay lập tức thực thi các lệnh gọi công cụ tương ứng mà không cần sự xử lý trung gian bởi ứng dụng chủ.

Cơ chế hoạt động

Kiến trúc dựa vào các thành phần chia sẻ với mô hình Needle để giảm thiểu trùng lặp mã và kích thước bộ nhớ. Phần front-end xử lý âm thanh mono 16 kHz bằng cách sử dụng cửa sổ 25 ms và bước nhảy (hop) 10 ms, tạo ra 80 bin log-mel giới hạn dải tần từ 250-3500 Hz. Một stem tích chập (convolutional stem) giảm đáng kể số lượng khung, dẫn đến 375 khung cho một đoạn clip 30 giây, với mỗi khung đại diện cho 80 ms âm thanh.

Bộ mã hóa (encoder) bao gồm tám khối Simple Attention sử dụng các lane dư mHC và Monarch Hadamard MLP thay vì mạng feed-forward truyền thống. Quan trọng là, cơ chế attention không phải là causal (nhân quả), cho phép các khung tham chiếu đến ngữ cảnh tương lai trong cùng một clip. Bộ giải mã (decoder) sử dụng tám khối Laddered Simple Attention với cross-attention có cổng (gated) để đọc dữ liệu từ bộ mã hóa. Thiết kế này cho phép các phép chiếu (projections) chỉ chạy một lần cho mỗi clip, nghĩa là các thao tác tìm kiếm beam chỉ cache các bản ghi ngắn thay vì xử lý lại toàn bộ âm thanh.

Việc giải mã sử dụng năm beam được chấm điểm dựa trên log-probability chuẩn hóa theo độ dài. Một automaton Aho-Corasick chạy song song với các beam để hỗ trợ thiên vị từ khóa (keyword biasing), tăng khả năng nhận diện các cụm từ cụ thể trong quá trình tìm kiếm. Mô hình bao gồm một cơ chế phát hiện im lặng đo phạm vi độ lớn trước khi bắt đầu giải mã, trả về kết quả trống cho các đầu vào yên tĩnh để tiết kiệm tài nguyên tính toán. Độ sâu của bộ giải mã có thể được chọn tại thời điểm nạp thông qua cờ --audio-depth, cho phép cân nhắc thêm giữa độ chính xác và tốc độ trong khi giữ nguyên bộ mã hóa.

Chi tiết quan trọng

  • Kích thước mô hình: 16,9 MB, nhỏ hơn đáng kể so với Whisper base (145,3 MB) và Moonshine tiny v2 (41,9 MB).
  • Hiệu suất: Đạt thời gian phản hồi token đầu tiên (time-to-first-token) 11,1 ms và 1.319 token mỗi giây trên CPU Apple M4 Pro.
  • Ngôn ngữ: Hỗ trợ tiếng Anh, tiếng Đức, tiếng Pháp, tiếng Tây Ban Nha, tiếng Ý, tiếng Hà Lan và tiếng Ba Lan với khả năng phát hiện tự động.
  • Đầu ra: Cung cấp bản phiên âm, mốc thời gian theo từ kèm xác suất và vector nhúng giọng nói.
  • Triển khai: Có sẵn các binary dựng sẵn cho mười bảy nền tảng đích bao gồm macOS, Linux, Android, iOS, RISC-V và WASM.
  • Tích hợp: Sử dụng cùng định dạng container .cact như Needle, cho phép kết hợp quy trình làm việc giọng nói và văn bản trong một engine duy nhất.

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

Đối với các nhà phát triển xây dựng hệ thống nhúng hoặc ứng dụng di động, Whistle loại bỏ nhu cầu về các API đám mây phức tạp hoặc các thư viện cục bộ nặng nề. Khả năng chạy nhận dạng giọng nói trên vi điều khiển hoặc thiết bị đeo mà không cần kết nối internet mở ra những khả năng mới cho các sản phẩm ưu tiên quyền riêng tư và hoạt động ngoại tuyến. Kích thước nhỏ gọn có nghĩa là nó có thể tồn tại song song với logic ứng dụng khác mà không tiêu tốn quá nhiều bộ nhớ hoặc pin.

Việc tích hợp với Needle đơn giản hóa quá trình phát triển các agent điều khiển bằng giọng nói. Thay vì xây dựng các pipeline riêng biệt cho chuyển đổi giọng nói sang văn bản và nhận diện ý định, các nhà phát triển có thể sử dụng một engine duy nhất để phiên âm âm thanh và kích hoạt trực tiếp các lệnh gọi hàm. Điều này giảm độ trễ và chi phí kỹ thuật, vì ứng dụng không cần phân tích các chuỗi văn bản trung gian. Cách tiếp cận binary thống nhất cũng đơn giản hóa việc triển khai và cập nhật trên nhiều nền tảng phần cứng đa dạng.

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

  • Cài đặt gói qua pip bằng lệnh pip install cactus-needle để bắt đầu thử nghiệm với API Python.
  • Kiểm tra phiên âm thời gian thực trong terminal của bạn bằng lệnh needle whistle playground.
  • So sánh hiệu suất với các mô hình khác bằng cách sử dụng needle whistle compare để xem sự khác biệt về độ trễ và độ chính xác cạnh nhau.
  • Triển khai thiên vị từ khóa bằng cách truyền một danh sách các thuật ngữ cụ thể để cải thiện khả năng nhận diện tên riêng hoặc thuật ngữ chuyên môn.
  • Triển khai các binary dựng sẵn đến các thiết bị đích như Android, iOS hoặc bảng mạch RISC-V bằng các công cụ needle download được cung cấp.
  • Sử dụng đối tượng needle.Whistle() trong Python để tạo vector nhúng giọng nói cho các tác vụ phân loại âm thanh mà không cần phiên âm đầy đủ.

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