ControlNet ja StarCoder: Roblox-tutkimuksen edistysaskeleet generatiiviseen tekoälyyn - Roblox-blogi

ControlNet ja StarCoder: Roblox-tutkimuksen edistysaskeleet generatiiviseen tekoälyyn – Roblox-blogi

Lähdesolmu: 2864546

Olemme syvästi sitoutuneet jatkamaan vastuullista ja yhteisöllistä tutkimusta kaikilla aloilla, mukaan lukien tekoäly. Saavutamme tämän läpinäkyvyyden, ulkoisen validoinnin ja akateemisten instituutioiden tukemisen kautta yhteistyön ja sponsoroinnin kautta. Tämän lähestymistavan avulla voimme nopeuttaa suurimman edistyksen saavuttamista kolmella painopistealueellamme: luova tekoäly, datakeskusten skaalaus ja verkkoturvallisuus. Tänään jaamme oivalluksia ja tuloksia kahdesta generatiivisesta tekoälytutkimusprojektistamme. ControlNet on avoimen lähdekoodin hermoverkko, joka lisää ehdollisen ohjauksen kuvanluontimalleihin tarkempien kuvatulosteiden saamiseksi. StarCoder on uusinta avoimen lähdekoodin suurkielimalli (LLM) koodin luomiseen. 

Molemmat hankkeet ovat akateemista ja teollisuuden yhteistyötä. Molemmat ovat myös keskittyneet radikaalisti tehokkaampiin työkaluihimme luojillemme: 3D-taiteilijoille ja ohjelmoijille. Mikä tärkeintä ja jotka ovat linjassa tavoitteemme kanssa investoida pitkäjänteisyyteen transformatiivisen tutkimuksen kautta, nämä hankkeet osoittavat edistystä tieteellisessä perustavanlaatuisessa tekoälyn ymmärtämisessä ja hallinnassa monissa sovelluksissa. Uskomme, että tällä työllä voi olla merkittävä vaikutus Robloxin ja koko alan tulevaisuuteen ja jaamme sen ylpeänä avoimesti.

ControlNet

Äskettäiset tekoälyn läpimurrot – erityisesti dataohjatut koneoppimismenetelmät (ML), joissa käytetään syviä hermoverkkoja – ovat edistäneet luontityökalujen uutta kehitystä. Nämä edistysaskeleet sisältävät meidän Koodiapu ja Materiaalin generaattori ominaisuuksia, jotka ovat julkisesti saatavilla ilmaisessa Roblox Studio -työkalussamme. Nykyaikaiset generatiiviset tekoälyjärjestelmät sisältävät tietorakenteita, joita kutsutaan malleiksi ja joita jalostetaan miljardeissa harjoitusoperaatioissa. Nykypäivän tehokkaimmat mallit ovat multimodaalisia, mikä tarkoittaa, että ne on koulutettu erilaisille medioille, kuten tekstille, kuville ja äänelle. Tämä antaa heille mahdollisuuden löytää yhteiset taustalla olevat merkitykset eri medioissa sen sijaan, että ne sovittaisivat liikaa tietojoukon tiettyihin elementteihin, kuten väripaletteihin tai oikeinkirjoitukseen. 

Näillä uusilla tekoälyjärjestelmillä on merkittävä ilmaisuvoima, mutta se voima ohjataan suurelta osin "nopealla suunnittelulla". Tämä tarkoittaa yksinkertaisesti syötetyn tekstin muuttamista, kuten hakukonekyselyn tarkentamista, jos se ei palauttanut odotuksiasi. Vaikka tämä voi olla mukaansatempaava tapa pelata uudella tekniikalla, kuten ohjaamattomalla chatbotilla, se ei ole tehokas tapa luoda sisältöä. Sen sijaan sisällöntuottajat tarvitsevat sähkötyökaluja, joita he voivat hyödyntää tehokkaasti aktiivisella ohjauksella arvauksen sijaan.

