Machine Learning møder Cloud-teknologi: Intelligent Prefetching

,

Machine Learning Meets The Cloud: Intelligent Prefetching

Cloud-teknologier har i flere år gjort det muligt for virksomheder at yde bedre services og være mere agile. For de fleste mennesker betyder det primært online opbevaring af dokumenter og billeder. Men skyen har meget mere at byde på, især når det kommer til at facilitere udvikling af datadrevne løsninger.

Hos IIH Nordic bruger vi Cloud-teknologier i vid udstrækning til at understøtte vores produkter, og et godt eksempel på det er vores værktøj til at forbedre load speed: Intelligent Prefetching. Helt kort er Intelligent Prefetching et værktøj, som forudser hvilken side en bruger vil besøge som den næste, og som får browseren til på forhånd at loade den pågældende sides indhold. Når brugeren så klikker på linket, vil sidens indhold allerede være hentet, og siden kan loades nærmest øjeblikkeligt. Værktøjet kan integreres på en hjemmeside uden at ændre de enkelte sider.

Forbedring af load speed med Intelligent Prefetching

Hvis vi for eksempel kan forudse den næste side korrekt ved 80% af besøgene, og load-tiden for en side sænkes fra 5 til 2 sekunder, så forbedres den gennemsnitlige load tid fra 5 til 2,6 sekunder. Endnu mere interessant er det dog, at siden fortsat vil fungere som sædvanlig for brugere, der agerer anderledes end forudset; de resterende brugere vil opleve, at siderne loader markant hurtigere. Forbedringen kan føre til kortere sessioner (fordi brugere hurtigere finder det, de leder efter) og flere sidebesøg (fordi brugere kan loade flere sider i løbet af den samme tid), hvilket tilsammen kan bidrage til flere konverteringer.

Implementering med Tag Management-systemer

Tag management-systemer som Tealium og Google Tag Manager anvendes primært til at adskille en sides indhold fra den kode, der måler, hvordan indholdet forbruges. De giver mulighed for at arbejde parallelt med produktion af hjemmesideindhold og analyse af trafikken, ligesom webanalytikere kan opdatere koden uden at involvere IT-personale og uden nedetid på hjemmesiden.

Selvom tag management-systemer fokuserer på tracking og analyse, kan de også bruges som en teknisk løsning til at placere kode på en side, og derfor kan de også bruges til at implementere Intelligent Prefetching. Denne løsning giver især to fordele. Da den analytics-data, vi bruger til at bygge Prefetching-modellen, kommer fra tag management-systemet, kan vi også sende data til modellen uden ekstra omkostninger til tracking. Derudover er det i intet eller kun meget lille omfang nødvendigt at involvere IT-specialister eller producere nyt hjemmesideindhold, hvilket gør det muligt at implementere Intelligent Prefetching hurtigere og nemmere.

Intelligent Prefetching er et værktøj, der forudser og preloader den næste side, allerede inden brugere klikker

Ved at tilføjet blot nogle få tags til et eksisterende tag management-system er det muligt for en hjemmeside at hente indholdet for de forudsete sider, samtidig med at man løbende kan måle forbedringerne af sidens load time.

Skalerbare forudsigelser med serverløs infrastruktur

I stedet for at se på de mest besøgte sider på tværs af brugere, anvender Intelligent Prefetching personaliserede forudsigelser for den enkelte bruger, baseret på anonym information fra deres nuværende session. Disse forudsigelser beregnes ud fra komplekse predictive models, der kræver store mængder hukommelse og processortid – og dermed også udgør en udfordring for effektiviteten af systemet. Skulle disse modeller køres i browseren, ville det sænke sidens hastighed i forsøget på at øge samme. Vi har løst dette problem ved at flytte den predictive model ind i en webservice, som browseren kan forespørge, når en bruger ser en ny side.

Denne webservice skal kunne svare på enhver forespørgsel på et millisekund, uanset hvor stor trafikken på siden er. Det har vi løst ved at udvikle vores løsning med en kombination af Google Cloud Services (inklusive App Engine og ML Cloud) for at behandle forespørgsler fra alle brugere på forskellige sider hurtigt og sikkert. Disse services skalerer automatisk antallet af servere, så det matcher efterspørgslen, hvilket medvirker til at holde reaktionstiden konstant, såvel som det sænker omkostningerne ved at køre systemet. Det giver os også mulighed for hurtigere at kunne udbrede Intelligent Prefetching, da vi ikke skal købe, installere og teste ny hardware i forbindelse med hver enkelt ny aftale.

Skalerbare forudsigelser med serverløs infrastruktur

Serverløs opdatering af Predictive Models

Eftersom hjemmesider og brugeradfærd ændrer sig over tid, er de predictive models også nødt til at blive opdateret (eller re-trained, som det hedder i machine learning-verdenen) løbende. Opdatering af en model indebærer indsamling, oprydning og transformering af data og tilpasning af modellens parametre. Til Intelligent Prefetching anvender vi beriget web analytics data, der bl.a. indeholder information om enhed, browser og den sekvens af sider, som hver anonym bruger besøger.

Vi bruger Google transfer services til sikkert at hente data fra kundens foretrukne analytics service ind i en privat data lake i skyen (BigQuery). Herefter bruger vi igen en kombination af Cloud-services til at behandle dataen, opdatere og teste nye predictive models, og opdatere webservicen automatisk.

Ved at bruge Cloud-services kan vi være fleksible og skalere mængden af computerkraft, der skal bruges til modellerne, afhængig af hvor meget data hjemmesiden producerer, og hvor ofte modellerne skal opdateres. For en langsomt skiftende hjemmeside (fx en virksomhed med faste produkter og kun en månedlig kampagne) vil vi anbefale en månedlig opdatering, mens en hurtigt skiftende hjemmeside (fx en nyhedsside, der tilføjer indhold hele tiden) vil have behov for daglige opdateringer. I det første tilfælde vil vi kunne opdatere modellen indenfor 24 timer, mens modellen i det andet tilfælde vil kræve at kunne blive opdateret og testet i løbet af få timer. Ved at gennemføre machine learning opdateringerne i Cloud-systemer kan vi tilføje flere maskiner, flere processorer eller flere GPU’er for at imødekomme kundens krav. Skulle det være nødvendigt, kan vi endda opskalere infrastrukturen til at opdatere modellerne på bare få minutter.

Gennem brug af cloud-teknologier bliver systemet skalerbart

Meget mere end load speed

Intelligent Prefetching er en løsning til sider med meget trafik, som vil øge konverteringer uden at ændre sidens design og infrastruktur. Men det er også et eksempel på, hvordan vi kan udnytte styrken ved Cloud-systemer til at forudsige brugeradfærd løbende. Med nogle tilpasninger vil løsningen også kunne justeres til eksempelvis at udpege brugere, der sandsynligvis vil gennemføre et køb, eller til at anbefale produkter, der matcher brugeres interesser. Cloud-teknologi gør det muligt for os at fokusere på at finde de bedste business cases for vores kunder og skabe de mest nøjagtige modeller uden at skulle bekymre os om reaktionstid, tilgængelighed og sikkerhed.

Hos IIH Nordic tror vi på, at machine learning og kunstig intelligens kan gøre en forskel i enhver virksomhed. Hvis du gør det samme, men har brug for hjælp til at udvikle løsningen, så tøv ikke med at tage kontakt til os.

0 replies

Skriv en kommentar

Want to join the discussion?
Feel free to contribute!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *