ControlNet และ StarCoder: ความก้าวหน้าในการวิจัยของ Roblox สำหรับ Generative AI - Roblox Blog

ControlNet และ StarCoder: ความก้าวหน้าในการวิจัยของ Roblox สำหรับ Generative AI – Roblox Blog

โหนดต้นทาง: 2864546

เรามีความมุ่งมั่นอย่างยิ่งที่จะดำเนินการวิจัยที่มีความรับผิดชอบและมีส่วนร่วมกับชุมชนในทุกด้าน รวมถึงปัญญาประดิษฐ์ (AI) เราบรรลุเป้าหมายนี้ด้วยความโปร่งใส การตรวจสอบจากภายนอก และการสนับสนุนสถาบันการศึกษาผ่านการทำงานร่วมกันและการสนับสนุน แนวทางนี้ช่วยให้เราเร่งบรรลุความก้าวหน้าสูงสุดในสามประเด็นที่เรามุ่งเน้น ได้แก่ AI เชิงสร้างสรรค์ การปรับขนาดศูนย์ข้อมูล และความปลอดภัยออนไลน์ วันนี้ เรากำลังแบ่งปันข้อมูลเชิงลึกและผลลัพธ์จากโครงการวิจัย AI เชิงสร้างสรรค์สองโครงการของเรา คอนโทรลเน็ต เป็นโครงข่ายประสาทเทียมแบบโอเพ่นซอร์สที่เพิ่มการควบคุมแบบมีเงื่อนไขให้กับโมเดลการสร้างภาพเพื่อเอาต์พุตภาพที่แม่นยำยิ่งขึ้น สตาร์โค้ดเดอร์ คือโมเดลภาษาขนาดใหญ่แบบโอเพ่นซอร์ส (LLM) ที่ล้ำสมัยสำหรับการสร้างโค้ด 

ทั้งสองโครงการเป็นความร่วมมือทางวิชาการและอุตสาหกรรม ทั้งสองยังมุ่งเน้นไปที่เครื่องมือที่ทรงพลังยิ่งขึ้นสำหรับผู้สร้างของเรา: ศิลปิน 3 มิติและโปรแกรมเมอร์ ที่สำคัญที่สุดและสอดคล้องกับภารกิจของเราในการลงทุนในระยะยาวผ่านการวิจัยเชิงเปลี่ยนแปลง โครงการเหล่านี้แสดงให้เห็นถึงความก้าวหน้าในความเข้าใจทางวิทยาศาสตร์ขั้นพื้นฐานและการควบคุม AI สำหรับการใช้งานหลายอย่าง เราเชื่อว่างานนี้อาจส่งผลกระทบอย่างมีนัยสำคัญต่ออนาคตของ Roblox และภาคสนามโดยรวม และภูมิใจที่จะแบ่งปันอย่างเปิดเผย

คอนโทรลเน็ต

ความก้าวหน้าของ AI ล่าสุด — โดยเฉพาะวิธีการเรียนรู้ของเครื่องที่ขับเคลื่อนด้วยข้อมูล (ML) โดยใช้โครงข่ายประสาทเทียมระดับลึก — ได้ขับเคลื่อนความก้าวหน้าใหม่ในเครื่องมือการสร้างสรรค์ ความก้าวหน้าเหล่านี้รวมถึงของเราด้วย รหัสช่วย และ เครื่องกำเนิดวัสดุ คุณสมบัติที่เผยแพร่ต่อสาธารณะในเครื่องมือฟรีของเรา Roblox Studio ระบบ AI เจนเนอเรชั่นสมัยใหม่มีโครงสร้างข้อมูลที่เรียกว่าแบบจำลองที่ได้รับการปรับปรุงผ่านการฝึกอบรมนับพันล้านครั้ง โมเดลที่ทรงพลังที่สุดในปัจจุบันคือแบบหลายรูปแบบ ซึ่งหมายความว่าโมเดลเหล่านี้ได้รับการฝึกฝนโดยใช้สื่อผสม เช่น ข้อความ รูปภาพ และเสียง ซึ่งช่วยให้พวกเขาสามารถค้นหาความหมายที่ซ่อนอยู่ทั่วไปในสื่อต่างๆ แทนที่จะพอดีกับองค์ประกอบเฉพาะของชุดข้อมูล เช่น จานสี หรือการสะกดคำ 

