Raspberry Pi brengt add-on met AI-accelerator uit voor Pi 5

Raspberry Pi heeft een AI Kit aangekondigd voor de Raspberry Pi 5. Deze bestaat uit een M.2 HAT+-module waarop een 8L-AI-accelerator van fabrikant Hailo voorgemonteerd zit. Deze kit krijgt een adviesprijs van 70 dollar.

Raspberry Pi AI KitDe AI Kit biedt volledige integratie met de camerasoftware van Raspberry Pi, waardoor deze add-on onder meer gebruikt kan worden voor objectdetectie en het classificeren van afbeeldingen, schrijft de fabrikant van singleboardcomputers.

De 8L-AI-accelerator kan 13 tera operations per second, ofwel tops, behalen. Dat is genoeg om kleinere machinelearningmodellen en 'geoptimaliseerde' large language models grotendeels lokaal te draaien, al moeten bepaalde berekeningen alsnog via de cloud plaatsvinden, waarschuwt de fabrikant tegenover The Register.

De passief gekoelde soc verbruikt volgens Raspberry Pi maximaal 5W aan energie. Bij een 'standaardbelasting', zoals het verwerken van een video van 60fps, wordt er slechts 1 á 2W verbruikt. De module kan via een platte ribbonkabel worden aangesloten op het PCIe-slot van de Raspberry Pi 5. Het apparaat beschikt over een PCIe 3.0-interface met een enkele lane. De snelheden bedragen daarmee volgens Raspberry Pi maximaal 8GB/s.

De AI Kit is per direct beschikbaar voor 70 dollar. De Raspberry Pi 5 werd afgelopen september uitgebracht en staat in de Pricewatch vanaf 64,95 euro voor een variant met 4GB. De M.2 HAT+-module wordt ook los verkocht voor een adviesprijs van 12 dollar.

Door Kevin Krikhaar

Redacteur

04-06-2024 • 12:01

49

Lees meer

Reacties (49)

49
48
21
6
0
22
Wijzig sortering
Jeff Geerling heeft er al een reviewtje van gemaakt en daar uit blijkt wel dat ie niet al te snel is voor veel taken waar je als eerste aan denkt bij AI. ;) Maar hij is wel een stuk sneller dan een stock Pi voor real time object herkenning met camera's.

Voor LLM's ben je beter af met een oudere computer met meer ram.
Wat is nou het verschil met niet AI-hardware? Alleen maar de eenrichting-cascade van een GPU? Ik heb om eerlijk te zijn nog geen benchmarks of wat dan ook gezien waarbij niet naar de achterliggende architectuur wordt gekeken maar alleen maar naar de algehele rekenkracht. Volgens mij was dat tot nu toe enkel met het vage uitgangspunt "AI toepassing".
Zoals "voorwerpdetecie", wat hier door mensen wordt genoemd, is dat niet gewoon brute-force multithreaded afbeeldingen erdoor drukken, wat ook met een niet-AI systeem kan, maar onder specifieke omstandigheden langzamer is?

[Reactie gewijzigd door blorf op 23 juli 2024 00:05]

"Eenrichting cascade"? Ik heb geen idee wat je daarmee bedoelt.

Nee, de essentie van hardware voor moderne neurale netwerken is dat ze snel tensoren kunnen vermenigvuldigen, met name tensoren die groter zijn dan een CPU vector register maar wel kleiner dan beschikbaar RAM. Dat kan op een dedicated NPU, maar ook op een moderne GPU. Een kritieke operatie hierbij is doorgaans een Fused-Multiply-and-Add (FMA).
Een grafische kaart kan niet meer vertellen wat er in beeld staat als het eenmaal is geprojecteerd en de instructies daarvoor zijn gewist. Dit gaat met een grote factor hogere snelheid dan het adresseer-systeem van normale processors, maar het is maar beperkt toepasbaar buiten graphics-gerelateerde software. In feite is een GPU een super-complexe functie. De output is een enkel frame oftewel een heel lang getal.

