Hårdvaruacceleration för AI-arbetsbelastningar

Summary

I denna NLP Cloud-kurs förklarar vi varför specifik hårdvara ofta är nödvändig för att påskynda bearbetningen av arbetsbelastningar för maskininlärning. Vi granskar också vilka som är de bästa acceleratorerna som finns tillgängliga på marknaden 2023: GPU:er, TPU:er, IPU:er, Inferentia, Habana Gaudi...

Här är kursens struktur:

Transcript

Hej alla, det här är Julien Salinas från NLP Cloud.

I den här kursen kommer vi att se vilken typ av hårdvaruacceleratorer vi kan använda idag för att snabba upp våra inferensarbetsbelastningar.

För att förstå hårdvaruacceleration är det viktigt att komma ihåg att AI-tillämpningar numera oftast baseras på neurala nätverk, även känt som deep learning.

Matrismultiplikation är en viktig operation i neurala nätverk eftersom den gör det möjligt för dem att lära sig komplexa data och komplexa representationer av data.

I ett neuralt nätverk representeras indata av en matris och vikterna för kopplingarna mellan neuronerna representeras också av en matris.

När dessa två matriser multipliceras blir resultatet en ny matris som representerar neuronernas utdata.

Denna process upprepas genom flera lager av neuroner, vilket gör att nätverket kan lära sig alltmer abstrakta och komplexa egenskaper hos indata.

Matriser är kärnkomponenter i AI-modeller, så det är viktigt att använda hårdvara som är mycket bra på att utföra operationer på matriser.

En annan viktig aspekt är flyttal.

Flytande punkter är viktiga i neurala nätverk eftersom de gör det möjligt att representera fraktionella värden.

Som vi just sa handlar neurala nätverk om stora matriser med många poster.

Att endast använda heltalsvärden skulle snabbt leda till overflow-fel.

Genom att använda flyttalsvärden kan neurala nätverk representera värden med många decimaler, vilket möjliggör mer exakta beräkningar och bättre noggrannhet i utdata.

Så för att sammanfatta behöver vi hårdvara som är bra på att hantera matrismultiplikationer och flyttalsberäkningar för att effektivt kunna bearbeta arbetsbelastningar, AI-arbetsbelastningar.

De två huvudalternativ du kan överväga idag för dina maskininlärningsarbetsbelastningar är CPU: er och GPU: er.

En CPU, eller Central Processing Unit, är en processor för allmänna ändamål som hanterar en mängd olika uppgifter i ett datorsystem, t.ex. att köra program, hantera operativsystemet och utföra matematiska beräkningar.

Processorer är utformade för att vara mångsidiga och kunna hantera många olika typer av uppgifter, men de är inte optimerade för någon specifik typ av arbetsbelastning.

En GPU, eller Graphic Processing Unit, är en specialiserad processor som är utformad för att hantera komplexa, parallella arbetsbelastningar som grafikrendering och maskininlärning.

GPU:er har tusentals mindre kärnor som arbetar tillsammans för att hantera stora mängder data samtidigt, vilket gör dem mycket snabbare än CPU:er för vissa typer av arbetsbelastningar.

Matrisoperationer kan enkelt parallelliseras på flera små kärnor, vilket är anledningen till att GPU:er utmärker sig inom detta område.

Dessutom har GPU:er vanligtvis många fler flyttalsenheter än CPU:er, vilket gör att de kan utföra flyttalsoperationer mycket snabbare.

Nu vet du varför en CPU ofta inte räcker till för dagens AI-arbetsbelastningar, och varför specifik hårdvara ofta är mycket viktig.

Låt oss nu dyka ner i de val som du har när det gäller specifika hårdvaruacceleratorer.

NVIDIA GPU:er är ett kraftfullt verktyg för grafisk bearbetning, och de erbjuder en rad funktioner som gör dem perfekta för spel, maskininlärning, videoredigering samt design- och ingenjörstillämpningar.

Som AI-programvaruutvecklare kommer du utan tvekan att behöva arbeta med NVIDIA GPU:er eftersom de har en central position på GPU-marknaden idag.

Deras mest kraftfulla kort för AI år 2023 är A100 och H100.

AMD erbjuder också ett brett utbud av GPU:er, bland annat för maskininlärning.

Deras RockM-produktsortiment är intressant, och jag uppmanar dig att ta en titt på det.

Google bygger också sina egna AI-chip, som kallas TPU:er (TensorFlow Processing Unit).

De använder dessa chip internt, men erbjuder dem också i sitt Google Cloud-erbjudande.

Du kan dock inte köpa en TPU till dig själv.

TPU:er fungerar lite annorlunda än GPU:er, men det kommer att vara ett ämne för en annan dedikerad video.

Graphcore är ett brittiskt företag som tillverkar en specifik AI-hårdvara som kallas IPU, motsvarande Googles TPU:er.

Du kan både köpa IPU:er eller använda dem i molnet via en av deras partners.

AWS bygger sina egna AI-chip.

De har ett chip som är avsett för inferens, kallat Inferentia, och ett annat som är avsett för träning, kallat Tranium.

Dessa chips är relativt billiga.

Du kan inte köpa sådana chips för dig själv, men du kan använda dem på AWS EC2 eller Sage Maker.

Intel bygger också sitt eget AI-chip, kallat Habana Gaudi, som är ett mycket kraftfullt men mycket dyrt alternativ.

Hårdvaruacceleratorerna är kraftfulla, men också mycket dyra och inte lätta att köpa på grund av en global brist på halvledare.

Därför är det klokt att arbeta med att optimera din AI-arbetsbelastning så mycket som möjligt så att den kan köras på mindre hårdvara.

Processorer kan faktiskt till och med vara ett bra alternativ för många arbetsbelastningar för maskininlärning i många situationer.

Som du kan se just nu är NVIDIA år 2023 de facto-lösningen när det gäller hårdvaruacceleration inom AI och maskininlärning.

Men intressant nog dyker det upp en del alternativ.

Så om ett par år kanske ni kommer att använda andra typer av acceleratorer för era nästa AI-projekt.

Jag hoppas att denna kurs var användbar och jag önskar dig en trevlig dag.