ControlNet-projekti on askel kohti joidenkin näistä haasteista ratkaisemista. Se tarjoaa tehokkaan tavan valjastaa suurten esikoulutettujen tekoälymallien, kuten esim Vakaa diffuusio, luottamatta nopeaan suunnitteluun. ControlNet lisää hallintaa sallimalla taiteilijan tarjota muita syöttöehtoja pelkkien tekstikehotteiden lisäksi. Roblox-tutkija ja Stanfordin yliopiston professori Maneesh Agrawala ja Stanfordin tutkija Lvmin Zhang asettavat yhteisen ControlNet-projektimme tavoitteet seuraavasti:

  1. Kehitä parempi käyttöliittymä generatiivisille tekoälytyökaluille. Siirry hämärän nopean manipuloinnin ulkopuolelle ja rakenna luonnollisempia tapoja kommunikoida idea tai luova konsepti.
  2. Tarjoa tarkempaa tilahallintaa, ei muuta kuin "kuvan kaltaisen kuvan" tai "tyylisen kuvan luomista", jotta voit toteuttaa täsmälleen sen kuvan, joka luojalla on mielessään.
  3. Muunna generatiivinen tekoälyharjoittelu laskentatehokkaammaksi prosessiksi, joka toimii nopeammin, vaatii vähemmän muistia ja kuluttaa vähemmän sähköenergiaa.
  4. Laajenna kuvan luova tekoäly uudelleenkäytettäväksi rakennuspalikaksi. Sen jälkeen se voidaan integroida standardoituun kuvankäsittelyyn ja 3D-renderöintiputkiin. 

ControlNet antaa tekijöille mahdollisuuden tarjota lisäkuvan tilahallintaa varten, joten se antaa paremman hallinnan lopulliseen luotuun kuvaan. Esimerkiksi olemassa olevan tekstin kuvaksi -generaattorin kehote "uroshirviö, jolla on sarvet" tuotti laajan valikoiman kuvia, kuten alla on esitetty:

Nämä aiemmilla tekoälyratkaisuilla luodut kuvat ovat houkuttelevia, mutta valitettavasti pohjimmiltaan mielivaltaisia ​​tuloksia – ei ole hallintaa. Näissä aiemmissa kuvanmuodostusjärjestelmissä ei ole mitään keinoa ohjata tulosta, paitsi tekstikehotteen tarkistaminen.

ControlNetin avulla luojalla on nyt paljon enemmän valtaa. Yksi tapa käyttää ControlNetiä on tarjota sekä kehote että lähdekuva noudatettavan yleisen muodon määrittämiseksi. Tässä tapauksessa tuloksena saadut kuvat tarjoavat silti vaihtelua, mutta mikä tärkeintä, ne säilyttävät määritellyn muodon:

Tekijä olisi myös voinut määrittää joukon reunoja, kuvan ilman kehotetta tai monia muita tapoja antaa ilmaisukykyinen syöte järjestelmään.

ControlNetin luomiseksi kloonaamme suuren diffuusiomallin verkon painot kahteen versioon. Yksi on koulutettava verkko (tämä tarjoaa ohjauksen; se on "ControlNet") ja toinen on lukittu verkko. Lukittu verkko säilyttää miljardeista kuvista opitun kyvyn ja voi olla mikä tahansa aikaisempi kuvageneraattori. Koulutamme sitten koulutettavaa verkkoa tehtäväkohtaisilla tietojoukoilla ehdollisen ohjauksen oppimiseksi lisäkuvasta. Koulutettavat ja lukitut kopiot yhdistetään ainutlaatuisella konvoluutiokerroksella, jota kutsumme nolla konvoluutio, jossa konvoluutiopainot kasvavat vähitellen nollasta optimoituihin parametreihin opitulla tavalla, mikä tarkoittaa, että niillä ei aluksi ole vaikutusta ja järjestelmä saa optimaalisen ohjaustason lukittuun verkkoon.

Koska alkuperäiset painot säilyvät lukitun verkon kautta, malli toimii hyvin erikokoisten harjoitustietosarjojen kanssa. Ja nollakonvoluutiokerros tekee prosessista paljon nopeamman – lähempänä diffuusiomallin hienosäätöä kuin uusien kerrosten opettamista tyhjästä. 

