ControlNet و StarCoder: پیشرفت های تحقیقاتی Roblox برای Generative AI - Roblox Blog

ControlNet و StarCoder: پیشرفت های تحقیقاتی Roblox برای هوش مصنوعی Generative – Roblox Blog

گره منبع: 2864546

ما عمیقاً متعهد به پیگیری تحقیقاتی هستیم که مسئولیت پذیر است و جامعه در همه زمینه ها از جمله هوش مصنوعی (AI) درگیر است. ما از طریق شفافیت، اعتبار سنجی خارجی و حمایت از مؤسسات دانشگاهی از طریق همکاری و حمایت به این مهم دست می‌یابیم. این رویکرد به ما امکان می‌دهد دستیابی به بزرگترین پیشرفت‌ها را در سه حوزه تمرکز خود تسریع کنیم: هوش مصنوعی مولد، مقیاس‌بندی مرکز داده و ایمنی آنلاین. امروز، بینش و نتایج حاصل از دو پروژه تحقیقاتی مولد هوش مصنوعی خود را به اشتراک می گذاریم. ControlNet یک شبکه عصبی منبع باز است که برای خروجی های تصویر دقیق تر، کنترل شرطی را به مدل های تولید تصویر اضافه می کند. StarCoder یک مدل زبان بزرگ منبع باز (LLM) پیشرفته برای تولید کد است. 

هر دو پروژه همکاری دانشگاهی و صنعتی هستند. هر دو همچنین بر ابزارهای بسیار قوی تر برای سازندگان ما متمرکز هستند: هنرمندان و برنامه نویسان سه بعدی. مهم‌تر از همه و در راستای مأموریت ما برای سرمایه‌گذاری در نمای طولانی از طریق تحقیقات تحول‌آفرین، این پروژه‌ها نشانه‌هایی از پیشرفت در درک و کنترل علمی بنیادی هوش مصنوعی برای بسیاری از کاربردها را نشان می‌دهند. ما معتقدیم که این اثر ممکن است تأثیر قابل توجهی بر آینده Roblox و در کل این حوزه داشته باشد و مفتخریم که آن را آشکارا به اشتراک بگذاریم.

ControlNet

پیشرفت‌های اخیر هوش مصنوعی – به‌ویژه روش‌های یادگیری ماشین مبتنی بر داده (ML) با استفاده از شبکه‌های عصبی عمیق – باعث پیشرفت‌های جدیدی در ابزارهای ایجاد شده است. این پیشرفت ها شامل ما می شود کمک کد و مولد مواد ویژگی هایی که به صورت عمومی در ابزار رایگان ما، Roblox Studio در دسترس هستند. سیستم‌های هوش مصنوعی مولد مدرن شامل ساختارهای داده‌ای به نام مدل هستند که از طریق میلیاردها عملیات آموزشی اصلاح می‌شوند. قدرتمندترین مدل‌های امروزی چندوجهی هستند، به این معنی که روی ترکیبی از رسانه‌ها مانند متن، تصویر و صدا آموزش داده می‌شوند. این به آن‌ها اجازه می‌دهد تا معانی زیربنایی مشترک را در رسانه‌ها پیدا کنند، نه اینکه بیش از حد با عناصر خاصی از مجموعه داده‌ها، مانند پالت‌های رنگی یا املا، تطبیق داده شوند. 

این سیستم‌های هوش مصنوعی جدید قدرت بیانی قابل‌توجهی دارند، اما این قدرت عمدتاً از طریق «مهندسی سریع» هدایت می‌شود. انجام این کار به این معنی است که متن ورودی را تغییر دهید، شبیه به اصلاح یک جستار موتور جستجو اگر آنچه را که انتظار داشتید برگرداند. اگرچه این ممکن است یک روش جذاب برای بازی با یک فناوری جدید مانند یک ربات چت بدون جهت باشد، اما روشی کارآمد یا مؤثر برای ایجاد محتوا نیست. سازندگان در عوض به ابزارهای قدرتی نیاز دارند که بتوانند از طریق کنترل فعال به جای حدس و گمان از آنها به طور موثر استفاده کنند.