[Reactie gewijzigd door blorf op 23 juli 2024 00:05]

Dan heb je ongeveer 30 jaar aan GPU ontwikkeling gemist. Je beschrijft daar accelerators van voor de legendarische 3dfx Voodoo. Een moderne GPU projecteert gooit de 3D scene niet zomaar weg.

De kern van een 3D-naar-2D projectie is een tensor-vermenigvuldiging, eenzelfde operatie als die gebruikt wordt in neurale netwerken. Dit gebeurt parallel (maar doorgaans niet multi-threaded).

Het is een basis principe uit de informatica dat elke berekening op elke computer kan, afgezien van snelheid en beschikbare opslag. Desnoods swap je naar disk als je niet genoeg RAM hebt. AI kan ook prima op een CPU. Sterker nog, dat doet mijn bedrijf vrij standaard.
Ik zie je nog niet mijn vragen beantwoorden. Verwoording bekritiseren leidt daar niet toe. Ook het suggestieve in twijfel trekken van mijn detail-kennis doet dat niet.
Vergeet die GPU-beschrijving. Wat doe je met de rest?
Ik heb geen idee welke vraag er eigenlijk bij je leeft, als ik je misverstanden negeer.

"Voorwerpdetectie" noem je als klassiek AI voorbeeld. Je beeld is een tensor, die je een paar keer met andere tensoren vermenigvuldigt. Daar komt een uitkomst-tensor uit die aangeeft wat er waar herkend is. Dat is logischerwijs single-threaded. De tweede vermendigvuldiging gebruikt het resultaat van de eerste, dus daar kun je niet geweldig veel in parallel doen. De enige paralleliteit zit in de rijen en kolommen, en daarvoor zijn threads zinloos. De paralleliteit is Single Instruction Multiple Data (SIMD), multi-core hardware is voor MIMD.
Anders geformuleerd: waar is de aantoonbare verbetering van een computer met een AI-chip aan boord? Wat er daarbij in die chip zit is niet relevant. We hebben een computer en die is te langzaam. Welke activiteiten kan een AI-chip sneller maken? Vervolg-vraag: en waarom is dat niet gewoon in normale CPU's geimplementeerd, als er iets significant sneller van wordt?
Om met je laatste vraag te beginnen: Intel heeft AVX512-VNNI uitgebracht om diezelfde type operaties significant sneller te maken. Het is in gewone CPU's geïmplementeerd. Intel heeft dat vooral in server chips. Logisch, op zich, want veel AI draait nu eenmaal in de cloud. AMD heeft het met Zen4 overal, zelfs in Zen4c.

En welke operaties worden sneller door zulke AI hardware? Eigenlijk alle soorten neurale netwerken. Dat is een belangrijke verklaring voor de AI explosie: neurale netwerken presteren goed op eigenlijk alle AI taken, veel beter dan bijvoorbeeld Random Forests of Support Vector Machines. En niet alleen presteren ze goed, maar je kunt ze dus ook effectief versnellen. De inzet van GPU's was eigenlijk een toevalstreffer, die hadden al hardware versnelling voor de tensor operaties. NPU's zijn nog meet toegesneden op die taak.
Dan zijn AI-chips toch per definitie een gimmick en praten we gewoon over doorontwikkeling van computer-achitectuur? Vergelijkbaar met 387 co-processors of Pentium 4+ hyperthreading.
Het zijn chips die bepaalde bewerkingen sneller doen, die kun je als dat nuttig is integreren in je CPU/APU en platslaan als "maar een doorontwikkeling van computer-architectuur" - dat maakt het nog geen gimmick?