Olemme suorittaneet tämän tekniikan laajan validoinnin kuvien luomista varten. ControlNet ei vain paranna tulostetun kuvan laatua. Se tekee myös verkoston kouluttamisesta tiettyä tehtävää varten tehokkaampaa ja siten käytännöllisempää, jotta se voidaan ottaa käyttöön laajassa mittakaavassa miljoonille sisällöntuottajillemme. Kokeissa ControlNet tarjoaa jopa 10-kertaisen tehokkuuden lisäyksen verrattuna vaihtoehtoisiin skenaarioihin, joissa malli on koulutettava kokonaan uudelleen. Tämä tehokkuus on kriittistä, sillä uusien mallien luontiprosessi on aikaa vievää ja resurssiintensiivistä verrattuna perinteiseen ohjelmistokehitykseen. Harjoittelun tehostaminen säästää sähköä, alentaa kustannuksia ja lisää nopeutta, jolla uusia toimintoja voidaan lisätä.

ControlNetin ainutlaatuinen rakenne tarkoittaa, että se toimii hyvin erikokoisten harjoitustietosarjojen ja useiden erityyppisten tietovälineiden kanssa. ControlNetin on osoitettu toimivan monien erityyppisten ohjausmenetelmien kanssa, mukaan lukien valokuvat, käsin piirretyt kirjoitukset ja avoin asennon tunnistus. Uskomme, että ControlNetiä voidaan soveltaa moniin erilaisiin mediatyyppeihin luovaa tekoälysisältöä varten. Tämä tutkimus on avointa ja julkista jotta yhteisö voi kokeilla ja kehittää sitä, ja jatkamme lisätietojen esittämistä, kun teemme lisää löytöjä sen avulla.

StarCoder

Generatiivista tekoälyä voidaan soveltaa kuvien, äänen, tekstin, ohjelman lähdekoodin tai minkä tahansa muun multimediamuodon tuottamiseen. Eri medioissa menestyneimmät sovellukset ovat kuitenkin yleensä sellaisia, joiden tuloksia arvioidaan subjektiivisesti. Esimerkiksi kuva onnistuu, kun se vetoaa ihmiskatsojaan. Tietyt virheet kuvassa, kuten outoja piirteitä reunoilla tai jopa ylimääräinen sormi kädessä, eivät välttämättä huomaa, jos kokonaiskuva on vakuuttava. Samoin runossa tai novellissa voi olla kielioppivirheitä tai loogisia harppauksia, mutta jos ydin on vakuuttava, annamme ne anteeksi. 

Toinen tapa tarkastella subjektiivisia kriteerejä on, että tulosavaruus on jatkuva. Yksi tulos voi olla parempi kuin toinen, mutta ei ole olemassa erityistä kynnystä, jolla tulos on täysin hyväksyttävä tai ei-hyväksyttävä. Muilla aloilla ja mediamuodoissa tuotos arvioidaan objektiivisesti. Esimerkiksi generatiivisen AI-ohjelmointiavustajan tuottama lähdekoodi on joko oikea tai ei. Jos koodi ei läpäise testiä, se epäonnistuu, vaikka se olisi samanlainen kuin kelvollisen ratkaisun koodi. Tämä on erillinen tulosavaruus. Diskreetissä tilassa menestyminen on vaikeampaa, koska kriteerit ovat tiukemmat ja koska hyvää ratkaisua ei voi lähestyä asteittain – koodi hajoaa, kunnes se yhtäkkiä toimii.

Tekstin tulostamiseen käytetyt LLM:t toimivat hyvin subjektiivisissa, jatkuvissa sovelluksissa, kuten chatboteissa. Ne näyttävät myös toimivan hyvin proosasukupolvelle monilla ihmiskielillä, kuten englanniksi ja ranskaksi. Nykyiset LLM:t eivät kuitenkaan näytä toimivan yhtä hyvin ohjelmointi kieliä, kuten ne tekevät noille ihmiskielille. Koodi on matematiikan muoto, joka on hyvin erilainen, objektiivinen tapa ilmaista merkitystä kuin luonnollinen kieli. Se on diskreetti tulosavaruus jatkuvan tulosavaruuden sijaan. Saavuttaaksemme korkealaatuisimman ohjelmointikielen koodin luomisen Roblox-tekijöille, tarvitsemme LLM:ien soveltamismenetelmiä, jotka voivat toimia hyvin tässä erillisessä, objektiivisessa tilassa. Tarvitsemme myös vahvoja menetelmiä koodin toiminnallisuuden ilmaisemiseen tietystä kielen syntaksista riippumatta, kuten Lua, JavaScript tai Python. 

