App đọc chính tả vẫn hoạt động khi internet thì không

Đọc chính tả đám mây dừng khi mất mạng. Keebye chuyển giọng nói thành chữ trên máy: không cần mạng, âm thanh ở lại Mac, không lo gián đoạn mạng.

Teodor Deleanu10 tháng 7, 20269 phút đọc

Có những lời than chỉ xuất hiện khi mọi thứ hỏng, nên rất dễ bị xem nhẹ cho đến lúc nó xảy ra với chính bạn: đọc chính tả trên đám mây phụ thuộc vào mạng. Nhà cung cấp gặp sự cố, và phím đọc chính tả của bạn chẳng làm được gì. Wi-Fi khách sạn rớt, và một câu nói có thể tan biến vào cái vòng xoay chờ. Một chuyến bay. Một đường hầm tàu điện. Một VPN đang thương lượng lại đúng vào thời điểm tệ nhất. Đây không phải khiếm khuyết của một sản phẩm; đây là ý nghĩa của việc phụ thuộc vào một chuyến đi khứ hồi.

Điều tàn nhẫn nằm ở cái gì hỏng. Nếu app ghi chú của bạn sập, bạn mở một tệp văn bản. Nếu việc đọc chính tả của bạn sập, bạn mất một phương thức nhập liệu — đúng thứ mà bạn đã xây thành phản xạ cơ bắp, mất ngay giữa câu, và thường là trong lúc tay bạn đang bận việc khác. Đó chính là toàn bộ lý do bạn đọc chính tả ngay từ đầu.

Bên dưới lời than về khả năng sẵn sàng là một câu hỏi về quyền riêng tư: âm thanh giọng nói của bạn có rời khỏi máy không? Trong một đường chuyển văn bản trên đám mây, những bản ghi âm bạn nghĩ thành tiếng — tên khách hàng, tính năng chưa công bố, cái lỗ hổng bảo mật bạn đang mô tả cho đồng đội — đều đi tới hạ tầng của người khác để trở thành chữ. Đường đi đó còn có thể phụ thuộc vào phiên đăng nhập, tài khoản và tình trạng dịch vụ nằm ngoài tầm kiểm soát của bạn.

Tôi đã xây câu trả lời của Keebye cho chuyện này trước cả khi diễn đạt nó thành một tính năng, vì yêu cầu của chính tôi rất thẳng thừng: nó phải chạy được khi Wi-Fi tắt. Đây là hình dáng thật của điều đó, và cái giá của nó.

Vì sao đọc chính tả trên đám mây hỏng xuống mức bằng không

Cơ chế ở tầm cả nhóm sản phẩm đáng được nói rõ, vì nó giải thích vì sao lời than này không bao giờ biến mất hẳn dù sản phẩm có tốt đến đâu.

Một vòng đọc chính tả trên đám mây có tối thiểu bốn mắt xích: thu âm trên máy bạn, chuyển nó lên máy chủ, chạy suy luận ở đó, gửi văn bản về. Mỗi mắt xích là một phụ thuộc — mạng của bạn, mạng của họ, lớp xác thực của họ, năng lực của họ, thời gian hoạt động của họ. Sợi xích đó thường thì ổn. Nhưng khi bất kỳ mắt nào đứt, cả vòng đứt, và nó đứt xuống mức bằng không. Không phải “chậm hơn”, không phải “kém chính xác hơn” — chẳng có gì đến được con trỏ của bạn. Suy giảm dần thì còn chịu được; việc đọc chính tả thì suy giảm thẳng xuống im lặng.

Các nhà cung cấp có thể xây dựng để chống lại điều này, nhưng họ không sửa được những mắt xích họ không sở hữu: cái router khách sạn, chuyến bay, VPN của công ty bạn, sự cố đường trục giữa bạn và họ. Một công cụ mà khả năng sẵn sàng phụ thuộc vào nhiều hệ thống có thể hỏng khi bất kỳ hệ thống nào trong đó không dùng được.

Chuyện gì xảy ra khi chẳng có đám mây nào để mà rơi khỏi?

Kiến trúc của Keebye trả lời câu hỏi này bằng cách xóa nó đi. Việc chuyển giọng nói thành văn bản chạy hoàn toàn trên máy — model ONNX, suy luận cục bộ, trên chính con chip của máy Mac bạn. Có đúng không lệnh gọi mạng nào trong đường đọc chính tả. Không phải “chúng tôi giảm thiểu chúng”, không phải “chúng tôi gộp chúng lại” — là không. Cũng không có telemetry. Không hề. Khi bạn giữ phím và nói, không một gói tin nào rời khỏi máy nhân danh bạn.

Tôi muốn gạch chân điểm kiến trúc này, vì đó là khác biệt giữa cách làm ở đây và một “chế độ offline”. Chế độ offline là phương án dự phòng: đường bình thường đi lên đám mây, và khi đám mây không với tới được, một đường cục bộ kém hơn tiếp quản — nếu app kịp nhận ra, nếu đường cục bộ được duy trì, nếu việc bàn giao giữa chừng câu nói chạy đúng. Keebye không có màn bàn giao nào cả, vì nó chẳng có đường đám mây nào để mà bàn giao đi từ đó. Suy luận cục bộ không phải kế hoạch dự phòng; nó là kế hoạch duy nhất. Một sự cố ở phía trên không làm hỏng được nó, cùng một lý do như việc mất điện ở nước khác không tắt được cái đèn bàn của bạn. Miễn nhiễm nhờ cấu tạo, chứ không nhờ dự phòng.