پروژه ControlNet گامی در جهت حل برخی از این چالش ها است. این روشی کارآمد برای مهار قدرت مدل‌های بزرگ هوش مصنوعی از پیش آموزش‌دیده مانند انتشار پایدار، بدون اتکا به مهندسی سریع. ControlNet کنترل را با اجازه دادن به هنرمند برای ارائه شرایط ورودی اضافی فراتر از درخواست های متنی افزایش می دهد. محقق Roblox و استاد دانشگاه استنفورد، Maneesh Agrawala و محقق استنفورد Lvmin Zhang، اهداف پروژه مشترک ControlNet ما را به این صورت تعریف می کنند:

  1. یک رابط کاربری بهتر برای ابزارهای هوش مصنوعی مولد ایجاد کنید. فراتر از دستکاری سریع مبهم حرکت کنید و راه های طبیعی تری برای برقراری ارتباط یک ایده یا مفهوم خلاقانه ایجاد کنید.
  2. کنترل فضایی دقیق‌تری را ارائه دهید تا فراتر از ساختن «تصویر شبیه» یا «تصویر به سبک…» بروید تا دقیقاً تصویری را که سازنده در ذهن خود دارد، درک کنید.
  3. آموزش مولد هوش مصنوعی را به یک فرآیند محاسباتی کارآمدتر تبدیل کنید که سریعتر اجرا می شود، به حافظه کمتری نیاز دارد و انرژی الکتریکی کمتری مصرف می کند.
  4. هوش مصنوعی تولید کننده تصویر را به یک بلوک ساختمانی قابل استفاده مجدد گسترش دهید. سپس می توان آن را با پردازش تصویر استاندارد و خطوط لوله رندر سه بعدی ادغام کرد. 

با اجازه دادن به سازندگان برای ارائه یک تصویر اضافی برای کنترل فضایی، ControlNet کنترل بیشتری بر تصویر تولید شده نهایی می دهد. به عنوان مثال، درخواست «گوزن نر با شاخ» در یک مولد متن به تصویر موجود، طیف گسترده‌ای از تصاویر را تولید کرد، همانطور که در زیر نشان داده شده است:

این تصاویر تولید شده با راه حل های قبلی هوش مصنوعی جذاب هستند، اما متأسفانه اساساً نتایج دلخواه هستند - هیچ کنترلی وجود ندارد. هیچ راهی در آن سیستم های تولید کننده تصویر قبلی برای هدایت خروجی وجود ندارد، به جز تجدید نظر در اعلان متن.

با ControlNet، سازنده اکنون قدرت بسیار بیشتری دارد. یکی از راه‌های استفاده از ControlNet این است که هم یک اعلان و هم یک تصویر منبع برای تعیین شکل کلی که باید دنبال شود، ارائه دهید. در این مورد، تصاویر به دست آمده همچنان تنوع را ارائه می دهند، اما، بسیار مهم، شکل مشخص شده را حفظ می کنند:

خالق همچنین می‌توانست مجموعه‌ای از لبه‌ها، تصویری بدون هیچ اعلان یا بسیاری راه‌های دیگر برای ارائه ورودی گویا به سیستم را مشخص کند.

برای ایجاد یک ControlNet، وزن‌های موجود در شبکه یک مدل انتشار بزرگ را به دو نسخه شبیه‌سازی می‌کنیم. یکی آن است شبکه قابل آموزش (این کنترل را فراهم می کند؛ "ControlNet" است) و دیگری کنترل است شبکه قفل شده. شبکه قفل شده توانایی آموخته شده از میلیاردها تصویر را حفظ می کند و می تواند هر تولید کننده تصویر قبلی باشد. سپس شبکه قابل آموزش را بر روی مجموعه داده‌های ویژه کار آموزش می‌دهیم تا کنترل شرطی را از تصویر اضافی یاد بگیریم. کپی های قابل آموزش و قفل شده با نوع منحصر به فردی از لایه کانولوشن که ما آن را می نامیم متصل می شوند پیچیدگی صفر، که در آن وزن های کانولوشن به صورت تدریجی از صفر به پارامترهای بهینه شده رشد می کنند، به این معنی که در ابتدا هیچ تاثیری ندارند و سیستم سطح بهینه کنترل را برای اعمال روی شبکه قفل شده بدست می آورد.

از آنجایی که وزن های اصلی از طریق شبکه قفل شده حفظ می شوند، این مدل با مجموعه داده های آموزشی در اندازه های مختلف به خوبی کار می کند. و لایه پیچیدگی صفر فرآیند را بسیار سریع‌تر می‌کند - به تنظیم دقیق مدل انتشار نزدیک‌تر از آموزش لایه‌های جدید از ابتدا. 