ระบบ AI ใหม่เหล่านี้มีพลังในการแสดงออกที่สำคัญ แต่พลังนั้นส่วนใหญ่มุ่งเป้าไปที่ "วิศวกรรมที่รวดเร็ว" การทำเช่นนี้หมายถึงการเปลี่ยนข้อความที่ป้อน ซึ่งคล้ายกับการปรับแต่งข้อความค้นหาของเครื่องมือค้นหาหากไม่ได้ส่งคืนสิ่งที่คุณคาดหวัง แม้ว่านี่อาจเป็นวิธีที่น่ามีส่วนร่วมในการเล่นกับเทคโนโลยีใหม่ เช่น แชทบอทแบบไม่มีทิศทาง แต่ก็ไม่ใช่วิธีที่มีประสิทธิภาพหรือประสิทธิผลในการสร้างเนื้อหา ผู้สร้างต้องการเครื่องมืออันทรงพลังที่พวกเขาสามารถใช้ประโยชน์ได้อย่างมีประสิทธิภาพผ่านการควบคุมแบบแอคทีฟแทนการคาดเดา

โครงการ ControlNet ถือเป็นก้าวหนึ่งในการแก้ปัญหาความท้าทายเหล่านี้ โดยนำเสนอวิธีที่มีประสิทธิภาพในการควบคุมพลังของโมเดล AI ขนาดใหญ่ที่ได้รับการฝึกล่วงหน้า เช่น การแพร่กระจายที่เสถียรโดยไม่ต้องอาศัยวิศวกรรมที่รวดเร็ว ControlNet เพิ่มการควบคุมโดยอนุญาตให้ศิลปินจัดเตรียมเงื่อนไขอินพุตเพิ่มเติมนอกเหนือจากข้อความแจ้งเตือน นักวิจัย Roblox และศาสตราจารย์ Maneesh Agrawala จากมหาวิทยาลัยสแตนฟอร์ด และ Lvmin Zhang นักวิจัยจาก Stanford ตั้งเป้าหมายสำหรับโครงการ ControlNet ร่วมกันของเราดังนี้:

  1. พัฒนาอินเทอร์เฟซผู้ใช้ที่ดีขึ้นสำหรับเครื่องมือ AI เชิงสร้างสรรค์ ก้าวไปไกลกว่าการจัดการที่คลุมเครือ และสร้างวิธีสื่อสารแนวคิดหรือแนวความคิดที่สร้างสรรค์ที่เป็นธรรมชาติมากขึ้น
  2. ให้การควบคุมเชิงพื้นที่ที่แม่นยำยิ่งขึ้น นอกเหนือไปจากการสร้าง “ภาพเหมือน” หรือ “ภาพในสไตล์ของ…” เพื่อให้เข้าใจถึงภาพที่ผู้สร้างมีอยู่ในใจได้อย่างแท้จริง
  3. เปลี่ยนการฝึกอบรม AI เชิงสร้างสรรค์ให้เป็นกระบวนการที่มีประสิทธิภาพในการประมวลผลมากขึ้น ซึ่งดำเนินการได้รวดเร็วยิ่งขึ้น ใช้หน่วยความจำน้อยลง และใช้พลังงานไฟฟ้าน้อยลง
  4. ขยาย AI ที่สร้างภาพไปเป็นบล็อคส่วนประกอบที่นำมาใช้ซ้ำได้ จากนั้นจึงสามารถรวมเข้ากับการประมวลผลภาพมาตรฐานและไปป์ไลน์การเรนเดอร์ 3D ได้ 

ด้วยการอนุญาตให้ผู้สร้างจัดเตรียมภาพเพิ่มเติมสำหรับการควบคุมเชิงพื้นที่ ControlNet จึงให้การควบคุมภาพที่สร้างขึ้นในขั้นสุดท้ายได้ดียิ่งขึ้น ตัวอย่างเช่น ข้อความแจ้งว่า "กวางตัวผู้มีเขากวาง" ในโปรแกรมสร้างข้อความเป็นรูปภาพที่มีอยู่ทำให้เกิดรูปภาพที่หลากหลาย ดังที่แสดงด้านล่าง:

