ControlNet és StarCoder: Roblox kutatási eredmények a generatív mesterséges intelligencia terén – Roblox Blog

ControlNet és StarCoder: Roblox kutatási fejlesztések a generatív mesterséges intelligencia terén – Roblox Blog

Forrás csomópont: 2864546

Mélyen elkötelezettek vagyunk olyan kutatások folytatása mellett, amelyek felelősségteljes és közösségi tevékenységet folytatnak minden területen, beleértve a mesterséges intelligenciát (AI). Ezt az átláthatóság, a külső hitelesítés, valamint a tudományos intézmények együttműködésen és szponzoráción keresztül történő támogatásán keresztül érjük el. Ez a megközelítés lehetővé teszi számunkra, hogy felgyorsítsuk a legnagyobb előrelépés elérését három fókuszterületünkön: a generatív mesterséges intelligencia, az adatközpontok skálázása és az online biztonság terén. Ma két generatív AI-kutatási projektünk meglátásait és eredményeit osztjuk meg. ControlNet egy nyílt forráskódú neurális hálózat, amely feltételes vezérlést ad a képgeneráló modellekhez a precízebb képkimenetek érdekében. StarCoder egy korszerű nyílt forráskódú nagynyelvi modell (LLM) kódgeneráláshoz. 

Mindkét projekt tudományos és ipari együttműködés. Mindkettő az alkotóink – 3D-s művészek és programozók – számára sokkal hatékonyabb eszközökre összpontosít. Ami a legfontosabb, és összhangban áll küldetésünkkel, miszerint a transzformatív kutatások révén távlati távlatokba fektessünk be, ezek a projektek a mesterséges intelligencia alapvető tudományos megértésében és szabályozásában mutatkozó előrelépéseket mutatják számos alkalmazás esetében. Úgy gondoljuk, hogy ez a munka jelentős hatással lehet a Roblox és a terület egészének jövőjére, és büszkék vagyunk arra, hogy nyíltan megoszthatjuk.

ControlNet

A közelmúltbeli mesterséges intelligencia áttörések – különösen az adatvezérelt gépi tanulási (ML) módszerek mély neurális hálózatokat használva – új előrelépéseket hajtottak végre a teremtőeszközök terén. Ezek az előrelépések közé tartozik a mi Code Assist és a Anyaggenerátor olyan funkciók, amelyek nyilvánosan elérhetők ingyenes eszközünkben, a Roblox Studioban. A modern generatív mesterséges intelligencia rendszerek modelleknek nevezett adatstruktúrákat tartalmaznak, amelyeket több milliárd képzési művelettel finomítanak. Manapság a legerősebb modellek multimodálisak, ami azt jelenti, hogy különféle médiákra, például szövegre, képekre és hangra képezték ki őket. Ez lehetővé teszi számukra, hogy megtalálják a közös mögöttes jelentéseket a médiában, ahelyett, hogy túlillesztették az adathalmaz bizonyos elemeit, például a színpaletákat vagy a helyesírást. 

Ezeknek az új AI-rendszereknek jelentős kifejezőerejük van, de ezt az erőt nagyrészt az „azonnali tervezés” irányítja. Ez azt jelenti, hogy egyszerűen módosítani kell a beviteli szöveget, hasonlóan a keresőmotor lekérdezésének finomításához, ha az nem azt adja vissza, amit várt. Bár ez vonzó módja lehet egy új technológiával, például egy irányítatlan chatbottal való játéknak, ez nem hatékony vagy eredményes módja a tartalom létrehozásának. Az alkotóknak ehelyett olyan elektromos eszközökre van szükségük, amelyeket hatékonyan ki tudnak használni aktív vezérléssel, nem pedig találgatással.

