Home » AI » Stable Diffusion » วิธีเทรน Lora หน้าคนจริงเป็น AI ด้วย Colab
วิธีเทรน Lora หน้าคนจริงเป็น AI ด้วย Colab

วิธีเทรน Lora หน้าคนจริงเป็น AI ด้วย Colab

ส่วนตัวผมเทรน Lora จาก Google Colab ตลอดเลย เป็นอีกทางเลือกสำหรับคนที่ใช้ mac หรือสเปคคอมไม่ถึง ก็มาเทรน Lora ผ่านทางออนไลน์

แต่วิธีที่จะบอกต่อไปนี้ อาจจะไม่ใช่วิธีที่ดีที่สุด ถ้าโปรแกรมมีการอัพเดท บางทีก็ต้องปรับเปลี่ยนสูตร

ขั้นตอนที่ 1 สมัคร Colab Pro

จ่ายเงินเดือนละขั้นต่ำ 344 บาท จะได้ 100 หน่วยประมวลผล

จะเทรนได้ขั้นต่ำ 50 ครั้ง

สมัครที่นี่ https://colab.research.google.com/signup/pricing

ขั้นตอนที่ 2 เตรียมไฟล์รูป

ทำภาพขนาด 768×768 จำนวน 10 รูป และรวมใส่ในไฟล์ Zip

รูปนางแบบที่ผมใช้เทรน ได้รับอนุญาติจากเจ้าของเรียบร้อย และเป็นรูปที่ผมถ่ายเองด้วยนะ

ข้อแนะนำ
– เลือกใช้ภาพที่เน้นให้เห็นหน้า
– มีรูปยิ้มบ้าง ไม่ยิ้มบ้าง หันข้าง หันหลังบ้างก็ดี

ขั้นตอนที่ 3 ตั้งค่าการเทรน Lora

เข้าเว็บ https://colab.research.google.com/github/Linaqruf/kohya-trainer/blob/main/kohya-LoRA-dreambooth.ipynb

  1. คลิกปุ่ม Run (ดูตามภาพ)

รอให้ขึ้น ✔️ สีเขียว แล้วค่อยข้ามไปข้อถัดไป

ย้ำว่าทุกๆข้อ ต้องรอให้เสร็จกระบวนการ ถึงจะข้ามไปข้อถัดไปได้

แต่ข้อไหนที่ไม่ได้พูดถึง ให้ข้ามไปได้เลย ทำเฉพาะข้อที่บอกเท่านั้น

2. ข้อ 1.2 Start file Explorer

คลิก Run

3. ดาวน์โหลดโมเดล แบ่งเป็น 2 แบบ

ข้อ 2.1 Download Available Model

ให้เลือกโมเดล Chillout-mix และคลิก Run ได้เลย

ข้อ 2.2 Download Custom Model

กรณีที่จะใช้โมเดลตัวอื่นๆ ให้นำลิ้งค์ดาวน์โหลดมาวาง เสร็จแล้วคลิก Run

ขอย้ำว่า ไม่ต้องทำทั้ง 2 ข้อ เลือกทำข้อเดียวพอ

4. ดาวน์โหลด VAE

ให้เลือก Stablediffusion.vae.pt และคลิก Run

5. หัวข้อ Locating Train Data Directory

คลิก Run

6. เปิดโฟลเดอร์ (ด้านข้าง)

คลิกปุ่มอัพโหลดไฟล์ และนำไฟล์ Zip มาใส่

และรอจนกว่าจะอัพโหลดเสร็จ

7. คลิกขวาไฟล์ Zip เลือก คัดลอกเส้นทาง

8. ข้อ 3.2. Unzip Dataset

วางลิ้งค์ในช่อง zipfile_url และคลิก Run

9. ข้อ 4.2.1. BLIP Captioning

คลิก Run

10. ข้อ 4.2.2. Waifu Diffusion 1.4 Tagger V2

ปรับค่า
general_threshold เป็น 0.85
character_threshold เป็น 0.85

11. ข้อ 4.2.3. Custom Caption/Tag

