ControlNet і StarCoder: прогрес у дослідженнях Roblox для Generative AI - Blog Roblox

ControlNet і StarCoder: прогрес у дослідженнях Roblox для Generative AI – Blog Roblox

Вихідний вузол: 2864546

Ми глибоко віддані проведенню відповідальних досліджень із залученням спільноти в усіх сферах, включаючи штучний інтелект (ШІ). Ми досягаємо цього завдяки прозорості, зовнішній перевірці та підтримці академічних установ через співпрацю та спонсорство. Цей підхід дозволяє нам прискорити досягнення найбільших досягнень у наших трьох сферах: генеративний штучний інтелект, масштабування центру обробки даних і онлайн-безпека. Сьогодні ми ділимося ідеєю та результатами двох наших генеративних дослідницьких проектів ШІ. ControlNet це нейронна мережа з відкритим вихідним кодом, яка додає умовне керування моделям генерації зображень для більш точних виходів зображень. StarCoder це найсучасніша велика мовна модель (LLM) з відкритим кодом для створення коду. 

Обидва проекти є академічною та промисловою співпрацею. Обидва також зосереджені на радикально більш потужних інструментах для наших творців: 3D-художників і програмістів. Найважливіше, і відповідно до нашої місії інвестування в довгострокову перспективу через трансформаційні дослідження, ці проекти демонструють ознаки прогресу в фундаментальному науковому розумінні та контролі ШІ для багатьох застосувань. Ми віримо, що ця робота може суттєво вплинути на майбутнє Roblox і галузі в цілому, і з гордістю відкрито ділимося нею.

ControlNet

Нещодавні прориви штучного інтелекту — зокрема методи машинного навчання на основі даних (ML) із використанням глибоких нейронних мереж — сприяли розвитку нових інструментів створення. Ці досягнення включають наші Code Assist та Генератор матеріалів функції, які є загальнодоступними в нашому безкоштовному інструменті Roblox Studio. Сучасні генеративні системи ШІ містять структури даних, які називаються моделями, які вдосконалюються за допомогою мільярдів операцій навчання. Найпотужніші моделі сьогодні є мультимодальними, тобто вони тренуються на суміші медіа, як-от текст, зображення та аудіо. Це дозволяє їм знаходити загальні базові значення в усіх носіях, а не переналаштовувати певні елементи набору даних, такі як кольорові палітри чи правопис. 

Ці нові системи штучного інтелекту мають значну експресивну силу, але ця сила в основному керується «швидким проектуванням». Це означає просто змінити введений текст, подібно до уточнення запиту пошукової системи, якщо він не повернув те, що ви очікували. Хоча це може бути захоплюючим способом гри з новою технологією, такою як ненаправлений чат-бот, це не ефективний спосіб створення вмісту. Натомість творцям потрібні потужні інструменти, які вони можуть ефективно використовувати за допомогою активного контролю, а не здогадок.

Проект ControlNet є кроком до вирішення деяких із цих проблем. Він пропонує ефективний спосіб використовувати потужність великих попередньо навчених моделей ШІ, таких як Стабільна дифузія, не покладаючись на оперативне проектування. ControlNet збільшує контроль, дозволяючи художнику надавати додаткові умови введення, окрім лише текстових підказок. Дослідник Roblox і професор Стенфордського університету Манеш Агравала та дослідник Стенфордського університету Лвмін Чжан формулюють цілі нашого спільного проекту ControlNet як:

  1. Розробіть кращий інтерфейс користувача для генеративних інструментів ШІ. Відходьте від незрозумілих оперативних маніпуляцій і створюйте більш природні способи передачі ідеї чи творчої концепції.
  2. Забезпечте більш точний просторовий контроль, щоб вийти за рамки створення «зображення, схожого на» або «зображення в стилі…», щоб реалізувати саме той образ, який творець має в голові.
  3. Перетворіть генеративне навчання штучного інтелекту на більш ефективний з обчислень процес, який виконується швидше, потребує менше пам’яті та споживає менше електроенергії.
  4. Розширте ШІ, що генерує зображення, у багаторазовий будівельний блок. Потім його можна інтегрувати зі стандартизованою обробкою зображень і конвеєрами 3D-рендерінгу. 

Дозволяючи творцям надавати додаткове зображення для просторового контролю, ControlNet забезпечує більший контроль над кінцевим згенерованим зображенням. Наприклад, підказка «самець оленя з рогами» в існуючому генераторі перетворення тексту в зображення створила широкий спектр зображень, як показано нижче:

Ці зображення, створені за допомогою попередніх рішень штучного інтелекту, привабливі, але, на жаль, по суті довільні результати — немає контролю. У цих попередніх системах генерування зображень немає способу керувати виводом, окрім перегляду текстової підказки.

Завдяки ControlNet творець тепер має набагато більше можливостей. Одним із способів використання ControlNet є надання як підказки, так і вихідного зображення для визначення загальної форми, якої слід дотримуватися. У цьому випадку отримані зображення будуть різноманітними, але, що важливо, збережуть задану форму:

Творець міг також вказати набір країв, зображення взагалі без підказок або багато інших способів надання виразного введення в систему.

Щоб створити ControlNet, ми клонуємо вагові коефіцієнти в мережі великої дифузійної моделі на дві версії. Одним є навчена мережа (це забезпечує керування; це «ControlNet»), а інше — це заблокована мережа. Заблокована мережа зберігає можливості, отримані з мільярдів зображень, і може бути будь-яким попереднім генератором зображень. Потім ми навчаємо мережу, яку можна навчити, на наборах даних для певного завдання, щоб навчитися умовного керування з додаткового зображення. Навчальні та заблоковані копії з’єднані з унікальним типом шару згортки, який ми називаємо нульова згортка, де ваги згортки поступово зростають від нуля до оптимізованих параметрів у вивчений спосіб, що означає, що спочатку вони не впливають, і система отримує оптимальний рівень контролю для застосування до заблокованої мережі.

Оскільки вихідні ваги зберігаються через заблоковану мережу, модель добре працює з навчальними наборами даних різного розміру. А шар нульової згортки робить процес набагато швидшим — ближче до тонкого налаштування дифузійної моделі, ніж навчання нових шарів з нуля. 

Ми провели широку перевірку цієї техніки для створення зображень. ControlNet не лише покращує якість вихідного зображення. Це також робить навчання мережі для виконання конкретного завдання більш ефективним і практичним для масштабного розгортання для мільйонів наших творців. Під час експериментів ControlNet забезпечує до 10-кратного підвищення ефективності порівняно з альтернативними сценаріями, які потребують повного перенавчання моделі. Ця ефективність має вирішальне значення, оскільки процес створення нових моделей займає багато часу та ресурсів порівняно з традиційною розробкою програмного забезпечення. Підвищення ефективності навчання економить електроенергію, знижує витрати та збільшує швидкість додавання нових функцій.

Унікальна структура ControlNet означає, що він добре працює з навчальними наборами даних різного розміру та на різних типах носіїв. Доведено, що ControlNet працює з багатьма різними типами засобів керування, включаючи фотографії, намальовані каракулі та відкрита поза визначення пози. Ми вважаємо, що ControlNet можна застосовувати до багатьох різних типів носіїв для генеративного AI-контенту. Це дослідження є відкритим і загальнодоступним для спільноти, щоб експериментувати з нею та розвивати її, і ми продовжуватимемо надавати більше інформації, коли ми робимо нові відкриття з нею.

StarCoder

Генеративний штучний інтелект можна застосувати для створення зображень, аудіо, тексту, вихідного коду програми або будь-якої іншої форми мультимедійного вмісту. Однак у різних засобах масової інформації найбільш успішними є ті додатки, результати яких оцінюються суб’єктивно. Наприклад, зображення має успіх, коли воно приваблює глядача. Певні помилки на зображенні, як-от дивні риси на краях або навіть зайвий палець на руці, можуть бути непомічені, якщо загальне зображення переконливе. Подібним чином у вірші чи оповіданні можуть бути граматичні помилки чи деякі логічні стрибки, але якщо суть переконлива, ми схильні їх пробачати. 

Інший спосіб розгляду суб'єктивних критеріїв полягає в тому, що простір результатів є безперервним. Один результат може бути кращим за інший, але немає конкретного порогу, за якого результат є цілком прийнятним або неприйнятним. Для інших областей і форм медіа результат оцінюється об’єктивно. Наприклад, вихідний код, створений помічником із генеративного програмування штучного інтелекту, правильний чи ні. Якщо код не може пройти перевірку, він проходить невдачу, навіть якщо він схожий на код правильного рішення. Це дискретний простір результатів. У дискретному просторі важче досягти успіху як через суворіші критерії, так і через те, що неможливо поступово наблизитися до хорошого рішення — код ламається до тих пір, поки він раптом не запрацює.

