FLUX LoRA ได้รับความนิยมอย่างมากในชุมชน AI โดยเฉพาะอย่างยิ่งในหมู่ผู้ที่ต้องการปรับแต่งโมเดล AI ด้วยชุดข้อมูลของตนเอง วิธีการนี้ช่วยให้คุณปรับแต่งโมเดล FLUX ที่มีอยู่ให้ตรงกับชุดข้อมูลเฉพาะของคุณได้อย่างง่ายดาย ทำให้มีความยืดหยุ่นและมีประสิทธิภาพสำหรับการสร้างสรรค์ที่หลากหลาย หากคุณคุ้นเคยกับ ComfyUI อยู่แล้ว การใช้เวิร์กโฟลว์การฝึกอบรม ComfyUI FLUX LoRA เพื่อฝึกอบรมโมเดล FLUX LoRA ของคุณจะเป็นเรื่องง่าย เวิร์กโฟลว์และโหนดที่เกี่ยวข้องถูกสร้างขึ้นโดย Kijai ดังนั้นขอขอบคุณเขาเป็นอย่างมากสำหรับการมีส่วนร่วมของเขา! ตรวจสอบข้อมูลเพิ่มเติมได้ที่
เวิร์กโฟลว์การฝึกอบรม ComfyUI FLUX LoRA เป็นกระบวนการที่ทรงพลังสำหรับการฝึกอบรมโมเดล FLUX LoRA การฝึกอบรมด้วย ComfyUI มีข้อดีหลายประการ โดยเฉพาะอย่างยิ่งสำหรับผู้ใช้ที่คุ้นเคยกับอินเทอร์เฟซของมันอยู่แล้ว ด้วยการฝึกอบรม FLUX LoRA คุณสามารถใช้โมเดลเดียวกันที่ใช้สำหรับการอนุมาน ทำให้ไม่มีปัญหาความเข้ากันได้เมื่อทำงานในสภาพแวดล้อม Python เดียวกัน นอกจากนี้ คุณยังสามารถสร้างเวิร์กโฟลว์เพื่อเปรียบเทียบการตั้งค่าต่างๆ เพื่อปรับปรุงกระบวนการฝึกอบรมของคุณ คู่มือนี้จะนำคุณผ่านขั้นตอนการตั้งค่าและการใช้การฝึกอบรม FLUX LoRA ใน ComfyUI
เราจะครอบคลุม:
เมื่อเตรียมข้อมูลการฝึกอบรมของคุณสำหรับการฝึกอบรม FLUX LoRA เป็นสิ่งสำคัญที่จะต้องมีภาพคุณภาพสูงสำหรับเรื่องที่คุณต้องการ
ในตัวอย่างนี้ เรากำลังฝึกอบรมโมเดล FLUX LoRA เพื่อสร้างภาพของผู้มีอิทธิพลเฉพาะเจาะจง สำหรับสิ่งนี้ คุณจะต้องมีชุดภาพคุณภาพสูงของผู้มีอิทธิพลในท่าทางและการตั้งค่าต่างๆ วิธีที่สะดวกในการรวบรวมภาพเหล่านี้คือการใช้ ซึ่งทำให้การสร้างชุดภาพที่แสดงตัวละครเดียวกันในท่าทางต่างๆ โดยยังคงลักษณะเหมือนเดิมได้ง่าย สำหรับชุดข้อมูลการฝึกอบรมของเรา เราได้เลือกภาพคุณภาพสูงห้าภาพของผู้มีอิทธิพลในท่าทางและการตั้งค่าต่างๆ เพื่อให้ชุดข้อมูลมีความแข็งแกร่งพอสำหรับการฝึกอบรม FLUX LoRA เพื่อเรียนรู้รายละเอียดที่ซับซ้อนที่จำเป็นในการสร้างผลลัพธ์ที่สม่ำเสมอและแม่นยำ
คุณยังสามารถรวบรวมชุดข้อมูลของคุณเองตามความต้องการเฉพาะของคุณได้—FLUX LoRA Training มีความยืดหยุ่นและทำงานได้กับข้อมูลประเภทต่างๆ
เวิร์กโฟลว์การฝึกอบรม FLUX LoRA ประกอบด้วยโหนดหลักหลายตัวที่ทำงานร่วมกันเพื่อฝึกอบรมและตรวจสอบโมเดลของคุณ นี่คือภาพรวมรายละเอียดของโหนดหลักที่แยกออกเป็นสามส่วน: Dataset, Settings and Init, และ Training
ส่วน Dataset ประกอบด้วยโหนดที่สำคัญสองตัวที่ช่วยให้คุณกำหนดค่าและปรับแต่งข้อมูลการฝึกอบรมของคุณ: TrainDatasetGeneralConfig และ TrainDatasetAdd
โหนด TrainDatasetGeneralConfig เป็นที่ที่คุณกำหนดการตั้งค่าทั่วไปสำหรับชุดข้อมูลการฝึกอบรมของคุณใน FLUX LoRA Training โหนดนี้ให้คุณควบคุมด้านต่างๆ ของการเพิ่มข้อมูลและการประมวลผลล่วงหน้าได้ เช่น คุณสามารถเลือกเปิดหรือปิดใช้งาน color augmentation ซึ่งสามารถช่วยปรับปรุงความสามารถของโมเดลในการทั่วไปกับการแปรผันของสีที่แตกต่างกันได้ ในทำนองเดียวกัน คุณสามารถสลับ flip augmentation เพื่อพลิกภาพในแนวนอนแบบสุ่ม เพื่อให้ได้ตัวอย่างการฝึกอบรมที่หลากหลายมากขึ้น นอกจากนี้ คุณยังมีตัวเลือกในการ shuffle the captions ที่เชื่อมโยงกับแต่ละภาพ เพื่อเพิ่มความสุ่มและลดการโอเวอร์ฟิตอิง การตั้งค่าการ caption dropout rate ให้คุณสุ่มตัดคำอธิบายภาพในระหว่างการฝึกอบรม ซึ่งสามารถช่วยให้โมเดลมีความทนทานต่อคำอธิบายที่ขาดหายหรือไม่สมบูรณ์ได้
โหนด TrainDatasetAdd เป็นที่ที่คุณระบุรายละเอียดของชุดข้อมูลแต่ละชุดที่จะรวมในการฝึกอบรม FLUX LoRA ของคุณ
เพื่อให้ได้ประโยชน์สูงสุดจากโหนดนี้ สิ่งสำคัญคือต้องจัดระเบียบข้อมูลการฝึกอบรมของคุณอย่างเหมาะสม เมื่อใช้ RunComfy’s file browser ให้วางข้อมูลการฝึกอบรมในไดเรกทอรี /home/user/ComfyUI/input/{file-name}
ซึ่ง {file-name}
เป็นชื่อที่มีความหมายที่คุณกำหนดให้กับชุดข้อมูลของคุณ
เมื่อคุณวางข้อมูลการฝึกอบรมในไดเรกทอรีที่เหมาะสมแล้ว คุณต้องระบุเส้นทางไปยังไดเรกทอรีนั้นในพารามิเตอร์ image_dir
ของโหนด TrainDatasetAdd นี่บอกโหนดว่าต้องค้นหาภาพการฝึกอบรมที่ไหน
หากชุดข้อมูลของคุณได้รับประโยชน์จากการใช้ class tokens หรือ trigger words เฉพาะ คุณสามารถป้อนในพารามิเตอร์ class_tokens
ได้ Class tokens เป็นคำหรือวลีพิเศษที่ถูกนำไปใช้กับแต่ละคำอธิบายภาพเพื่อช่วยนำทางกระบวนการสร้างของโมเดล ตัวอย่างเช่น ถ้าคุณกำลังฝึกอบรมชุดข้อมูลของสายพันธุ์สัตว์ต่างๆ คุณสามารถใช้ class tokens เช่น "dog", "cat", หรือ "bird" เพื่อระบุสัตว์ที่ต้องการในภาพที่สร้างขึ้น เมื่อคุณใช้ class tokens เหล่านี้ในคำสั่ง คุณสามารถควบคุมแง่มุมเฉพาะที่คุณต้องการให้โมเดลสร้าง
นอกจากพารามิเตอร์ image_dir
และ class_tokens
แล้ว โหนด TrainDatasetAdd ยังมีตัวเลือกอื่นๆ หลายตัวเพื่อปรับแต่งชุดข้อมูลของคุณ คุณสามารถกำหนดความละเอียด (width และ height) ของภาพ กำหนด batch size สำหรับการฝึกอบรม และกำหนดจำนวนครั้งที่ชุดข้อมูลควรทำซ้ำต่อ epoch
หนึ่งในคุณสมบัติที่ทรงพลังของการฝึกอบรม FLUX LoRA คือความสามารถในการผสมผสานชุดข้อมูลหลายชุดได้อย่างราบรื่น ในเวิร์กโฟลว์การฝึกอบรม FLUX LoRA มีโหนด TrainDatasetAdd สามตัวที่เชื่อมต่อกันในลำดับ แต่ละโหนดเป็นตัวแทนของชุดข้อมูลที่แตกต่างกันโดยมีการตั้งค่าเฉพาะตัว โดยการเชื่อมโยงโหนดเหล่านี้เข้าด้วยกัน คุณสามารถสร้างชุดการฝึกอบรมที่หลากหลายและครอบคลุมซึ่งรวมภาพและคำอธิบายจากแหล่งต่างๆ
เพื่ออธิบายสิ่งนี้ ลองพิจารณาสถานการณ์ที่คุณมีชุดข้อมูลแยกกันสามชุด: หนึ่งสำหรับแมว หนึ่งสำหรับสุนัข และอีกหนึ่งสำหรับหมี คุณสามารถตั้งค่าโหนด TrainDatasetAdd สามตัว แต่ละตัวทุ่มเทให้กับหนึ่งในชุดข้อมูลเหล่านี้ ในโหนดแรก คุณจะระบุเส้นทางไปยังชุดข้อมูล "แมว" ในพารามิเตอร์ image_dir
ตั้งค่า class token
เป็น "cat" และปรับพารามิเตอร์อื่นๆ เช่น ความละเอียดและ batch size ให้เหมาะสมกับความต้องการของคุณ ในทำนองเดียวกัน คุณจะกำหนดค่าโหนดที่สองและสามสำหรับชุดข้อมูล "สุนัข" และ "หมี" ตามลำดับ
วิธีการนี้ช่วยให้กระบวนการฝึกอบรม FLUX LoRA ใช้ประโยชน์จากภาพที่หลากหลาย ปรับปรุงความสามารถของโมเดลในการทั่วไปในหมวดหมู่ต่างๆ
ในตัวอย่างของเรา เราใช้ชุดข้อมูลเพียงชุดเดียวในการฝึกอบรมโมเดล ดังนั้นเราจึงเปิดใช้งานโหนด TrainDatasetAdd หนึ่งตัวและข้ามอีกสองตัว นี่คือวิธีที่คุณสามารถตั้งค่าได้:
ส่วนการตั้งค่าและการเริ่มต้นเป็นที่ที่คุณกำหนดค่าชิ้นส่วนและพารามิเตอร์หลักสำหรับการฝึกอบรม FLUX LoRA ส่วนนี้ประกอบด้วยโหนดที่สำคัญหลายตัวที่ทำงานร่วมกันเพื่อจัดเตรียมสภาพแวดล้อมการฝึกอบรมของคุณ
ก่อนอื่น คุณมีโหนด FluxTrainModelSelect ซึ่งรับผิดชอบการเลือกโมเดล FLUX ที่จะใช้ในระหว่างการฝึกอบรม FLUX LoRA โหนดนี้ให้คุณระบุเส้นทางไปยังโมเดลที่สำคัญสี่ตัว: transformer, VAE (Variational Autoencoder), CLIP_L (Contrastive Language-Image Pre-training), และ T5 (Text-to-Text Transfer Transformer) โมเดลเหล่านี้เป็นกระดูกสันหลังของกระบวนการฝึกอบรม FLUX และทั้งหมดได้ถูกตั้งค่าไว้บนแพลตฟอร์ม RunComfy แล้ว
โหนด OptimizerConfig มีความสำคัญในการตั้งค่า optimizer ในการฝึกอบรม FLUX LoRA ซึ่งกำหนดวิธีการปรับปรุงพารามิเตอร์ของโมเดลในระหว่างการฝึกอบรม คุณสามารถเลือกประเภทของ optimizer (เช่น AdamW, CAME) กำหนดค่า maximum gradient norm สำหรับการ clipping gradients เพื่อป้องกันการเกิด gradient ที่สูงเกินไป และเลือก learning rate scheduler (เช่น constant, cosine annealing) นอกจากนี้ คุณยังสามารถปรับแต่งพารามิเตอร์เฉพาะของ optimizer เช่น จำนวน warmup steps และ scheduler power และระบุ arguments เพิ่มเติมสำหรับการปรับแต่งเพิ่มเติมได้
หากคุณชอบ optimizer Adafactor ซึ่งเป็นที่รู้จักในเรื่องความมีประสิทธิภาพด้านหน่วยความจำและความสามารถในการจัดการกับโมเดลขนาดใหญ่ คุณสามารถใช้โหนด OptimizerConfigAdafactor แทนได้
โหนด InitFluxLoRATraining เป็นศูนย์กลางที่สำคัญที่รวมชิ้นส่วนที่สำคัญทั้งหมดเข้าด้วยกันเพื่อเริ่มกระบวนการฝึกอบรม FLUX LoRA
หนึ่งในสิ่งที่คุณจะต้องระบุในโหนด InitFluxLoRATraining คือไดเรกทอรีส่งออกที่โมเดลที่ฝึกอบรมแล้วจะถูกบันทึกไว้ บนแพลตฟอร์ม RunComfy คุณสามารถเลือก /home/user/ComfyUI/output/{file_name}
เป็นตำแหน่งที่ตั้งสำหรับการส่งออกของคุณ เมื่อการฝึกอบรมเสร็จสมบูรณ์ คุณจะสามารถดูได้ใน file browser
ถัดไป คุณจะต้องตั้งค่าขนาดเครือข่ายและ learning rates ขนาดเครือข่ายกำหนดขนาดและความซับซ้อนของเครือข่าย LoRA ของคุณ ในขณะที่ learning rates ควบคุมความเร็วที่โมเดลของคุณเรียนรู้และปรับตัว
อีกหนึ่งพารามิเตอร์ที่สำคัญที่ต้องพิจารณาคือ max_train_steps
มันกำหนดระยะเวลาที่คุณต้องการให้กระบวนการฝึกอบรมดำเนินไป หรือในคำอื่น ๆ คือจำนวนขั้นตอนที่คุณต้องการให้โมเดลของคุณทำก่อนที่จะเสร็จสมบูรณ์ คุณสามารถปรับค่านี้ตามความต้องการเฉพาะของคุณและขนาดของชุดข้อมูลของคุณ มันเกี่ยวกับการหาจุดสมดุลที่เหมาะสมที่โมเดลของคุณได้เรียนรู้เพียงพอที่จะสร้างผลลัพธ์ที่ดี
สุดท้าย โหนด FluxTrainValidationSettings ให้คุณกำหนดการตั้งค่าสำหรับการตรวจสอบประสิทธิภาพของโมเดลของคุณในระหว่างกระบวนการฝึกอบรม FLUX LoRA คุณสามารถตั้งค่าจำนวนขั้นตอนการตรวจสอบ ขนาดภาพ guidance scale และ seed สำหรับการทำซ้ำได้ นอกจากนี้ คุณยังสามารถเลือกวิธีการสุ่มตัวอย่าง timestep และปรับพารามิเตอร์ sigmoid scale และ shift เพื่อควบคุมการกำหนดเวลา timestep และปรับปรุงคุณภาพของภาพที่สร้างขึ้นได้
ส่วนการฝึกอบรมของ FLUX LoRA Training เป็นที่ที่ความมหัศจรรย์เกิดขึ้น มันแบ่งออกเป็นสี่ส่วน: Train_01, Train_02, Train_03, และ Train_04 แต่ละส่วนเหล่านี้เป็นตัวแทนของขั้นตอนต่าง ๆ ในกระบวนการฝึกอบรม FLUX LoRA ช่วยให้คุณปรับแต่งและปรับปรุงโมเดลของคุณได้อย่างค่อยเป็นค่อยไป
เริ่มต้นด้วย Train_01 ที่นี่เป็นที่ที่ลูปการฝึกอบรมเริ่มต้นเกิดขึ้น ดาราของส่วนนี้คือโหนด FluxTrainLoop ซึ่งรับผิดชอบในการดำเนินการลูปการฝึกอบรมสำหรับจำนวนขั้นตอนที่กำหนด ในตัวอย่างนี้ เรากำหนดให้มันเป็น 250 ขั้นตอน แต่คุณสามารถปรับตามความต้องการของคุณได้ เมื่อการลูปการฝึกอบรมเสร็จสมบูรณ์ โมเดลที่ฝึกอบรมแล้วจะถูกส่งไปยังโหนด FluxTrainSave ซึ่งบันทึกโมเดลในช่วงเวลาปกติ สิ่งนี้ช่วยให้คุณมีจุดตรวจสอบของโมเดลในขั้นตอนต่าง ๆ ของการฝึกอบรม ซึ่งมีประโยชน์สำหรับการติดตามความก้าวหน้าและการกู้คืนจากการหยุดที่ไม่คาดคิด
แต่การฝึกอบรมไม่ได้เกี่ยวกับการบันทึกโมเดลเท่านั้น เรายังต้องตรวจสอบประสิทธิภาพของมันเพื่อดูว่ามันทำงานได้ดีแค่ไหน นั่นคือที่ที่โหนด FluxTrainValidate เข้ามา มันนำโมเดลที่ฝึกอบรมแล้วและทดสอบมันโดยใช้ชุดข้อมูลการตรวจสอบ ชุดข้อมูลนี้แยกต่างหากจากข้อมูลการฝึกอบรมและช่วยประเมินว่ามันทั่วไปกับตัวอย่างที่ไม่เคยเห็นมาก่อนอย่างไร โหนด FluxTrainValidate สร้างภาพตัวอย่างตามข้อมูลการตรวจสอบ ให้คุณได้เห็นภาพของผลลัพธ์ของโมเดลในขั้นตอนนี้
เพื่อให้ติดตามความก้าวหน้าของการฝึกอบรม เรามีโหนด VisualizeLoss โหนดนี้แสดงการสูญเสียการฝึกอบรมตามเวลา ช่วยให้คุณเห็นว่าโมเดลเรียนรู้ได้ดีเพียงใดและว่ามันกำลังเข้าใกล้ทางออกที่ดีหรือไม่ มันเหมือนกับการมีผู้ฝึกสอนส่วนตัวที่ติดตามความก้าวหน้าของคุณและช่วยให้คุณอยู่ในเส้นทาง
ใน Train_02 ต่อจาก Train_01 ในการฝึกอบรม FLUX LoRA ผลลัพธ์จะถูกฝึกอบรมเพิ่มเติมสำหรับจำนวนขั้นตอนที่กำหนดเพิ่มเติม (เช่น 250 ขั้นตอน) Train_03 และ Train_04 ตามลำดับที่คล้ายกัน ขยายการฝึกอบรมด้วยการเชื่อมต่อที่อัปเดตเพื่อความก้าวหน้าอย่างราบรื่น แต่ละขั้นตอนสร้างโมเดล FLUX LoRA ช่วยให้คุณทดสอบและเปรียบเทียบประสิทธิภาพ
ในตัวอย่างของเรา เราเลือกใช้เพียง Train_01 และ Train_02 แต่ละขั้นตอนทำงาน 250 ขั้นตอน เราได้ข้าม Train_03 และ Train_04 สำหรับตอนนี้ แต่คุณสามารถทดลองและปรับจำนวนส่วนการฝึกอบรมและขั้นตอนตามความต้องการและทรัพยากรของคุณ
เมื่อคุณมีโมเดล FLUX LoRA คุณสามารถรวมมันเข้ากับ แทนที่โมเดล LoRA ที่มีอยู่ด้วยโมเดลที่ฝึกอบรมแล้วของคุณ จากนั้นทดสอบผลลัพธ์เพื่อประเมินประสิทธิภาพ
ในตัวอย่างของเรา เราใช้เวิร์กโฟลว์ FLUX LoRA เพื่อสร้างภาพผู้มีอิทธิพลเพิ่มเติมโดยใช้โมเดล FLUX LoRA และสังเกตประสิทธิภาพของมัน
ดูไฟล์ใบอนุญาต:
โมเดล FLUX.1 [dev] ได้รับใบอนุญาตโดย Black Forest Labs. Inc. ภายใต้ใบอนุญาต FLUX.1 [dev] Non-Commercial License. ลิขสิทธิ์ Black Forest Labs. Inc.
ในกรณีใด ๆ Black Forest Labs, Inc. จะไม่รับผิดชอบต่อการเรียกร้อง ความเสียหาย หรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญา การละเมิด หรืออื่น ๆ ที่เกิดขึ้นจากการใช้โมเดลนี้
© ลิขสิทธิ์ 2024 RunComfy. สงวนลิขสิทธิ์