OpenArchLabOpen Architecture — From Models to Systems

1B · Interleaved TM-RoPE 3D

1B · Interleaved TM-RoPE 3D (24, 20, 20) & Đồng bộ trục thời gian 12.5 Hz

Đan xen các cặp tần số RoPE theo tỷ lệ (24, 20, 20) cho ba trục Thời gian, Chiều cao và Chiều rộng để đồng bộ hóa âm thanh 12.5 Hz với video và văn bản.

LESSON ID qwen3-omni-interleaved-tm-rope GROUP Kiến trúc & Giải phẫu
Mục lục bài học

1Định nghĩa

Sau khi bộ mã hóa AuT biến sóng âm thành chuỗi vector, câu hỏi tiếp theo ở giữa Cột 1 là làm sao để mô hình biết một khung âm thanh phát ra đúng vào giây thứ mấy của đoạn video đang chiếu. Qwen3-Omni giải quyết bài toán này bằng cơ chế Interleaved TM-RoPE 3D (Time-aligned Multimodal Rotary Position Embedding) chia 64 cặp góc xoay (128 chiều mỗi head) thành ba nhóm 24, 20 và 20 cặp cho ba trục Thời gian (Temporal), Chiều cao (Height) và Chiều rộng (Width).

Điểm khác biệt cốt lõi của bản Interleaved (interleaved = True) so với cách cắt khối liên tiếp truyền thống là các cặp tần số của ba trục T, H, W được xếp đan xen nhau từ tần số cao đến tần số thấp. Nhờ vậy cả ba trục đều có đủ các bước sóng ngắn (bắt chi tiết cục bộ) lẫn bước sóng dài (bắt khoảng cách xa) trước khi đi vào khối suy luận Thinker MoE.

Ví dụ đời thường: Hãy tưởng tượng một thước phim nhựa có đóng dấu thời gian ở mép trên và tọa độ ô lưới (dòng, cột) ở mép dưới: mỗi khung âm thanh đi kèm chỉ cần nhìn vào con số thời gian (tăng 13 đơn vị mỗi giây, tương ứng ~80 ms một nhịp) là khớp ngay với đúng bức hình xuất hiện tại thời điểm đó. Phép so sánh này dừng lại ở chỗ TM-RoPE mã hóa vị trí bằng phép quay lượng giác trên từng cặp số thực chứ không ghi nhãn văn bản.

2Luồng

Cách đọc hình (Cột 1, khối 1B ở giữa): nhận chuỗi đặc trưng từ 1A đi lên, gán bộ tọa độ 3 trục (Temporal 24, Height 20, Width 20) đan xen ở nhịp 12.5 Hz (80 ms/khung) rồi chuyển lên Thinker MoE ở 2A; xem bước [1B] trong [Bài Lab tổng hợp Qwen3-Omni](/courses/qwen3-omni-speech/qwen3-omni-lab/qwen3-omni-end-to-end-lab/) ở Tab 02.

Sơ đồ luồng dữ liệu 4 cột · 10 thành phần (1A → 6B)

Kiến trúc Qwen3-Omni & Qwen3-TTS-12Hz · Ánh xạ 1:1 với Bài Lab tổng hợp

Bắt đầu từ 1A ở góc dưới Cột 1 đi lên 1B → 2A, sang Cột 2 (3A → 3B → 3C), qua Cột 3 (4A → 6A) và kết thúc ở Cột 4 (5A → 6B). Di chuột hoặc bấm vào từng khối để xem pop-over và đối chiếu với Lab.

Sơ đồ luồng dữ liệu 4 cột của kiến trúc Qwen3-Omni & Qwen3-TTS-12Hz gồm 10 thành phần từ 1A đến 6B
1B1 · AuT Audio, TM-RoPE & Thinker MoE
mrope_section = [24, 20, 20] (64 pairs = 128d) · position_id_per_seconds = 13 (12.5 Hz / 80ms frame)

1B · Interleaved TM-RoPE 3D (24, 20, 20)

Ở giữa Cột 1: đan xen 3 trục góc xoay (Temporal 24, Height 20, Width 20) để đồng bộ hóa trục thời gian thực giữa âm thanh, video và văn bản.

Đi từ 1A lên 1B: thay vì xếp nối đuôi các chiều vị trí, Qwen3-Omni dùng Interleaved TM-RoPE (interleaved = True) chia 64 cặp tần số (128 chiều mỗi head) thành 24 cặp cho thời gian thực (Temporal), 20 cặp cho chiều cao (Height) và 20 cặp cho chiều rộng (Width). Với âm thanh và văn bản, cả 3 trục nhận cùng chỉ số thời gian tăng theo nhịp ~12.5–13 bước mỗi giây (80 ms/khung), giúp mô hình căn chỉnh chính xác tiếng nói với từng khung hình video.

