Chương 3: Một triệu giọng nói không phải nguyên liệu miễn phí

Phòng pháp lý kết luận bằng một câu khiến cả team vừa nhẹ nhõm vừa khó chịu.

“Phần lớn data hiện tại có cơ sở sử dụng cho speech recognition theo consent đã thu.”

Tôi hỏi:

“Còn voice cloning?”

Luật sư đáp:

“Không nên dựa vào wording cũ để mở rộng như vậy.”

“Không nên hay không được?”

“Hai câu khác nhau.”

Tôi ghét câu trả lời.

Không phải vì luật sư né.

Vì thực tế đúng là có một vùng giữa “rõ ràng vi phạm” và “rõ ràng được đồng ý”.

Consent form ba năm trước viết rộng.

Nghiên cứu, cải thiện và phát triển công nghệ giọng nói, bao gồm sản phẩm và dịch vụ liên quan.

Khi đó NovaMind chủ yếu làm speech-to-text.

Không ai trong collection team nói với người tham gia:

“Một ngày nào đó công ty có thể xây hệ thống tổng hợp giọng gần giống đặc điểm của người thật.”

Có lẽ vì lúc ấy sản phẩm đó chưa tồn tại.

Nhưng công nghệ phát triển nhanh hơn câu chữ consent.

Product team synthetic voice đã có prototype.

Nó không clone một người cụ thể chỉ từ vài câu.

Nhưng với đủ audio của cùng speaker, model có thể giữ khá nhiều đặc điểm:

Nhịp.

Độ cao.

Hơi thở.

Màu giọng.

Nếu fine-tune thêm, giống hơn nữa.

Sales thấy thị trường lớn.

Tổng đài.

Sách nói.

Trợ lý ảo.

Game.

Ngân hàng muốn một “giọng thương hiệu” tự nhiên.

Nhưng tôi không thể thôi nghĩ tới những người trong dataset.

Họ có nghĩ giọng mình chỉ là nguyên liệu thống kê cho nhận diện lời nói?

Hay họ hiểu nó có thể trở thành nền cho máy nói?

Nguyên đề nghị làm một sample re-consent.

Không phải gọi mười nghìn người ngay.

Chọn 300 người từ các batch cũ, giải thích ba use case khác nhau:

Speech recognition.

Speaker verification.

Synthetic speech / voice generation.

Cho phép họ chọn từng mục.

Kết quả làm sales team im.

Phần lớn vẫn đồng ý cho speech recognition.

Một tỷ lệ thấp hơn đồng ý speaker verification.

Synthetic voice thấp hơn rõ.

Nhiều người nói:

“Tôi không muốn máy nói giống tôi.”

Một người tham gia tên Hương, giáo viên tiểu học ở Quảng Nam, nói trong cuộc gọi:

“Ngày trước tôi đọc hai trăm câu vì bên anh nói dùng để máy nghe người miền Trung tốt hơn.”

“Dạ.”

“Tôi đồng ý cái đó.”

“Dạ.”

“Nhưng nếu máy lấy giọng tôi đọc quảng cáo hay nói câu tôi chưa từng nói, tôi không đồng ý.”

Product Counsel giải thích model tổng hợp không nhất thiết tạo bản sao hoàn toàn.

Hương đáp:

“Tôi không rành kỹ thuật.”

“Tôi chỉ biết tôi cho anh câu nói để máy hiểu tôi.”

Cô dừng.

“Tôi không cho anh một bản sao của giọng tôi.”

Tôi ghi câu đó vào sổ.

Không phải để làm slogan.

Để nhớ một consent form có thể đúng pháp lý mà vẫn không diễn đạt đúng kỳ vọng của người ký.

Sales Director hỏi trong cuộc họp:

“Nếu phải re-consent toàn bộ cho synthetic voice, timeline delay bao lâu?”

Nguyên nói:

“Nhiều tháng.”

“Cost?”

“Cao.”

“Có thể chỉ dùng data được mua từ voice talent chuyên nghiệp cho synthesis không?”

Tôi nói:

“Có.”

“Vậy làm đi.”

Câu đó hóa ra mở được đường.

Không phải mọi sản phẩm cần dùng mọi dataset.

Chúng tôi đã quen tư duy:

Có data thì tận dụng tối đa.

Bây giờ phải học tư duy khác:

Data nào được phép dùng cho use case nào?

NovaMind tách kho dữ liệu thành scope.

ASR.

Verification.

Synthesis.

Research-only.

Commercial-use.

Không còn một bucket “voice data” chung.

Dũng nói:

“Pipeline phức tạp lên gấp đôi.”

“Đúng.”

“Data scientist sẽ ghét.”

“Biết.”

“Nếu join nhầm scope?”

“Pipeline phải chặn.”

“Tức là data governance vào code.”

“Đúng.”

Trước đây consent nằm trong PDF ở folder pháp lý.

Model training job không biết PDF đó tồn tại.

Người chạy experiment chọn dataset theo tên kỹ thuật.

Nếu data đã được upload vào warehouse, ranh giới pháp lý gần như vô hình với code.

Chúng tôi thay.

Mỗi dataset cần metadata machine-readable về permitted use.

Training job phải khai mục đích.

Nếu purpose không khớp scope, job fail.

Không dựa vào việc engineer nhớ đọc hợp đồng.

Đó là một thay đổi tôi tự hào hơn một điểm benchmark.

Nhưng consent không chỉ là use case.

Nó còn là tiền.

Trong collection mới, chúng tôi muốn nhiều giọng vùng ít data.

Vendor cũ trả theo phút thu âm.

Người tham gia ở Hà Nội và người phải đi xe ba giờ từ huyện lên điểm thu đều nhận gần như nhau.

Thu hỏi:

“Có công bằng không?”

Procurement nói:

“Cùng deliverable thì cùng rate.”

Nguyên hỏi:

“Nhưng chi phí tham gia khác.”

Chúng tôi thiết kế khoản travel/time support riêng.

Không gọi là “mua accent hiếm giá cao” theo kiểu chợ.

Không muốn biến một cộng đồng thành tài nguyên exotic.

Nhưng cũng không thể nói mọi người đóng góp bình đẳng trong khi người vùng xa tốn nhiều thời gian hơn để tới.

Collection ở Hà Tĩnh bắt đầu hai tháng sau.

Tôi về cùng team.

Mẹ nhất quyết đăng ký.

Tôi nói:

“Mẹ không cần.”

“Răng không?”

“Con sợ conflict.”

“Mẹ nói mấy câu, có chi mà conflict.”

Cuối cùng mẹ vẫn tham gia nhưng file của bà không vào evaluation chính do liên quan trực tiếp tới tôi; chỉ được dùng cho research theo consent bà chọn.

Mẹ ngồi trước microphone, đọc:

“Hôm nay trời mưa.”

Rồi tự sửa thành:

“Bữa ni trời mưa.”

Thu cười.

“Cô cứ nói tự nhiên ạ.”

Mẹ nhìn tôi.

“Rứa lâu nay tụi bây bắt người ta đọc tiếng Việt kiểu sách hết à?”

Tôi im.

Một phần, đúng.

Nhiều dataset thu bằng câu prompt chuẩn.

Người nói đọc, không trò chuyện.

Model học rất nhiều “tiếng Việt được đọc” và ít hơn “tiếng Việt người ta thật sự nói”.

Chúng tôi thêm conversational collection.

Không chỉ prompt.

Phỏng vấn về bữa ăn, công việc, đường về nhà.

Cho phép từ địa phương.

Nhưng điều đó tạo privacy risk lớn hơn vì người nói có thể lỡ kể tên, địa chỉ, chuyện cá nhân.

Lại phải thêm quy trình:

Redaction.

Review.

Cho người tham gia nghe lại nếu họ muốn.

Cho phép xóa đoạn họ thấy quá riêng.

Data tốt hơn đòi governance tốt hơn.

Không có shortcut.

Ngày cuối collection, một bác ngư dân hỏi tôi:

“Tui nói vô máy rồi, sau ni muốn lấy lại được không?”

Tôi chuẩn bị câu trả lời tiêu chuẩn:

“Bác có thể yêu cầu xóa file gốc khỏi kho theo chính sách…”

Rồi dừng.

Bác hỏi “lấy lại” không phải “xóa file”.

Nếu data đã dùng để train model, ảnh hưởng của nó đã đi vào weights.

Không thể chỉ tìm một dòng rồi rút ra như file trong folder.

Tôi nói thật:

“File gốc thì có thể xóa theo quy trình.”

“Còn nếu đã dùng train model, tụi cháu phải kiểm phiên bản và có thể cần retrain để loại khỏi bản sau. Không phải lúc nào cũng xóa tức thời khỏi model đang chạy được.”

Bác nhìn tôi.

“Rứa là cho rồi khó lấy lại?”

“Dạ.”

Tôi ghét phải nói.

Nhưng đó là sự thật.

Bác gật.

“Vậy phải nói câu ni trước khi người ta thu.”

Tôi nhìn Thu.

Cô đã ghi.

Consent form mới được sửa ngay tối đó.

Không chỉ nói người tham gia có quyền rút.

Nó giải thích quyền rút có ý nghĩa khác nhau với:

Raw audio.

Derived features.

Dataset chưa train.

Và model đã train.

Khó hiểu hơn.

Dài hơn.

Nhưng ít nhất không hứa một nút “delete” mà kỹ thuật không thật sự có.

Tôi bắt đầu hiểu một triệu giọng nói trong data lake không phải “nguyên liệu”.

Mỗi file từng là một người ngồi trước microphone, dành thời gian và tin rằng chúng tôi sẽ dùng giọng họ trong phạm vi họ hiểu.

Model càng lớn, chúng tôi càng dễ quên điều đó.

Vì ở quy mô một triệu file, con người biến thành row count.

Data governance, suy cho cùng, là cách buộc hệ thống nhớ lại từng row từng thuộc về một người.

Home Trước Sau
Cài đặt Đọc truyện
Cỡ chữ
Kiểu Chữ
Phông Nền
💬 Bình luận đoạn
Đang tải bình luận...