A ControlNet projekt egy lépés e kihívások némelyikének megoldása felé. Hatékony módot kínál a nagy előre kiképzett mesterséges intelligencia modellek erejének kihasználására, mint pl Stabil diffúzió, anélkül, hogy a gyors tervezésre támaszkodna. A ControlNet növeli az irányítást azáltal, hogy lehetővé teszi az előadó számára, hogy a szöveges felszólításokon túl további beviteli feltételeket biztosítson. A Roblox kutató és a Stanford Egyetem professzora, Maneesh Agrawala és Lvmin Zhang, a Stanford kutatója a következőképpen fogalmazza meg közös ControlNet projektünk céljait:

  1. A generatív AI-eszközök jobb felhasználói felületének fejlesztése. Lépjen túl a homályos azonnali manipuláción, és építsen egy ötlet vagy kreatív koncepció közlésének természetesebb módjait.
  2. Pontosabb térbeli vezérlést biztosítanak, túlmutatva a „szerű kép” vagy „a...stílusú kép” létrehozásán, hogy pontosan azt a képet valósítsák meg, amelyik az alkotó fejében van.
  3. Alakítsa át a generatív mesterséges intelligencia képzést egy számítástechnikailag hatékonyabb folyamattá, amely gyorsabban fut, kevesebb memóriát igényel és kevesebb elektromos energiát fogyaszt.
  4. Bővítse ki a képgeneratív AI-t egy újrafelhasználható építőkockává. Ezután integrálható szabványos képfeldolgozó és 3D renderelő folyamatokkal. 

Azáltal, hogy lehetővé teszi az alkotók számára, hogy további képet biztosítsanak a térbeli szabályozáshoz, a ControlNet nagyobb irányítást biztosít a végső generált kép felett. Például az „agancsos hím szarvas” üzenet egy meglévő szöveg-képgenerátoron a képek széles skáláját hozta létre, az alábbiak szerint:

Ezek a korábbi mesterséges intelligencia megoldásokkal generált képek vonzóak, de sajnos lényegében önkényes eredmények – nincs kontroll. Azokon a korábbi képgeneráló rendszereken nincs mód a kimenet irányítására, kivéve a szöveges prompt felülvizsgálatát.

A ControlNet segítségével az alkotónak sokkal nagyobb ereje van. A ControlNet használatának egyik módja egy prompt és egy forráskép megadása a követendő általános alakzat meghatározásához. Ebben az esetben az eredményül kapott képek továbbra is változatosak lennének, de döntően megőrzik a megadott formát:

A készítő megadhatta volna az élek halmazát, egy prompt nélküli képet, vagy sok más módot a rendszer kifejező bemenetének biztosítására.

A ControlNet létrehozásához a súlyokat egy nagy diffúziós modell hálózatán belül két változatra klónozzuk. Az egyik a betanítható hálózat (ez biztosítja a vezérlést; ez a „ControlNet”), a másik pedig a zárolt hálózat. A zárolt hálózat megőrzi a több milliárd képből tanult képességet, és bármely korábbi képgenerátor lehet. Ezután betanítjuk a betanítható hálózatot a feladatspecifikus adatkészletekre, hogy megtanuljuk a feltételes vezérlést a kiegészítő képből. A betanítható és zárolt másolatok egy egyedi típusú konvolúciós réteggel kapcsolódnak össze, amelyet mi hívunk nulla konvolúció, ahol a konvolúciós súlyok fokozatosan, tanult módon, nulláról optimalizált paraméterekké nőnek, ami azt jelenti, hogy kezdetben nincs befolyásuk, és a rendszer levezeti az optimális szabályozási szintet a zárolt hálózaton.

Mivel az eredeti súlyok a zárolt hálózaton keresztül megmaradnak, a modell jól működik különböző méretű edzési adatkészletekkel. A zéró konvolúciós réteg pedig sokkal gyorsabbá teszi a folyamatot – közelebb áll a diffúziós modell finomhangolásához, mint az új rétegek elölről történő betanításához. 