ما اعتبار سنجی گسترده ای از این تکنیک برای تولید تصویر انجام داده ایم. ControlNet فقط کیفیت تصویر خروجی را بهبود نمی بخشد. همچنین آموزش شبکه ای را برای یک کار خاص کارآمدتر می کند و در نتیجه برای میلیون ها خالق ما به کار می رود. در آزمایش‌ها، ControlNet در مقایسه با سناریوهای جایگزین که نیاز به یک مدل برای آموزش مجدد کامل دارند، تا 10 برابر افزایش بهره‌وری را ارائه می‌دهد. این کارایی بسیار مهم است، زیرا فرآیند ایجاد مدل‌های جدید نسبت به توسعه نرم‌افزار سنتی زمان‌بر و منابع فشرده است. کارآمدتر کردن آموزش باعث صرفه جویی در مصرف برق، کاهش هزینه ها و افزایش سرعت افزودن قابلیت های جدید می شود.

ساختار منحصر به فرد ControlNet به این معنی است که با مجموعه داده های آموزشی در اندازه های مختلف و بر روی انواع مختلف رسانه ها به خوبی کار می کند. نشان داده شده است که ControlNet با انواع مختلفی از مدالیته‌های کنترلی از جمله عکس‌ها، خط‌نویسی‌های دستی و openpose تشخیص پوس ما معتقدیم که ControlNet را می توان برای انواع مختلف رسانه ها برای محتوای AI تولیدی اعمال کرد. این تحقیق باز و در دسترس عموم است برای جامعه که بتواند با آن آزمایش کند و بر آن بسازد، و ما همچنان به ارائه اطلاعات بیشتر با اکتشافات بیشتر با آن ادامه خواهیم داد.

StarCoder

هوش مصنوعی مولد را می توان برای تولید تصاویر، صدا، متن، کد منبع برنامه یا هر شکل دیگری از رسانه غنی استفاده کرد. با این حال، در رسانه‌های مختلف، برنامه‌هایی که بیشترین موفقیت را دارند، برنامه‌هایی هستند که خروجی آنها به صورت ذهنی ارزیابی می‌شود. به عنوان مثال، یک تصویر زمانی موفق می شود که برای بیننده انسانی جذاب باشد. اگر تصویر کلی قانع کننده باشد، ممکن است برخی از خطاها در تصویر، مانند ویژگی های عجیب در لبه ها یا حتی انگشت اضافی روی دست، متوجه نشوند. به همین ترتیب، یک شعر یا داستان کوتاه ممکن است دارای اشتباهات دستوری یا برخی جهش‌های منطقی باشد، اما اگر اصل مطلب قانع‌کننده باشد، ما تمایل داریم اینها را ببخشیم. 

راه دیگر در نظر گرفتن معیارهای ذهنی این است که فضای نتیجه پیوسته است. یک نتیجه ممکن است بهتر از دیگری باشد، اما هیچ آستانه خاصی وجود ندارد که در آن نتیجه کاملاً قابل قبول یا غیرقابل قبول باشد. برای سایر حوزه ها و اشکال رسانه، خروجی به طور عینی مورد قضاوت قرار می گیرد. به عنوان مثال، کد منبع تولید شده توسط دستیار برنامه نویسی AI مولد یا صحیح است یا خیر. اگر کد نتواند تستی را پاس کند، با شکست مواجه می‌شود، حتی اگر شبیه کد یک راه‌حل معتبر باشد. این یک فضای نتیجه گسسته است. موفقیت در یک فضای گسسته سخت تر است، هم به این دلیل که معیارها سخت تر هستند و هم به این دلیل که نمی توان به تدریج به یک راه حل خوب نزدیک شد - کد تا زمانی که به طور ناگهانی کار کند شکسته می شود.

LLM هایی که برای خروجی متن استفاده می شوند برای برنامه های ذهنی و پیوسته مانند ربات های گفتگو به خوبی کار می کنند. همچنین به نظر می رسد که آنها برای تولید نثر در بسیاری از زبان های انسانی، مانند انگلیسی و فرانسوی، به خوبی کار می کنند. با این حال، به نظر نمی‌رسد که LLM‌های موجود برای آن‌ها خوب کار کنند برنامه نویسی زبان ها همان طور که برای آن زبان های انسانی انجام می دهند. کد شکلی از ریاضیات است که روشی بسیار متفاوت و عینی برای بیان معنا نسبت به زبان طبیعی است. این یک فضای نتیجه گسسته به جای یک فضای نتیجه پیوسته است. برای دستیابی به بالاترین کیفیت تولید کد زبان برنامه‌نویسی برای سازندگان Roblox، به روش‌هایی برای استفاده از LLM نیاز داریم که بتواند در این فضای گسسته و عینی به خوبی کار کند. ما همچنین به روش‌های قوی برای بیان عملکرد کد مستقل از نحو زبان خاص مانند Lua، JavaScript یا Python نیاز داریم. 

