diplomová práce

Framework pro efektivní nasazení modelů hlubokých neuronových sítí na koncových zařízeních

Text práce 4.56 MB

Autor práce: Ing. Martin Pavella

Ak. rok: 2024/2025

Vedoucí: prof. Ing. Lukáš Sekanina, Ph.D.

Oponent: Ing. Vojtěch Mrázek, Ph.D.

Abstrakt:

PyTorch je aktuálne najpoužívanejši nástroj pre prácu s modelmi hlbokých neurónových sietí. Vývoj ovládačov a SW podpory pre využívanie HW akcelerátorov na koncových zariadeniach pre PyTorch modely nie je dostatočný. Aktuálne najčastejšim riešením je konvezia PyTorch modelov do formátu LiteRT, pre ktorý existuje dostatočná podpora ovládačov. Limitujúcim faktorom tohto prístupu je fakt, že nie všetky modely sú konvertovateľné do LiteRT. Tieto problematické modely nemôžu využívať HW akcelerátory a často mužia bežať iba na CPU. Táto diplomová práca navrhuje riešenie založené na rozdeľovaní PyTorch modelov na časti. Niektoré časti budú konvertované do LiteRT a ostatné časti, ktoré obsahujú nekonvertovateľné operácie, zostanú v PyTorch formáte. Vďaka tomu môžu tieto modely aspoň čiastočne využiť HW akcelerátory. Táto práca taktiež definuje nový formát súboru pre uloženie týchto rozdelených hybridných modelov, a taktiež navrhuje exekučný program, ktorý dokáže spustiť efektívnu inferenciu hybridných modelov na koncových zariadeniach.

Klíčová slova:

hlboké neurónové siete, hardverové akcelerátory, koncové zariadenia, rozdeľovanie modelov, hybridný model, PyTorch, ONNX, LiteRT, TFLite

Termín obhajoby

26.06.2025

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky k obhajobě

  1. Jaký podíl (např. počet násobení, paměťových operací) se z celé testované sítě podařilo přenést z CPU na NPU jednotku?
  2. Jak práce navazuje na vaši bakalářskou práci na téma převodu ONNX do tflite formátů?
  3. Zkoušel jste pro konverzi více různých sítí?
  4. Je Vámi dosažené zrychlení významné?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie a umělá inteligence (MITAI)

Specializace

Strojové učení (NMAL)

Složení komise

doc. Ing. Lukáš Burget, Ph.D. (předseda)
prof. Dr. Ing. Jan Černocký (člen)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Michal Hradiš, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)
Ing. František Grézl, Ph.D. (člen)

Obtížné zadání z firemního prostředí bylo vyřešeno inovativním zbůsobem. Je vysoce pravděpodobné, že vytvořené řešení bude využito ve firmě při akceleraci DNN v hardware.Vzhledem k dosaženým výsledkům a kvalitní technické zprávě navrhuji hodnocení stupněm výborně. Současně také diplomovou práci doporučuji vhodně ocenit.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Téma bylo zadáno externí firmou. Jednalo se o nadprůměrně náročné zadání, které vyžadovalo detailní pochopení problematiky efektivní implementace  hlubokých neuronových sítí (DNN) v hardware a možností návrhových nástrojů. Zadání bylo zcela splněno. Vznikl v praxi použitelný nástroj do značné míry řešící nekompatibilitu různých nástrojů a formátů pro vývoj DNN na různých akcelerátorech DNN.

Aktivita při dokončování

Diplomová práce byla dokončena v dostatečném předstihu a její  obsah byl dostatečně konzultován.

Publikační činnost, ocenění

Předpokládá se využití vytvořeného nástroje v rámci firmy, která projekt zadala.

Práce s literaturou

Diplomant aktivně získával a využíval vhodné studijní materiály.

Aktivita během řešení, konzultace, komunikace

Diplomant byl během řešení nadstandardně aktivní, dodržoval dohodnuté termíny a samostatně řešil dílčí části projektu. Na konzultace byl výborně  připraven.

Výsledný počet bodů navržený vedoucím: 99

Známka navržená vedoucím: A

Tato práce představuje nový nástroj pro efektivní výpočet inference neuronové sítě. Student vytvořil i s vhodnou kombinací existujících nástrojů ucelenou aplikaci, která by mohla najít uplatnění i u průmyslového partnera. Proto navrhuji celkové hodnocení stupněm A - výborně a doporučuji komisi zvážit ocenění této práce.

Kritérium hodnocení Slovní hodnocení Body
Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

Práce je psaná srozumitelně a je logicky strukturovaná. Pouze bych ocenil větší využívání diagramů pro vysvětlení toho, co je jádrem práce a kde je její přidaná hodnota.

90
Formální úprava technické zprávy

Práce je psaná anglickým jazykem a je psaná na dobré úrovni. Z typografické a formální stránky je práce bez závažnějších nedostatků.

95
Práce s literaturou

Student ve své práci využívá 78 zdrojů. Přestože se jedná z velké části o implementační práci, student čerpal z aktuálních vědeckých poznatků z oblasti efektivní inference neuronových sítí. Všechny použité zdroje jsou z mého pohledu relevantní a správně použité.

95
Realizační výstup

Cílem práce je vytvořit nástroj, který z obecného popisu sítě v ONNX formátu vytvoří samostatné segmenty pro CPU a akcelerační jednotku NPU. Při této transformaci se musí jednotlivé formáty konvertovat a součástí implementace je i tvorba přechodových mezikroků pro efektivní komunikaci mezi oběma platformami. 

Autor neprezentuje pouze demonstrátor navrženého přístupu, ale ucelený proces, který řeší akceleraci hybridní sítě (takové, jejíž část není možné akcelerovat na NPU) od začátku do konce. Mimo jiné se zaměřuje i na správné využívání zdrojů, maximálního sdílení předkompilovaných a transformovaných dat při opakovaném spouštění a podobně.

Vlastní práce mi byla předvedena i na používané desce NXP a je funkční. V evaluaci se autor se zaměřil na jednu komplexní síť do detailu, což však nevidím jako problém. Všechny parametry byly správně vyhodnoceny. Mírnou rezervu vidím ve způsobu prezentace výsledků, které by mohlo více využívat grafickou formu a lépe mezi sebou porovnávat.

95
Využitelnost výsledků

Student ve své práci řeší automatický nástroj, který řeší aktuální problémy zpracování neuronových sítí a je ve svých možnostech unikátní. Věřím, že nástroj najde své uplatnění i pro větší okruh uživatelů.

Náročnost zadání

Stupeň hodnocení: značně obtížné zadání

Zadání hodnotím jako značně obtížné, jelikož student řešil aktuální  problémy efektivního zpracování neuronových sítí na vestavěných systémech. Největší komplikací je nutnost používání a ladění používaných nástrojů, které jsou zatím nedokonalé.

Otázky k obhajobě:
  1. Jaký podíl (např. počet násobení, paměťových operací) se z celé testované sítě podařilo přenést z CPU na NPU jednotku?
  2. Jak práce navazuje na vaši bakalářskou práci na téma převodu ONNX do tflite formátů?
Výsledný počet bodů navržený oponentem: 95

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová