TI · Kiến trúc huấn luyện sinh ảnh
Cầu nối suy luận: checkpoint, Euler, CFG và giải mã
Nạp hợp đồng checkpoint, bắt đầu từ nhiễu rồi cập nhật latent bằng Euler và CFG, giải mã ra ảnh và đọc tiếp khóa Qwen-Image-2.1.
1Định nghĩa
Sampling của mô hình flow là dùng trường vận tốc đã học để biến một mẫu nhiễu thành latent ảnh, rồi giải mã latent ra pixel. Đây là suy luận với trọng số cố định; không có loss hay bước AdamW trong vòng lấy mẫu.
Ô 5A nạp checkpoint và bản EMA đã chọn; 5B dùng điều kiện chữ, t và latent hiện tại để tính vận tốc, có thể trộn CFG, rồi tích phân Euler. Ô 5C giải mã bằng VAE tương thích; 5D nối sang khóa suy luận cụ thể.
Ví dụ đời thường: Một bản chỉ đường đã học được đem dùng nhiều lần cho các điểm xuất phát khác nhau. Mỗi bước đi dựa trên vị trí hiện tại và bản chỉ đường cố định; người đi không sửa lại bản đồ sau mỗi bước, còn đường đi phụ thuộc điểm xuất phát.
2Luồng
Mã 5A, 5B, 5C, 5D khớp sơ đồ Tab 01. Giai đoạn 9 khớp Tab 02; ánh xạ không có nghĩa mọi kỹ thuật của ô đều được triển khai trong lab.
- Nhận đầu vào
Sampling của mô hình flow là dùng trường vận tốc đã học để biến một mẫu nhiễu thành latent ảnh, rồi giải mã latent ra pixel.
- Biến đổi và nối hệ thống
Đọc ô 5A, 5B, 5C, 5D và các bước giải thích bên dưới.
- Đối chiếu thực hành
Giai đoạn 9 của lab; xem bảng ánh xạ để phân biệt thực thi với phần chỉ giải thích.
Mã Mermaid
flowchart TD
step1["Nhận đầu vào"]
step2["Biến đổi và nối hệ thống"]
step3["Đối chiếu thực hành"]
step1 --> step2
step2 --> step3 3Giải pháp
Vị trí trên sơ đồ: 5A, 5B, 5C, 5D. Tiền đề: biết tensor/attention từ LLM Foundations và loss, gradient, AdamW từ LLM Training (Text); phần dưới nhắc lại kiến thức cần dùng tại chỗ.
Nhắc lại hợp đồng trước khi chạy
Khớp denoiser, prediction type, lịch t, biểu diễn null, VAE scale/shift và text encoder. Nhiễu đầu có shape latent và seed riêng. Nếu dùng nhiều prompt với cùng nhiễu để so, giữ mọi cấu hình còn lại giống nhau. Đừng đổi chiều t theo thói quen của một scheduler khác.
Euler và CFG trong khóa này
Với t đi từ 0 tới 1 và K bước đều, Δt=1/K, z_(k+1)=z_k+Δt·v_theta(z_k,t_k,c). Nếu dùng CFG thì thay vận tốc bằng v_null+s·(v_cond−v_null) ở cùng z_k,t_k. Euler là xấp xỉ cục bộ; bước lớn có thể đi lệch trường. K là số bước lấy mẫu, khác STEPS là số cập nhật huấn luyện.
Khóa dùng target u=z−e, nên dấu cộng là nhất quán với đường từ nhiễu tới sạch. Sau bước cuối, hoàn tác chuẩn hóa latent và chạy VAE decoder. Không gọi decoder sau mỗi bước trừ khi chỉ để xem tiến trình. Không coi vòng này là decode token kế tiếp hay tự động áp KV cache của mô hình văn bản.
Đọc số và đi tiếp
Giai đoạn 9 của Bài Lab tổng hợp chạy Euler 8 bước, s=1,5 cho MSE với hai hình mẫu 0,017335; RMS lệch bản 64 bước 0,024457. Ma trận in là số thô chưa cắt ngưỡng (clamp) về [−1,1]: các giá trị vượt ngoài [−1,1] vừa có thể đến từ nhiễu Gaussian nhỏ đã cộng sẵn vào dữ liệu đích khi tạo mẫu, vừa có thể đến từ sai số xấp xỉ của mạng/bước tích phân Euler hay ngoại suy CFG; giữ số thô giúp quan sát trung thực biên độ thay vì che bằng cắt số, nhưng chỉ nhìn riêng một pixel vượt [−1,1] chưa tách được nguyên nhân nào. VAE ở đây chỉ là reshape đồng nhất.
Sang bài vòng Euler của Qwen-Image-2.1 để đọc cơ chế suy luận của mô hình đó. Recipe flow ở khóa này là nền tảng tổng quát, không khẳng định biết đầy đủ dữ liệu hoặc công thức huấn luyện riêng của Qwen-Image-2.1. Bộ mã hóa ngữ cảnh đa phương thức có thể khác bảng tra nhãn của lab.
4Profiling
- Đúng toán trước chất lượng
Thử trường vận tốc hằng có nghiệm biết trước để kiểm tra Euler, so scale=1 với nhánh có điều kiện và nạp lại checkpoint với input cố định. Sau đó mới so ảnh giữa các K trên cùng seed.
- Số lần gọi và thời gian
Báo K, CFG, số lần forward denoiser và decoder, resolution cùng phần cứng. K ít hơn không chứng minh tỉ lệ tăng tốc nếu mỗi bước hoặc overhead khác; lab không đo GPU.
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ụ
Đọc ma trận hình học
Ảnh ngang khối 9 có hàng thứ hai phần lớn gần +1, các hàng khác gần −1; ảnh dọc có cột thứ hai sáng. Tự kiểm tra: vì sao không yêu cầu mọi pixel đúng ±1? Mạng học trường xấp xỉ và Euler hữu hạn còn sai số, dữ liệu cũng thêm nhiễu nhỏ.
Không đồng nhất ít bước với chưng cất
Đổi SAMPLE_STEPS=2 mà giữ checkpoint có phải đã huấn luyện student không? Không. Đọc bài chưng cất để thấy phải có target/loss và cập nhật student; riêng biến thể này chỉ đổi tích phân.
6Thuật ngữ
- Euler
- Cập nhật trạng thái bằng bước thời gian nhân vận tốc hiện tại.
- Sampling seed
- Hạt giống quyết định nhiễu khởi đầu, dùng để tái tạo hoặc so có kiểm soát.
Glossary (1)
- Giới hạn của mô hình thu nhỏ
- Số lab chỉ thuộc dữ liệu hình học và cấu hình đã nêu; không suy ra chất lượng ảnh tự nhiên hoặc hiệu năng GPU.