StarCoder, uusi huippuluokan avoimen lähdekoodin LLM koodin luomiseen, on suuri edistysaskel tähän tekniseen haasteeseen ja todella avoin LLM kaikille. StarCoder on yksi tulos iso koodi tutkimuskonsortio, johon kuuluu yli 600 jäsentä akateemisista ja teollisuuden tutkimuslaboratorioista. Roblox-tutkija ja Northeastern Universityn professori Arjun Guha auttoi johtamaan tätä tiimiä kehittämään StarCoderia. Nämä ensimmäiset julkaistut tulokset keskittyvät yksinomaan koodinäkökulmaan, joka on ala, jolla ala tarvitsee eniten uutta kasvua subjektiivisten menetelmien suhteellisen menestyksen vuoksi. 

Jotta voimme tarjota generatiivista tekoälyä laajempaa tekoälyekosysteemiä ja Roblox-yhteisöä tukevien LLM-yritysten kautta, tarvitsemme malleja, jotka on koulutettu yksinomaan asianmukaisesti lisensoitujen ja vastuullisesti kerättyjen tietojoukoissa. Niillä tulee myös olla rajoittamattomat lisenssit, jotta kuka tahansa voi käyttää niitä, rakentaa niiden varaan ja edistää ekosysteemin kehitystä. Nykyään tehokkaimmat LLM:t ovat omistamia tai lisensoituja rajoitettuun kaupalliseen käyttöön, mikä estää tai rajoittaa tutkijoiden mahdollisuuksia kokeilla itse mallia. Sitä vastoin StarCoder on todella avoin malli, joka on luotu teollisuuden ja akateemisten tutkijoiden yhteenliittymän kautta ja lisensoitu ilman rajoituksia kaupalliseen käyttöön missä tahansa mittakaavassa. StarCoder on koulutettu yksinomaan vastuullisesti koottuun, asianmukaisesti lisensoituun sisältöön. Malli opetettiin alun perin julkisella koodilla, ja opt-out-prosessi on saatavilla niille, jotka eivät halua käyttää koodiaan koulutukseen.

Nykyään StarCoder toimii 86 eri ohjelmointikielellä, mukaan lukien Python, C++ ja Java. Lehden julkaisusta lähtien se ylitti kaikki avoimen koodin LLM, joka tukee useita kieliä ja oli jopa kilpailukykyinen monien suljettujen, patentoitujen mallien kanssa. 

StarCoder LLM on panos ekosysteemiin, mutta tutkimustavoitteemme menee paljon syvemmälle. Tämän tutkimuksen suurin vaikutus on sekä objektiivisten että subjektiivisten multimodaalisten mallien, mukaan lukien koodin, tekstin, kuvien, puheen, videon, semanttisen mallintamisen edistäminen ja koulutuksen tehokkuuden lisääminen domain-siirtotekniikoiden avulla. Odotamme myös saavamme syvällisiä näkemyksiä generatiivisen tekoälyn ylläpidettävyydestä ja ohjattavuudesta objektiivisiin tehtäviin, kuten lähdekoodin luomiseen. On suuri ero uuden teknologian kiehtovan esittelyn ja turvallisen, luotettavan ja tehokkaan tuotteen välillä, joka tuo arvoa käyttäjäyhteisölleen. ML-malleissamme optimoimme suorituskyvyn muistitilan, virransäästön ja suoritusajan mukaan. Olemme myös kehittäneet vankan infrastruktuurin, ympäröineet tekoälyytimen ohjelmistolla, joka yhdistää sen muuhun järjestelmään, ja kehittänyt saumattoman järjestelmän säännöllisiin päivityksiin, kun uusia ominaisuuksia lisätään. 

Robloxin tiedemiesten ja insinöörien tuominen yhteen tiedeyhteisön terävimpien tekijöiden kanssa on keskeinen osa teknologian läpimurtohaussamme. Olemme ylpeitä voidessamme jakaa nämä varhaiset tulokset ja kutsua tutkimusyhteisön olemaan tekemisissä kanssamme ja rakentamaan näitä edistysaskeleita.

Aikaleima:

Lisää aiheesta Roblox