OpenArchLabOpen Architecture — From Models to Systems

TI · Kiến trúc huấn luyện sinh ảnh

CFG: học điều kiện rỗng và kết hợp hai dự đoán

Bỏ điều kiện ngẫu nhiên trong vòng học để có nhánh không điều kiện, rồi trộn hai dự đoán khi lấy mẫu bằng classifier-free guidance.

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

1Định nghĩa

Classifier-free guidance (CFG, hướng dẫn không cần bộ phân loại riêng) là cách tăng tác động của mô tả khi sinh ảnh bằng hai dự đoán từ cùng denoiser: có điều kiện và không điều kiện. Nhánh rỗng phải được học chứ không tự trở thành tốt khi đặt vector chữ bằng 0.

Ở 2C, một xác suất p thay toàn bộ điều kiện chữ bằng biểu diễn null, còn ảnh và mục tiêu vận tốc giữ nguyên. Khi lấy mẫu ở 5B, dùng v_cfg = v_null + s·(v_cond−v_null); s=1 trả dự đoán có điều kiện, s=0 trả nhánh rỗng.

Ví dụ đời thường: Một họa sĩ tập cả khi có phiếu yêu cầu lẫn khi chỉ có đề chung. Lúc làm tranh, ta so hai phương án và đẩy mạnh phần khác biệt theo yêu cầu; đẩy quá mạnh có thể làm tranh mất cân đối, nên nhiều hướng dẫn hơn không luôn tốt hơn.

2Luồng

Mã 2C, 5B khớp sơ đồ Tab 01. Giai đoạn 7 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.

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

Kiến trúc huấn luyện LLM · Ánh xạ với Bài Lab tổng hợp

Bắt đầu 1A → 1B, tách ảnh sang 1C và chữ sang 1D. Cột 2 tạo trạng thái nhiễu, điều kiện và target để 2D dự đoán; 3A → 3D chấm và sửa trọng số. next batch lặp về dữ liệu, load weights xuống 5A → 5D để sampling không gradient. Cột 4 là các lựa chọn, không phải chuỗi bước bắt buộc. Liên kết Lab trong pop-over nêu phần thực thi và phần chỉ giải thích.

Sơ đồ huấn luyện sinh ảnh gồm 24 ô từ 1A đến 5D
2C2 · Tạo đề và dự đoán
c → null với xác suất p

2C · Bỏ điều kiện

Cho mô hình gặp trường hợp không có mô tả để học nhánh rỗng dùng cho CFG.

Nhận gì
Vector chữ c từ 1D và xác suất bỏ điều kiện p, còn latent/target giữ nguyên.
Làm gì, vì sao
Thay toàn bộ điều kiện của một phần mẫu bằng null; không thay chú thích bằng câu sai hay xóa ảnh.
Ra gì
Điều kiện có/rỗng vào 2D; hai chế độ dùng chung một denoiser.
Ví dụ, cách đọc ô
Lab p=0,2 bỏ 22.946/115.200 lượt mẫu; có đối chứng cùng khởi tạo và batch với p=0.
Lưu ý
p khi học khác scale CFG lúc lấy mẫu; null của mô hình thật không nhất thiết là tensor zero.
Sơ đồ luồng (3 bước)
  1. Nhận đầu vào

    Classifier-free guidance (CFG, hướng dẫn không cần bộ phân loại riêng) là cách tăng tác động của mô tả khi sinh ảnh bằng hai dự đoán từ cùng denoiser: có điều kiện và không điều kiện.

  2. Biến đổi và nối hệ thống

    Đọc ô 2C, 5B và các bước giải thích bên dưới.

  3. Đối chiếu thực hành

    Giai đoạn 7 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ơ đồ: 2C, 5B. 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 dropout theo mẫu

Caption dropout thay tín hiệu điều kiện của cả một mẫu, không phải xóa pixel của ảnh hay zero ngẫu nhiên neuron. Giữ target z−e cho mẫu ấy để nhánh rỗng học phân phối ảnh tổng thể. Không thay chú thích bằng một chú thích sai: hai thao tác dạy hai bài toán khác nhau.

Học và lấy mẫu có vai trò khác nhau

p điều khiển tần suất nhánh rỗng khi học, s điều khiển độ mạnh hướng dẫn khi suy luận. Tăng s không cần backward hay đổi trọng số; đổi p thường phải học lại để nhánh rỗng nhận đủ dữ liệu. Một số hệ tích hợp guidance vào mô hình hoặc dùng kiến trúc riêng, nên không mặc định luôn chạy hai forward vật lý.

Trong công thức chuẩn ở đây, nhánh có/rỗng dùng cùng trạng thái z_t và t. Nếu lấy hai trạng thái khác nhau thì hiệu hai vận tốc không còn chỉ phản ánh điều kiện. Hai lượt dự đoán có thể ghép thành một batch lớn; số phép tính và bộ nhớ vẫn cần được đo thực tế.

Đọc đối chứng có kiểm soát

Giai đoạn 7 của Bài Lab tổng hợp huấn luyện hai mô hình cùng khởi tạo và cùng batch, chỉ đổi p từ 0,2 xuống 0. Nhánh rỗng có dropout đạt MSE 0,312712, đối chứng 1,691582 trên tập cố định; 22.946 trên 115.200 lượt mẫu thực tế bị bỏ điều kiện. Đây là bằng chứng cục bộ về việc null được học.

Ở khối 9, s=1,5 có MSE hình mẫu 0,017335 còn s=1 là 0,017168. Chênh lệch nhỏ này bác bỏ suy luận “tăng CFG luôn giảm lỗi”; nó chưa đủ để xếp hạng thẩm mỹ trên ảnh thật.

4Profiling

  • So sánh công bằng

    Cố định checkpoint, nhiễu đầu, lịch bước và prompt; đổi riêng s. Theo dõi bám prompt và độ đa dạng trên nhiều seed. Lab chỉ in MSE tới hai hình mẫu, không có đánh giá người dùng hoặc độ đa dạng ảnh tự nhiên.

  • Nhánh null

    Đo loss có và không điều kiện riêng với cùng t, rồi kiểm tra tỉ lệ dropout thực. Đếm lượt dropout không thay cho đo chất lượng nhánh rỗng.

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ụ

Bài tập p=0

Sửa DROP_PROB từ 0,2 về 0 và dự đoán loss null. Lần chạy biến thể cho 1,691582 ở cả hai mô hình vì nay cả hai cùng là đối chứng; việc vẫn sinh được một ma trận không chứng tỏ null đã học.

Tự kiểm tra s

Minh họa tính tay: v_null=2, v_cond=3, s=1,5 cho v_cfg=3,5. Hỏi s=1 có bỏ mô tả không? Không, nó trả đúng v_cond; s=0 mới trả v_null theo quy ước của khóa.

6Thuật ngữ

Caption dropout
Thay toàn bộ điều kiện một mẫu bằng null trong lúc học.
Guidance scale
Hệ số s điều khiển mức kéo dự đoán theo điều kiện trong công thức CFG.
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.

7Bài liên quan

8Nguồn