Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Softwaretools migreren GPU-code naar FPGA's voor AI-toepassingen

Opstarten van AI-software Mipsology werkt samen met Xilinx om FPGA's in staat te stellen GPU's in AI-versnellertoepassingen te vervangen met slechts een enkele extra opdracht. De "zero effort"-software van Mipsology, Zebra, converteert GPU-code om op Mipsology's AI-rekenengine op een FPGA te draaien zonder enige codewijziging of hertraining.

Xilinx heeft vandaag aangekondigd dat het Zebra verzendt met de nieuwste build van zijn Alveo U50-kaarten voor het datacenter. Zebra ondersteunt al inferentieversnelling op andere Xilinx-borden, waaronder Alveo U200 en Alveo U250.


De nieuwste build van de Alveo U50 datacenter-acceleratorkaart van Xilinx wordt nu geleverd met Mipsology's Zebra-software voor conversie van GPU AI-code om op FPGA's te draaien (Afbeelding:Xilinx)

"Het acceleratieniveau dat Zebra naar onze Alveo-kaarten brengt, stelt CPU- en GPU-versnellers te schande", zegt Ramine Roane, vice-president marketing van Xilinx. "Gecombineerd met Zebra voldoet Alveo U50 aan de flexibiliteit en prestatiebehoeften van AI-workloads en biedt het een hoge doorvoer en lage latency prestatievoordelen voor elke implementatie."

Plug-and-play

FPGA's werden van oudsher gezien als notoir moeilijk te programmeren voor niet-specialisten, maar Mipsology wil van FPGA's een plug-and-play-oplossing maken die net zo gebruiksvriendelijk is als een CPU of GPU. Het idee is om het zo gemakkelijk mogelijk te maken om over te schakelen van andere soorten versnellingen naar FPGA.

"De beste manier om [Mipsology] te zien, is dat we de software gebruiken die bovenop FPGA's komt om ze transparant te maken op dezelfde manier als Nvidia Cuda CuDNN deed om de GPU volledig transparant te maken voor AI-gebruikers", zegt Mipsology CEO Ludovic Larzul , in een interview met EE Times .

Cruciaal is dat dit kan worden gedaan door niet-experts, zonder diepgaande AI-expertise of FPGA-vaardigheden, omdat er geen modelherscholing nodig is om over te stappen.

"Gebruiksgemak is erg belangrijk, want als je kijkt naar de AI-projecten van mensen, hebben ze vaak geen toegang tot het AI-team dat het neurale netwerk ontwerpt", zegt Larzul. “Typisch als iemand een systeem van robots of een videobewakingssysteem installeert, hebben ze een aantal andere teams of andere partijen die de neurale netwerken ontwikkelen en trainen. En als ze eenmaal [het getrainde model] hebben gekregen, willen ze het niet veranderen omdat ze de expertise niet hebben."


Zebra's stapel. De technologie is toepasbaar in datacenter-, edge- en embedded applicaties (Afbeelding:Mipsology)

Versus Vitis

Waarom zou Xilinx software van derden ondersteunen als het al een uitgebreide oplossing heeft die bedoeld is om FPGA's toegankelijk te maken voor zowel datawetenschappers als softwareontwikkelaars (namelijk Vitis)?

"De toonhoogte in één zin is:we doen het beter", zei Larzul. "Een andere zin zou zijn:die van ons werkt."

Mipsology gebruikt geen enkel onderdeel van Vitis of koppelt er op geen enkele manier aan, noch gebruikt het XDNN, de neurale netwerkversnellermotor van Xilinx. Mipsology heeft zijn eigen rekenmachine binnen Zebra, die de bestaande convolutionele neurale netwerk (CNN) -modellen van klanten ondersteunt, in tegenstelling tot XDNN, waarvan Larzul zei dat het ondersteuning biedt voor tal van demo's, maar minder geschikt is voor aangepaste neurale netwerken. Dit, zei hij, maakte het "pijnlijk" om aangepaste netwerken in gebruik te nemen met XDNN. Hoewel XDNN kan concurreren in applicaties waar geen dreiging van GPU's is, is Zebra bedoeld om FPGA's in staat te stellen GPU's frontaal aan te pakken op basis van prestaties, kosten en gebruiksgemak.


Zebra's stapel in detail. Het doel is om van FPGA's een eenvoudigere overstap te maken van GPU's of CPU's voor AI-versnelling door de hardware zoveel mogelijk te verbergen (Afbeelding:Mipsology)

De motivatie van de meeste klanten om over te stappen van GPU-oplossingen zijn de kosten, zei Larzul.