Đây cũng là chỗ lời than thầm lặng hơn được trả lời mà chẳng cần tới trang cài đặt nào. Âm thanh của bạn không bao giờ rời khỏi máy — không phải mã-hóa-trên-đường-truyền, không phải ẩn danh hóa, mà đơn giản là không bao giờ được gửi đi, vì chẳng có nơi nào để gửi tới. Nếu bạn bật lịch sử đọc chính tả, thứ được lưu chỉ là văn bản, trong một cơ sở dữ liệu SQLite cục bộ trên ổ đĩa của chính bạn. (Bản thân lịch sử đó là một câu chuyện riêng về chất lượng sử dụng — lời than lặp đi lặp lại “bản đọc của tôi đi đâu mất rồi?” — chúng tôi đã viết trong bài bản đọc chính tả của bạn không nên tự dưng biến mất.) Và sự mong manh của tài khoản với phiên đăng nhập cũng biến mất cùng với tài khoản: không có phiên đám mây nào để hết hạn trong đường đọc chính tả, nên chẳng có màn đăng nhập lại nào đứng chắn giữa bạn và một hotkey đang chạy.

Lần duy nhất bạn thật sự cần internet

Phần trung thực bắt buộc, nói thẳng: các model phải lên được máy của bạn bằng cách nào đó. Ở lần chạy đầu, Keebye tải model giọng nói của nó về — khoảng 700 MB cho engine tiếng Anh, và khoảng 1,3 GB nếu bạn bật engine đa ngôn ngữ. Đó là một lượt tải thật, một lần cho mỗi engine, và bạn cần internet cho việc đó.

Sau đó, các model nằm trên ổ đĩa và việc chuyển văn bản chạy dựa vào chúng ngay tại chỗ, có mạng hay không có mạng, cho đến khi bạn gỡ hoặc thay chúng. Nhưng nếu lần chạy đầu tiên rơi vào lúc bạn đang trên máy bay thì bạn đành chịu cho tới khi hạ cánh — hãy thiết lập trước chuyến đi, đừng làm giữa chuyến. Tôi thà để bạn nghe điều đó từ tôi còn hơn để bạn phát hiện ra khi đang ở giữa Đại Tây Dương.

Câu hỏi về độ chính xác, trả lời một cách trung thực

Việc tải model là điểm lưu ý nhỏ. Đây mới là điểm lớn hơn, vì các công cụ chạy trên máy rất hay bỏ qua nó.

Những model đám mây lớn nhất có thể chính xác hơn một model chạy trên máy. Một model chiếm cả một tủ rack máy chủ có năng lực mà một tệp 700 MB không có, và giả vờ ngược lại là xúc phạm trí thông minh của bạn. Điều tôi sẽ nói — và là điều tôi tin sau khi sống với cả hai — là khoảng cách đã thu hẹp rất nhiều, và quan trọng hơn, các kiểu hỏng khác nhau về bản chất. Ngày tệ nhất của một model chạy trên máy là một từ bị nghe nhầm mà bạn sửa lại. Ngày tệ nhất của một model đám mây là không có đầu ra nào cả, vì độ chính xác của nó được nhân với khả năng sẵn sàng, và khả năng sẵn sàng chính là số hạng tụt về không khi bạn ở trên tàu. Bạn muốn nhận kiểu hỏng nào thì tùy vào ngày làm việc của bạn; ngày của tôi có quá nhiều chuyến tàu.

Hôm nay nó chỉ chạy trên macOS, và đang trong giai đoạn truy cập sớm. Không có bản Windows, và có đủ những chỗ còn thô ráp mà giai đoạn truy cập sớm hàm ý. Nếu môi trường của bạn ưu tiên Windows, câu trả lời trung thực là Keebye chưa giúp gì được cho bạn.

Nếu bạn đang cân nhắc chuyện này với một công cụ bạn đã dùng, các trang so sánh là phiên bản công tâm của lập luận này. Keebye vs Superwhisper so sánh hai sản phẩm cùng có đường chuyển văn bản chạy trên máy; Keebye vs Wispr Flow nói về quyết định cục bộ hay đám mây. Và nếu lựa chọn bạn đang cân nhắc là tính năng đọc chính tả có sẵn trong macOS, bài gõ bằng giọng nói trên Mac nói về những gì công cụ có sẵn làm tốt và những chỗ Keebye khác đi.

Khả năng sẵn sàng là một tính năng

Nhóm sản phẩm đọc chính tả đã dành nhiều năm cạnh tranh bằng phần trăm độ chính xác, và độ chính xác thì quan trọng thật. Nhưng lời than thật sự khiến người ta đổi công cụ hiếm khi là “nó nghe nhầm tôi một lần”. Nó là “nó lại ngừng chạy, mà tôi không biết vì sao, và cách sửa là phải đăng nhập vào một cái gì đó”. Khả năng sẵn sàng — nhàm chán, chẳng hào nhoáng gì — là tính năng bạn chỉ nhận ra khi nó vắng mặt.

Cách để làm một phương thức nhập liệu đáng tin cậy như bàn phím là cho nó cùng danh sách phụ thuộc với bàn phím: cái máy trước mặt bạn, và không gì khác. Đó là toàn bộ thiết kế.

Keebye đang trong giai đoạn truy cập sớm cho macOS. Hãy bắt đầu bản dùng thử miễn phí bên dưới, làm phần tải về ở lần chạy đầu khi bạn vẫn còn internet, rồi chui vào đường hầm tàu điện—hoặc chỉ cần tắt Wi-Fi—và đọc lại đúng câu đó một lần nữa.

Tiếp tục đọc chính tả khi mạng rớt

Bắt đầu bản dùng thử miễn phí, tải model về một lần, và thử lại đúng prompt đó với Wi-Fi đã tắt.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Đọc tiếp