Huấn luyện tiếng nói
3C–3D · Lịch codebook và cross-entropy nhiều đầu
Sắp thứ tự các mã theo thời gian hoặc chiều sâu, rồi chấm xác suất từng mã bằng loss có mặt nạ.
1Định nghĩa
Lịch dự đoán codebook quy định mỗi bước của mô hình tạo mã nào và được điều kiện hóa trên những mã nào trong một tensor audio nhiều bảng.
Q là tổng số codebook; một khung có Q ID mã c0…c(Q−1), một ID ở mỗi bảng, chứ không chỉ một token. Có thể nối phẳng theo khung, dùng depth predictor sinh mã trong cùng khung, hoặc delay pattern lệch các bảng theo thời gian. Mỗi lựa chọn là một cách phân rã xác suất cho LM sinh codec token, không phải chỉ đổi cách vẽ tensor.
Ví dụ đời thường: nhiều thợ cùng làm một sản phẩm: làm tuần tự mọi chi tiết, giao một thợ chính rồi thợ phụ hoàn thiện, hoặc để dây chuyền lệch nhịp. Lịch khác nhau quyết định ai phải chờ ai.
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
Gọi c(t,q) là ID ở khung t và bảng q. Nối phẳng cho chuỗi c(0,0), c(0,1), c(1,0), c(1,1). Depth predictor có thể nhận trạng thái backbone tại t cùng các mã độ sâu trước đó; delay pattern tạo vùng trống ở đầu/cuối từng luồng nên cần mặt nạ riêng.
- Biến đổi để học
Cross-entropy (CE) của một nhãn là −ln p(mã đúng). Trung bình CE trên các cặp khung–codebook hợp lệ, có thể gán trọng số từng bảng và phải công bố mẫu số. Gradient theo logits bằng p trừ nhãn one-hot, chia số vị trí chấm; one-hot là vector có 1 tại nhãn đúng và 0 ở chỗ khác.
- Đọc kết quả
Giữ histogram và CE riêng cho c0, c1… để thấy bảng nào khó học. Delay/depth có thể giảm số bước backbone theo thời gian nhưng vẫn có quyết định ở các codebook, chi phí đồng bộ và decoder. Không khẳng định nhanh hơn nếu chưa đo cùng workload và thiết bị.
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ớ
Gọi c(t,q) là ID ở khung t và bảng q. Nối phẳng cho chuỗi c(0,0), c(0,1), c(1,0), c(1,1). Depth predictor có thể nhận trạng thái backbone tại t cùng các mã độ sâu trước đó; delay pattern tạo vùng trống ở đầu/cuối từng luồng nên cần mặt nạ riêng.
Thao tác và lý do
Cross-entropy (CE) của một nhãn là −ln p(mã đúng). Trung bình CE trên các cặp khung–codebook hợp lệ, có thể gán trọng số từng bảng và phải công bố mẫu số. Gradient theo logits bằng p trừ nhãn one-hot, chia số vị trí chấm; one-hot là vector có 1 tại nhãn đúng và 0 ở chỗ khác.
Đầu ra và cách đọc
Giữ histogram và CE riêng cho c0, c1… để thấy bảng nào khó học. Delay/depth có thể giảm số bước backbone theo thời gian nhưng vẫn có quyết định ở các codebook, chi phí đồng bộ và decoder. Không khẳng định nhanh hơn nếu chưa đo cùng workload và thiết bị.
4Profiling
- Kiểm đúng trước, đo sau
Kiểm rằng mọi nhãn được chấm đúng một lần và padding không đóng góp. Đổi đáp án tương lai để kiểm mặt nạ; so loss trung bình giữa các Q chỉ khi thang đo phù hợp. Đánh giá lỗi khi sinh toàn chuỗi thay vì chỉ logits teacher-forced.
- Giới hạn kết luận
Nguồn MusicGen chỉ giúp hiểu delay pattern; khóa không giảng sinh nhạc hay âm thanh phi tiếng nói.
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 ô 3C–3D và lab giai đoạn 5
Tính tay: dự đoán đều tám mã cho CE ln 8 ≈ 2.0794; nếu p đúng bằng 0.5 thì CE ≈ 0.6931. Lab dùng lịch nối phẳng hai codebook, không chạy delay/depth. Tự kiểm: với hai khung hai bảng có bốn nhãn; thêm padding một khung phải giữ số nhãn được chấm là bốn.
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 [5] 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.
Lịch delay hai khung, hai codebook: dự đoán rồi đối chiếu
Ví dụ tính tay: hai khung t=0 và t=1, hai bảng q=0 và q=1. Đặt bảng 1 trễ một bước: tại bước s, dự đoán c(s,0) và c(s−1,1) nếu chỉ số khung hợp lệ. Bước s=0 có nhãn c(0,0), còn bảng 1 trống; s=1 có hai nhãn c(1,0) và c(0,1); s=2 có bảng 0 trống và nhãn c(1,1). Mặt nạ loss lần lượt là [1,0], [1,1], [0,1], nên chấm đúng bốn nhãn, không chấm vùng trống. Trước khi dự đoán bước s=1, lịch sử codec chỉ có c(0,0) của s=0: không đưa c(0,1) hoặc c(1,0), hai đáp án cùng bước, vào ngữ cảnh của nhau. Teacher forcing đưa các mã đúng của bước trước vào input đã dịch, không làm lộ đáp án bước hiện tại. Tự kiểm: ở s=2 được dùng các mã nào? Đáp án: c(0,0), c(1,0), c(0,1) và điều kiện chữ/giọng; chỉ chấm c(1,1). Đây là một phân rã xác suất minh họa cho các luồng có offset, không phải khẳng định Qwen dùng chính lịch hai bảng này. Lab chạy lịch nối phẳng, không chạy lịch delay này.
6Thuật ngữ
- Lịch codebook và cross-entropy nhiều đầu
- Lịch dự đoán codebook quy định mỗi bước của mô hình tạo mã nào và được điều kiện hóa trên những mã nào trong một tensor audio nhiều bảng.
Glossary (1)
- Đối chiếu sơ đồ
- Ô 3C–3D; giai đoạn 5 của lab. Nguồn MusicGen chỉ giúp hiểu delay pattern; khóa không giảng sinh nhạc hay âm thanh phi tiếng nói.