"Ze willen de kosten van de hardware verlagen, maar willen het neurale netwerk niet opnieuw moeten ontwerpen", zei hij. "Er zijn eenmalige kosten [die worden vermeden] omdat we GPU's transparant kunnen vervangen en er is geen hertraining of wijziging van het neurale netwerk."

FPGA's bieden ook betrouwbaarheid, deels omdat ze minder agressief zijn op siliciumvastgoed en vaak koeler zijn dan andere typen acceleratoren, waaronder GPU's, volgens Larzul. Dit is vooral belangrijk in het datacenter waar de onderhoudskosten op lange termijn aanzienlijk zijn.

"Total cost of ownership is niet alleen de prijs van het bord", zei Larzul. "Er is ook een prijs om ervoor te zorgen dat het systeem werkt."

Zebra streeft er ook naar om FPGA's te laten concurreren op prestaties. Hoewel FPGA's doorgaans minder TOPS (tera-bewerkingen per seconde) bieden dan andere versnellers, kunnen ze die TOPS efficiënter gebruiken dankzij Zebra's zorgvuldig ontworpen rekenmachine, zei Larzul.


Ludovic Larzul (Afbeelding:Mipsology)

"Dat is iets dat de meeste ASIC-startups die AI versnellen zijn vergeten - ze doen een heel groot stuk silicium, proberen meer TOPS in te pakken, maar ze hebben er niet over nagedacht hoe je je netwerk daarop in kaart brengt om efficiënt te zijn ”, zei hij, en merkte op dat de op FPGA gebaseerde engine van Zebra meer afbeeldingen per seconde kan verwerken dan een GPU met 6x de hoeveelheid TOPS.

Hoe wordt dit bereikt? Hoewel Larzul geen exacte details gaf, zei hij wel dat ze niet afhankelijk zijn van snoeien, omdat de nauwkeurigheidsvermindering te groot is om acceptabel te zijn zonder omscholing. Ze gebruiken om dezelfde reden geen extreme kwantisering (minder dan 8 bit).

De engine van Zebra versnelt CNN's, die tegenwoordig meestal worden gebruikt door beeld- en videoverwerkingstoepassingen, maar Zebra kan ook worden toegepast op BERT (het natuurlijke taalverwerkingsmodel van Google), dat vergelijkbare wiskundige concepten gebruikt. Toekomstige herhalingen van Zebra kunnen andere soorten neurale netwerken omvatten, waaronder LSTM (lange kortetermijngeheugen) en RNN's (recurrente neurale netwerken), maar dit is moeilijker te bereiken omdat RNN's wiskundig diverser zijn.

Team van EVE

Mipsology werd opgericht in 2015, met ongeveer 30 mensen die aan R&D werken in Frankrijk, en een klein team in Californië dat zich voornamelijk bezighoudt met bedrijfsontwikkeling. Het bedrijf heeft in totaal $ 7 miljoen ontvangen, waarvan $ 2 miljoen een prijs was van een innovatiewedstrijd van de Franse overheid in 2019.

Het kernteam van Mipsology is van EVE - een ASIC-emulatorbedrijf dat in 2012 door Synopsys is overgenomen voor zijn ZeBu (Zero Bug) hardware-ondersteunde verificatieproducten, op dat moment een concurrent voor Cadence's Palladium-verificatieplatform. Volgens Larzul werd EVE-technologie door bijna alle grote ASIC-bedrijven gebruikt om ASIC's te verifiëren tijdens de ontwerpcyclus; deze technologie vertrouwde op duizenden FPGA's die met elkaar verbonden waren om ASIC-gedrag te reproduceren.

Mipsology heeft 12 aangevraagde patenten en werkt nauw samen met Xilinx en is ook compatibel met acceleratorkaarten van derden, zoals Western Digital small form factor (SFF U.2) kaarten en Advantech-kaarten zoals de Vega-4001.

>> Dit artikel is oorspronkelijk gepubliceerd op onze zustersite, EE Times.


Ingebed

  1. ST:evaluatiekit voor beveiligde elementen met kant-en-klare software voor IT- en IoT-toepassingen
  2. PPA voor e-mobiliteitstoepassingen
  3. Ideale toepassingen voor pneumatische aandrijvingen
  4. 4 soorten gereedschappen voor mijnbouwtoepassingen
  5. Typische toepassingen voor remklauwen
  6. Militaire toepassingen voor bronslegeringen
  7. Toepassingen voor aluminiumbrons C63200
  8. Waar wordt Monel voor gebruikt?
  9. Snijgereedschap voor precisiebewerking
  10. Het belang van interoperabiliteit in 3D-softwaretoepassingen
  11. Wat is de HS-code voor een hydraulische pomp?