AI-modeller och plattformar
Ubers Fiber är ett nytt distribuerat ramverk för AI-modellträning
Enligt VentureBeat har AI-forskare på Uber nyligen publicerat en artikel på Arxiv som beskriver en ny plattform som syftar till att underlätta skapandet av distribuerade AI-modeller. Plattformen kallas Fiber och kan användas för att köra både förstärkt inlärning och populationbaserad inlärning. Fiber är utformat för att göra stor skala parallell beräkning mer tillgänglig för icke-experter, så att de kan dra nytta av kraften i distribuerade AI-algoritmer och modeller.
Fiber har nyligen gjorts öppen källkod på GitHub och är kompatibel med Python 3.6 eller senare, med Kubernetes som körs på ett Linux-system och i en molnmiljö. Enligt forskarteamet kan plattformen enkelt skalas upp till hundratals eller tusentals enskilda maskiner.
Forskarteamet från Uber förklarar att många av de senaste och mest relevanta framstegen inom artificiell intelligens har drivits av större modeller och fler algoritmer som tränats med distribuerad träningsteknik. Men att skapa populationbaserade modeller och förstärkta modeller förblir en svår uppgift för distribuerade träningsplaner, eftersom de ofta har problem med effektivitet och flexibilitet. Fiber gör det distribuerade systemet mer tillförlitligt och flexibelt genom att kombinera klusterhanteringsprogramvara med dynamisk skalning och låter användare flytta sina jobb från en maskin till många maskiner utan problem.
Fiber består av tre olika komponenter: en API, en backend och en klusterlager. API-lagret möjliggör för användare att skapa saker som köer, chefer och processer. Backend-lagret i Fiber låter användaren skapa och avsluta jobb som hanteras av olika kluster, och klusterlagret hanterar de enskilda klustren och deras resurser, vilket minskar antalet saker som Fiber måste hålla reda på.
Fiber möjliggör att jobb kan köas och köras på distans på en lokal maskin eller många olika maskiner, med hjälp av konceptet jobb-baserade processer. Fiber använder också containrar för att säkerställa att saker som indata och beroende paket är självinnehållande. Fiber-ramverket innehåller även inbyggd felhantering, så att om en arbetare kraschar kan den snabbt återupplivas. Fiber kan göra allt detta samtidigt som den interagerar med klusterhanterare, så att Fiber-appar kan köras som om de vore vanliga appar som körs på en given datorcluster.
Experimentella resultat visade att Fibers svarstid i genomsnitt var några millisekunder och att den också skalförbättrades bättre än baslinje-AI-tekniker när den byggdes med 2 048 processor-kärnor/arbetare. Tiden som krävdes för att slutföra jobb minskade gradvis allteftersom antalet arbetare ökade. IPyParallel slutförde 50 iterationer av träning på cirka 1400 sekunder, medan Fiber kunde slutföra samma 50 iterationer av träning på cirka 50 sekunder med 512 arbetare tillgängliga.
Medförfattarna till Fiber-artikeln förklarar att Fiber kan uppnå flera mål, som att dynamiskt skala algoritmer och använda stora volymer beräkningskraft:
“[Vårt arbete visar] att Fiber uppnår många mål, inklusive att effektivt utnyttja en stor mängd heterogen beräkningsmaskinvara, dynamiskt skala algoritmer för att förbättra resursanvändningseffektiviteten, minska den tekniska bördan som krävs för att göra [förstärkt inlärning] och populationbaserade algoritmer fungera på datorcluster, och snabbt anpassa sig till olika beräkningsmiljöer för att förbättra forskningseffektiviteten. Vi förväntar oss att det kommer att möjliggöra ytterligare framsteg i att lösa svåra [förstärkt inlärning] problem med [förstärkt inlärning] algoritmer och populationbaserade metoder genom att göra det lättare att utveckla dessa metoder och träna dem i den skala som krävs för att verkligen se dem lysa.”