รูปภาพเหล่านี้สร้างขึ้นด้วยโซลูชัน AI ก่อนหน้านี้มีความน่าสนใจ แต่น่าเสียดายที่ผลลัพธ์โดยพลการนั้นไม่มีการควบคุม ในระบบสร้างภาพก่อนหน้านี้ไม่มีทางที่จะควบคุมเอาต์พุตได้ ยกเว้นการแก้ไขข้อความแจ้ง

ด้วย ControlNet ตอนนี้ผู้สร้างมีพลังมากขึ้น วิธีหนึ่งในการใช้ ControlNet คือการจัดเตรียมทั้งพรอมต์และอิมเมจต้นฉบับเพื่อกำหนดรูปร่างทั่วไปที่จะปฏิบัติตาม ในกรณีนี้ รูปภาพที่ได้จะยังคงให้ความหลากหลาย แต่สิ่งสำคัญคือยังคงรูปร่างที่ระบุไว้:

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

ในการสร้าง ControlNet เราจะโคลนตุ้มน้ำหนักภายในเครือข่ายของโมเดลการแพร่กระจายขนาดใหญ่ออกเป็นสองเวอร์ชัน หนึ่งคือ เครือข่ายที่สามารถฝึกอบรมได้ (ซึ่งให้การควบคุม มันคือ “ControlNet”) และอีกอันคือ เครือข่ายที่ถูกล็อค. เครือข่ายที่ถูกล็อคจะรักษาความสามารถที่เรียนรู้จากรูปภาพนับพันล้านรูป และอาจเป็นเครื่องมือสร้างรูปภาพแบบก่อนหน้านี้ก็ได้ จากนั้นเราจะฝึกอบรมเครือข่ายที่สามารถฝึกอบรมได้เกี่ยวกับชุดข้อมูลเฉพาะงานเพื่อเรียนรู้การควบคุมแบบมีเงื่อนไขจากอิมเมจเพิ่มเติม สำเนาที่ฝึกและล็อคได้จะเชื่อมต่อกับชั้น Convolution ชนิดพิเศษที่เราเรียกว่า การบิดเป็นศูนย์โดยที่น้ำหนักการบิดจะเพิ่มขึ้นอย่างต่อเนื่องจากศูนย์ไปจนถึงพารามิเตอร์ที่ได้รับการปรับปรุงในลักษณะที่เรียนรู้ ซึ่งหมายความว่าในตอนแรกจะไม่มีอิทธิพลใดๆ และระบบจะได้ระดับการควบคุมที่เหมาะสมที่สุดเพื่อใช้งานบนเครือข่ายที่ถูกล็อค

เนื่องจากตุ้มน้ำหนักดั้งเดิมได้รับการเก็บรักษาไว้ผ่านเครือข่ายที่ล็อก โมเดลจึงทำงานได้ดีกับชุดข้อมูลการฝึกขนาดต่างๆ และเลเยอร์การบิดเป็นศูนย์จะทำให้กระบวนการเร็วขึ้นมาก — ใกล้กับการปรับแต่งโมเดลการแพร่กระจายอย่างละเอียดมากกว่าการฝึกเลเยอร์ใหม่ตั้งแต่เริ่มต้น 

เราได้ทำการตรวจสอบเทคนิคนี้อย่างกว้างขวางสำหรับการสร้างภาพ ControlNet ไม่เพียงแต่ปรับปรุงคุณภาพของภาพที่ส่งออกเท่านั้น นอกจากนี้ยังทำให้การฝึกอบรมเครือข่ายสำหรับงานเฉพาะมีประสิทธิภาพมากขึ้น และนำไปใช้ได้จริงในวงกว้างสำหรับผู้สร้างหลายล้านคนของเรา ในการทดลอง ControlNet ให้ประสิทธิภาพเพิ่มขึ้นถึง 10 เท่า เมื่อเทียบกับสถานการณ์อื่นๆ ที่ต้องใช้โมเดลที่ได้รับการฝึกอบรมใหม่ทั้งหมด ประสิทธิภาพนี้มีความสำคัญอย่างยิ่ง เนื่องจากกระบวนการสร้างโมเดลใหม่นั้นใช้เวลานานและต้องใช้ทรัพยากรมากเมื่อเทียบกับการพัฒนาซอฟต์แวร์แบบเดิม การทำให้การฝึกอบรมมีประสิทธิภาพมากขึ้นจะช่วยประหยัดไฟฟ้า ลดต้นทุน และเพิ่มอัตราการเพิ่มฟังก์ชันการทำงานใหม่ๆ

