- บทความกล่าวถึงความพยายามของผู้เขียนในการปรับปรุงประสิทธิภาพของ Stable Diffusion XL 1.0 (SDXL) ของ Stability AI ซึ่งเป็นโมเดลโอเพนซอร์สสำหรับสร้างภาพที่ความละเอียด 1024x1024
- SDXL ประกอบด้วยโมเดลสองส่วน: โมเดลหลักและโมเดล refiner แบบเลือกใช้ ซึ่งช่วยเพิ่มรายละเอียดอย่างมากโดยไม่กระทบความเร็ว
- ผู้เขียนใช้ไลบรารี Python
diffusers ของ Hugging Face เพื่อทำงานร่วมกับ SDXL และได้ยกตัวอย่างวิธีโหลดและใช้งานทั้งโมเดลหลักและโมเดล refiner
- ผู้เขียนใช้คลาวด์เวอร์ชวลแมชชีนที่มี GPU L4 ระดับกลางในการสร้างภาพ และระบุว่าภาพขนาด 1024x1024 แต่ละภาพใช้เวลาสร้างประมาณ 22 วินาที
- ผู้เขียนได้ทดลองใช้ความสามารถใหม่สองอย่างของ
diffusers ได้แก่ prompt weighting และการฝึกกับ inference ของ Dreambooth LoRA
- prompt weighting ช่วยปรับปรุงผลลัพธ์สุดท้ายโดยเปิดให้กำหนดค่าน้ำหนักทางคณิตศาสตร์ของคำต่าง ๆ ใน positional text embeddings ที่ได้
- การรองรับ Dreambooth LoRA ทำให้สามารถปรับจูน Stable Diffusion ด้วยภาพต้นฉบับจำนวนเล็กน้อยและ trigger keyword เพื่อให้สามารถนำ "แนวคิด" ของภาพนั้นไปใช้ในสถานการณ์อื่น ๆ ที่ระบุด้วยคีย์เวิร์ดได้
- ผู้เขียนได้ทดสอบศักยภาพของ SDXL โดยฝึก LoRA กับแนวคิดของ Ugly Sonic ซึ่งไม่มีอยู่ในชุดข้อมูลต้นฉบับของ Stable Diffusion และผลลัพธ์ออกมาดีกว่าและสม่ำเสมอกว่ามาก
- ผู้เขียนยังฝึก LoRA กับภาพขยะที่บิดเบี้ยวอย่างหนัก โดยใช้ prompt ว่า "wrong" ด้วยความหวังว่า LoRA จะใช้ "wrong" เป็น "negative prompt" และหลีกเลี่ยงภาพลักษณะนี้เพื่อสร้างภาพที่บิดเบี้ยวน้อยลง
- ผู้เขียนพบว่า LoRA ช่วยทำให้ SDXL ฉลาดขึ้นและยึดตามเจตนาของ prompt ได้ดีกว่าเดิม ส่งผลให้คุณภาพและความชัดเจนของภาพที่สร้างดีขึ้น
- ผู้เขียนสรุปว่าการฝึก SDXL ด้วยภาพที่แย่นั้นคล้ายกับรูปแบบหนึ่งของ reinforcement learning from human feedback (RLHF) ซึ่งเป็นเทคนิคที่ทำให้ ChatGPT ทรงพลัง
- ผู้เขียนมีแผนจะสำรวจศักยภาพของ "negative LoRAs" ต่อไป รวมถึงการนำไปผสานกับ LoRA อื่น ๆ เพื่อเพิ่มประสิทธิภาพ
1 ความคิดเห็น
ความเห็นจาก Hacker News