LLM, які використовуються для виведення тексту, добре працюють для суб’єктивних безперервних програм, таких як чат-боти. Здається, вони також добре працюють для створення прози багатьма людськими мовами, такими як англійська та французька. Однак існуючі LLM, здається, не працюють так добре Програмування мови, як вони це роблять для тих людських мов. Код — це форма математики, яка є зовсім іншим, об’єктивним способом вираження значення, ніж природна мова. Це дискретний простір результатів замість безперервного простору результатів. Щоб досягти найвищої якості генерації коду мовою програмування для творців Roblox, нам потрібні методи застосування LLM, які можуть добре працювати в цьому дискретному об’єктивному просторі. Нам також потрібні надійні методи для вираження функціональності коду незалежно від синтаксису певної мови, наприклад Lua, JavaScript або Python. 

StarCoder, новий найсучасніший LLM з відкритим вихідним кодом для створення коду, є серйозним прогресом у цій технічній проблемі та дійсно відкритим LLM для всіх. StarCoder є одним із результатів BigCode дослідницький консорціум, до складу якого входять понад 600 членів із академічних та галузевих дослідницьких лабораторій. Дослідник Roblox і професор Північно-східного університету Арджун Гуха допоміг очолити цю команду в розробці StarCoder. Ці перші опубліковані результати зосереджені виключно на аспекті коду, який є областю, у якій галузь найбільше потребує нового розвитку, враховуючи відносний успіх суб’єктивних методів. 

Щоб забезпечити генеративний штучний інтелект за допомогою LLM, які підтримують більшу екосистему штучного інтелекту та спільноту Roblox, нам потрібні моделі, які пройшли навчання виключно на відповідних ліцензованих і відповідально зібраних наборах даних. Вони також повинні мати необмежені ліцензії, щоб будь-хто міг ними користуватися, будувати на них і робити внески в екосистему. Сьогодні найпотужніші LLM є власністю або ліцензовані для обмежених форм комерційного використання, що забороняє або обмежує можливість дослідників експериментувати з самою моделлю. На відміну від цього, StarCoder є справді відкритою моделлю, створеною коаліцією галузевих і академічних дослідників і ліцензованою без обмежень для комерційного застосування в будь-якому масштабі. StarCoder навчається виключно на відповідально зібраному та відповідно ліцензованому вмісті. Спочатку модель навчалася на відкритому коді, і для тих, хто не бажає використовувати свій код для навчання, доступний процес відмови.

Сьогодні StarCoder працює на 86 різних мовах програмування, включаючи Python, C++ і Java. На момент публікації статті він перевершував усі LLM з відкритим кодом, які підтримують кілька мов, і навіть був конкурентоспроможним із багатьма закритими пропрієтарними моделями. 

StarCoder LLM – це внесок в екосистему, але наші дослідницькі цілі набагато глибші. Найбільший вплив цього дослідження полягає в просуванні семантичного моделювання як об’єктивних, так і суб’єктивних мультимодальних моделей, включаючи код, текст, зображення, мову, відео, а також для підвищення ефективності навчання за допомогою методів передачі домену. Ми також очікуємо отримати глибоке розуміння зручності обслуговування та керованості генеративного ШІ для об’єктивних завдань, таких як генерація вихідного коду. Існує велика різниця між інтригуючою демонстрацією нових технологій і безпечним, надійним і ефективним продуктом, який приносить цінність спільноті користувачів. Для наших моделей ML ми оптимізуємо продуктивність за обсягом пам’яті, енергозбереженням і часом виконання. Ми також розробили надійну інфраструктуру, оточили ядро ​​штучного інтелекту програмним забезпеченням для підключення його до решти системи та розробили бездоганну систему для частих оновлень у міру додавання нових функцій. 

Об’єднання вчених та інженерів Roblox із одними з найгостріших умів наукового співтовариства є ключовим компонентом у нашому прагненні до проривних технологій. Ми з гордістю ділимося цими першими результатами та запрошуємо дослідницьке співтовариство співпрацювати з нами та розвивати ці досягнення.

Часова мітка:

Більше від Roblox