ในภูมิทัศน์ AI ที่มีการพัฒนาอย่างรวดเร็วในปัจจุบันความต้องการสำหรับชุดข้อมูลที่มีคุณภาพสูงและแบบจำลองที่กำหนดเองนั้นยิ่งใหญ่กว่าเดิม เพื่อตอบสนองความต้องการนี้โครงการของเรามีวัตถุประสงค์เพื่อพัฒนาโมดูลนวัตกรรมที่รวมคำอธิบายประกอบข้อมูลเข้ากับการปรับแต่งแบบจำลอง โมดูลนี้จะใช้ประโยชน์จากรูปแบบภาษาที่ทันสมัยเช่น Claude หรือ ChatGPT-4 เพื่อติดฉลากให้กับภาพลูกค้าและต่อมาปรับแต่งโมเดลการแพร่กระจาย XL (SDXL) ที่มีเสถียรภาพโดยใช้คำอธิบายประกอบเหล่านี้
เป้าหมายของโครงการนี้คือการสร้างโมดูลที่มีประสิทธิภาพและมีประสิทธิภาพซึ่งทำให้กระบวนการคำอธิบายประกอบข้อมูลเป็นไปโดยอัตโนมัติและเพิ่มการฝึกอบรมแบบจำลอง ด้วยการบูรณาการความสามารถของ AI ขั้นสูงเรามุ่งมั่นที่จะสร้างโมเดล SDXL ที่ปรับตัวได้อย่างแม่นยำและแม่นยำด้วยชุดข้อมูลที่มีคำอธิบายประกอบใหม่
ใช้ API CLAUDE/CHATGPT-4 (หรือคล้ายกัน) เพื่อสร้างคำอธิบายประกอบคุณภาพสูงสำหรับชุดลูกค้า 5-20 ภาพ
ตรวจสอบให้แน่ใจว่าคำอธิบายประกอบนั้นถูกต้องและสอดคล้องกันในการสร้างชุดข้อมูลที่เชื่อถือได้เพื่อวัตถุประสงค์ในการฝึกอบรม
ปรับแต่งโมเดล SDXL โดยใช้ชุดข้อมูลคำอธิบายประกอบ
ใช้เทคนิคการปรับตัวระดับต่ำ (LORA) เพื่อเพิ่มประสิทธิภาพการทำงานของโมเดลตามลักษณะเฉพาะของข้อมูลคำอธิบายประกอบ
โครงการนี้ได้รับการออกแบบมาเพื่อเพิ่มประสิทธิภาพและความแม่นยำของการพัฒนาโมเดล AI โดยอัตโนมัติและรวมกระบวนการสำคัญ การรวมกันของแบบจำลองภาษาขั้นสูงสำหรับคำอธิบายประกอบและวิธีการปรับจูนที่ซับซ้อนจะส่งผลให้โซลูชันที่มีประสิทธิภาพสูงซึ่งตรงกับความต้องการที่เพิ่มขึ้นของแอปพลิเคชัน AI ต่างๆ ด้วยการลดแรงงานด้วยตนเองและปรับปรุงประสิทธิภาพของโมเดลโครงการนี้จะให้คุณค่าที่สำคัญแก่อุตสาหกรรมที่ต้องใช้เทคโนโลยี AI แบบกำเนิด

