OpenArchLabOpen Architecture — From Models to Systems

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ạ.

LESSON ID ta-code-pattern GROUP Kiến trúc huấn luyện
Mục lục bài học

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.

Sơ đồ kiến trúc huấn luyện · 22 ô (1A → 5D)

Huấn luyện tiếng nói · Ba mục tiêu và ánh xạ với lab

Bắt đầu 1A → 1B, rồi rẽ ba nhánh: codec 2A → 2B → 2C học sóng bằng loss ở 2D; TTS 3A → 3B → 3C → 3D học mã từ chữ và giọng; ASR 1C → 1D → 4A → 4B học chữ từ audio. 2E là chẩn đoán. 4C là vòng cập nhật dùng lại theo nhánh, 4D–4E và 5A–5B là kỹ thuật hoặc lựa chọn học. 5C → 5D nối hợp đồng streaming sang checkpoint và suy luận. Di chuột, Tab hoặc bấm ô để đọc năm phần.

Sơ đồ kiến trúc huấn luyện tiếng nói gồm 22 ô từ 1A đến 5D
3C3 · Sinh tiếng nói / TTS
khung × codebook → lịch dự đoán

3C · Lịch các codebook âm học

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ạ.

Nhận gì
Trạng thái backbone và mã đã sinh theo thiết kế phân rã.
Làm gì, vì sao
Có thể nối phẳng mọi mã, dùng predictor theo chiều sâu trong khung, hoặc delay pattern lệch các luồng qua thời gian.
Ra gì
Mã còn lại và mặt nạ nhãn cho 3D, rồi đủ mã để giải sóng.
Ví dụ, cách đọc ô
Lab chỉ nối phẳng hai codebook và sinh c1 từ c0; không đo lợi ích depth/delay.
Lưu ý
Nhiều codebook không có nghĩa mọi mã được đoán độc lập hoặc song song.
Sơ đồ luồng (3 bước)
  1. 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.

  2. 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.

  3. Đọ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.

7Bài liên quan

8Nguồn