ControlNet och StarCoder: Roblox forskningsframsteg för generativ AI - Roblox Blog

ControlNet och StarCoder: Roblox forskningsframsteg för Generativ AI – Roblox Blog

Källnod: 2864546

Vi är djupt engagerade i att bedriva forskning som är ansvarsfull och samhällsengagerad inom alla områden, inklusive artificiell intelligens (AI). Vi uppnår detta genom transparens, extern validering och att stödja akademiska institutioner genom samarbete och sponsring. Detta tillvägagångssätt gör att vi kan påskynda att uppnå de största framstegen inom våra tre fokusområden: generativ AI, skalning av datacenter och onlinesäkerhet. Idag delar vi med oss ​​av insikter och resultat från två av våra generativa AI-forskningsprojekt. ControlNet är ett neuralt nätverk med öppen källkod som lägger till villkorlig kontroll till bildgenereringsmodeller för mer exakta bildutdata. StarCoder är en toppmoderna storspråksmodell med öppen källkod (LLM) för kodgenerering. 

Båda projekten är akademiska och branschsamarbeten. Båda är också fokuserade på radikalt mer kraftfulla verktyg för våra skapare: 3D-artister och programmerare. Viktigast av allt och i linje med vårt uppdrag att investera i långsiktighet genom transformativ forskning, visar dessa projekt indikationer på framsteg inom grundläggande vetenskaplig förståelse och kontroll av AI för många tillämpningar. Vi tror att detta arbete kan ha en betydande inverkan på framtiden för Roblox och fältet som helhet och är stolta över att dela det öppet.

ControlNet

De senaste AI-genombrotten – särskilt datadriven maskininlärning (ML) metoder som använder djupa neurala nätverk – har drivit fram nya framsteg inom skapande verktyg. Dessa framsteg inkluderar vår Code Assist och Materialgenerator funktioner som är offentligt tillgängliga i vårt kostnadsfria verktyg, Roblox Studio. Moderna generativa AI-system innehåller datastrukturer som kallas modeller som förfinas genom miljarder träningsoperationer. De mest kraftfulla modellerna idag är multimodala, vilket innebär att de tränas på en blandning av media som text, bilder och ljud. Detta gör att de kan hitta de gemensamma underliggande betydelserna över media snarare än att överanpassa specifika delar av en datamängd, såsom färgpaletter eller stavning. 

Dessa nya AI-system har betydande uttryckskraft, men den kraften styrs till stor del genom "snabb ingenjörskonst". Att göra det innebär att helt enkelt ändra inmatningstexten, på samma sätt som att förfina en sökmotorfråga om den inte gav det du förväntade dig. Även om detta kan vara ett engagerande sätt att spela med en ny teknik som en oriktad chatbot, är det inte ett effektivt eller effektivt sätt att skapa innehåll. Skapare behöver istället kraftverktyg som de kan utnyttja effektivt genom aktiv kontroll snarare än gissningar.

ControlNet-projektet är ett steg mot att lösa några av dessa utmaningar. Det erbjuder ett effektivt sätt att utnyttja kraften i stora förtränade AI-modeller som t.ex Stabil diffusion, utan att förlita sig på snabb ingenjörskonst. ControlNet ökar kontrollen genom att låta artisten tillhandahålla ytterligare inmatningsvillkor utöver bara textuppmaningar. Roblox-forskaren och Stanford University-professorn Maneesh Agrawala och Stanford-forskaren Lvmin Zhang formulerar målen för vårt gemensamma ControlNet-projekt som:

  1. Utveckla ett bättre användargränssnitt för generativa AI-verktyg. Gå bortom obskyr snabb manipulation och bygg runt mer naturliga sätt att kommunicera en idé eller ett kreativt koncept.
  2. Ge mer exakt rumslig kontroll, för att gå längre än att göra "en bild som" eller "en bild i stil med..." för att göra det möjligt att förverkliga exakt den bild som skaparen har i tankarna.
  3. Förvandla generativ AI-träning till en mer beräkningseffektiv process som körs snabbare, kräver mindre minne och förbrukar mindre elektrisk energi.
  4. Utöka bildgenerativ AI till en återanvändbar byggsten. Den kan sedan integreras med standardiserad bildbehandling och 3D-renderingspipelines. 

