· 3 min read
Flux 1.dev & Kohya_ss (sd3) – Hướng dẫn huấn luyện LoRA, ưu nhược điểm bộ công cụ
Flux 1.dev là mô hình khuếch tán Transformer 12 tỷ tham số, nổi bật ở khả năng bám prompt và hiển thị chữ. Kết hợp script `flux_train_network.py` trên nhánh sd3 của kho mã kohya‑ss bạn có thể tinh chỉnh LoRA nhanh, tiêu tốn ít VRAM. Bài viết phân tích ưu/nhược điểm và cung cấp quy trình thiết lập hoàn chỉnh.

1. Tổng quan mô hình Flux 1.dev
- Quy mô: 12 tỷ tham số, kiến trúc Rectified‑Flow Transformer — tương tự DiT nhưng thêm khối song song cho độ phân giải 1024×1024 px huggingface.
- Ưu điểm
- Hiển thị văn bản rõ, ít méo, phù hợp poster, banner.
- Prompt adherence tốt — mô hình phản hồi chính xác chi tiết phức tạp.
- Cộng đồng mở: nhiều LoRA & ControlNet đã có sẵn trên Hugging Face.
- Nhược điểm
- VRAM cao khi huấn luyện thô (≥ 24 GB cho batch 2) github.
- Còn WIP; tài liệu rời rạc, tên tensor khác SD → cần script chuyên dụng.
- Giấy phép phi thương mại đối với một số checkpoint (lưu ý khi dùng cho sản phẩm).
2. LoRA & bộ script Kohya_ss sd3
2.1 Ưu điểm
Tiêu chí | Kohya_ss (sd3) | Lý giải |
---|---|---|
Nhẹ VRAM | Hỗ trợ block‑swap & cpu offload → huấn luyện LoRA Flux chỉ với 8–10 GB VRAM github | Tự động hoán đổi 22–28 khối giữa CPU/GPU. |
Linh hoạt | Module riêng networks.lora_flux , rank mặc định 4 , tuỳ chọn GGPO, Huber loss, optim mới (CAME, Adafactor) | Dễ thử nghiệm, tối ưu. |
Validation loss | Đã tích hợp theo batch cố định, giúp so sánh mô hình rõ ràng github | Phát hiện overfit sớm. |
Cộng đồng lớn | Issue/PR cập nhật liên tục, hỗ trợ Flux, SDXL, SD3 | Học hỏi & khắc phục lỗi nhanh. |
2.2 Nhược điểm
- CLI phức tạp, nhiều tuỳ chọn dễ gây nhầm lẫn với người mới.
- Thay đổi nhanh: tham số/flag có thể đổi tên qua từng bản; cần theo dõi README thường xuyên github.
- Một số tính năng (ControlNet, DeepSpeed) hiện chỉ chạy ổn trên Linux/WSL.
3. Thiết lập môi trường
git clone -b sd3 https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt # Torch 2.4 · CUDA 12.4
Lưu ý: dùng
torch==2.4.0
,accelerate==0.33.0
như README khuyến nghị.
4. Chuẩn bị dữ liệu
- Thu thập 30–100 ảnh 1:1 (PNG/JPG 1024 px).
- Viết caption ngắn (5–15 từ) bám chủ đề; tránh từ khoá ngoài ý.
- Tạo file
dataset_1024_bs2.toml
liệt kê đường dẫn & caption (xem mẫu trong docs).
5. Lệnh huấn luyện mẫu
accelerate launch --mixed_precision bf16 \
flux_train_network.py \
--pretrained_model_name_or_path flux1-dev.safetensors \
--clip_l sd3/clip_l.safetensors \
--t5xxl sd3/t5xxl_fp16.safetensors \
--ae ae.safetensors \
--dataset_config dataset_1024_bs2.toml \
--output_dir /output/flux_lora \
--output_name flux-lora-demo \
--network_module networks.lora_flux \
--network_dim 4 \
--network_train_unet_only \
--learning_rate 1e-4 \
--optimizer_type adamw8bit \
--max_train_epochs 4 \
--save_model_as safetensors \
--sdpa --cache_latents_to_disk \
--timestep_sampling shift --discrete_flow_shift 3.1582 \
--guidance_scale 1.0 --highvram
Cấu hình lấy trực tiếp từ README nhánh sd3 github.
Tối ưu VRAM thấp
Thêm --blocks_to_swap 22
(GPU 10 GB) hoặc 28
(GPU 8 GB) để offload khối lên CPU github.
6. Theo dõi & đánh giá
- Loss ~ 0,4 sau 1 000 bước là chấp nhận được.
- Generate mẫu mỗi 50 bước: kiểm tra over‑saturation & prompt‑leak.
- Nếu mẫu lẫn nội dung LoRA vào prompt khác → giảm weight (
<lora:name:0.6>
).
7. Suy luận & triển khai
python flux_minimal_inference.py \
--ckpt flux1-dev.safetensors \
--clip_l sd3/clip_l.safetensors \
--t5xxl sd3/t5xxl_fp16.safetensors \
--ae ae.safetensors \
--dtype bf16 \
--prompt "<lora:flux-lora-demo:0.8> A vibrant magazine cover with bold title" \
--out /out \
--seed 42
LoRA (.safetensors
) có thể nạp trong ComfyUI hoặc Stable Diffusion WebUI (phiên bản hỗ trợ Flux patch).
8. Kết luận
Bộ đôi Flux 1.dev + Kohya_ss (sd3) mang lại độ trung thực cao cho nội dung văn bản trong ảnh, đồng thời cho phép tinh chỉnh nhanh, rẻ nhờ LoRA rank 4 và cơ chế block‑swap. Dù còn mang tính thử nghiệm, đây là lựa chọn hấp dẫn cho đội ngũ cần:
- Poster, banner, UI‑mock có chữ sắc nét.
- Huấn luyện phong cách cá nhân trên GPU tầm trung.
- Khai thác tính năng mới (GGPO, FP8, Huber loss) trước khi các nền tảng phổ biến bổ sung.
Theo dõi README nhánh sd3 để cập nhật tham số – “bắt trend” sớm sẽ giúp bạn tối ưu hiệu suất và chất lượng hình ảnh.