Bỏ qua tới nội dung chính
OpenArchLabOpen Architecture — From Models to Systems

Giới thiệu khóa học

LLM Training (Image): học cách mô hình sinh ảnh từ văn bản được huấn luyện

Mô hình sinh ảnh học cách biến nhiễu ngẫu nhiên thành ảnh phù hợp với mô tả. Khác bài toán đoán token kế tiếp của mô hình văn bản, ở đây mô hình nhận ảnh đã trộn nhiễu, mức thời gian và mô tả, rồi dự đoán một đại lượng giúp đi về ảnh sạch. Khóa này nối cặp ảnh–chú thích với một vòng học và bản lưu trọng số, gọi là checkpoint.

Khóa ở mức Intermediate. Bạn cần biết tensor là mảng nhiều chiều và attention là cách trộn thông tin từ Foundations; biết loss đo sai số, gradient chỉ hướng sửa và AdamW chọn bước cập nhật từ Training (Text). Mỗi bài nhắc lại phần cần dùng trước khi thêm khái niệm mới như latent (biểu diễn ảnh nén), flow matching (học trường vận tốc từ nhiễu tới dữ liệu) và EMA (trung bình trượt của trọng số).

Khóa học gồm

  • 17 bài kiến trúc và sơ đồ 24 ô, mã 1A đến 5D: dữ liệu, bộ mã hóa cố định, đường nhiễu, denoiser (mạng dự đoán để gỡ nhiễu), loss và cập nhật.
  • Phân biệt ε-prediction (đoán nhiễu), v-prediction (đoán tổ hợp ảnh và nhiễu) và velocity prediction (đoán vận tốc của đường đã chọn); chúng không thể đổi tên cho nhau mà giữ nguyên sampler.
  • Nhánh phương pháp gồm học nền từ độ phân giải thấp lên cao, tinh chỉnh miền, LoRA/DreamBooth để cá nhân hóa, ControlNet/adapters cho điều khiển không gian, chưng cất ít bước và Diffusion-DPO học từ cặp ảnh ưu tiên.
  • Băng 5 nối checkpoint với lấy mẫu Euler, CFG (kết hợp dự đoán có/rỗng điều kiện), giải mã latent thành ảnh rồi sang khóa Qwen-Image-2.1 để học suy luận.
  • Tab 02 có một lab NumPy thu nhỏ với ảnh 4×4, hai nhãn ngang/dọc, gradient viết tay, AdamW, EMA, đối chứng dropout, LoRA và sampler; mỗi phép kiểm tra có phạm vi kết luận riêng.

Học xong, bạn có thể

  • Theo một batch ảnh–chú thích qua encoder cố định, tạo trạng thái nhiễu và mục tiêu vận tốc, dự đoán, chấm điểm, backward rồi cập nhật denoiser.
  • Đọc đúng quy ước t=0 là nhiễu, t=1 là ảnh sạch trong khóa này; kiểm tra dấu của vận tốc và bước Euler bằng hai đầu đường nội suy.
  • Giải thích vì sao bỏ điều kiện ngẫu nhiên khi học tạo nhánh rỗng cho CFG, và vì sao tăng hệ số CFG không bảo đảm chất lượng tăng.
  • Chọn bộ phận thay đổi khi đổi phương pháp: dữ liệu, tham số được học, điều kiện phụ hay loss; phân biệt LoRA là cách chọn tham số với DreamBooth là mục tiêu cá nhân hóa.
  • Đọc loss trên một tập kiểm định cố định và các phép kiểm tra số; nói rõ chúng không xác nhận thẩm mỹ, khả năng hiểu ảnh hay tốc độ GPU.

Phạm vi: khóa dạy huấn luyện mô hình SINH ẢNH từ văn bản bằng latent diffusion và flow matching, bổ sung phần huấn luyện cho khóa Qwen-Image-2.1 chỉ bao quát kiến trúc và suy luận. ViT/CLIP/VLM (các bộ mã hóa dùng để hiểu ảnh hoặc kết nối ảnh với chữ) chỉ xuất hiện như thành phần điều kiện hóa; khóa không huấn luyện sâu các encoder hiểu ảnh. Lab dùng MLP thay DiT và ánh xạ đồng nhất thay VAE; không tái tạo công thức huấn luyện riêng của Qwen-Image-2.1.

