Els vehicles autònoms requereixen d’un programari complexe que pugui processar en temps real una enorme quantitat de dades (de l’ordre de gigabytes per segon) procedents de diferents sensors tals com càmeres i LiDARs, entre d’altres. Aquestes dades s’utilitzen en els processos de decisió relacionats amb les diferents tasques, com la predicció de trajectòria, per les quals s’utilitzen algorismes avançats d'intel·ligència artificial. Un dels programes més utilitzats en conducció autònoma és Apollo.
Apollo usa una variant de YOLO per a la detecció d’objectes en imatges, formant una de les principals parts del mòdul de percepció. YOLO (You Only Look Once) és un sistema de detecció àmpliament utilitzat que es basa en una xarxa neuronal convolucional (Convolutional Neural Network, CNN). Cada segon, cada càmera en el vehicle captura múltiples imatges i el detector d’objectes les processa seqüencialment.
Les xarxes neuronals en general, degut a la seva naturalesa, presenten una gran tolerància a errors i imperfeccions. A partir d’aquesta característica, investigadors de la Universitat Politècnica de Catalunya (UPC) i del Barcelona Supercomputing Center (BSC) tenen per objectiu, dintre del marc del projecte DRAC, dissenyar un accelerador de hardware que consumeixi menys energía aprofitant els principis del càlcul aproximat. Es consideren dues línies:
-
Usar precisió reduïda en la representació numèrica. La implementació de YOLO fa servir per defecte números de coma flotant representats per 32 bits (FP32). Reduir el nombre de bits representa una reducció de potència degut a que hi ha menys elements i interconnexions que consumeixen energia en cada càlcul.
-
Usar unitats aritmètiques aproximades. Aquestes unitats es dissenyen simplificant l’estructura de les operacions de suma i multiplicació, per exemple, de manera que siguin més ràpides a pesar de que donen resultats inexactes per a algunes combinaciones d'entrada. Donada la tolerància inherent de les CNN als errors, es pot aprofitar aquesta característica per a operar aquestes unitats a una tensió d’alimentació més baixa a la mateixa velocitat que unitats exactes convencionals, i per tant reduint-ne el consum mantenint-ne les prestacions.
Alternatives tals com FP16 (16 bits), FP8 (8 bits), o Posits-16 (16 bits) s’han avaluat en termes de precisió en la detecció d’objectes usant la xarxa YOLO. Per altra banda, diversos sumadors i multiplicadors enters i de coma flotant s’han dissenyat a nivell RTL per a avaluar-ne la seva precisió i estalvi d’energia en diferents condicions de tensió i freqüència de rellotge.
Els resultats d’aquestes anàlisis s’utilitzaran per a la implementació de l’accelerador de hardware basat en aquestes aproximacions. Aquest és l’objectiu del projecte P4 dins de DRAC.