Facebook anlitar AI för att justera web server prestanda

0
163

Noll

facebook-icon-v3.jpg

Machine learning har på senare år använts för att finjustera prestanda av maskinen lära sig, så varför inte använda den för att förbättra prestanda på en något ödmjukare nivå, resultatet av en webb-server?

Det är den synpunkt som vidtas av forskare på Facebook, som på måndag beskrivs deras arbete tweaka inställningarna för servrar som kör det sociala nätverkets server-infrastruktur.

Arbetet, som utarbetats av Benjamin Letham, Brian Karrer, Guilherme Ottoni, och Eytan Bakshy, presenteras i en artikel i tidskriften Bayesiansk Analys, och som också diskuteras i ett inlägg på Facebook är AI-forskning blogg.

Som alla internet-tjänster, Facebook körs så kallade A/B tester för att mäta hur väl servrar kör när den eller den variabel ändras. Alla som har sett olika versioner av webbsidor fixade, såsom att ändra utseende på en knapp, eller layout av text, kommer att vara bekant med denna typ av justeringar för att optimera saker som klickfrekvenser eller kundvagn använda, till exempel, på en handelsplats.

Även: Topp 5: Saker att veta om AI TechRepublic

I fall av denna forskning, forskare ändras alternativen för just-in-time-kompilator som omvandlar Python infödda x86-server-kod inuti open-source web-server som Facebook använder för att tjäna HTTP-förfrågningar, “HipHop Virtuell Maskin.”

Till exempel, JIT kan ställas in för att göra saker såsom in-line ett visst block av kod. Sådana justeringar kan göra kod storlek större, och så att A/B-tester krävs för att räkna ut om hastigheten upp-foder kod är värt en trade-off av att konsumera mer minne i servern.

Författarna använde en metod, som kallas “Bayesiansk analys”, en form av lärande som betonar med tidigare, eller före, information till den gudomliga till en optimal lösning. Bayesiansk har använts under det senaste decenniet för att optimera”hyper-parametrar” på maskinen lära sig, till exempel hur stor för att göra batch-storlek, eller hur snabb lärande priser. Eftersom sådana Bayesiansk optimering kan ta bort slit för att utforma hyper-parametrar, en grupp har, till exempel, kallas Bayes-optimering ett sätt att “automatisera” machine learning.

På Facebook författarna användas Bayesiansk att köra A/B-tester med JIT-kompilator inställningar i olika positioner. Den stora fördelen är hastigheten. Eftersom proven måste göras i en produktionsmiljö för att följa effekterna av olika inställningar, det är en premium släpps ut på att få testerna görs snabbt för att gå vidare med ändringarna till webbservern.

Också: Facebook pumpar upp character recognition till mina memer

Författarna skriver att i jämförelse med typiska A/B-testning, där en enda förändring i konfigurationen är testat på en gång, Bayes-optimering “tillät oss att gemensamt ställa fler parametrar med färre försök och hitta bättre värden.”

Det viktiga här är att ordet “tillsammans”: Bayesiansk mekanismer utesluter vissa val av konfigurationer utan att faktiskt köra dem som Ett a/B-test, genom att extrapolera från en given A/B-test för att andra parametrar, för att begränsa antalet av “möjlig” – konfigurationer. Som författarna fras denna breda söka makt, “En test av en parameter värde i en kontinuerlig rymden ger oss information om inte bara dess resultat, men även de närliggande punkter.” Som experiment utförs, den Bayesianska modellen av nya erfarenheter data som för att ytterligare minska sök efter potentiellt optimala konfigurationer, så hela A/B-testning-affären kan få mer effektiva som det går tillsammans.

Också: Google: s systerbolag slagsmål myggor med AI: CNET

Ett nytt bidrag till denna forskning med Bayesian optimering är hantering av buller. Författarna observera att i motsats till uppgift att optimera maskinen lärande nätverk, när man testar inställningar för servern i A/B-experiment, det är en hel del brus i både mätning av resultaten av de test – servrar i den verkliga världen kan ha en mängd olika prestanda effekter som en följd av förändringar i inställningar – och det är också “bullriga” begränsningar, till exempel att behöva hålla minne i en server inom skäl. De kom upp med en metod för att hantera sådana störningar i deras Bayesiansk algoritmer, och de drog slutsatsen att den nya metoden är mer benägna produceras optimala lösningar än andra typer av Bayesianska metoder.

En intressant rynkor med denna typ av strategi för att A/B-testning är att vissa konfigurationer aldrig kommer att se dagens ljus: eftersom den Bayesianska optimering analys förutsäger vilka konfigurationer bör uteslutas helt och hållet, det kommer att undanröja dessa variabler från testning. Författarna anser att detta är en fördel i termer av potentiellt minska oro för att utsätta användare till massor av olika experiment.

Tidigare och relaterade täckning:

Vad är AI? Allt du behöver veta

En verkställande guide till artificiell intelligens, från maskininlärning och allmänna AI att neurala nätverk.

Vad är djupt lärande? Allt du behöver veta

Lowdown på djupt lärande: från hur det förhåller sig till de bredare fält av maskinen lärande genom hur man kommer igång med det.

Vad är lärande? Allt du behöver veta

Denna guide förklarar vad lärande är, hur den är relaterad till artificiell intelligens, hur det fungerar och varför det är viktigt.

Vad är cloud computing? Allt du behöver veta om

En introduktion till cloud computing rätt från grunderna upp till IaaS och PaaS, hybrid, offentliga och privata moln.

Relaterade Ämnen:

Datacenter

Digital Omvandling

CXO

Sakernas Internet

Innovation

Affärssystem

0