Sơ đồ luồng (4 bước)
  1. 1. Gán chỉ số 3 trục (T, H, W) cho từng phương thức

    Token chữ và âm thanh nhận cùng chỉ số (t, t, t); token ảnh/video nhận (t_frame, h_row, w_col).

  2. 2. Tính góc xoay theo từng trục

    Nhân chỉ số vị trí của mỗi trục với dãy tần số nghịch đảo θ_k = 1000000^(-2k/d).

  3. 3. Đan xen (Interleave) theo mrope_section [24, 20, 20]

    Trộn xen kẽ các kênh T, H, W để mọi trục đều phủ đều phổ tần số.

  4. 4. Xoay vector Q và K trong Thinker & Talker

    Áp dụng phép quay phức cos(φ) + i·sin(φ) lên từng cặp chiều của Q và K.

Mã Mermaid
flowchart TD
  step1["1. Gán chỉ số 3 trục (T, H, W) cho từng phương thức"]
  step2["2. Tính góc xoay theo từng trục"]
  step3["3. Đan xen (Interleave) theo mrope_section #91;24, 20, 20#93;"]
  step4["4. Xoay vector Q và K trong Thinker #amp; Talker"]
  step1 --> step2
  step2 --> step3
  step3 --> step4

3Giải pháp

Với mỗi cặp chiều thứ k và vị trí (p_T, p_H, p_W), phép quay RoPE biến đổi cặp số (x_{2k}, x_{2k+1}) theo ma trận trực giao 2×2: $$\begin{bmatrix} x'_{2k} \\ x'_{2k+1} \end{bmatrix} = \begin{bmatrix} \cos \theta_k & -\sin \theta_k \\ \sin \theta_k & \cos \theta_k \end{bmatrix} \begin{bmatrix} x_{2k} \\ x_{2k+1} \end{bmatrix}$$ Vì định thức của ma trận quay bằng 1, chuẩn Euclid của vector Q và K được bảo toàn tuyệt đối: ||RoPE(q)||_2 = ||q||_2.

Trong config.json của Qwen3-Omni, mrope_section = [24, 20, 20] có tổng bằng 24 + 20 + 20 = 64 cặp (tức 128 chiều head_dim). Với 20 nhóm đầu tiên (k = 0..19), cứ mỗi bộ 3 cặp liên tiếp sẽ lấy 1 cặp từ trục Temporal, 1 cặp từ trục Height và 1 cặp từ trục Width (20 × 3 = 60 cặp); 4 cặp cuối cùng (60..63) thuộc về phần dư 24 − 20 = 4 của trục Temporal.

Nhờ cả Thinker lẫn Talker đều kế thừa chung lớp Qwen3OmniMoeThinkerTextRotaryEmbedding (với rope_theta = 1.000.000), trục thời gian của âm thanh đầu vào, khung hình video và luồng giọng nói đầu ra luôn khớp trên cùng một hệ quy chiếu. Bạn có thể kiểm chứng tính bảo toàn chuẩn ||RoPE(q)|| = ||q|| ở mục [1B] của Bài Lab tổng hợp Qwen3-Omni.

4Profiling

  • Bảo toàn chuẩn Euclid sau phép quay 3D TM-RoPE

    Đo hiệu số |‖RoPE(q)‖₂ − ‖q‖₂| trên mọi token và mọi head: kết quả phải dưới 1e-12 (trong lab đạt 0.00e+00).

  • Tính bất biến dịch chuyển thời gian (Relative Shift Invariance)

    Dịch đồng thời cả vị trí truy vấn p_q và vị trí khóa p_k đi cùng một độ trễ Δt trên trục Temporal: tích vô hướng q_rot · k_rot không đổ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ụ

Kiểm tra phân bổ 64 cặp tần số của mrope_section = [24, 20, 20]

Tổng số cặp là 24 (Temporal) + 20 (Height) + 20 (Width) = 64 cặp, nhân 2 số thực mỗi cặp bằng đúng head_dim = 128. Trong lab thu nhỏ với HEAD_DIM = 6 (3 cặp), ba trục (T, H, W) nhận lần lượt 1 cặp mỗi trục để minh họa trực quan phép đan xen.

6Thuật ngữ

mrope_section = [24, 20, 20]
Phân bổ 64 cặp góc xoay (head_dim = 128) thành 24 cặp cho trục Temporal, 20 cặp cho Height và 20 cặp cho Width.
interleaved = True
Xếp xen kẽ các cặp tần số (T, H, W, T, H, W...) thay vì gom hết T ở đầu rồi mới đến H, W.
position_id_per_seconds = 13
Độ phân giải chỉ số vị trí thời gian (~12.5–13 bước mỗi giây, tức ~80 ms mỗi đơn vị vị trí).
Glossary (2)
TM-RoPE (Time-aligned Multimodal RoPE)
Mã hóa vị trí xoay 3 trục (Thời gian, Cao, Rộng) căn chỉnh theo thời gian thực cho chuỗi đa phương thức.
Interleaved Frequency Allocation
Đan xen các cặp tần số của 3 trục T, H, W thay vì chia thành 3 đoạn tách rời.

7Bài liên quan

8Nguồn