Ennek a technikának kiterjedt validálását végeztük el a képgeneráláshoz. A ControlNet nem csak a kimeneti kép minőségét javítja. Hatékonyabbá és praktikusabbá teszi a hálózat képzését egy adott feladathoz, és így több millió alkotónk számára is gyakorlatiasabbá válik. A kísérletekben a ControlNet akár 10-szeres hatékonyságnövekedést biztosít azokhoz az alternatív forgatókönyvekhez képest, amelyeknél a modellt teljesen újra kell tanítani. Ez a hatékonyság kritikus fontosságú, mivel az új modellek létrehozásának folyamata idő- és erőforrás-igényes a hagyományos szoftverfejlesztéshez képest. Az edzés hatékonyabbá tétele energiát takarít meg, csökkenti a költségeket, és növeli az új funkciók hozzáadásának arányát.

A ControlNet egyedi felépítése azt jelenti, hogy jól működik különböző méretű képzési adatkészletekkel és sokféle adathordozón. A ControlNet számos különféle vezérlési móddal működik, beleértve a fényképeket, kézzel rajzolt firkákat és openpose pózfelismerés. Meggyőződésünk, hogy a ControlNet sokféle médiára alkalmazható generatív mesterséges intelligencia tartalomhoz. Ez a kutatás nyílt és nyilvános hogy a közösség kísérletezzen vele, és építhessen rá, és továbbra is több információval szolgálunk majd, amint több felfedezést teszünk vele.

StarCoder

A generatív mesterséges intelligencia felhasználható képek, hangok, szövegek, programforráskódok vagy bármilyen más multimédiás formátum előállítására. A különböző médiákban azonban általában azok az alkalmazások a legsikeresebbek, amelyeknél szubjektíven ítélik meg a kimenetet. Például egy kép akkor sikeres, ha vonzó az emberi néző számára. Előfordulhat, hogy a kép bizonyos hibáit, például furcsa vonásokat a széleken, vagy akár egy extra ujjat a kézen, nem észlelünk, ha az összkép lenyűgöző. Hasonlóképpen, egy versben vagy novellában lehetnek nyelvtani hibák vagy logikai ugrások, de ha a lényeg meggyőző, hajlamosak vagyunk ezeket megbocsátani. 

A szubjektív kritériumok figyelembevételének másik módja az, hogy az eredménytér folytonos. Lehet, hogy az egyik eredmény jobb, mint a másik, de nincs olyan konkrét küszöb, amelynél az eredmény teljesen elfogadható vagy elfogadhatatlan. Más tartományok és médiaformák esetében a kimenetet objektíven ítélik meg. Például a generatív AI programozási asszisztens által előállított forráskód vagy helyes, vagy nem. Ha a kód nem megy át egy teszten, akkor meghiúsul, még akkor is, ha hasonló az érvényes megoldás kódjához. Ez egy diszkrét eredménytér. Nehezebb a siker egy diszkrét térben egyrészt azért, mert szigorúbbak a kritériumok, másrészt azért, mert nem lehet fokozatosan megközelíteni egy jó megoldást – a kódot addig bontják, amíg hirtelen nem működik.

A szövegkiadáshoz használt LLM-ek jól működnek szubjektív, folyamatos alkalmazásokhoz, például chatbotokhoz. Úgy tűnik, jól működnek a prózageneráció számára is számos emberi nyelven, például angolul és franciául. Úgy tűnik azonban, hogy a meglévő LLM-ek nem működnek olyan jól programozás olyan nyelveket, mint az emberi nyelveket. A kód a matematikának egy olyan formája, amely egészen más, objektív módja a jelentés kifejezésének, mint a természetes nyelv. Ez egy diszkrét eredménytér a folytonos eredménytér helyett. Ahhoz, hogy a Roblox készítői számára a programozási nyelv kódgenerálásának legmagasabb színvonalát elérhessük, olyan LLM-ek alkalmazási módszereire van szükségünk, amelyek jól működnek ebben a diszkrét, objektív térben. Robusztus módszerekre van szükségünk a kódfunkciók egy adott nyelvi szintaxistól független kifejezéséhez, például Lua, JavaScript vagy Python. 