มีประเภทของการปรับแต่งที่แตกต่างกัน ทางเลือกของวิธีการปรับจูนขึ้นอยู่กับข้อกำหนดและการใช้งานของระบบ โมเดล LORA (การปรับตัวต่ำ) ให้ประสิทธิภาพและความกะทัดรัดมากขึ้น พวกเขาทำหน้าที่เหมือนอะแดปเตอร์ที่สร้างขึ้นบนโมเดลจุดตรวจสอบที่มีอยู่ โดยเฉพาะรุ่น LORA จะอัปเดตเฉพาะชุดย่อยของพารามิเตอร์จากรุ่นจุดตรวจสอบซึ่งจะช่วยเพิ่มความสามารถ วิธีการนี้ช่วยให้รุ่น LORA สามารถรักษาขนาดที่เล็กกว่าได้โดยทั่วไปตั้งแต่ 2MB ถึง 500MB และเปิดใช้งานการปรับแต่งบ่อยครั้งสำหรับแนวคิดหรือสไตล์ที่เฉพาะเจาะจง
ตัวอย่างเช่นเมื่อปรับแต่งโมเดลการแพร่กระจายที่มั่นคงโดยใช้ DreamBooth ซึ่งปรับเปลี่ยนโมเดลทั้งหมดเพื่อปรับให้เข้ากับแนวคิดหรือรูปแบบเฉพาะจำเป็นต้องใช้ทรัพยากรการคำนวณที่สำคัญเนื่องจากขนาดขนาดใหญ่ที่เกิดขึ้น (ประมาณ 2 ถึง 7 GBs) และการใช้ GPU แบบเข้มข้น ในทางตรงกันข้ามโมเดล LORA จะได้ผลลัพธ์การอนุมานที่เปรียบเทียบได้กับความต้องการ GPU ที่ลดลงอย่างมีนัยสำคัญ
ในขณะที่ LORA เป็นวิธีการที่นำมาใช้กันอย่างแพร่หลาย แต่ก็มีวิธีการอื่นในการปรับเปลี่ยนการแพร่กระจายที่มั่นคง วิธีหนึ่งดังกล่าวเกี่ยวข้องกับโมดูล CrossAttention ซึ่งประมวลผลอินพุตที่ได้จากการแปลงข้อความพรอมต์เป็นฝังข้อความ การรุกรานที่เป็นข้อความแสดงถึงวิธีการอื่นที่กะทัดรัดและเร็วกว่า Lora อย่างไรก็ตามการรุกรานที่เป็นข้อความนั้น จำกัด อยู่ที่การฝังข้อความการปรับแต่งอย่างละเอียดเพียงอย่างเดียวสำหรับแนวคิดหรือรูปแบบที่เฉพาะเจาะจง U-NET พื้นฐานที่รับผิดชอบในการสร้างภาพยังคงไม่เปลี่ยนแปลง จำกัด การผกผันที่เป็นข้อความเพื่อสร้างภาพที่คล้ายกับที่ใช้ในระหว่างการฝึกอบรมโดยไม่มีความสามารถในการผลิตเอาต์พุตใหม่ทั้งหมด
ในโครงการนี้มีวิธีการปรับแต่งสองประเภท ตัวเลือกแรกคือการใช้การรวมกันของ Dreambooth และ Lora และอีกตัวใช้ LORA เท่านั้น การใช้ตัวเลือกแรกเป็นตัวเลือกที่ดีที่สุดและเป็นวิธีที่ต้องการในโครงการนี้ เหตุผลสำหรับตัวเลือกนี้คือ:
ความสามารถในการปรับตัวที่ปรับปรุงแล้ว: Dreambooth เป็นวิธีการปรับแต่งที่ช่วยให้สามารถปรับแบบจำลองทั้งหมดของแบบจำลองทั้งหมดให้เข้ากับแนวคิดหรือสไตล์เฉพาะ ด้วยการปรับแต่งกับ Dreambooth แบบจำลอง SDXL สามารถเรียนรู้รายละเอียดและลักษณะที่เหมาะสมยิ่งขึ้นซึ่งสอดคล้องกับผลลัพธ์ที่ต้องการอย่างใกล้ชิด
ประสิทธิภาพและความกะทัดรัด: LORA (การปรับระดับต่ำ) เข้ามาเล่นหลังจากการปรับแต่ง Dreambooth รุ่น LORA ได้รับการออกแบบมาเพื่อเพิ่มประสิทธิภาพโดยการอัปเดตเฉพาะชุดย่อยของพารามิเตอร์ของรุ่นจุดตรวจสอบ วิธีการนี้จะช่วยลดขนาดของรุ่นได้อย่างมีนัยสำคัญ (โดยทั่วไปคือ 2MB ถึง 500MB) เมื่อเทียบกับรุ่นที่ปรับแต่งอย่างสมบูรณ์เช่นที่ดัดแปลงโดย DreambOoth เพียงอย่างเดียว
ทรัพยากรการคำนวณที่ลดลง: การรวม Dreambooth กับผลลัพธ์ LORA ในรูปแบบที่ต้องใช้ทรัพยากร GPU น้อยลงในระหว่างการฝึกอบรมและการอนุมาน ในขั้นต้น Dreambooth ต้องการทรัพยากรจำนวนมากเนื่องจากกระบวนการปรับจูนที่ครอบคลุม แต่การลดพารามิเตอร์ที่ตามมาของ Lora ทำให้มั่นใจได้ว่าแบบจำลองยังคงจัดการได้และมีประสิทธิภาพ
การเก็บรักษาประสิทธิภาพ: แม้จะมีประสิทธิภาพเพิ่มขึ้น Lora ยังคงรักษาประสิทธิภาพที่มีคุณภาพสูงผ่านการปรับแต่ง Dreambooth การรวมกันนี้ช่วยให้มั่นใจได้ว่าแบบจำลองยังคงความสามารถในการสร้างเอาต์พุตที่น่าประทับใจเทียบได้กับที่ผลิตโดยแบบจำลองที่ปรับแต่งได้อย่างสมบูรณ์
ความยืดหยุ่นสำหรับการปรับแต่งซ้ำ ๆ : วิธีการวนซ้ำของ Dreambooth ตามด้วย Lora ช่วยให้การปรับแต่งซ้ำ ๆ และการปรับแต่ง ความยืดหยุ่นนี้มีความสำคัญในสถานการณ์ที่การปรับตัวอย่างต่อเนื่องกับแนวคิดหรือรูปแบบการพัฒนาเป็นสิ่งจำเป็นโดยไม่ลดทอนประสิทธิภาพหรือประสิทธิภาพของโมเดล
ดังที่ได้กล่าวไว้ข้างต้นวิธีที่ต้องการในการปรับแต่งแบบจำลอง SDXL ในโครงการนี้คือการผสมผสาน Dreambooth และ Lora เหตุผลที่อยู่เบื้องหลังการรวม Dreambooth และ Lora อยู่ในการเพิ่มประสิทธิภาพการแลกเปลี่ยนระหว่างการปรับตัวแบบจำลองและประสิทธิภาพการคำนวณ Dreambooth ช่วยให้สามารถปรับพารามิเตอร์ของโมเดลให้เข้ากับความแตกต่างเฉพาะในข้อมูลหรือเอาต์พุตที่ต้องการได้ อย่างไรก็ตามการปรับตัวที่ครอบคลุมนี้สามารถนำไปสู่ขนาดของแบบจำลองที่ใหญ่ขึ้นและเพิ่มความต้องการการคำนวณโดยเฉพาะอย่างยิ่งในระหว่างการฝึกอบรมและการอนุมาน ในทางกลับกัน Lora แทรกแซงโพสต์-ดริมบลูทเพื่อปรับปรุงโมเดลลดขนาดในขณะที่รักษาประสิทธิภาพ การรวมกันนี้ใช้ประโยชน์จากจุดแข็งของทั้งสองวิธี: Dreambooth สำหรับการปรับตัวที่แม่นยำและ LORA สำหรับการจัดการพารามิเตอร์ที่มีประสิทธิภาพ
ขั้นตอนหลักของวิธีการปรับจูนนี้คือ:
การปรับพารามิเตอร์: ใช้ dreambooth เพื่อปรับชุดพารามิเตอร์ทั้งหมดภายในโมเดล SDXL เพื่อจัดตำแหน่งอย่างใกล้ชิดยิ่งขึ้นกับวัตถุประสงค์ที่กำหนด กระบวนการนี้เกี่ยวข้องกับการอัปเดตซ้ำ ๆ ตามชุดข้อมูลเป้าหมายหรือคุณสมบัติเอาต์พุตที่ต้องการ
ขั้นตอนการฝึกอบรม: ดำเนินการกระบวนการปรับแต่งโดยใช้วัตถุประสงค์และข้อมูลการฝึกอบรมที่กำหนดไว้ ขั้นตอนนี้ทำให้มั่นใจได้ว่าโมเดล SDXL จะถูกปรับให้เข้ากับความแตกต่างและข้อกำหนดเฉพาะของงานที่อยู่ในมือ
การเลือกพารามิเตอร์: โพสต์-ดริมบลูทระบุชุดย่อยของพารามิเตอร์ที่สำคัญที่สุดสำหรับการบำรุงรักษาหรือเพิ่มประสิทธิภาพ ขั้นตอนนี้เกี่ยวข้องกับการวิเคราะห์ความสำคัญและผลกระทบของพารามิเตอร์ที่แตกต่างกันภายในโมเดล SDXL ที่ปรับแต่งอย่างละเอียด
การแยกตัวประกอบระดับต่ำ: ใช้เทคนิค LORA เช่นการผสมเมทริกซ์ระดับต่ำกับชุดย่อยพารามิเตอร์ที่เลือกเหล่านี้ LORA สลายตัวเมทริกซ์พารามิเตอร์เป็นส่วนประกอบระดับต่ำซึ่งจะช่วยลดความซ้ำซ้อนและมุ่งเน้นทรัพยากรการคำนวณบนพารามิเตอร์ที่มีอิทธิพลมากที่สุด
การอัปเดตพารามิเตอร์แบบเลือก: อัปเดตเฉพาะส่วนประกอบที่มีระดับต่ำที่ระบุเท่านั้นซึ่งจะเป็นการเพิ่มประสิทธิภาพของโมเดลในขณะที่รักษาหรือปรับปรุงตัวชี้วัดประสิทธิภาพ
(กลับไปด้านบน)
Accelerate เป็นห้องสมุดที่หลากหลายและใช้งานง่ายที่ออกแบบโดยการกอดหน้าเพื่อปรับปรุงและเพิ่มประสิทธิภาพกระบวนการฝึกอบรมและการปรับใช้โมเดลการเรียนรู้ของเครื่องในการตั้งค่าฮาร์ดแวร์ที่หลากหลาย มันมีอินเทอร์เฟซแบบครบวงจรที่สรุปความซับซ้อนของการกำหนดค่าและการจัดการสภาพแวดล้อมการฝึกอบรมแบบกระจายที่แตกต่างกันเช่นการตั้งค่า Multi-GPU และ TPU เร่งความเร็วทำให้ง่ายสำหรับนักพัฒนาในการขยายรหัส Pytorch ของพวกเขาโดยมุ่งเน้นไปที่การพัฒนาแบบจำลองมากกว่าโครงสร้างพื้นฐานพื้นฐาน
ประโยชน์ของห้องสมุดนี้คือ:
ลดความซับซ้อนของการฝึกอบรมแบบกระจาย: ไม่จำเป็นต้องกำหนดค่าและจัดการการตั้งค่าแบบกระจายที่ซับซ้อนด้วยตนเองช่วยให้คุณมุ่งเน้นไปที่การพัฒนาและปรับแต่งโมเดลของคุณ
เพิ่มการใช้ทรัพยากร: ช่วยเพิ่มการใช้ฮาร์ดแวร์ที่มีอยู่ให้มากที่สุดเพื่อให้มั่นใจว่า GPU และ TPU ของคุณจะถูกใช้อย่างมีประสิทธิภาพเพื่อเพิ่มความเร็วในการฝึกอบรมและกระบวนการอนุมาน
รองรับโมเดลขนาดใหญ่: อำนวยความสะดวกในการจัดการโมเดลขนาดใหญ่ที่ต้องการหน่วยความจำที่สำคัญและพลังงานการคำนวณทำให้สามารถทำงานกับเครือข่ายประสาทที่ทันสมัย
ลดค่าใช้จ่ายในการพัฒนา: ปรับปรุงการรวมการฝึกอบรมแบบกระจายเข้ากับโครงการของคุณประหยัดเวลาและลดค่าใช้จ่ายที่เกี่ยวข้องกับการจัดการสภาพแวดล้อมฮาร์ดแวร์ที่แตกต่างกัน
Bitsandbytes เป็นห้องสมุดที่มีประสิทธิภาพและเป็นนวัตกรรมที่ออกแบบมาเพื่อเพิ่มประสิทธิภาพการทำงานของเครือข่ายประสาทขนาดใหญ่โดยเฉพาะอย่างยิ่งในบริบทของการฝึกอบรมและการอนุมาน มันมีเครื่องมือและเทคนิคในการลดการใช้หน่วยความจำและค่าใช้จ่ายในการคำนวณอย่างมีนัยสำคัญโดยไม่ต้องเสียสละความแม่นยำ หนึ่งในคุณสมบัติที่โดดเด่นของ Bitsandbytes คือการรองรับการเพิ่มประสิทธิภาพความแม่นยำ 8 บิต
ในโครงการนี้เราใช้เทคนิคการเพิ่มประสิทธิภาพ 8 บิต เครื่องมือเพิ่มประสิทธิภาพ 8 บิตใน Bitsandbytes เป็นเทคนิคที่วัดความแม่นยำของน้ำหนักและการไล่ระดับสีจากตัวเลขลอย 32 บิตถึงจำนวนเต็ม 8 บิตในระหว่างกระบวนการฝึกอบรม การใช้เครื่องมือเพิ่มประสิทธิภาพ 8 บิตจาก Bitsandbytes นั้นเป็นประโยชน์อย่างยิ่งสำหรับโครงการที่เกี่ยวข้องกับเครือข่ายประสาทขนาดใหญ่เช่นการปรับจูนแบบจำลองการกำเนิดเช่นการแพร่กระจายที่เสถียร XL (SDXL) เหตุผลหลักในการใช้เครื่องมือเพิ่มประสิทธิภาพ 8 บิต ได้แก่ :
การจัดการโมเดลขนาดใหญ่: พอดีกับรุ่นที่ใหญ่กว่าในหน่วยความจำฮาร์ดแวร์ที่มีอยู่ช่วยให้การฝึกอบรมสถาปัตยกรรมที่ทันสมัยซึ่งอาจเป็นไปไม่ได้
การฝึกอบรมที่เร็วขึ้น: เร่งเวลาการฝึกอบรมโดยการลดภาระการคำนวณช่วยให้การทดลองและการทำซ้ำเร็วขึ้น
การเพิ่มประสิทธิภาพทรัพยากร: เพิ่มการใช้ฮาร์ดแวร์ที่มีอยู่ให้มากที่สุดลดความจำเป็นในการอัพเกรดที่มีราคาแพงและใช้ทรัพยากรที่มีอยู่อย่างมีประสิทธิภาพ
ประสิทธิภาพที่ได้รับการปรับปรุง: บรรลุความแม่นยำและประสิทธิภาพที่เปรียบเทียบได้กับวิธีการฝึกอบรมแบบ 32 บิตแบบดั้งเดิมในขณะที่ได้รับประโยชน์จากหน่วยความจำที่ลดลงและความต้องการการคำนวณ
ห้องสมุด Transformers ที่พัฒนาโดย Hugging Face เป็นห้องสมุดโอเพนซอร์ซที่ให้แบบจำลองที่ได้รับการฝึกอบรมล่วงหน้าล่วงหน้าสำหรับการประมวลผลภาษาธรรมชาติ (NLP) และงานอื่น ๆ รองรับสถาปัตยกรรมหม้อแปลงหลากหลายเช่น Bert, GPT, T5, Roberta และอื่น ๆ อีกมากมาย ห้องสมุดได้รับการออกแบบมาเพื่อให้ใช้งานได้ง่ายสำหรับโมเดลที่มีประสิทธิภาพเหล่านี้สำหรับแอพพลิเคชั่นที่หลากหลายรวมถึงการจำแนกประเภทข้อความการแปลการตอบคำถามและอื่น ๆ
ประโยชน์ของการใช้ห้องสมุดนี้คือ:
การเข้าถึงโมเดลที่ทันสมัย: เข้าถึงได้อย่างง่ายดายและใช้โมเดลที่ทันสมัยที่สุดใน NLP และอื่น ๆ ได้อย่างง่ายดายเพื่อให้แน่ใจว่าคุณกำลังทำงานกับสถาปัตยกรรมที่มีประสิทธิภาพสูงสุด
การพัฒนาอย่างรวดเร็ว: API ที่ตรงไปตรงมาของห้องสมุดช่วยให้สามารถสร้างต้นแบบและการทดลองได้อย่างรวดเร็วทำให้กระบวนการพัฒนาเร็วขึ้นอย่างมีนัยสำคัญ การถ่ายโอนความสามารถในการเรียนรู้: ปรับแต่งโมเดลที่ได้รับการฝึกอบรมล่วงหน้าที่มีประสิทธิภาพในงานเฉพาะของคุณใช้ประโยชน์จากความรู้ก่อนหน้าและบรรลุประสิทธิภาพสูงด้วยข้อมูลที่น้อยลง
แอปพลิเคชั่นอเนกประสงค์: ใช้ไลบรารีสำหรับงานที่กว้างรวมถึงการจำแนกประเภทข้อความการวิเคราะห์ความเชื่อมั่นการจดจำเอนทิตีที่มีชื่อการแปลเครื่องและอื่น ๆ
การสนับสนุนชุมชนที่แข็งแกร่ง: ได้รับประโยชน์จากชุมชนที่เข้มแข็งและทรัพยากรที่กว้างขวางที่ได้รับจากการกอดใบหน้าเพื่อให้แน่ใจว่าคุณมีการสนับสนุนที่จำเป็นในการเอาชนะความท้าทายและสร้างสรรค์สิ่งใหม่ ๆ ในโครงการของคุณ
ไลบรารี PEFT (การปรับจูนแบบพารามิเตอร์ที่มีประสิทธิภาพ) ได้รับการออกแบบมาเพื่อเพิ่มประสิทธิภาพกระบวนการปรับแต่งของแบบจำลองการเรียนรู้ของเครื่องขนาดใหญ่ พัฒนาขึ้นเพื่อจัดการกับความท้าทายของการปรับแต่งแบบจำลองขนาดใหญ่ด้วยทรัพยากรการคำนวณที่ จำกัด PEFT มุ่งเน้นไปที่เทคนิคที่เปิดใช้งานการปรับตัวที่มีประสิทธิภาพของโมเดลที่ผ่านการฝึกอบรมมาก่อนเข้ากับงานใหม่ที่มีการเปลี่ยนแปลงค่าพารามิเตอร์ของโมเดลน้อยที่สุด
ประโยชน์ของการใช้ PEFT:
ประสิทธิภาพ: มุ่งเน้นไปที่วิธีการที่มีประสิทธิภาพพารามิเตอร์ลดค่าใช้จ่ายในการคำนวณและหน่วยความจำที่เกี่ยวข้องกับการปรับแต่งแบบจำลองขนาดใหญ่
การเข้าถึง: ทำให้เป็นไปได้ที่จะปรับแต่งโมเดลที่ล้ำสมัยบนฮาร์ดแวร์มาตรฐานการเข้าถึงเทคนิคการเรียนรู้ของเครื่องจักรขั้นสูง
ความเร็ว: เร่งกระบวนการปรับจูนเพื่อให้สามารถอัปเดตและปรับใช้รุ่นได้เร็วขึ้น
ประสิทธิภาพ: ทำให้มั่นใจได้ว่ามีประสิทธิภาพสูงแม้จะมีการปรับพารามิเตอร์น้อยลงด้วยเทคนิคการปรับจูนขั้นสูง
ความเก่งกาจ: สามารถนำไปใช้กับโมเดลและงานที่หลากหลายซึ่งเป็นเครื่องมืออเนกประสงค์สำหรับผู้ฝึกการเรียนรู้ของเครื่อง
(กลับไปด้านบน)
backpropagation ซึ่งคำนวณการไล่ระดับสีเหล่านี้ต้องมีการจัดเก็บการเปิดใช้งานระดับกลางของโมเดล นี่อาจเป็นหน่วยความจำที่เข้มข้นโดยเฉพาะอย่างยิ่งสำหรับรุ่นขนาดใหญ่เช่น SDXL จุดตรวจการไล่ระดับสีที่อยู่ที่อยู่หน่วยความจำนี้ท้าทายโดยการแลกเปลี่ยนการใช้หน่วยความจำสำหรับเวลาการคำนวณเพิ่มเติม แทนที่จะจัดเก็บการเปิดใช้งานระดับกลางทั้งหมดตลอดทั้งรุ่นในระหว่างการ backpropagation การไล่ระดับสีการไล่ระดับสีการเปิดใช้งานการเปิดใช้งานเป็นระยะโดยเริ่มจากจุดตรวจที่บันทึกไว้ก่อนหน้านี้ วิธีการนี้จะช่วยลดการใช้หน่วยความจำสูงสุดโดยการเปิดใช้งานการเปิดใช้งานใหม่ในระหว่างการผ่านไปข้างหลัง ด้วยการใช้จุดตรวจสอบการไล่ระดับสีค่าใช้จ่ายหน่วยความจำของการจัดเก็บการเปิดใช้งานระดับกลางทั้งหมดจะลดลง สิ่งนี้เป็นประโยชน์อย่างยิ่งเมื่อโมเดลการปรับแต่งที่มีการปรับพารามิเตอร์อย่างกว้างขวาง (Dreambooth) และการอัปเดตแบบเลือก (LORA) ในขณะที่จุดตรวจสอบการไล่ระดับสีช่วยลดการใช้หน่วยความจำ แต่ก็แนะนำค่าใช้จ่ายในการคำนวณเพิ่มเติมเนื่องจากการคำนวณใหม่ การแลกเปลี่ยนระหว่างหน่วยความจำและการคำนวณจะต้องมีความสมดุลตามทรัพยากรที่มีอยู่และวัตถุประสงค์การปรับจูนที่เฉพาะเจาะจง
Adam (การประมาณโมเมนต์ Adaptive) เป็นอัลกอริทึมการเพิ่มประสิทธิภาพที่ได้รับความนิยมที่ใช้กันอย่างแพร่หลายในการเรียนรู้อย่างลึกซึ้ง มันรวมอัตราการเรียนรู้แบบปรับตัวสำหรับแต่ละพารามิเตอร์กับโมเมนตัมเพื่อเร่งการบรรจบกัน โดยปกติแล้วอดัมจะใช้หมายเลขจุดลอยตัว 32 บิต (ความแม่นยำเดียว) สำหรับการจัดเก็บการไล่ระดับสีและการอัปเดตพารามิเตอร์ '8 บิตอดัม' ปรับเปลี่ยนสิ่งนี้โดยใช้หมายเลขจุดคงที่ 8 บิตสำหรับการดำเนินการเหล่านี้ ด้วยการใช้ความแม่นยำ 8 บิตแทน 32 บิต '8 บิตอดัม' จะลดรอยเท้าหน่วยความจำที่จำเป็นสำหรับการจัดเก็บการไล่ระดับสีและพารามิเตอร์ในระหว่างการฝึกอบรม นี่เป็นข้อได้เปรียบโดยเฉพาะอย่างยิ่งสำหรับรุ่นขนาดใหญ่เช่น SDXL ซึ่งมีพารามิเตอร์มากมาย การดำเนินการทางคณิตศาสตร์ที่มีความแม่นยำต่ำกว่าสามารถเพิ่มความเร็วในการคำนวณเนื่องจากความต้องการแบนด์วิดท์หน่วยความจำที่ลดลง สิ่งนี้สามารถนำไปสู่เวลาการฝึกอบรมที่เร็วขึ้นโดยเฉพาะอย่างยิ่งในสถาปัตยกรรมฮาร์ดแวร์ที่ได้รับการปรับให้เหมาะสมสำหรับการดำเนินงานที่มีความแม่นยำต่ำกว่า อย่างไรก็ตามมีการแลกเปลี่ยน การใช้ความแม่นยำที่ต่ำกว่าอาจส่งผลกระทบต่อความแม่นยำและความมั่นคงของโมเดลโดยเฉพาะอย่างยิ่งหากไม่ได้ดำเนินการอย่างระมัดระวัง เทคนิคเช่นการปรับขนาดการไล่ระดับสีหรือการปรับความแม่นยำแบบปรับตัวอาจจำเป็นต้องลดการสูญเสียความแม่นยำที่อาจเกิดขึ้น
มีสองระดับความแม่นยำในความแม่นยำของจุดลอยตัวจุดลอยตัว 32 บิตและจุดลอยตัว 16 บิต จุดลอยตัว 32 บิตเป็นความแม่นยำมาตรฐานที่ใช้ในกรอบการเรียนรู้ที่ลึกที่สุดสำหรับการจัดเก็บพารามิเตอร์แบบจำลองและทำการคำนวณ มันให้ความแม่นยำเชิงตัวเลขสูง แต่ต้องใช้หน่วยความจำและทรัพยากรการคำนวณมากขึ้น จุดลอยตัว 16 บิตเป็นรูปแบบความแม่นยำที่ลดลงซึ่งใช้หน่วยความจำครึ่งหนึ่งของจุดลอยตัว 32 บิต มันเร่งการคำนวณโดยเฉพาะอย่างยิ่งใน GPUs ด้วยแกนเทนเซอร์ในขณะที่ยังคงรักษาความแม่นยำเชิงตัวเลขที่เพียงพอสำหรับงานการเรียนรู้เชิงลึกจำนวนมาก การใช้ความแม่นยำ 16 บิตสามารถเพิ่มความเร็วในการฝึกอบรมอย่างมีนัยสำคัญโดยเฉพาะอย่างยิ่งสำหรับรุ่นขนาดใหญ่เช่น SDXL ที่เกี่ยวข้องกับการคำนวณที่ซับซ้อน นอกจากนี้ความแม่นยำที่ลดลงนั้นต้องใช้แบนด์วิดท์หน่วยความจำน้อยลงทำให้เป็นไปได้ในการฝึกอบรมรุ่นที่ใหญ่ขึ้นหรือขนาดแบทช์ภายในขีด จำกัด ฮาร์ดแวร์ที่มีอยู่
(กลับไปด้านบน)
คำแนะนำในการตั้งค่าโครงการของคุณโดยใช้ colab โปรดไปที่ลิงค์ด้านล่างเพื่อฝึกด้วยตัวเอง คุณสามารถค้นหาโมเดลที่ผ่านการฝึกอบรมได้ในโฟลเดอร์ "Statue_lora"
ในการเรียกใช้การสาธิตการอนุมานแบบสตรีมด้วยโมเดลที่ผ่านการฝึกอบรมที่ผ่านการฝึกอบรมด้วยชุดข้อมูลรูปปั้นหินอ่อนให้ใช้คำสั่งต่อไปนี้
ในการติดตั้งแพ็คเกจที่ต้องการในเทอร์มินัลพิมพ์:
pip install -r requirements.txtในเทอร์มินัลพิมพ์:
streamlit run main.py(กลับไปด้านบน)