StarCoder، یک LLM منبع باز جدید و پیشرفته برای تولید کد، یک پیشرفت بزرگ برای این چالش فنی و یک LLM واقعاً باز برای همه است. StarCoder یکی از نتایج این است کد بزرگ کنسرسیوم تحقیقاتی، که شامل بیش از 600 عضو در آزمایشگاه‌های تحقیقاتی دانشگاهی و صنعتی است. محقق Roblox و استاد دانشگاه Northeastern Arjun Guha به رهبری این تیم برای توسعه StarCoder کمک کرد. این اولین نتایج منتشر شده به طور انحصاری بر جنبه کد متمرکز است، که حوزه ای است که با توجه به موفقیت نسبی روش های ذهنی، حوزه به رشد جدید نیاز دارد. 

برای ارائه هوش مصنوعی مولد از طریق LLM هایی که از اکوسیستم هوش مصنوعی بزرگتر و جامعه Roblox پشتیبانی می کنند، به مدل هایی نیاز داریم که منحصراً بر روی مجموعه داده های دارای مجوز مناسب و مسئولانه جمع آوری شده آموزش دیده باشند. اینها همچنین باید دارای مجوزهای نامحدود باشند تا هر کسی بتواند از آنها استفاده کند، بر اساس آنها بسازد و به اکوسیستم کمک کند. امروزه، قدرتمندترین LLM ها اختصاصی یا دارای مجوز برای اشکال محدود استفاده تجاری هستند، که توانایی محققان را برای آزمایش خود مدل ممنوع یا محدود می کند. در مقابل، StarCoder یک مدل واقعاً باز است که از طریق ائتلافی از محققان صنعتی و دانشگاهی ایجاد شده و بدون محدودیت برای کاربرد تجاری در هر مقیاسی مجوز دارد. StarCoder منحصراً بر روی محتوایی که مسئولانه جمع آوری شده و دارای مجوز مناسب است آموزش داده شده است. این مدل ابتدا روی کد عمومی آموزش داده شد و یک فرآیند انصراف برای کسانی که ترجیح می‌دهند از کدشان برای آموزش استفاده نشود در دسترس است.

امروزه StarCoder بر روی 86 زبان برنامه نویسی مختلف از جمله Python، C++ و Java کار می کند. از زمان انتشار این مقاله، از هر LLM کد باز که از چندین زبان پشتیبانی می‌کند بهتر عمل می‌کرد و حتی با بسیاری از مدل‌های بسته و اختصاصی رقابت می‌کرد. 

StarCoder LLM کمکی به اکوسیستم است، اما هدف تحقیقاتی ما بسیار عمیق تر است. بیشترین تأثیر این تحقیق، پیشبرد مدل‌سازی معنایی مدل‌های چندوجهی عینی و ذهنی شامل کد، متن، تصاویر، گفتار، ویدیو و افزایش کارایی آموزش از طریق تکنیک‌های انتقال دامنه است. ما همچنین انتظار داریم که بینش عمیقی در مورد قابلیت نگهداری و کنترل هوش مصنوعی مولد برای کارهای عینی مانند تولید کد منبع به دست آوریم. تفاوت بزرگی بین نمایش جذاب فناوری نوظهور و محصول ایمن، قابل اعتماد و کارآمد که برای جامعه کاربرانش ارزش به ارمغان می آورد، وجود دارد. برای مدل‌های ML خود، عملکرد حافظه، ذخیره انرژی و زمان اجرا را بهینه می‌کنیم. ما همچنین یک زیرساخت قوی ایجاد کرده‌ایم، هسته هوش مصنوعی را با نرم‌افزاری برای اتصال آن به بقیه سیستم احاطه کرده‌ایم، و یک سیستم یکپارچه برای به‌روزرسانی‌های مکرر با اضافه شدن ویژگی‌های جدید ایجاد کرده‌ایم. 

گردآوری دانشمندان و مهندسان Roblox با برخی از تیزبین ترین ذهن ها در جامعه علمی یک جزء کلیدی در دستیابی ما به فناوری پیشرفت است. ما مفتخریم که این نتایج اولیه را به اشتراک می‌گذاریم و از جامعه پژوهشی دعوت می‌کنیم تا با ما همکاری کنند و بر این پیشرفت‌ها تمرکز کنند.

تمبر زمان:

بیشتر از Roblox