ใส่แท็ก หรือคำที่เกี่ยวข้อ กรณีนี้ผมใส่ชื่อนางแบบลงไป

แต่ถ้าเป็นชื่อทั่วๆไป เช่น Dream ชื่อแปลว่า ความฝัน ถ้าพิมพ์ไปตรงๆมันจะไปทับกับ Prompt คำๆนั้น ผมก็เลยเลี่ยงใช้คำว่า ndream แทนชื่อน้อง

12. เปิดโฟลเดอร์ Pretrained_model

คลิกขวาที่ไฟล์โมเดล และเลือก คัดลอกเส้นทาง

13 ข้อ 5.1. Model Config

  • ตั้งชื่อโปรเจค
  • นำลิ้งค์โมเดล มาวางที่ช่อง Pretrained_model_name_or_path
  • นำลิ้งค์ vae มาวางที่ช่อง vae

ลิ้งค์ vae อยู่ในโฟลเดอร์ vae

14 ข้อ 5.2. Dataset Config

ปรับ Resolution เป็น 768

15. ข้อ 5.3. LoRA and Optimizer Config

คลิก run

16. ข้อ 5.4. Training Config

ที่ช่อง lowram และ enable sample prompt ให้เอาเครื่องหมายออก

ปรับค่า

num_epochs 20
vae batch size 1
train batch size 1

เมื่อปรับตามนี้จะได้ค่าเทรนอยู่ที่ 2000 step เป็นจำนวนที่พอเหมาะสำหรับเทรนหน้าคน

17 ข้อ 5.5. Start Training

คลิก Run

หลังจากนั้นให้รอประมาณ 27 นาที

และระหว่างนี้อย่าปิดหน้าจอ หรือล็อคหน้าจอ

18 หลังจากที่เทรนเสร็จแล้ว

  • เปิดโฟลเดอร์ LoRA > output
  • คลิกขวาที่ไฟล์ตัวสุดท้าย เลือก ดาวน์โหลด

รอจนกว่าจะเสร็จถึงจะได้ไฟล์ .safetensor

ภาพนี้จากโมเดล LEOSAM’s MoonFilm เป็นโมเดลที่น่าจะใช้เบสจาก ChilloutMix ก็เลยทำภาพออกมาได้ดี

แม้ว่าจะเทรน Lora จากอีกโมเดล ก็เอามาใช้กับอีกโมเดลได้ ขอให้เป็นเบสโมเดลตัวเดียวกัน

ข้อแนะนำการเทรน Lora

  • มือใหม่ควรใช้โมเดล Chilloutmix เทรนหน้าคนง่าย นำไฟล์ Lora ไปใช้ได้กับหลายโมเดล เช่น LEOSAM’s MoonFilm และตัวยอดฮิตอย่าง majicMIX realistic
  • ผมเคยใช้ Bra V6 เทรนคนได้ไม่ดีเท่าไหร่ รุ่นเก่าๆยังดีกว่านี้ แต่ยังมีปัญหาอยู่
  • และถ้าเทรนด้วยโมเดลตัวอื่นๆ แนะนำให้เลือกพวก Base Model และควรเลือกโมเดลที่มีไฟล์ขนาด 3GB ขึ้นไป
  • แก้ไข Caption ได้ที่โฟลเดอร์ Lora > Train_data
  • ค่า step เทรนหน้าคน 2000 กำลังดี การใช้ step สูงไม่ได้แปลว่าโมเดลจะออกมาดีได้ แต่ต่ำเกินไปก็ไม่ดี
  • ไม่ควรจะเอารูปใครมาเทรนมั่วๆ ต้องขออนุญาติก่อนนะ และการใช้งานก็ควรมีขอบเขต
คเณศ อธิรัตนกรัณฑ์
เป้าหมายการทำเว็บของผมคือ คนไทยต้องเข้าถึงข้อมูลได้ง่าย จะแก้ปัญหาไอทีต้องมีทางออก เว็บมหาลัยฯจึงก่อกำเนิดขึ้น
Exit mobile version