โครงสร้างที่เป็นเอกลักษณ์ของ ControlNet หมายความว่าทำงานได้ดีกับชุดข้อมูลการฝึกขนาดต่างๆ และบนสื่อประเภทต่างๆ มากมาย ControlNet แสดงให้เห็นว่าสามารถทำงานร่วมกับรูปแบบการควบคุมหลายประเภท รวมถึงรูปถ่าย การเขียนด้วยมือ และ เปิดกว้าง การตรวจจับท่าทาง เราเชื่อว่า ControlNet สามารถนำไปใช้กับสื่อหลายประเภทสำหรับเนื้อหา AI เชิงสร้างสรรค์ นี้ การวิจัยเปิดกว้างและเปิดเผยต่อสาธารณะ เพื่อให้ชุมชนได้ทดลองและต่อยอด และเราจะนำเสนอข้อมูลเพิ่มเติมต่อไปในขณะที่เราค้นพบมันมากขึ้น

สตาร์โค้ดเดอร์

AI เจนเนอเรชั่นสามารถนำไปใช้เพื่อสร้างรูปภาพ เสียง ข้อความ ซอร์สโค้ดของโปรแกรม หรือสื่อสมบูรณ์รูปแบบอื่นใด อย่างไรก็ตาม ในสื่อต่างๆ การใช้งานที่ประสบความสำเร็จมากที่สุดมักจะเป็นการใช้งานที่ผลลัพธ์จะถูกตัดสินตามอัตวิสัย ตัวอย่างเช่น รูปภาพจะประสบความสำเร็จเมื่อดึงดูดผู้ชมที่เป็นมนุษย์ ข้อผิดพลาดบางอย่างในภาพ เช่น ลักษณะแปลก ๆ บนขอบ หรือแม้แต่นิ้วพิเศษบนมือ อาจไม่สังเกตเห็นหากภาพโดยรวมดูน่าสนใจ ในทำนองเดียวกัน บทกวีหรือเรื่องสั้นอาจมีข้อผิดพลาดทางไวยากรณ์หรือตรรกะที่ก้าวกระโดดไปบ้าง แต่หากส่วนสำคัญนั้นน่าสนใจ เราก็มักจะให้อภัยสิ่งเหล่านี้ 

วิธีพิจารณาเกณฑ์อัตนัยอีกวิธีหนึ่งก็คือ พื้นที่ผลลัพธ์มีความต่อเนื่อง ผลลัพธ์หนึ่งอาจดีกว่าอีกผลลัพธ์หนึ่ง แต่ไม่มีเกณฑ์เฉพาะที่ทำให้ผลลัพธ์นั้นเป็นที่ยอมรับหรือยอมรับไม่ได้อย่างสมบูรณ์ สำหรับขอบเขตและรูปแบบของสื่ออื่นๆ ผลลัพธ์จะถูกตัดสินอย่างเป็นกลาง ตัวอย่างเช่น ซอร์สโค้ดที่สร้างโดยผู้ช่วยเขียนโปรแกรม generative AI นั้นถูกต้องหรือไม่ หากรหัสไม่สามารถผ่านการทดสอบได้ รหัสนั้นจะล้มเหลว แม้ว่าจะคล้ายกับรหัสสำหรับวิธีแก้ปัญหาที่ถูกต้องก็ตาม นี่คือพื้นที่ผลลัพธ์ที่ไม่ต่อเนื่อง มันยากกว่าที่จะประสบความสำเร็จในพื้นที่แยกกัน เนื่องจากเกณฑ์เข้มงวดกว่า และเนื่องจากไม่มีใครสามารถหาวิธีแก้ปัญหาที่ดีได้อย่างต่อเนื่อง โค้ดจึงพังทันทีจนกระทั่งใช้งานได้ทันที