Genom att tillåta skapare att tillhandahålla en extra bild för rumslig kontroll, ger ControlNet större kontroll över den slutligen genererade bilden. Till exempel, en uppmaning av "hanhjort med horn" på en befintlig text-till-bild-generator producerade en mängd olika bilder, som visas nedan:

Dessa bilder som genererats med tidigare AI-lösningar är attraktiva, men tyvärr huvudsakligen godtyckliga resultat – det finns ingen kontroll. Det finns inget sätt på de tidigare bildgenererande systemen att styra utdata, förutom att revidera textprompten.

Med ControlNet har skaparen nu mycket mer makt. Ett sätt att använda ControlNet är att tillhandahålla både en uppmaning och en källbild för att bestämma den allmänna formen att följa. I det här fallet skulle de resulterande bilderna fortfarande erbjuda variation men, avgörande, behåller den specificerade formen:

Skaparen kunde också ha specificerat en uppsättning kanter, en bild utan någon uppmaning alls, eller många andra sätt att ge uttrycksfull input till systemet.

För att skapa ett ControlNet klonar vi vikterna inom en stor diffusionsmodells nätverk till två versioner. Den ena är träningsbart nätverk (detta tillhandahåller kontrollen; det är "ControlNet") och den andra är låst nätverk. Det låsta nätverket bevarar kapaciteten som lärts av miljarder bilder och kan vara vilken bild som helst tidigare. Vi tränar sedan det träningsbara nätverket på uppgiftsspecifika datamängder för att lära oss den villkorliga kontrollen från den extra bilden. De tränarbara och låsta kopiorna är kopplade till en unik typ av faltningslager som vi kallar noll faltning, där faltningsvikterna progressivt växer från nollor till optimerade parametrar på ett inlärt sätt, vilket betyder att de initialt inte har något inflytande och systemet härleder den optimala nivån av kontroll att utöva på det låsta nätverket.

Eftersom de ursprungliga vikterna bevaras via det låsta nätverket fungerar modellen bra med träningsdataset av olika storlekar. Och lagret med nollfalsning gör processen mycket snabbare – närmare finjustering av en diffusionsmodell än att träna nya lager från grunden. 

Vi har utfört omfattande validering av denna teknik för bildgenerering. ControlNet förbättrar inte bara kvaliteten på den utgående bilden. Det gör också utbildning av ett nätverk för en specifik uppgift mer effektiv och därmed praktisk att distribuera i stor skala för våra miljontals kreatörer. I experiment ger ControlNet upp till 10x effektivitetsvinst jämfört med alternativa scenarier som kräver att en modell tränas om helt. Denna effektivitet är avgörande, eftersom processen att skapa nya modeller är tidskrävande och resurskrävande i förhållande till traditionell mjukvaruutveckling. Att effektivisera träningen sparar elektricitet, minskar kostnaderna och ökar hastigheten med vilken ny funktionalitet kan läggas till.

ControlNets unika struktur gör att det fungerar bra med träningsdatauppsättningar av olika storlekar och på många olika typer av media. ControlNet har visat sig fungera med många olika typer av kontrollmodaliteter inklusive foton, handritade klotter och öppet poseringsdetektering. Vi tror att ControlNet kan appliceras på många olika typer av media för generativt AI-innehåll. Detta forskning är öppen och allmänt tillgänglig för communityn att experimentera med och bygga vidare på, och vi kommer att fortsätta att presentera mer information när vi gör fler upptäckter med den.

StarCoder

Generativ AI kan användas för att producera bilder, ljud, text, programkällkod eller någon annan form av rich media. I olika medier tenderar dock de applikationer som har störst framgångar att vara de för vilka produktionen bedöms subjektivt. Till exempel lyckas en bild när den tilltalar en mänsklig betraktare. Vissa fel i bilden, som konstiga drag på kanterna eller till och med ett extra finger på en hand, kanske inte märks om den övergripande bilden är övertygande. Likaså kan en dikt eller novell ha grammatiska fel eller några logiska språng, men om kärnan är övertygande tenderar vi att förlåta dessa. 

Ett annat sätt att betrakta subjektiva kriterier är att resultatutrymmet är kontinuerligt. Ett resultat kan vara bättre än ett annat, men det finns ingen specifik tröskel vid vilken resultatet är helt acceptabelt eller oacceptabelt. För andra domäner och former av media bedöms produktionen objektivt. Till exempel är källkoden som produceras av en generativ AI-programmeringsassistent antingen korrekt eller inte. Om koden inte klarar ett test, misslyckas den, även om den liknar koden för en giltig lösning. Detta är ett diskret resultatutrymme. Det är svårare att lyckas i ett diskret utrymme både för att kriterierna är strängare och för att man inte successivt kan närma sig en bra lösning – koden bryts ända tills den plötsligt fungerar.

