(085) 066 7427 contact@agello.io

Artificiële intelligentie is een van de veelbelovendste trends van de computerwetenschappen op dit moment. De grote beloftes van artificiële intelligentie, die men vanaf de jaren ’80 gedaan hebben, zijn echter nooit gematerialiseerd in praktische applicaties totdat vanaf ongeveer 2010 de rekenkracht van de commodity servers de deep learning algoritmes konden bijbenen.

Deep learning is een van de vormen van Artificiële intelligentie. Het deep learning-algoritme kan, zelfstandig, nieuwe vaardigheden leren. Het algoritme is geïnspireerd op de werking van het menselijk brein. Met als gevolg dat het leerproces van het algoritme niet onderworpen is aan theoretische limitaties. Deep Learning heeft in korte tijd een plek in ons leven veroverd. Denk hierbij aan de het automatisch genereren van ondertiteling bij filmpjes, het vertalen van tekst, gezichtsherkenning, nummerbordherkenning, voorspellen van consumentengedrag en ga zo maar door.

Het doorrekenen van deze deep learning modellen kost ontzettend veel rekenkracht. De benodigde infrastructuur om deze modellen door te rekenen is daarbij ook erg wisselend.  Het berekenen van een voorspellend model kost veel meer rekenkracht dan het toepassen van een bestaand model op nieuwe data.

 

Cloud maakt het makkelijker

Werklasten waarbij de vraag om rekenkracht enorm varieert zijn bij uitstek geschikt voor clouddiensten. Dit stelt je immers in staat om alleen te betalen voor hetgeen je daadwerkelijk verbruikt. Alle grote Cloud providers bieden wel een vorm van machine learning in hun Cloud omgeving aan. Zolang de data hierin past en je je aan de aangeboden tools wilt conformeren zijn dit prima oplossingen.

 

IT afdelingen zijn niet blij

Het probleem wat zich dan wel snel aandient is dat deep learning vaak gepaard gaat met nieuwe frameworks, tools en experimentele algoritmes. Bij het denken aan het onderhouden en supporten van een grote omgeving op basis van de allernieuwste libraries en frameworks in een public cloud zal menig IT-afdeling al snel op de rem proberen te trappen. Bleeding edge features, veiligheid en stabiliteit gaan immers niet hand in hand.

 

Containers bieden de echte oplossing

Door het combineren van machine learning systemen en containers wordt veel van deze operationele pijn weggenomen. Als een container werkt op een development laptop zal dezelfde container zich op dezelfde manier gedragen in welk andere containeromgeving dan ook. Dit betekent dat de development cyclus aanzienlijk versneld kan worden. Daarbij hoeft er ook maar naar 1 image gekeken te worden om de security te kunnen waarborgen.

De voordelen van containers

Het gebruik van containers geeft de volgende voordelen in dit scenario;

  • De machine learning applicatie bevat zijn eigen libraries en programeertaal en zal zich op dezelfde manier gedragen, onafhankelijk van de omgeving.
  • De services binnen de container kunnen ge-exposed worden naar andere services, Hiermee creëer je microservices die per (applicatie)laag kunnen schalen. Door het opbouwen van je systeem in microservices maak je een loosely coupled systeem, met alle voordelen van dien.
  • Een container kan heel eenvoudig opgeschaald en georkestreerd worden wanneer deze in een volwassen container omgeving gedeloyed wordt.
  • Containers en data kunnen goed van elkaar gescheiden worden. Dit stelt je in staat om een grote databron aan te kunnen spreken op een parallelle manier.