Memristor-arraychipset ansluts till det anpassade datorchippet, bildar den första programmerbara memristordatorn. Teamet visade att det kunde köra tre standardtyper av maskininlärningsalgoritmer. Kredit:Robert Coelius, Michigan Engineering
Den första programmerbara memristordatorn – inte bara en memristorarray som drivs via en extern dator – har utvecklats vid University of Michigan.
Det kan leda till bearbetning av artificiell intelligens direkt på små, energibegränsade enheter som smartphones och sensorer. En smartphone AI-processor skulle innebära att röstkommandon inte längre skulle behöva skickas till molnet för tolkning, snabbare på svarstiden.
"Alla vill sätta en AI-processor på smartphones, men du vill inte att ditt mobiltelefonbatteri ska ta slut så snabbt, sa Wei Lu, U-M professor i el- och datateknik och senior författare till studien i Naturelektronik .
I medicinsk utrustning, möjligheten att köra AI-algoritmer utan molnet skulle möjliggöra bättre säkerhet och integritet.
Varför memristorer är bra för maskininlärning
Nyckeln till att göra detta möjligt kan vara en avancerad datorkomponent som kallas memristor. Detta kretselement, ett elektriskt motstånd med ett minne, har ett variabelt motstånd som kan fungera som en form av informationslagring. Eftersom memristorer lagrar och bearbetar information på samma plats, de kan komma runt den största flaskhalsen för datorhastighet och kraft:kopplingen mellan minne och processor.
Detta är särskilt viktigt för maskinlärande algoritmer som hanterar massor av data för att göra saker som att identifiera objekt i foton och videor – eller förutsäga vilka sjukhuspatienter som löper högre risk för infektion. Redan, programmerare föredrar att köra dessa algoritmer på grafiska bearbetningsenheter snarare än en dators huvudprocessor, centralenheten.
"GPU:er och mycket anpassade och optimerade digitala kretsar anses vara cirka 10-100 gånger bättre än processorer när det gäller kraft och genomströmning." sa Lu. "Memristor AI-processorer kan vara ytterligare 10-100 gånger bättre."
GPU:er presterar bättre på maskininlärningsuppgifter eftersom de har tusentals små kärnor för att köra beräkningar på en gång, i motsats till strängen av beräkningar som väntar på sin tur på en av de få kraftfulla kärnorna i en CPU.
En memristor-array tar detta ännu längre. Varje memristor kan göra sin egen beräkning, gör att tusentals operationer inom en kärna kan utföras på en gång. I denna experimentella dator, det var fler än 5, 800 memristorer. En kommersiell design kan omfatta miljontals av dem.
Wei Lu står tillsammans med första författaren Seung Hwan Lee, en doktorand i elektroteknik, vem som håller memristor-arrayen. Kredit:Robert Coelius, Michigan Engineering
Memristor-arrayer är särskilt lämpade för maskininlärningsproblem. Anledningen till detta är hur maskininlärningsalgoritmer omvandlar data till vektorer – i huvudsak, listor över datapunkter. När man förutsäger en patients risk för infektion på ett sjukhus, till exempel, denna vektor kan lista numeriska representationer av en patients riskfaktorer.
Sedan, maskininlärningsalgoritmer jämför dessa "indata"-vektorer med "feature"-vektorer lagrade i minnet. Dessa särdragsvektorer representerar vissa egenskaper hos data (såsom närvaron av en underliggande sjukdom). Om matchad, systemet vet att indata har den egenskapen. Vektorerna lagras i matriser, som är som matematikens kalkylblad, och dessa matriser kan mappas direkt på memristormatriserna.
Vad mer, när data matas genom arrayen, huvuddelen av den matematiska bearbetningen sker genom de naturliga motstånden i memristorerna, eliminerar behovet av att flytta funktionsvektorer in och ut ur minnet för att utföra beräkningarna. Detta gör arrayerna mycket effektiva vid komplicerade matrisberäkningar. Tidigare studier har visat potentialen hos memristor-arrayer för att påskynda maskininlärning, men de behövde externa datorelement för att fungera.
Bygga en programmerbar memristordator
För att bygga den första programmerbara memristordatorn, Lus team arbetade med docent Zhengya Zhang och professor Michael Flynn, både el- och datateknik vid UM, att designa ett chip som kunde integrera memristor-arrayen med alla andra element som behövs för att programmera och köra den. Dessa komponenter inkluderade en konventionell digital processor och kommunikationskanaler, samt digitala/analoga omvandlare för att fungera som tolkar mellan den analoga memristor-arrayen och resten av datorn.
Lus team integrerade sedan memristor-arrayen direkt på chipet på U-M:s Lurie Nanofabrication Facility. De utvecklade också mjukvara för att kartlägga maskininlärningsalgoritmer på den matrisliknande strukturen hos memristor-arrayen.
Teamet demonstrerade enheten med tre bröd-och-smör maskininlärningsalgoritmer:
Det finns utmaningar med att skala upp för kommersiellt bruk – memristorer kan ännu inte göras så identiska som de behöver vara och informationen som lagras i arrayen är inte helt tillförlitlig eftersom den körs på analogs kontinuum snarare än det digitala antingen/eller. Detta är framtida riktlinjer för Lus grupp.
Lu planerar att kommersialisera denna teknik. Studien heter, "Ett helt integrerat omprogrammerbart memristor-CMOS-system för effektiva multiplicera-ackumuleringsoperationer."