Huấn luyện tiếng nói
2A–2B · Encoder codec và lượng tử hóa phần dư RVQ
Học biểu diễn sóng theo khung rồi xấp xỉ mỗi vector bằng tổng các mã từ nhiều bảng codebook.
1Định nghĩa
Residual vector quantization (RVQ) là phép lượng tử hóa vector nhiều tầng, mỗi tầng chọn một vector mã gần phần dư mà các tầng trước chưa biểu diễn được.
Encoder codec đổi sóng thành latent, tức vector liên tục theo khung; RVQ lấy chỉ số mã rời rạc để decoder tái tạo sóng. Bảng mã gọi là codebook, mỗi hàng là một vector học được; ID chỉ định hàng, không phải chữ hay tên âm vị.
Ví dụ đời thường: trả một số tiền bằng tờ lớn trước rồi dùng tờ nhỏ bù phần còn thiếu. Tổng các tờ gần số tiền cần trả; tên tờ tiền không tự mang nghĩa câu nói.
2Luồng
Các ô cùng bài có thể là chẩn đoán hoặc lựa chọn thiết kế, không mặc định là các bước nối tiếp.
- Nhận đầu vào
Nhận khung sóng, chạy encoder học được để tạo vector z. Với tầng đầu, phần dư r bằng z; tìm vector e trong codebook có khoảng cách bình phương nhỏ nhất. Ghi ID của e, trừ e khỏi r rồi lặp cho tầng kế.
- Biến đổi để học
Gọi Q là tổng số codebook (bảng mã) và q là vector lượng tử bằng tổng các vector đã chọn. Mỗi khung có Q ID mã c0…c(Q−1), một ID cho mỗi bảng, thay vì lưu toàn bộ latent liên tục z. Decoder nhận vector q; LM TTS học dự đoán các ID nguyên chứ không coi q là một token. Khi huấn luyện LM, thường đóng băng codec để nhãn không đổi ý nghĩa giữa các bước.
- Đọc kết quả
Một tensor chỉ số có trục khung và codebook, cùng vector q dùng tái tạo. Với RVQ thông thường, code đầu mô tả phần dễ xấp xỉ trước; chỉ khi mục tiêu huấn luyện ép nội dung ngôn ngữ vào c0 mới nên gọi nó là mã giàu ngữ nghĩa. Không suy vai trò semantic từ thứ tự codebook.
Mã Mermaid
flowchart TD
step1["Nhận đầu vào"]
step2["Biến đổi để học"]
step3["Đọc kết quả"]
step1 --> step2
step2 --> step3 3Giải pháp
Đầu vào và kiến thức cần nhớ
Nhận khung sóng, chạy encoder học được để tạo vector z. Với tầng đầu, phần dư r bằng z; tìm vector e trong codebook có khoảng cách bình phương nhỏ nhất. Ghi ID của e, trừ e khỏi r rồi lặp cho tầng kế.
Thao tác và lý do
Gọi Q là tổng số codebook (bảng mã) và q là vector lượng tử bằng tổng các vector đã chọn. Mỗi khung có Q ID mã c0…c(Q−1), một ID cho mỗi bảng, thay vì lưu toàn bộ latent liên tục z. Decoder nhận vector q; LM TTS học dự đoán các ID nguyên chứ không coi q là một token. Khi huấn luyện LM, thường đóng băng codec để nhãn không đổi ý nghĩa giữa các bước.
Đầu ra và cách đọc
Một tensor chỉ số có trục khung và codebook, cùng vector q dùng tái tạo. Với RVQ thông thường, code đầu mô tả phần dễ xấp xỉ trước; chỉ khi mục tiêu huấn luyện ép nội dung ngôn ngữ vào c0 mới nên gọi nó là mã giàu ngữ nghĩa. Không suy vai trò semantic từ thứ tự codebook.
4Profiling
- Kiểm đúng trước, đo sau
So tái tạo dùng một tầng và đủ Q tầng trên cùng sóng; báo mã hoạt động và phân bố theo tầng. Thêm tầng có thể giảm lỗi lượng tử trên vector đã cố định, nhưng chất lượng hệ học chung phải đo lại; số bảng không thay thế đánh giá nghe.
- Giới hạn kết luận
Lab có encoder tuyến tính học được nhưng không semantic distillation; không gọi c0 của lab là âm vị.
Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.
5Ví dụ
Đối chiếu ô 2A–2B và lab giai đoạn 3
Bài tính tay một chiều: z = 0.8; tầng đầu chọn 0.5, dư 0.3; tầng hai chọn 0.25, tổng 0.75, dư 0.05. Lab dùng hai bảng, mỗi bảng tám vector 12 số. Tự kiểm: hai ID [4,6] có phải số 46 hay hai ký tự? Không, đó là chỉ số ở hai bảng khác nhau.
Tự thực hành có hướng dẫn
Mở [bài Lab tổng hợp](/courses/llm-training-audio/train-audio-lab/ta-end-to-end-lab/) rồi tìm khối [3] trong output. Viết lại đầu vào, kết quả và giới hạn của khối đó trước khi thử thay một hằng số. Nếu cơ chế chỉ được giải thích chứ chưa được thực thi, không ghi PASS của lab thành bằng chứng cho cơ chế ấy.
6Thuật ngữ
- Encoder codec và lượng tử hóa phần dư RVQ
- Residual vector quantization (RVQ) là phép lượng tử hóa vector nhiều tầng, mỗi tầng chọn một vector mã gần phần dư mà các tầng trước chưa biểu diễn được.
Glossary (1)
- Đối chiếu sơ đồ
- Ô 2A–2B; giai đoạn 3 của lab. Lab có encoder tuyến tính học được nhưng không semantic distillation; không gọi c0 của lab là âm vị.
