สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 1

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ

สวัสดีครับ สำหรับผู้ที่ติดตามซีรีส์ ComfyUI มาตั้งแต่ต้น คงคุ้นเคยกับการใช้งานโมเดล Stable Diffusion 1.5 ที่สามารถสร้างภาพได้อย่างรวดเร็ว แต่มีข้อจำกัดที่ขนาดภาพเล็ก และรายละเอียดยังไม่สมจริงมากนัก

วันนี้เราจะพาทุกท่านก้าวสู่โลกใหม่ของการสร้างภาพด้วย Stable Diffusion โดยมุ่งเน้นไปที่โมเดล SDXL (Stable Diffusion Extra Large) ที่ถือเป็นการยกระดับขีดความสามารถในการสร้างภาพขนาดใหญ่และคุณภาพสูงอย่างก้าวกระโดด

ตลอดทั้งบทความนี้ เราจะพาไปสำรวจวิธีการใช้ SDXL โดยใช้เทคนิคในการเร่งความเร็วการสร้างภาพแบบสายฟ้าแลบ การแก้ปัญหาที่อาจเจอ ตลอดจนการต่อยอดไปสู่การใช้ LoRA และ ControlNet ให้เข้ากับ SDXL อย่างลงตัว

เชิญร่วมเดินทางไปกับเราเพื่อเปิดประตูสู่โลกแห่งการสร้างภาพคุณภาพสูงขนาดใหญ่ได้อย่างรวดเร็วและมีประสิทธิภาพด้วย SDXL กันได้เลยครับ

ถึงเวลาต้องเปลี่ยนเป็น SDXL

ก่อนหน้านี้เราใช้โมเดลแบบ SD1.5 มาโดยตลอด ซึ่งจะ Gen รูปที่ขนาดเล็ก แล้วให้รายละเอียดได้ไม่ดีมากนัก ต่อจากนี้เป็นต้นไปเราจะหันมาใช้ Model SDXL ซึ่งถือเป็นการยกระดับครั้งสำคัญ

เพราะไม่เพียงสร้างภาพที่มีขนาดใหญ่กว่า แต่ยังเปิดโอกาสให้ทำสิ่งต่างๆ ได้มากขึ้น อาทิ การทำ Style Transfer ผ่าน IP Adapter อย่างมีประสิทธิภาพ โดยขนาดภาพของ SDXL ที่นิยมใช้กันมีดังนี้

  • 1024 x 1024
  • 768 x 1152
  • 864 x 1152
  • 768 x 1360