LLM ที่ใช้สำหรับเอาต์พุตข้อความทำงานได้ดีกับแอปพลิเคชันเชิงอัตนัยและต่อเนื่อง เช่น แชทบอท ดูเหมือนว่าจะทำงานได้ดีสำหรับการสร้างร้อยแก้วในภาษามนุษย์หลายภาษา เช่น อังกฤษและฝรั่งเศส อย่างไรก็ตาม LLM ที่มีอยู่ดูเหมือนจะใช้งานไม่ได้เช่นกัน การเขียนโปรแกรม ภาษาต่างๆ เช่นเดียวกับภาษามนุษย์เหล่านั้น รหัสเป็นรูปแบบหนึ่งของคณิตศาสตร์ที่มีวิธีการแสดงความหมายที่แตกต่างและเป็นกลางมากกว่าภาษาธรรมชาติ เป็นพื้นที่ผลลัพธ์ที่ไม่ต่อเนื่อง แทนที่จะเป็นพื้นที่ผลลัพธ์ต่อเนื่อง เพื่อให้บรรลุถึงคุณภาพสูงสุดของการสร้างโค้ดภาษาโปรแกรมสำหรับผู้สร้าง Roblox เราจำเป็นต้องมีวิธีการใช้ LLM ที่สามารถทำงานได้ดีในพื้นที่ที่ไม่ต่อเนื่องและมีวัตถุประสงค์นี้ นอกจากนี้เรายังต้องการวิธีการที่มีประสิทธิภาพในการแสดงการทำงานของโค้ดโดยไม่ขึ้นกับไวยากรณ์ของภาษาใดภาษาหนึ่ง เช่น Lua, JavaScript หรือ Python 

StarCoder ซึ่งเป็น LLM โอเพ่นซอร์สที่ล้ำสมัยใหม่สำหรับการสร้างโค้ด ถือเป็นความก้าวหน้าครั้งสำคัญสำหรับความท้าทายทางเทคนิคนี้ และเป็น LLM แบบเปิดอย่างแท้จริงสำหรับทุกคน StarCoder คือผลลัพธ์หนึ่งของ รหัสขนาดใหญ่ สมาคมการวิจัยซึ่งมีสมาชิกมากกว่า 600 รายในห้องปฏิบัติการวิจัยทางวิชาการและอุตสาหกรรม นักวิจัย Roblox และศาสตราจารย์ Arjun Guha จากมหาวิทยาลัย Northeastern ช่วยนำทีมนี้ในการพัฒนา StarCoder ผลลัพธ์ที่เผยแพร่ครั้งแรกเหล่านี้มุ่งเน้นไปที่แง่มุมของโค้ด ซึ่งเป็นพื้นที่ที่สาขานี้ต้องการการเติบโตใหม่ๆ มากที่สุด เมื่อพิจารณาถึงความสำเร็จที่สัมพันธ์กันของวิธีการแบบอัตนัย 