Cách đọc sơ đồ

  1. Bắt đầu ở 1A rồi 1B: giữ cặp ảnh–chú thích sau lọc và ghép nhóm cùng tỉ lệ khung hình. Từ đó tách hai nhánh: ảnh vào 1C thành latent, chú thích vào 1D thành điều kiện chữ; không đưa latent vào text encoder.
  2. Ở cột 2, 2A lấy thời gian và nhiễu, 2B trộn nhiễu với latent, 2C đôi lúc thay điều kiện bằng rỗng. 2D nhận trạng thái nhiễu, thời gian và điều kiện để dự đoán; 2E tạo đáp án từ cặp ảnh–nhiễu gốc, không lấy dự đoán làm đáp án.
  3. 3A so dự đoán với đáp án; 3B tính gradient, 3C sửa trọng số bằng AdamW, 3D cập nhật EMA và lưu checkpoint. Mũi tên next batch quay lại dữ liệu, load weights đi xuống băng 5.
  4. Cột 4 là các lựa chọn gắn vào vòng học, không phải bảy bước bắt buộc nối tiếp. Băng 5 dùng trọng số cố định: nạp checkpoint → tích phân Euler và CFG → giải mã → đọc tiếp Qwen-Image-2.1.
  5. Di chuột hoặc dùng phím Tab lên ô để đọc Nhận gì / Làm gì, vì sao / Ra gì / Ví dụ / Lưu ý. Bấm ô mở bài; chọn Trọng tâm để soi một nhánh; nút Tắt overlay cạnh Vừa khung cho xem plate gốc. Sang Tab 02 và đối chiếu bảng xem ô nào được thực thi hay chỉ minh họa.

Tên tiếng Anh trên plate là nhãn tra cứu. Phần giải thích và bài học dùng tiếng Việt; số cột là thứ tự học, còn luồng tính thật theo phụ thuộc dữ liệu và các mũi tên.

Trọng tâm:
100%
Bắt đầu 1A→1B, tách ảnh sang 1C và chữ sang 1D. 2A/2B/2C chuẩn bị z_t,t,c cho 2D; 2E tạo target độc lập. Dự đoán và target gặp tại 3A, rồi 3B→3C→3D; next batch quay lại cột 1, load weights xuống băng 5. Cột 4 là các lựa chọn, không phải bảy bước nối tiếp. Một bài có thể giải thích nhiều ô, nên nút trọng tâm cũng làm sáng các ô liên quan của cùng bài.
24 Ô TRÊN SƠ ĐỒ (1A → 5D) · Bấm vào ô trên hình hoặc chọn thẻ bên dưới để đọc bài học tương ứng
1A1A · Cặp ảnh–chú thíchĐiểm bắt đầu: nối đúng ảnh với mô tả để học quan hệ giữa chữ và nội dung ảnh.1B1B · Lọc và nhóm khung hìnhLoại cặp lỗi và ghép ảnh gần tỉ lệ khung hình để giữ nội dung khi xếp batch.1C1C · VAE đóng băngNén ảnh bằng VAE đã học trước để vòng denoiser xử lý biểu diễn latent nhỏ hơn.1D1D · Điều kiện chữĐổi mô tả thành điều kiện số để denoiser chọn nội dung cần sinh.2A2A · Thời gian và nhiễuChọn vị trí trên đường nhiễu và tạo một mẫu nhiễu độc lập cho mỗi ảnh.2B2B · Nội suy flowTạo trạng thái trung gian từ nhiễu tới latent sạch theo đường đã khai báo.2C2C · Bỏ điều kiệnCho mô hình gặp trường hợp không có mô tả để học nhánh rỗng dùng cho CFG.2D2D · Forward DiTDenoiser dùng trạng thái hiện tại và điều kiện để dự đoán vector giúp đi về ảnh sạch.2E2E · Mục tiêu vận tốcTính đáp án vận tốc của đường đã chọn từ cặp ảnh sạch và nhiễu gốc.3A3A · Loss dự đoánGói sai số hồi quy thành scalar để bắt đầu tính gradient của denoiser.3B3B · Lan truyền ngượcTính độ nhạy của loss theo tham số để biết hướng sửa denoiser.3C3C · Cập nhật AdamWBiến gradient và lịch sử của nó thành bước cập nhật cho trọng số đang học.3D3D · EMA và checkpointTheo dõi một bản trọng số làm trơn và lưu hợp đồng đủ dùng lại mô hình.4A4A · Kiểu số và bộ nhớChọn cách tiết kiệm bộ nhớ theo phần chiếm chỗ thật của vòng học.4B4B · Học nền thấp tới caoLập giai đoạn học nền với dữ liệu rộng và tăng độ phân giải có kiểm định.4C4C · Tinh chỉnh miềnTiếp tục học từ mô hình nền để thích nghi yêu cầu mới, theo dõi cả miền cũ.4D4D · LoRA và DreamBoothPhân biệt tham số hạng thấp với mục tiêu học một chủ thể cụ thể.4E4E · Nhánh điều khiểnThêm tín hiệu cạnh, độ sâu hoặc tư thế để điều khiển vị trí trong ảnh sinh.4F4F · Chưng cất ít bướcHọc ánh xạ thay nhiều bước teacher bằng ít lần dự đoán hơn.4G4G · Ưu tiên ảnhTinh chỉnh theo so sánh ưu tiên ảnh với objective phù hợp mô hình diffusion.5A5A · Nạp checkpointBắt đầu suy luận bằng bản trọng số và cấu hình khớp với lúc học.5B5B · Euler và CFGLặp dự đoán vận tốc với trọng số cố định để đi từ nhiễu tới latent ảnh.5C5C · Giải mã VAEĐưa kết quả latent về ảnh bằng decoder tương thích của bộ nén cố định.5D5D · Đọc tiếp suy luận QwenNối kiến thức huấn luyện với phần khảo sát sampling của Qwen-Image-2.1.