Ze zouden het een TPU kunnen noemen, maar je verkoopt een sportwagen ook niet als een "3.2 liter benzinemotor met carrosserie". En de functies van zo'n sportwagen wil je ook niet in een 6-persoons busje hebben waar je vooral zuinigheid en betrouwbaarheid zoekt.
De doelstelling van een computer als produkt is behoorlijk concreet. Iedereen met een redelijke basiskennis kan vertellen welke componenten overbodig zijn voor de core-functie. Dat kan allemaal randapparatuur worden, al dan niet in de chipset inbegrepen.
Nee. De FPU instructies zijn inline met de andere x86 instructies. GPU en NPU instructies mixen niet met CPU instructies.
Het zijn geen nuttige bewerkingen voor general purpose gebruik, wel voor domein-specifieke taken.

De cores op een GPU kunnen anders gebruikt worden dan een fixed functie die standaard naar een framebuffer wegschrijft [1]. Zie "programmable graphics" zoals CUDA, ROCm, HIP.

[1] https://www.techspot.com/...ency-historical-analysis/
Dat klopt, maar is een GPU al in staat om zelfstandig een concept-kernel te draaien? Ik rekende al op een virtuele mechanische computer bij de introductie van physics maar ik heb het noot gezien.Blijkbaar toch te hoog gegrepen.
Kun je verduidelijken wat je bedoelt met een concept-kernel of een virtuele mechanische computer?

CUDA compileert naar "kernels" maar het is nou niet zo dat je een heel OS draait op de GPU (dat is ook niet heel logisch aangezien de I/O alleen met de CPU of framebuffer is)
Een concept-kernel zoals een kernel die op een CPU draait, maar dan minimaal, alleen ter demonstratie iets op een GPU in stand houdt zonder de hardware van de host nodig te hebben. Een videokaart die code in het geheugen kan laden, weergeven en berekeningen uitvoeren met alleen maar voedingsstroom.
Met die physics doelde ik op het idee van een computer gebaseerd op bijv. vloeistof-kleppen en dat dan virtueel in een 3d omgeving die de grafische kaart mogelijk maakt. Zoiets moet in theorie kunnen en is ook vast al wel gedaan, alleen waarschijnlijk niet zonder bronnen buiten de GPU te gebruiken.

[Reactie gewijzigd door blorf op 23 juli 2024 00:05]

Theoretisch mogelijk, zeker nu GPUs bij de SSD kunnen. Praktisch is het niet, dus ik zou je adem niet inhouden.
Ik heb geen idee inderdaad wat dat betekent. Ik leg uit wat een GPU kan, en wat een neuraal netwerk nodig heeft. En inderdaad, geen van die dingen kun je redelijkerwijs beschrijven met "eenrichting cascade" dus daarmee beargumenteer ik dat die term compleet irrelevant is.
Wat is eenrichting cascade?
tx
zie de NPU ook meer als een verkeerscentrale. ze ontladen de repetitieve workloads van de gpu, de cpu en ram te samen in meer slimmere algorithms die ook beter aansluiten op de beschikbare bandbreedtes, zodat alles uiteindelijk efficient verloopt. of wel geen wagen op de snelweg rijd meer half leeg, maar maximaal gevuld en stops worden tot het minimum beperkt om alle data pakketen zo snel mogelijk af te leveren. slimme calculatie technieken herkennen patronen via die centrale eerder zodat er op een slimmere manier voorrang verleend wordt. dat levert behalve snelheid ook energie voordelen.

apple heeft in mijn optiek de beste methode, niet alleen door unified ram, maar ook door het samenvoegen van de gpu en cpu, dat heeft natuurlijk ook nadelen, zo is upgraden of reparatie van de losse onderdelen nu vaak onmogelijk.
Als je geen GPU hebt dan wordt het toch TinyLlama ofzo. En die verbruikt minder dan 1 GB aan ram.
Het voordeel van de Pi is natuurlijk energie-zuinig en onderwijs-vriendelijk.
'een oude computer' is dat niet echt.