A StarCoder, egy új, legkorszerűbb, nyílt forráskódú LLM kódgeneráláshoz, jelentős előrelépést jelent e technikai kihívásban, és egy valóban nyitott LLM mindenki számára. A StarCoder az egyik eredménye a nagy kód kutatókonzorcium, amely több mint 600 tagot foglal magában tudományos és ipari kutatólaboratóriumokban. A Roblox kutatója és az Északkeleti Egyetem professzora, Arjun Guha segített a csapat vezetésében a StarCoder fejlesztésében. Ezek az első publikált eredmények kizárólag a kódszempontra koncentrálnak, amely az a terület, ahol a szubjektív módszerek viszonylagos sikeressége miatt a területnek leginkább új növekedésre van szüksége. 

Ahhoz, hogy generatív mesterséges intelligenciát biztosítsunk az LLM-eken keresztül, amelyek támogatják a nagyobb mesterségesintelligencia-ökoszisztémát és a Roblox közösséget, olyan modellekre van szükségünk, amelyeket kizárólag a megfelelően licencelt és felelősségteljesen összegyűjtött adatkészletekre képeztek ki. Ezeknek korlátozásoktól mentes licencekkel is rendelkezniük kell, hogy bárki felhasználhassa őket, építhessen rájuk, és hozzájárulhasson az ökoszisztémához. Manapság a legerősebb LLM-ek szabadalmaztatottak, vagy korlátozott kereskedelmi használatra engedélyezettek, ami megtiltja vagy korlátozza a kutatók azon képességét, hogy magával a modellel kísérletezzenek. Ezzel szemben a StarCoder egy valóban nyitott modell, amelyet ipari és akadémiai kutatók koalíciója hozta létre, és korlátozás nélkül engedélyezett kereskedelmi felhasználásra bármilyen léptékben. A StarCoder kizárólag a felelősségteljesen összegyűjtött, megfelelő licenccel rendelkező tartalmakra van kiképezve. A modellt eredetileg nyilvános kóddal képezték ki, és egy leiratkozási folyamat áll rendelkezésre azok számára, akik nem szeretnék kódjukat használni a képzéshez.

Napjainkban a StarCoder 86 különböző programozási nyelven dolgozik, köztük Python, C++ és Java. A lap megjelenése óta minden olyan nyílt kódú LLM-et felülmúlt, amely több nyelvet is támogat, és még sok zárt, szabadalmaztatott modellel is versenyképes volt. 

A StarCoder LLM hozzájárul az ökoszisztémához, de kutatási célunk sokkal mélyebbre nyúlik. Ennek a kutatásnak a legnagyobb hatása az objektív és szubjektív multimodális modellek szemantikai modellezésének fejlesztése, beleértve a kódot, szöveget, képeket, beszédet, videót, valamint a képzés hatékonyságának növelését tartományátviteli technikákkal. Arra is számítunk, hogy mély betekintést nyerünk a generatív mesterséges intelligencia karbantarthatóságába és irányíthatóságába olyan objektív feladatokhoz, mint például a forráskód generálása. Nagy különbség van a feltörekvő technológia izgalmas bemutatója és egy biztonságos, megbízható és hatékony termék között, amely értéket hoz a felhasználói közösség számára. ML modelljeink esetében a teljesítményt a memória helyigénye, az energiatakarékosság és a végrehajtási idő alapján optimalizáljuk. Kifejlesztettünk egy robusztus infrastruktúrát is, a mesterséges intelligencia magját olyan szoftverrel vettük körül, amellyel összekapcsolható a rendszer többi részével, és kifejlesztettünk egy zökkenőmentes rendszert az új funkciók hozzáadásával történő gyakori frissítéshez. 

A Roblox tudósainak és mérnökeinek összehozása a tudományos közösség legélesebb elméivel kulcsfontosságú eleme az áttörést jelentő technológiai törekvéseinknek. Büszkék vagyunk arra, hogy megoszthatjuk ezeket a korai eredményeket, és felkérjük a kutatói közösséget, hogy vegyenek részt velünk, és építsenek ezekre a fejlesztésekre.

Időbélyeg:

Még több roblox