TehnoȘtiri

PROCESOARELE GRAFICE POT ANALIZA MILIARDE DE VECTORI COMPLECȘI ÎNTR-UN TIMP RECORD

(c) ISTOCKPHOTO

Complexitatea unei fotografii digitale nu poate fi subestimată. Fiecare pixel cuprinde mai multe puncte de date, iar într-o singură fotografie pot exista milioane de pixeli. Aceste numeroase puncte de date, care sunt în raport unul cu celălalt, sunt denumite date „de înaltă dimensiune” și pot necesita o putere de calcul imensă pentru a le analiza.

Într-un studiu publicat în data de 1 iulie în revista IEEE Transactions on Big Data, cercetătorii din cadrul Facebook AI Research propun o soluție nouă, care urmărește să ușureze povara acestui proces. În locul utilizării unităților centrale de procesare (CPU) ale unui computer pentru a analiza mediile de înaltă dimensiune, aceștia au folosit unitățile de procesare grafică (GPU-uri). Procesul permite utilizarea unui număr de 4 GPU-uri pentru analizarea a peste 95 de milioane de imagini de înaltă dimensiune în doar 35 de minute. Această viteză este de 8,5 ori mai mare decât cea din cadrul tehnicilor anterioare, care foloseau CPU-uri pentru a analiza date de înaltă dimensiune.

„Cea mai simplă tehnică de căutare și indexare a datelor de dimensiuni ridicate este prin verificarea fiecărei imagini cu orice altă imagine din baza de date. Acest lucru nu este practic pentru colecțiile care au miliarde de vectori”, a explicat Jeff Johnson, inginer și cercetător în cadrul Facebook AI Research, care a co-dezvoltat noua abordare ce presupune utilizarea de GPU-uri.

CPU-urile, care dispun de memorie mare și, prin urmare, pot gestiona volume mari de date, sunt capabile de o astfel de sarcină. Cu toate acestea, este nevoie de o perioadă substanțială de timp pentru ca procesoarele să transfere date între diferitele componente ale supercomputerelor, ceea ce provoacă un decalaj general al timpul de calcul.

În schimb, GPU-urile oferă mai multă putere de procesare brută. Prin urmare, Johnson și echipa sa au dezvoltat un algoritm care permite GPU-urilor să găzduiască și să analizeze o bibliotecă de vectori. În acest fel, datele sunt gestionate de un număr redus GPU-uri. Uzual, GPU-urile au o cantitate memorie de stocare mai redusă decât CPU-urile, dar Johnson și colegii săi au reușit să depășească această problemă folosind o tehnică care comprimă bazele de date vectoriale și le face mai ușor de utilizat.

„Păstrând calculele doar pe un GPU, în loc să folosim memoriile mai lente ale serverelor CPU și interconectarea chiar mai lentă a rețelei de la mașină la mașină într-un cluster de supercomputere tradiționale, putem profita de memoria mult mai rapidă disponibilă pe acceleratoarele grafice”, explică Johnson.

Cercetătorii au comparat abordarea cu o bază de date cu un miliard de vectori, aceasta cuprinzând 384 de gigaocteți de date brute. Abordarea lor a redus numărul de combinații de vectori care trebuie analizate (care ar fi în mod normal de un quintilion (1018) ), cu cel puțin 4 ordine de mărime.

„Atât creșterea vitezei, cât și scăderea dimensiunii bazei de date permit rezolvarea problemelor care, altfel, ar necesita sute de CPU-uri”, a declarat Johnson.

Abordarea lor a fost pusă la dispoziție gratuit prin intermediul bibliotecii open source Facebook AI Similarity Search (Faiss). Johnson a remarcat faptul că firma Nvidia a început deja să proiecteze extensii folosind această abordare. Acestea au fost dezvăluite în cadrul conferinței tehnologice GPU 2021 a companiei.