Als je enkel de afbeeldingen in je 'Pi-NAS' wil voorzien van een AI gegenereerde classificatie/label, hoef je wellicht ook alleen elke keer als je een afbeelding toevoegt de classificatie te doen?
Een oude computer is dat zeker wel, zeker een NUC of mini pc. De extra stroomverbruik is minimaal ten opzichte van de Pi
Een oude computer heeft geen GPIO pins
Leuk stukje dat hij aanhaalt dat AI inmiddels niveau cryptohype lijkt te bereiken, natuurlijk ieder z'n mening maar ik snap wel het aspect van 'modeltraining'. Er wordt nu enorm veel energie gebruikt om modellen te maken voor zo'n beetje elk denkbare toepassing, dat je je bijna afvraagt.. voor wat precies?

Studies gaan van een simpel model dat genoeg energie verbruikt dat je een telefoon volledig kan opladen tot zelfs verwachtingen dat totale AI netwerken richting 2027 meer energie verbruiken dan een compleet land. En als je dat in contrast zet met een Pi, die juist de focus heeft op laag verbruik en functionele doeleinden, best scheef. Natuurlijk kan je standaard modellen gebruiken die beschikbaar zijn, maar iedereen wil natuurlijk het gouden ei maken als het gaat om een goedwerkend model.
Ik denk dat je hier training en inference (toepassen van de getrainde netwerken) door elkaar haalt. Deze accelerator is expliciet niet voor training. Dat is ook niet iets van je op een Pi wilt doen. Daarvoor wil je een RTX4090 of een professionele NVidia kaart. En ja, die kunnen prima 300W+ verstoken.
Zeker niet, het gaat mij om het principe erachter. Bijna elke chip en z'n hond gaan nu NPU's krijgen, maar achter vrijwel elke toepassing zit ook een trainingsmodel. Prima dat je daar reeds getrainde sets voor gebruikt,aannemelijk dat ze voor elk stukje hardware/toepassing een hele nieuwe set wilen, dat is het deel waar ik op doel. Kans is groot dat een ieder 'het beste model' wil hebben/maken en mogelijk finetuned moeten zijn voor de hardware waarin/op ze gaan draaien, dan klinkt zo'n 8watt Pi wel grappig.. maar als daar kilowatts aan training achterhangen, staat beetje in contrast met hele 'zuinige' aspect van een Pi.
Ik werk professioneel met neurale netwerken op ARM, dus ik heb ervaring uit eerste hand hoe complex dat kan zijn. En dat valt best mee. Je kunt bijvoorbeeld een teacher-student setups maken waarbij je het kleine netwerk traint , niet op een training set maar op de output van een groot netwerk.
Een alternatief is https://coral.ai/. Coral werkt goed samen met Frigate (https://docs.frigate.video/) om alle voorwerpdetectie uit te voeren. Gebruik dit zelf voor mijn thuiscamera's die ik via HomeAssistant beheer.
Een coral doet 'maar' 4 TOPS, en haalt daarmee zo'n 100 FPS beeldherkenning.
Nu is de Coral wel geoptimaliseerd voor tensorflow lite, waar de PI accelerator geschikt voor is, moet nog blijken.

In TOPS en TOPS/watt is de PI accelerator iig beter

[Reactie gewijzigd door sircampalot op 23 juli 2024 00:05]

Een coral doet 'maar' 4 TOPS, en haalt daarmee zo'n 100 FPS beeldherkenning.
Voldoende voor zes beveiligingscamera's op 15 FPS, toch? Voor een beperkter aantal TOPS heb je iets dat je niet per se met een Pi hoeft te gebruiken, wat een stukje flexibiliteit oplevert.

[Reactie gewijzigd door The Zep Man op 23 juli 2024 00:05]