LLM som används för textutmatning fungerar bra för subjektiva, kontinuerliga applikationer som chatbots. De verkar också fungera bra för prosagenerering på många mänskliga språk, som engelska och franska. Men befintliga LLM:er verkar inte fungera lika bra för programmering språk som de gör för de mänskliga språken. Kod är en form av matematik som är ett helt annat, objektivt sätt att uttrycka mening än naturligt språk. Det är ett diskret resultatutrymme istället för ett kontinuerligt resultatutrymme. För att uppnå högsta kvalitet på kodgenerering av programmeringsspråk för Roblox-skapare behöver vi metoder för att tillämpa LLM:er som kan fungera bra i detta diskreta, objektiva utrymme. Vi behöver också robusta metoder för att uttrycka kodfunktionalitet oberoende av en viss språksyntax, som Lua, JavaScript eller Python. 

StarCoder, ett nytt toppmodernt LLM med öppen källkod för kodgenerering, är ett stort framsteg för denna tekniska utmaning och en verkligt öppen LLM för alla. StarCoder är ett resultat av stor kod forskningskonsortium, som involverar mer än 600 medlemmar från akademiska och industriella forskningslabb. Roblox-forskaren och Northeastern University-professorn Arjun Guha hjälpte till att leda detta team för att utveckla StarCoder. Dessa första publicerade resultat fokuserar uteslutande på kodaspekten, vilket är det område där fältet mest behöver ny tillväxt givet subjektiva metoders relativa framgång. 

För att leverera generativ AI genom LLM:er som stöder det större AI-ekosystemet och Roblox-gemenskapen behöver vi modeller som har utbildats uteslutande på lämpligt licensierade och ansvarsfullt insamlade datamängder. Dessa bör också ha obegränsade licenser så att alla kan använda dem, bygga vidare på dem och bidra tillbaka till ekosystemet. Idag är de mest kraftfulla LLM:erna proprietära, eller licensierade för begränsade former av kommersiell användning, vilket förbjuder eller begränsar forskarnas möjlighet att experimentera med själva modellen. Däremot är StarCoder en verkligt öppen modell, skapad genom en koalition av industri- och akademiska forskare och licensierad utan begränsningar för kommersiell tillämpning i vilken skala som helst. StarCoder utbildas uteslutande på ansvarsfullt insamlat, lämpligt licensierat innehåll. Modellen utbildades till en början i offentlig kod och en opt-out-process är tillgänglig för dem som föredrar att inte få sin kod använd för utbildning.

Idag fungerar StarCoder på 86 olika programmeringsspråk, inklusive Python, C++ och Java. När tidningen publicerades överträffade den varje öppen kod LLM som stöder flera språk och var till och med konkurrenskraftig med många av de stängda, proprietära modellerna. 

StarCoder LLM är ett bidrag till ekosystemet, men vårt forskningsmål går mycket djupare. Den största effekten av denna forskning är att utveckla semantisk modellering av både objektiva och subjektiva multimodala modeller, inklusive kod, text, bilder, tal, video och att öka träningseffektiviteten genom domänöverföringstekniker. Vi förväntar oss också att få djupa insikter om underhållbarheten och kontrollerbarheten av generativ AI för objektiva uppgifter som generering av källkod. Det är stor skillnad mellan en spännande demonstration av ny teknik och en säker, pålitlig och effektiv produkt som ger värde till användargemenskapen. För våra ML-modeller optimerar vi prestanda för minnesfotavtryck, energibesparing och exekveringstid. Vi har också utvecklat en robust infrastruktur, omringat AI-kärnan med mjukvara för att ansluta den till resten av systemet och utvecklat ett sömlöst system för frekventa uppdateringar när nya funktioner läggs till. 

Att föra Roblox vetenskapsmän och ingenjörer samman med några av de skarpaste hjärnorna i forskarsamhället är en nyckelkomponent i vår strävan efter banbrytande teknologi. Vi är stolta över att dela dessa tidiga resultat och bjuda in forskarsamhället att engagera oss och bygga vidare på dessa framsteg.

Tidsstämpel:

Mer från Roblox