Vì sao cột 4 không phải bước tiếp theo?

Cột 1–3 tạo vòng học: cặp ảnh–chú thích tách thành latent và điều kiện chữ, tạo trạng thái nhiễu cùng target, dự đoán rồi sửa denoiser. Cột 4 là các lựa chọn dùng lại vòng này. 4A đổi cách dùng bộ nhớ; 4B–4G đổi dữ liệu, tham số, điều kiện phụ hoặc loss. Không phải học LoRA xong là bắt buộc chạy ControlNet, chưng cất rồi DPO. Các bộ mã hóa hiểu ảnh chỉ là nguồn điều kiện; khóa không huấn luyện sâu ViT/CLIP/VLM.

Thực hành toàn trình trong một bài Lab duy nhất (Tab 02)

Bảng Tab 02 ánh xạ 24 ô vào 10 giai đoạn của một lab NumPy. MLP thay DiT, ánh xạ đồng nhất thay VAE và nhãn hai lớp thay encoder chữ. Vòng flow, gradient, AdamW, EMA, đối chứng dropout, LoRA và Euler được chạy thật; ControlNet, DreamBooth, distillation, DPO và các tối ưu GPU chỉ được giải thích. Bảng nói rõ giới hạn từng ô. Mở Tab 02 · Bài Lab tổng hợp ↗

Nguồn công bố tham chiếu

Open Architecture — From Models to Systems OpenArchLab
Danh sách bài học (17)
  1. Ảnh–chú thích: lọc dữ liệu và ghép nhóm khung hình
  2. VAE cố định: từ pixel sang latent và trở lại
  3. Điều kiện chữ: encoder cung cấp tín hiệu cho mô hình sinh
  4. Nhiễu, thời gian và mục tiêu flow matching
  5. CFG: học điều kiện rỗng và kết hợp hai dự đoán
  6. DiT forward: latent, thời gian và chữ cùng dự đoán
  7. Loss hồi quy: ε, v và vận tốc cần được phân biệt
  8. Backward và AdamW: biến loss thành trọng số mới
  9. EMA và checkpoint: chọn trọng số để đánh giá và lưu
  10. Bộ nhớ: kiểu số, tính lại activation và độ phân giải
  11. Học nền: từ độ phân giải thấp tới cao
  12. Tinh chỉnh miền: giữ nền và học dữ liệu mới
  13. LoRA và DreamBooth: tham số nhỏ, mục tiêu cá nhân hóa
  14. ControlNet và adapters: thêm điều khiển không gian
  15. Chưng cất ít bước: học thay đổi quỹ đạo lấy mẫu
  16. Diffusion-DPO: học từ cặp ảnh ưu tiên
  17. Cầu nối suy luận: checkpoint, Euler, CFG và giải mã