เพื่อส่งมอบ AI เชิงสร้างสรรค์ผ่าน LLM ที่สนับสนุนระบบนิเวศ AI ที่ใหญ่ขึ้นและชุมชน Roblox เราต้องการโมเดลที่ได้รับการฝึกอบรมเฉพาะเกี่ยวกับชุดข้อมูลที่ได้รับอนุญาตอย่างเหมาะสมและรวบรวมอย่างมีความรับผิดชอบ สิ่งเหล่านี้ควรมีใบอนุญาตที่ไม่จำกัด เพื่อให้ใครๆ ก็สามารถนำไปใช้ สร้างต่อยอด และสนับสนุนกลับคืนสู่ระบบนิเวศได้ ปัจจุบัน LLM ที่ทรงพลังที่สุดเป็นกรรมสิทธิ์หรือได้รับอนุญาตให้ใช้ในเชิงพาณิชย์ในรูปแบบที่จำกัด ซึ่งห้ามหรือจำกัดความสามารถของนักวิจัยในการทดลองกับแบบจำลองนั้นเอง ในทางตรงกันข้าม StarCoder เป็นโมเดลที่เปิดกว้างอย่างแท้จริง สร้างขึ้นผ่านความร่วมมือระหว่างนักวิจัยในอุตสาหกรรมและนักวิชาการ และได้รับใบอนุญาตโดยไม่มีข้อจำกัดสำหรับการนำไปใช้ในเชิงพาณิชย์ในทุกขนาด StarCoder ได้รับการฝึกอบรมเฉพาะเกี่ยวกับเนื้อหาที่รวบรวมอย่างมีความรับผิดชอบและได้รับอนุญาตอย่างเหมาะสม แบบจำลองนี้ได้รับการฝึกอบรมเบื้องต้นเกี่ยวกับรหัสสาธารณะ และมีกระบวนการเลือกไม่รับสำหรับผู้ที่ไม่ต้องการให้มีการใช้รหัสในการฝึกอบรม

ปัจจุบัน StarCoder ทำงานกับภาษาการเขียนโปรแกรมที่แตกต่างกัน 86 ภาษา รวมถึง Python, C++ และ Java ในรายงานฉบับนี้ มีประสิทธิภาพเหนือกว่า open code LLM ทุกตัวที่รองรับหลายภาษา และยังแข่งขันกับโมเดลปิดที่เป็นกรรมสิทธิ์หลายตัวได้ด้วย 

StarCoder LLM มีส่วนสนับสนุนระบบนิเวศ แต่เป้าหมายการวิจัยของเราลึกซึ้งกว่านั้นมาก ผลกระทบที่ยิ่งใหญ่ที่สุดของการวิจัยนี้คือการพัฒนาแบบจำลองความหมายของแบบจำลองหลายรูปแบบทั้งแบบวัตถุประสงค์และแบบอัตนัย ซึ่งรวมถึงโค้ด ข้อความ รูปภาพ คำพูด วิดีโอ และเพื่อเพิ่มประสิทธิภาพการฝึกอบรมผ่านเทคนิคการถ่ายโอนโดเมน นอกจากนี้เรายังคาดหวังที่จะได้รับข้อมูลเชิงลึกเกี่ยวกับการบำรุงรักษาและการควบคุมของ generative AI สำหรับงานวัตถุประสงค์ เช่น การสร้างซอร์สโค้ด มีความแตกต่างอย่างมากระหว่างการสาธิตเทคโนโลยีเกิดใหม่ที่น่าสนใจกับผลิตภัณฑ์ที่ปลอดภัย เชื่อถือได้ และมีประสิทธิภาพซึ่งนำคุณค่ามาสู่ชุมชนผู้ใช้ สำหรับโมเดล ML ของเรา เราจะปรับประสิทธิภาพให้เหมาะสมสำหรับขนาดหน่วยความจำ การประหยัดพลังงาน และเวลาดำเนินการ นอกจากนี้เรายังพัฒนาโครงสร้างพื้นฐานที่แข็งแกร่ง ล้อมรอบคอร์ AI ด้วยซอฟต์แวร์เพื่อเชื่อมต่อกับส่วนที่เหลือของระบบ และพัฒนาระบบที่ราบรื่นสำหรับการอัปเดตบ่อยครั้งเมื่อมีการเพิ่มคุณสมบัติใหม่ 

การนำนักวิทยาศาสตร์และวิศวกรของ Roblox มารวมตัวกันพร้อมกับผู้ที่มีสติปัญญาเฉียบแหลมที่สุดในชุมชนวิทยาศาสตร์เป็นองค์ประกอบสำคัญในการแสวงหาเทคโนโลยีที่ก้าวล้ำของเรา เราภูมิใจที่จะแบ่งปันผลลัพธ์ในช่วงแรกๆ เหล่านี้ และเชิญชวนให้ชุมชนการวิจัยมีส่วนร่วมกับเราและสร้างความก้าวหน้าเหล่านี้

ประทับเวลา:

เพิ่มเติมจาก Roblox