Gebruik je de Coral USB? Die zou ik willen, maar weet niet of het goed zal werken. M2/PCIe zijn al bezet door SSD namelijk. Jouw setup klinkt precies als wat ik wil maken met mijn ONVIF camera (met pi5)
ik heb HAOS geïnstalleerd, en frigate op een RPI5, maar mijn coral usb kreeg ik niet aan de praat. Volgens de docs is de python versie die de coral gebruikt te oud, maar frigate gebruikt ook een oude versie. Ben er (nog) niet uit. Maar frigate werkt bij mij ook goed zonder coral
Voor Frigate moet je dat Python-gebeuren NIET installeren. Je loopt dan tegen versie-problemen aan met pip. Frigate heeft het niet nodig, die gebruikt een eigen implementatie dus je kunt de Google libraries achterwege laten.

Disclaimer: heb Frigate niet op een Pi maar in Proxmox draaien (Ubuntu met docker). USB is doorgelust naar die VM, werkt prima.
Check Pyenv en Pyenv-virtualenv:

https://github.com/pyenv/pyenv
https://github.com/pyenv/pyenv-virtualenv

Python beheer zonder je OS om zeep te helpen (package management).
Coral werkte bij mij best goed op de pi, alleen bleef beeldverwerking echt enorm veel CPU opslokken. Via docker-compose goed te installeren. Ik heb het niet op dezelfde hardware draaien als HASS, omdat dit ervoor zorgde dat de hele boel af en toe ging crashen.
Idem. Draai alle services via docker-compose. Als je de Frigate installatie volgt ging het bij mij prima (zie: https://docs.frigate.video/frigate/installation#docker).
Ga dat binnenkort doen. In het verleden ook met Frigate gewerkt en dat werkte goed. Tegenwoordig een NVR en het werkt, maar zo veel false positives. Ga maar eens uitzoeken of ik goedkoop een dedicated frigate server kan bouwen, voor 12 FHD camera's.
Wellicht kunnen ze op de Pi 6 beter gewoon direct een (of twee?) M.2 slot(ten) zetten, als toch alle addons M.2 gebruiken.

Dan hoef je niet steeds een adapterbordje te gebruiken en zou je bijvoorbeeld een SSD direct op de Pi kunnen plaatsen.
Op de achterkant 2230, dat moet kunnen passen. Ik heb de originele m.2 en vind het net wat te onbetrouwbaar zo'n lint kabeltje. Dus vooralsnog een Sandisk Max Endurance SD kaart (werkt ook prima).

[Reactie gewijzigd door pennywiser op 23 juli 2024 00:05]

Dus een Jetson Nano maar dan veel beter!!!!

Chatgpt welke had ik moeten kopen?(helaas een Jetson Nano)

Conversion Factors:
1 TOPS = 10121012 operations per second
1 GFLOPS = 109109 floating point operations per second

Conversion Steps:
Convert 13 TOPS to GFLOPS:
13 TOPS = 13×1012 operations per second
13 TOPS=13×1012 operations per second

Since GFLOPS is measured in floating point operations per second:
13 TOPS=13×1012 operations per second = 13×103×109 operations per second =
13000 GFLOPS 13 TOPS=13×1012 operations per second=13×103×109
operations per second=13000 GFLOPS

Comparison: 13 TOPS = 13000 GFLOPS
472 GFLOPS
Result: 13 TOPS (13000 GFLOPS) is significantly faster than 472 GFLOPS.

[Reactie gewijzigd door 1Joshua5 op 23 juli 2024 00:05]

Je weet dan ChatGPT niet kan rekenen hè? Sowieso een rare response van ChatGPT

[Reactie gewijzigd door MeMoRy op 23 juli 2024 00:05]

You are getting my point here brother.
Wordt deze AI accelerator (indien geinstalleerd) alleen aangesproken door specifieke software of wordt de hele Raspberry als het ware ‘krachtiger’?
AI buzz voor de beursgang?
Ik ben wel benieuwd, wat voor use cases kunnen jullie voor deze add-on bedenken?

Op dit item kan niet meer gereageerd worden.