Yatzy Online är en populär mobilapp med över 2 miljoner nedladdningar. Den här mobila Android- och iOS-appen tillåter användare i alla åldrar, från hela världen, att spela online, mot sig själva, datorn eller med andra spelare. Appen lanserades 2012. Sedan lanseringen har plattformen haft kontinuerlig tillväxt.

Med över två miljoner nedladdningar tillåter Yatzy Online användare att enkelt ansluta för att spela med vänner eller slumpmässiga spelare från hela världen. Den här mobilappen byggdes för både Android och iOS. Den utvecklades med hjälp av Node.js och React.js. och distribueras med Amazon Web Services (AWS). Yatzy Online har nyligen genomgått en kraftfull omvandling för att använda Machine Learning som en del av sin teknikstack.

“Född i molnet”

Yatzy Online var det vi kallar på Miracle Mill som en ”born in the cloud” -lösning, vilket innebär att appen sedan befruktningen har använt kraftfull molnteknik för att förbättra funktionalitet, skala och kontrollkostnader. Vi har specifikt använt Amazon Web Services efter följande iterativa tidslinje, Distribuera till Amazon EC2 2012. Migrera från MongoDB till Amazon DynamoDB. Aktivera mänsklig dator med Amazon SageMaker. Konvertera beräkna till AWS Lambda. Vi har använt detta tillvägagångssätt för att uppnå följande kärnresultat, för att iterativt förbättra spelfunktionaliteten, tillåta att en stor mängd data snabbt blir tillgänglig och skapa en trovärdig datorspelare.

Bygga ett mänskligt element

År 2019 var en av de ständiga utmaningar som projektet stod inför begränsningar i den nuvarande datorspelaren. Således skapades en plan för att använda AWS Machine Learning-tjänster för att optimera AI och mänskligt beteende.

Den nuvarande datorspelaren gjorde kategorival med hjälp av förberäknade kombinationer och några beräkningar på språng. Eftersom beräkningar tar nästan alla tärningskombinationer har datorspelaren nästan alltid förutsättningar att vinna spelet, vilket skulle minska den totala användarupplevelsen.

På grund av det faktum att Yatzy Online redan använder massor av AWS-tjänster och är mycket beroende av detta ekosystem, var det logiska sättet att uppgradera applikationen att fortsätta lägga till AWS-tjänster. Vi arbetade för att bedöma vilka AWS-tjänster som kunde möjliggöra byggande och utbildning av maskininlärningsmodeller.

Flera AWS-tjänster användes för att samla in data, omvandla den, utbilda en ML-modell och distribuera den. Det första steget är att samla in data från användarna, dvs. spelare i spelet Yatzy Oline. För detta användes Amazon Kinesis Data Firehose, vilket ger ett enkelt sätt att tillförlitligt ladda strömningsdata till Amazon Simple Storage Service (S3). Därefter filtrerades data och transformerades till det format som behövs för nästa steg med hjälp av AWS Glue, en fullständigt hanterad ETL-tjänst (Extract, transform and load) och sparas i Amazon Simple Storage Service (S3) i CVS-format.

Hela processen med ML-modellval, utbildning, validering, hyperparametertuning och distribution gjordes med Amazon SageMaker. Jupyter-bärbara datorer användes, tillhandahållna av Amazon SageMaker-bärbara datorer med helt elastiska underliggande beräkningsresurser. Flera inbyggda algoritmer testades och två, Linear Learner och XGBoost, valdes ut som bra och visade sig vara väl lämpade för det givna klassificeringsproblemet i flera klasser. Inställningen av hyperparametern gjordes också med Amazon SageMaker, dvs. genom att köra ett hyperparameteravstämningsjobb med slumpmässig strategi.

För distribution av algoritmen skapades en Amazon SageMaker-slutpunkt, en AWS Lambda-funktion och en API-gateway. AWS Lambda-funktionen tar data som skickas från användaren, via API-gatewayen, förvandlar den till rätt format och åberopar Amazon SageMaker-slutpunkten. Efter detta skickas förutsägelsen, dvs. den kategori som ska väljas tillbaka till användaren.

Resultaten

Resultaten av valideringen av modellen visade hög klassificeringsnoggrannhet. Dessutom bygger maskininlärningsmodellen sin produktion helt och hållet på hur den mänskliga spelaren spelar spelet, så det känns mycket mer mänskligt. Med tanke på att projektarbetet kommer att fortsätta kommer framtida mål att optimera befintliga tjänster, med en fortsättning på att lägga till mer ML AWS-tjänster.

Har du en befintlig eller föreslagen produkt som använder maskininlärning? Nå ut till Miracle Mill idag och låt vårt dedikerade team av maskininlärningsdataforskare delta i att göra dina mål verklighet.

Låt oss
samarbeta

Skicka ett meddelande