Hành trình tìm kiếm cuộc trò chuyện giọng nói AI tự nhiên: Thách thức về độ trễ, ngắt lời và luân phiên đối thoại

BigGo Editorial Team
Hành trình tìm kiếm cuộc trò chuyện giọng nói AI tự nhiên: Thách thức về độ trễ, ngắt lời và luân phiên đối thoại

Trong bối cảnh trợ lý giọng nói AI phát triển nhanh chóng, các nhà phát triển đang nỗ lực tạo ra trải nghiệm đàm thoại tự nhiên hơn. Một dự án mã nguồn mở gần đây có tên là RealtimeVoiceChat đã khơi mào cuộc thảo luận về những thách thức cơ bản trong việc làm cho tương tác giọng nói AI cảm giác thực sự giống con người. Mặc dù đã đạt được những thành tựu kỹ thuật ấn tượng trong việc giảm độ trễ, cộng đồng đã xác định những động lực đàm thoại sâu hơn vẫn cần được giải quyết.

Thách thức về độ trễ

Độ trễ - sự chậm trễ giữa lời nói của con người và phản hồi của AI - vẫn là một yếu tố quan trọng trong tương tác giọng nói. Các trợ lý giọng nói truyền thống thường có độ trễ tối thiểu khoảng 300ms, chủ yếu vì chúng dựa vào việc phát hiện khoảng lặng để xác định thời điểm phản hồi. Dự án RealtimeVoiceChat nhằm đạt được độ trễ phản hồi khoảng 500ms ngay cả khi chạy các mô hình cục bộ lớn hơn, điều mà cộng đồng ghi nhận là đang tiến gần đến tiêu chuẩn vàng cho các ứng dụng thương mại. Tuy nhiên, điều này vẫn chưa khớp với động lực cuộc trò chuyện của con người, nơi độ trễ trung bình giữa những người nói thực sự là không miligiây - nghĩa là con người thường xuyên chồng chéo hoặc ngắt lời nhau khi trò chuyện một cách tự nhiên.

Độ trễ trung bình giữa những người nói trong cuộc trò chuyện giữa người với người là không miligiây. Nói cách khác, khoảng 1/2 thời gian, một người nói ngắt lời người kia, làm cho độ trễ trở thành âm.

Nghịch lý của sự ngắt lời

Một trong những tính năng được thảo luận nhiều nhất của hệ thống RealtimeVoiceChat là khả năng xử lý sự ngắt lời, cho phép người dùng chen ngang khi AI đang nói. Việc triển khai sử dụng phiên âm thời gian thực đến làm kích hoạt thay vì chỉ đơn giản phát hiện hoạt động giọng nói, điều này cung cấp độ chính xác tốt hơn với chi phí là độ trễ thêm một chút. Tuy nhiên, các thành viên cộng đồng chỉ ra một nghịch lý đầy thách thức: trong khi chúng ta muốn hệ thống AI có thể bị ngắt lời, chúng ta cũng không muốn chúng ngắt lời chúng ta trong những khoảng dừng tự nhiên trong lời nói của mình. Điều này tạo ra một vấn đề phức tạp khi hệ thống phải phân biệt giữa khoảng dừng suy nghĩ của người dùng và kết thúc thực sự của lượt nói của họ.

Vấn đề khoảng dừng tự nhiên

Có lẽ thách thức chưa được giải quyết quan trọng nhất được xác định trong các cuộc thảo luận là xử lý các khoảng dừng tự nhiên trong lời nói của con người. Các hệ thống giọng nói AI hiện tại có xu hướng diễn giải bất kỳ khoảng lặng ngắn nào như một tín hiệu luân phiên, nhảy vào để phản hồi trước khi người dùng đã hoàn toàn hình thành suy nghĩ của họ. Điều này buộc người dùng phải áp dụng các mô hình nói không tự nhiên, chẳng hạn như sử dụng các từ đệm (uhhhh) để giữ lượt của họ hoặc nhấn nút để cho biết khi nào họ đã nói xong. Cộng đồng đề xuất một số giải pháp tiềm năng, từ các lệnh chờ đặc biệt đến các luồng đầu vào kép có thể phát hiện các từ đệm so với việc hoàn thành lượt thực sự, nhưng chưa có giải pháp hoàn hảo nào xuất hiện.

Hệ thống kỹ thuật RealtimeVoiceChat:

  • Backend: Python 3.x, FastAPI
  • Frontend: HTML, CSS, JavaScript (Vanilla JS, Web Audio API, AudioWorklets)
  • Giao tiếp: WebSockets
  • Container hóa: Docker, Docker Compose
  • Các thành phần AI/ML cốt lõi:
    • Phát hiện hoạt động giọng nói: Webrtcvad + SileroVAD
    • Chuyển đổi giọng nói thành văn bản: Whisper base.en (CTranslate2)
    • Phát hiện lượt nói: Mô hình BERT tùy chỉnh (KoljaB/SentenceFinishedClassification)
    • LLM: Các mô hình cục bộ thông qua Ollama (mặc định) hoặc OpenAI (tùy chọn)
    • TTS: Coqui XTTSv2, Kokoro, hoặc Orpheus

Yêu cầu phần cứng:

  • GPU NVIDIA hỗ trợ CUDA (đã thử nghiệm trên RTX 4090)
  • Độ trễ phản hồi khoảng: ~500ms

Xử lý cục bộ và yêu cầu kỹ thuật

Hệ thống RealtimeVoiceChat chạy hoàn toàn trên phần cứng cục bộ, sử dụng các mô hình mã nguồn mở cho mỗi thành phần của đường ống tương tác giọng nói: phát hiện hoạt động giọng nói, phiên âm giọng nói, phát hiện lượt, xử lý mô hình ngôn ngữ và tổng hợp văn bản thành giọng nói. Cách tiếp cận này mang lại lợi ích về quyền riêng tư và loại bỏ sự phụ thuộc vào dịch vụ đám mây, nhưng đi kèm với yêu cầu phần cứng đáng kể. Nhà phát triển mới chỉ thử nghiệm nó trên GPU NVIDIA RTX 4090 cho đến nay, nhấn mạnh tương tác giọng nói AI thời gian thực này vẫn tiêu tốn nhiều tài nguyên như thế nào, ngay cả khi chúng trở nên dễ tiếp cận hơn đối với các nhà phát triển.

Việc theo đuổi cuộc trò chuyện giọng nói AI có cảm giác tự nhiên tiếp tục là sự giao thoa thú vị giữa thách thức kỹ thuật và con người. Trong khi việc giảm độ trễ và cho phép ngắt lời đại diện cho tiến bộ quan trọng, động lực tinh tế của việc luân phiên, tạm dừng và lắng nghe chủ động vẫn là những lĩnh vực mà ngay cả những hệ thống tiên tiến nhất vẫn còn thiếu so với tương tác giống con người. Như một thành viên cộng đồng đã ghi nhận một cách thích hợp, điều này mang lại cơ hội để có thể làm cho giao tiếp AI thậm chí còn tốt hơn cuộc trò chuyện của con người, vốn thường đầy những sự ngắt lời khó xử và các tín hiệu xã hội bị hiểu sai.

Tham khảo: Real-Time AI Voice Chat