ในช่วงแรกของบทความนี้ เราจะใช้โมเดล CyberRealistic XL (https://civitai.com/models/312530/cyberrealistic-xl) เป็นตัวอย่าง ซึ่งมีขนาดใหญ่ถึง 6GB จึงอาจใช้เวลาในการดาวน์โหลดนานหน่อย ข้อแนะนำการตั้งค่าจากเจ้าของโมเดลมีดังนี้

  • Steps: > 25
  • CFG: 7 หรือ 12+
  • Sampler: DPM++ 2M Karras / Euler A
  • VAE: มีในตัวแล้ว
  • Upscaler: 4x_NickelbackFS_72000_G/4xNMKD-Siax_200k
  • Negative propmt: ไม่ต้องใส่ก็ได้ หรือถ้าจะใส่ก็แบบนี้
worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed

ทดสอบการ Gen ภาพ SDXL

ลองต่อ Node ตามปกติ ผมใช้ Prompt แบบนี้

beautiful young asian half thai korean idol woman, 20 yrs old, modern face, loose tank top, in coffee shop
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 2

เราจะได้ภาพละเอียดออกมาเลย แบบไม่ต้อง Upscale ด้วยซ้ำ

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 3

เมื่อลองสร้างภาพด้วย SDXL จะเห็นได้ว่าได้ภาพที่มีรายละเอียดสูงโดยไม่ต้อง upscale เพิ่มเติม แต่ใช้เวลานานกว่าปกติเนื่องจากขนาดใหญ่และจำนวน step ที่มากขึ้น

ทำให้ Gen เร็วขึ้นด้วย SDXL Lightning LoRA

เพื่อเร่งความเร็ว เราสามารถใช้ LoRA พิเศษที่เรียกว่า SDXL Lightning ซึ่งมีตัวเลือกหลายระดับ เช่น 1,2,4,8 Steps ซึ่งผมว่า 4 กับ 8 Steps ดูเป็น Choice ที่ดี

เราสามารถไปโหลด LoRA พิเศษที่ช่วยเร่งความเร็วได้ที่ https://huggingface.co/ByteDance/SDXL-Lightning

เมื่อใช้ LoRA นี้ เราจะต้องลดจำนวน step ลงให้เหลือเพียง 4 หรือ 8 และลด CFG ลงต่ำๆ เช่นเหลือ 1 จากนั้นจะเห็นได้ว่าสร้างภาพได้เร็วขึ้นมาก แต่ภาพที่ได้เบื้องต้นอาจดูแปลกๆ เหมือนภาพมันพัง

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 4
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 5

เราลอง LoRA แบบ 8 Steps ดูว่าต่างกันไหม ผลที่ได้ภาพกลับออกมาเละกว่าเดิมอีก

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 6
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 7

วิธีแก้ปัญหา

อาการแบบนี้เกิดจากพวก Noise Schedule ไม่สัมพันธ์กับ Steps ของการ Gen รูป ดังนั้นให้ลองปรับ Scheduler ดูเป็น SGM Uniform และจะพบว่าภาพที่ได้ออกมาดูดีขึ้นมาก

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 8
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 9

ลองกลับมาใช้แบบ 4 Steps แล้วใช้ SGM Uniform ดูบ้าง ก็จะพบว่าตัว 4 Steps ก็ดูดีขึ้นแล้วเช่นกัน (แต่ผมว่า 8 Steps จะสวยกว่านิดหน่อย)

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 10

เมื่อเทียบกับความเร็วแล้ว Lightning ทำได้เร็วกว่าการใช้ SD1.5 แบบปกติเสียอีก สะดวกในการลองผิดลองถูกได้รวดเร็ว คือ มันเร็วมากๆ จริงๆ เนี่ย Gen เล่นๆ ได้สบายๆ

Model บางตัวมี Lightning แฝงในตัวแล้ว

นอกจากใช้ LoRA แบบ Lightning แล้ว ยังมีโมเดล Checkpoint ที่มีการฝัง Lightning เข้าไปในตัวเรียบร้อยแล้ว

หากคุณเข้าไปใน Civitai จะพบว่ามันมี Model หลายๆ ตัวที่ฝัง Lightning LoRA เข้าไปในตัวแล้ว เช่นหากไป Filter หาแบบนี้

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 15

จะเจอ Model เจ๋งๆ มากมาย เช่น

เดี๋ยวจะลองใช้ LEOSAM’s HelloWorld XL ดูว่าเป็นยังไง? ซึ่งในเว็บเค้าแนะนำไว้แบบนี้

Introducing “HW5.0_Euler_a_Lightning”

  • Sampler: Eular a เท่านั้น
  • CFG scale: 1
  • Sampling steps: 8 steps (6~8 steps )
  • Hires algorithm: ESRGAN 4x / 8x_NMKD-Faces_160000_G
  • Hires Upscale factor: 1.5x
  • Hires steps: 8 steps
  • Hires Denoising strength: 0.3

เอาล่ะ มาลองกัน โดยไม่ต้องใช้ LoRA แล้วนะ

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 16

ผลก็ออกมาใช้ได้เลย

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 17

ถ้าเราปรับ Prompt ให้เหมาะกับ Model มากขึ้น เช่น ใส่พวก Film Grain เข้าไป

beautiful young asian half thai korean idol woman, 20 yrs old, modern face, loose tank top, in coffee shop, (film grain texture:1.2),(analog photography aesthetic:1.15),visual storytelling,dynamic composition

ผลที่ได้ก็จะสวยและเหมาะกับ Model นี้มากขึ้น

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 18

ยิ่งถ้าเอาไป Upscale ต่อแบบง่ายๆ ได้ เลย เช่น ผมใช้ตัว 4xNMKD-Siax_200k มันจะออกมี Grain เยอะนิดๆ เหมาะกับภาพที่ดูเป็นสไตล์ฟิล์มแบบนี้อยู่แล้ว (ถ้า 4X ใหญ่ไป ก็อย่าลืม Upscale ด้วย Factor 0.5 อีกทีนะ)

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 19
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 20

นอกจาก Lightning แล้ว ก็มี LCM กับ Turbo ด้วย

จริงๆ แล้วก่อนจะมี Model Lightning ออกมานั้น มันมี Concept ที่ทำให้ Gen ภาพเร็วขึ้นที่เรียกว่า LCM กับ Turbo ด้วยนะ แต่ว่า Lightning ออกมาหลังสุด เลยเจ๋งที่สุด ดังนั้นผมก็แนะนำให้ใช้แบบ Lightning นี่แหละ

การใช้ LoRA กับ SDXL

เวลาเราจะใช้ LoRA (ที่ไม่ใช่การเพิ่มความเร็ว) กับโมเดล SDXL เราก็ต้องใช้ LoRA ที่ออกแบบมาใช้งานกับ SDXL เท่านั้นด้วยนะ เช่นเวลาไป Search หาก็ต้องเลือกด้วย

ผลลัพธ์ก็จะขึ้น icon LoRA และ XL ด้วย คู่กันเลย

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 21

เช่นถ้าผมลองใช้ LoRA [XL] Sailor Venus นี้ https://civitai.com/models/362345/xl-sailor-venus-sailor-moon

แม้จะเป็น LoRA Anime แต่ก็เอามาใช้กับ Realistic ได้ในระดับนึงล่ะ และยังใช้กับ Model Lightning ได้ตามปกติเลย

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 22
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 23

แต่แน่นอนว่า ถ้าใช้กับ Model SDXL ที่เป็น Anime ก็จะดีกว่า เช่น Animagine XL https://civitai.com/models/260267/animagine-xl-v31

ยังไงไปลองเล่นเองนะ (ต่อ Lightning LoRA คู่กับ LoRA ตัวละครได้เลย)

การใช้ ControlNet กับ SDXL

เวลาเราจะใช้ ControlNet กับ SDXL เราก็ต้องเลือก ControlNet Model ที่ออกแบบมาสำหรับ SDXL โดยเฉพาะด้วยครับ ลองไปหาได้จากที่นี่ https://huggingface.co/lllyasviel/sd_control_collection/tree/main

เช่น

ถ้าลอง Openpose ด้วยอันนี้ thibaud_xl_openpose_256lora.safetensors https://huggingface.co/lllyasviel/sd_control_collection/blob/main/thibaud_xl_openpose_256lora.safetensors

เราก็จะใช้มันควบคุมท่าทางได้เช่นกัน และยังใช้กับ Model Lightning ได้ตามปกติเลย

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 24
สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 25

ถ้าผมลองใช้ sai_xl_depth_256lora.safetensors https://huggingface.co/lllyasviel/sd_control_collection/blob/main/sai_xl_depth_256lora.safetensors

เพื่อมากำหนด Depth ให้ภาพ มันก็ค่อนข้าง ok เลยนะ (เราใช้ Depth กำหนดโครงร่างของคนก็ได้)

สอนใช้ ComfyUI EP08 : ยกระดับไปสู่ SDXL + เทคนิค Gen เร็วสายฟ้าแลบ 26

สรุป + ตอนต่อไป

หลังจากนี้ บทความต่อไปผมจะพาไปสำรวจเรื่องการใช้ IP Adapter ซึ่งบอกเลยว่าคือเรื่องที่ทรงพลังมากที่สุดในการทำ Stable Diffusion ยุคใหม่ในระดับเดียวกับ ControlNet เลยล่ะ อย่าลืมติดตามตอนต่อไปนะครับ