In deze NLP Cloud cursus leggen we uit waarom specifieke hardware vaak nodig is om de verwerking van machine learning workloads te versnellen. We bekijken ook welke de beste versnellers zijn die in 2023 op de markt zijn: GPU's, TPU's, IPU's, Inferentia, Habana Gaudi...
Dit is de structuur van de cursus:
Hallo iedereen, dit is Julien Salinas van NLP Cloud.
In deze cursus gaan we kijken welke hardwareversnellers we vandaag de dag kunnen gebruiken om onze inferentiewerklasten te versnellen.
Om hardwareversnelling te begrijpen, is het belangrijk om te onthouden dat AI-toepassingen tegenwoordig meestal gebaseerd zijn op neurale netwerken, ook wel deep learning genoemd.
Matrixvermenigvuldiging is een essentiële bewerking in neurale netwerken omdat ze hiermee complexe gegevens en complexe representaties van de gegevens kunnen leren.
In een neuraal netwerk worden de invoergegevens voorgesteld door een matrix en de gewichten van de verbindingen tussen neuronen worden ook voorgesteld door een matrix.
Wanneer deze twee matrices worden vermenigvuldigd, is het resultaat een nieuwe matrix die de output van de neuronen weergeeft.
Dit proces wordt herhaald door meerdere lagen neuronen, waardoor het netwerk steeds abstractere en complexere eigenschappen van de invoergegevens leert.
Matrices zijn kerncomponenten van AI-modellen, dus is het belangrijk om hardware te gebruiken die zeer goed is in het uitvoeren van bewerkingen op matrices.
Een ander belangrijk aspect zijn floating point getallen.
Floating points zijn belangrijk in neurale netwerken omdat ze de weergave van fractionele waarden mogelijk maken.
Zoals we net al zeiden, bevatten neurale netwerken grote matrices met veel regels.
Het gebruik van alleen gehele waarden zou snel leiden tot overloopfouten.
Door floating point waarden te gebruiken, kunnen neurale netwerken waarden met veel decimalen weergeven, waardoor nauwkeurigere berekeningen en een grotere nauwkeurigheid in de uitvoer mogelijk zijn.
Samenvattend: om werklasten, AI werklasten, efficiënt te kunnen verwerken, hebben we hardware nodig die goed overweg kan met matrixvermenigvuldigingen en floating point berekeningen.
De twee belangrijkste opties die je vandaag de dag kunt overwegen voor je machine learning workloads zijn CPU's en GPU's.
Een CPU, of Central Processing Unit, is een processor voor algemene doeleinden die een groot aantal taken in een computersysteem uitvoert, waaronder het uitvoeren van toepassingen, het beheren van het besturingssysteem en het uitvoeren van wiskundige berekeningen.
CPU's zijn ontworpen om veelzijdig te zijn en kunnen veel soorten taken aan, maar ze zijn niet geoptimaliseerd voor een bepaald type werkbelasting.
Een GPU, of Graphic Processing Unit, is een gespecialiseerde processor die is ontworpen om complexe, parallelle werklasten zoals grafische rendering en machine learning aan te kunnen.
GPU's hebben duizenden kleinere kernen die samenwerken om grote hoeveelheden gegevens tegelijk te verwerken, waardoor ze veel sneller zijn dan CPU's voor bepaalde soorten werkbelasting.
Matrixbewerkingen kunnen eenvoudig worden geparallelliseerd op meerdere kleine kernen, waardoor GPU's uitblinken in dit domein.
GPU's hebben ook veel meer floating point units dan CPU's, waardoor ze floating point bewerkingen veel sneller kunnen uitvoeren.
Je weet nu waarom een CPU vaak niet genoeg is voor de huidige AI werklasten en waarom specifieke hardware vaak erg belangrijk is.
Laten we nu eens duiken in de keuzes die je hebt als het gaat om specifieke hardwareversnellers.
NVIDIA GPU's zijn een krachtig hulpmiddel voor grafische verwerking en ze bieden een reeks functies die ze ideaal maken voor gaming, machine learning, videobewerking en ontwerp- en engineeringtoepassingen.
Als AI-software-ingenieur zul je ongetwijfeld moeten werken met NVIDIA GPU's, omdat ze tegenwoordig een centrale positie innemen op de GPU-markt.
Hun krachtigste kaarten voor AI in 2023 zijn de A100 en de H100.
AMD biedt ook een breed scala aan GPU's, onder andere voor machine learning.
Hun RockM productassortiment is interessant en ik moedig je aan om het te bekijken.
Google bouwt ook zijn eigen AI-chips, die TPU's worden genoemd voor TensorFlow Processing Unit.
Ze gebruiken deze chips intern, maar stellen ze ook voor in hun Google Cloud-aanbod.
Je kunt echter geen TPU voor jezelf kopen.
TPU's werken net iets anders dan GPU's, maar dat is een onderwerp voor een andere video.
Graphcore is een in het Verenigd Koninkrijk gevestigd bedrijf dat specifieke AI-hardware maakt genaamd IPU, vergelijkbaar met Google TPU's.
Je kunt IPU's kopen of ze in de cloud gebruiken via een van hun partners.
AWS bouwt zijn eigen AI-chips.
Ze hebben een chip voor inferentie, Inferentia genaamd, en een chip voor training, Tranium genaamd.
Deze chips zijn relatief goedkoop.
Je kunt dergelijke chips niet voor jezelf kopen, maar je kunt ze wel gebruiken op AWS EC2 of Sage Maker.
Intel bouwt ook hun eigen AI-chip, Habana Gaudi genaamd, wat een zeer krachtig maar erg duur alternatief is.
De hardwareversnellers zijn krachtig, maar ook erg duur en niet gemakkelijk aan te schaffen vanwege een wereldwijd tekort aan halfgeleiders.
Daarom is het verstandig om je AI werklast zoveel mogelijk te optimaliseren, zodat deze op kleinere hardware kan draaien.
CPU's kunnen in veel situaties zelfs een goede optie zijn voor veel machine learning werklasten.
Zoals je op dit moment kunt zien, is NVIDIA in 2023 de de facto oplossing als het gaat om hardwareversnelling bij AI en machine learning.
Maar er verschijnen interessante alternatieven.
Dus misschien zul je over een paar jaar voor je volgende AI-projecten andere soorten versnellers gebruiken.
Ik hoop dat deze cursus nuttig was en ik wens je een prettige dag.