Voordat ik bij Qualcomm Technologies Nederland kwam, was rekenen altijd een zwarte doos voor mij. Ik zou een algoritme ontwerpen, het coderen in een programmeertaal op hoog niveau, het uitvoeren en het zou gewoon werken. Sindsdien heb ik geleerd dat berekening een wonder van technologie is, van het ontwerp en de fabricage van de chip, tot het in kaart brengen van de berekening op de hardware, tot de daadwerkelijke berekening in termen van bits.

Ik heb ook geleerd dat een van de beperkende factoren van de berekening het stroomverbruik is. Dit is waar om economische redenen: als het economisch rendement dat wordt verkregen door een berekening uit te voeren lager is dan de energierekening, heeft het geen financiële zin om het uit te voeren. Ook moet er energie worden afgevoerd, anders kan een telefoon in uw zak heet worden en moet deze op lagere prestaties werken. Daarom voorspel ik dat we succes op het gebied van AI steeds vaker zullen afmeten aan de hoeveelheid intelligentie die we per joule kunnen genereren. Niet toevallig geldt dit ook voor biologische intelligentie, want voor elke joule die in je hersenen wordt verbrand, moet je voedsel vinden om de energierekening te betalen. En laten we duidelijk zijn, er is hier nog veel ruimte voor verbetering: het menselijk brein, dat zich in de loop van miljoenen jaren heeft ontwikkeld, wordt door sommigen geschat op ongeveer 100.000 keer energiezuiniger dan onze beste siliciumhardware.

En dus denken we bij Qualcomm AI Research na over hoe we energie-efficiënte machine learning kunnen ontwerpen die goed werkt op onze hardware, en tegelijkertijd de hardwareontwerpers kunnen beïnvloeden om beter gespecialiseerde (ASIC) chips te bouwen om machine learning-workloads uit te voeren. In wezen ontwerpen we samen de hardware, software en algoritmen. Er zijn meerdere manieren om dit aan te pakken, zoals het verkleinen van het neurale netwerk, het optimaliseren van de compilatie van de berekening op hardware (bijvoorbeeld door de verplaatsing van gegevens tussen off-chip en on-chip geheugen te vermijden), of het verminderen van de nauwkeurigheid van de berekening door het aantal beschikbare bits te verminderen (ook wel kwantisatie genoemd). Vooral dat laatste interesseerde me: hoe kun je adaptief de vereiste precisie voor een voorspellingstaak bepalen?

Deze vraag is met name interessant in een neuraal netwerk waar het toevoegen van ruis aan de verborgen lagen de generalisatieprestaties daadwerkelijk lijkt te verbeteren. Het lijkt dwaas om zeer nauwkeurige ruis toe te voegen aan willekeurige variabelen met hoge precisie. We stelden onszelf de vraag: kunnen we uit de data leren hoeveel bits een bepaalde rekenkernel nodig heeft? De informatie die in de gegevens is opgeslagen, moet worden overgedragen naar de variabelen van het model, dus een grote dataset moet worden vertaald naar zeer nauwkeurige parameters, terwijl een kleine dataset moet worden vertaald naar lawaaierige, lage-precisieparameters. In het extreme geval kan het model zelfs besluiten nul bits te gebruiken voor een parameter, wat gelijk staat aan het wegsnoeien van de parameter.

Bayesiaanse bits

Dit probleem kan worden benaderd met behulp van Bayesiaanse statistiek. In Bayesiaanse statistiek handhaven we een kansverdeling voor elke variabele, en aangezien een variabele kan worden uitgedrukt in termen van een bitreeks, vertaalt dit zich in een waarschijnlijkheid voor elke bit. We kunnen dit een “Bayesiaans bit” noemen. Een Bayesiaanse waarschijnlijkheid is een subjectieve waarschijnlijkheid van uw overtuiging over de toestand van de wereld. Het is een eigenschap van je hersenen en niet van de wereld. Ieder van ons zal verschillende opvattingen over de wereld koesteren, omdat we allemaal bekend zijn met verschillende waarnemingen. En hopelijk zullen we deze subjectieve waarschijnlijkheden bijwerken in het licht van nieuw bewijs1.

Onze Bayesiaanse bits-methode werkt een beetje als een reeks poorten. Gezien onze dataset bepalen we eerst of er voldoende bewijs is om een ​​parameter in de berekening op te nemen. Aangezien we hebben besloten dat het een nuttige parameter is, blijven we bepalen of we een tweede bit nodig hebben om het weer te geven. Dit proces gaat door totdat een poort sluit, wat inhoudt dat alle minder significante bits worden verwijderd. Door dit idee waren we in staat om adaptief de benodigde precisie voor een berekening te bepalen en daarbij energie te besparen.

Kwantumbits

Door probabilistisch te redeneren over individuele bits lijkt het erop dat we het meest fundamentele niveau van informatieverwerking en -berekening hebben bereikt. “Kunnen we nog een niveau dieper gaan?”, was de volgende natuurlijke vraag. En verbazingwekkend genoeg is het antwoord ja, omdat de natuur eigenlijk geen probabilistische bits gebruikt, maar eerder kwantumbits (of “qubits”). Laten we, om het verschil en de implicaties van het verschil te begrijpen, eerst probabilistische bits wat meer formaliseren.

Een klassiek bit kan twee waarden x=(0,1) aannemen. Een probabilistische bit kan echter de waarden p(x)=(q,1-q) aannemen, waarbij q een willekeurig reëel getal tussen 0 en 1 is dat de kans voorstelt om waarde 0 aan te nemen. Probabilistische bits kunnen “verstrengeld” zijn, wat om te zeggen dat hun waarden kunnen worden gecorreleerd. Voor twee bits hebben we vier mogelijke toestanden x=(00,01,10,11). Voor verstrengelde bits zijn de kansen voor x afhankelijk, dat wil zeggen, als we de waarde voor één x weten, dan weten we ook iets over de waarde voor een andere x. In de bovenstaande notatie zou een vector p(x)=(½,0,0,½) een verstrengeld bitpaar voorstellen. Beschouw als voorbeeld de kleurwaarden van twee aangrenzende pixels in een afbeelding. Gegeven één pixelwaarde, kun je met grote waarschijnlijkheid de waarde van de andere voorspellen, en dus zijn hun waarden verstrengeld.

Waarschijnlijkheden hebben ook de handige eigenschap dat ze optellen. Als er twee paden zijn van A naar C, één door B1 en de andere door B2, dan is de kans om naar C te gaan de som van de kansen van de twee paden door B1 en B2.

Klassieke kanstheorie waarbij de som van alle kansen gelijk is aan één.

Om qubits2 te begrijpen, moeten we een schijnbaar onbelangrijke wijziging aanbrengen in de definitie van hoe informatie moet worden weergegeven. In plaats van positieve getallen te gebruiken, p, die optellen tot één, zullen we nu complexe getallen gebruiken waarvan de (absolute) kwadraten optellen tot één. We noemen deze kans amplitudes. Omwille van het argument kun je het complexe getalgedeelte vergeten en gewoon p vervangen door plus of min de vierkantswortel van p. Voor het geval van één qubit zouden we dus twee getallen a en b hebben die op een cirkel liggen: a2 + b2 = 1. Dit lijkt opmerkelijk veel op het geval van probabilistische bits, maar zoals we zullen zien, zal het grote gevolgen hebben.

Qubits hebben de eigenschappen van superpositie en verstrengeling, wat een exponentiële snelheidstoename in computergebruik mogelijk maakt.

Net als probabilistische bits kunnen qubits ook verstrengeld zijn, wat ook ruwweg betekent dat hun waarden afhankelijk zijn. In wiskundige notatie wordt een (maximaal) verstrengeld paar qubits weergegeven door de waarschijnlijkheidsamplitude  ψ(x)=(1/√2,0,0,1/√2). Een beroemd gedachte-experiment, dat later in het laboratorium werd gevalideerd, is de zogenaamde Einstein-Podolsky-Rosen-paradox, voor het eerst bedacht door Einstein en collega’s om aan te tonen dat de kwantummechanica onmogelijk correct kon zijn. Twee vrienden krijgen elk een van de twee maximaal verstrengelde qubits en nemen ze mee naar de andere kant van de melkweg. Als de eerste vriend een experiment uitvoert en de waarde uitleest, dan is de uitkomst van het experiment van de tweede vriend aan de andere kant van de melkweg nu volledig bepaald, onmiddellijk.

Als je dit leest, je krijgt sterk het gevoel dat deze waarschijnlijkheidsamplitudes ook onze subjectieve kennis over de wereld moeten beschrijven. Hoe zou deze informatie anders sneller kunnen “reizen” dan de snelheid van het licht? En hoewel deze kwestie nog steeds fel bediscussieerd wordt3, geloven de meeste natuurkundigen tegenwoordig dat golffuncties inderdaad de werkelijke toestand van de wereld vertegenwoordigen, en niet de toestand van onze hersenen.

Naast deze vreemde “actie op afstand” effecten, is er een directer gevolg van het gebruik van amplitudes, namelijk dat ze elkaar kunnen opheffen, wat interferentie wordt genoemd. Laten we, om dit te begrijpen, opnieuw twee paden bekijken die van A naar C gaan, één door B1 en één door B2. In het klassieke geval hadden de paden positieve gewichten die bij elkaar opgeteld werden. Maar in de kwantumwereld moeten we de kans amplitudes . toevoegenvoordat we de kwadraten nemen om kansen te berekenen. Dus, laten we aannemen dat de amplitude van een deeltje bij C dat door B1 gaat a is, en de amplitude dat door B2 gaat -a is, dan is hun som 0, en je zult zien dat er geen deeltje is bij C. Dit is bijzonder vreemd omdat je kunt deeltjes meten op B1 en B2, maar net als golven kunnen ze destructief interfereren bij C. Als het deeltje onderweg is op een van de twee paden, moet het zich op de een of andere manier bewust zijn van het andere pad (en in het algemeen alle mogelijke paden), wat inhoudt dat het overal tegelijk is!

Kwantumwaarschijnlijkheden vertonen interessante eigenschappen, zoals overal tegelijk zijn.

Nu, deze eigenschap van een kwantumamplitude om overal tegelijk te zijn, kan worden vertaald zodat qubits in alle mogelijke toestanden tegelijk zijn. Dus één qubit is in twee staten tegelijk, twee qubits in vier staten tegelijk, drie qubits in acht staten tegelijk en 100 qubits in 1.300000000000000000000000000000 staten tegelijk. Quantumcomputers kunnen deze amplitudes simultaan manipuleren over exponentieel veel toestanden. En het is deze eigenschap die kwantumcomputers potentieel zo krachtig maakt4 (lees ons artikel, Quantum Deformed Neural Networks).

Er zijn momenteel drie succesvolle benaderingen van quantum computing: twee gebaseerd op qubits (supergeleidende qubits en ingesloten ionen) en één op basis van fotonica (d.w.z. licht). De optische kwantumcomputers werken met zogenaamde continue variabele toestanden in tegenstelling tot de discrete qubits. Men kan een afbeelding modelleren als een tweedimensionaal (kwantum) veld van oscillatoren waarbij de amplitude van de oscillator bij pixel i overeenkomt met pixelwaarden van de afbeelding. Naburige pixels zullen verstrengeld raken (gecorreleerd) en dus kan men zich golven voorstellen die zich door dit raster voortplanten als rimpelingen in een vijver met water.

Een kwantumberekening is een opeenvolging van bewerkingen op dit kwantumveld, ontleed in elementaire poorten. We hebben lineaire operatoren geïmplementeerd door bundelsplitsers, faseverschuivers en knijpers, en verbazingwekkend genoeg kunnen deze worden toegewezen aan de lineaire lagen van een neuraal netwerk. En net als bij neurale netwerken zijn er ook niet-lineaire operatoren in een kwantumcircuit. Geïnspireerd door de ReLU hebben we een nieuwe niet-lineaire poort uitgevonden die een zachte versie van de ReLU in een optisch kwantumcircuit implementeert.

Al met al zijn de overeenkomsten tussen een optisch kwantumcircuit in de continue variabele weergave en een neuraal netwerk griezelig. Dit betekent dat we waarschijnlijk vrij eenvoudig een neuraal netwerk kunnen implementeren op een optische kwantumcomputer. Maar of dit zal resulteren in krachtigere machine learning-modellen is zeer speculatief en blijft een open onderzoeksvraag.

De Hinton

Een bijzonder grappig aspect van het formuleren van een neuraal netwerk in de taal van de kwantumveldentheorie is dat we elementaire deeltjes kunnen identificeren als de fundamentele excitaties van deze kwantumvelden (gekwantiseerde rimpelingen in de vijver). We dachten dat de naam “hinton” paste bij het eerste neurale deeltje dat ooit werd ontdekt5 (lees ons artikel, The Hintons in your Neural Network: a Quantum Field Theory View of Deep Learning). De berekening die plaatsvindt in de ingewanden van een neuraal netwerk kan dus worden begrepen als ontelbare hints die samenwerken om een ​​voorspelling te orkestreren.

We hebben het eerste neurale deeltje dat ooit is ontdekt, de hinton genoemd.

We hopen dat ons werk vele anderen zal inspireren om door te gaan op dit opwindende pad van kwantummachine learning.

1In de huidige samenleving met desinformatie om ons heen, wordt dit steeds vaker uitdagend.
2Feynman leek te hebben gezegd: “als je denkt dat je de kwantummechanica begrijpt, begrijp je de kwantummechanica niet.”
3De auteur gelooft nog steeds dat probabilistische amplituden inderdaad subjectieve grootheden beschrijven.
4Quantumcomputers zijn erg snel voor een beperkte reeks berekeningen, niet alle berekeningen.
5Vernoemd naar Geoffrey Hinton, de grondlegger van deep learning.

Dr. Max Welling
Vice-president, Technologie, Qualcomm Technologies

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *