LORINC, M. Automatická komprese vah neuronových sítí [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Mrázek, Vojtěch

Student experimentálně ověřil, že je možné provést nahrazení některých vah. Zadání bylo náročné, student pracoval zejména v první polovině roku. I přes drobné připomínky k dokončování navrhuji celkové hodnocení stupněm B - velmi dobře .

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem zadání bylo nahradit některé čtení z paměti vah jednoduchou aproximační funkcí. Zadání hodnotím jako obtížné, jelikož se jednalo o velice experimentální téma s nejistým výsledkem a navíc práce s neuronovými sítěmi je výpočetně náročná. Student z mého pohledu zadání splnil.
Práce s literaturou Student sám aktivně vyhledával zdroje a studijní materiály k řešení diplomové práce.
Aktivita během řešení, konzultace, komunikace Student začal pracovat ve značném předstihu. V zimním semestru, který Bc. Lorinc strávil v zahraničí na studijním pobytu, se i tak podařilo zpracovat část rešeršní práce a zejména také přinést prototyp implementace. Rámcově jsme pravidelně konzultovali postup a experimentální část.
Aktivita při dokončování Prvotní implementace byla připravena ve značném předstihu. Z časových důvodu však byla konzultována pouze první verze výsledků a celkovou podobu práce jsem neměl možnost komentovat.
Publikační činnost, ocenění Není známa.
Navrhovaná známka
B
Body
89

Posudek oponenta

Sekanina, Lukáš

Diplomant řešil výzkumné téma a dosáhl zajímavých, potenciálně publikovatelných výsledků. Odvedl velké množství implementační i experimentální práce. Provedl řadu experimentů, které statisticky vyhodnotil. Celkový dojem kazí technická zpráva, která obsahuje řadu nepřesností a chyb. Vzhledem k obtížnému zadání, zajímavým výsledkům a horšímu zpracování technické zprávy navrhuji hodnocení stupněm B

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Jednalo se o nadprůměrně obtížné zadání výzkumného charakteru. Cílem bylo (částečně) nahradit energeticky náročné načítání vah konvoluční neuronové sítě (CNN) z externí paměti do akcelerátoru pomocí výpočtu jejich hodnot z předem zvolených známých vah. Výpočet je realizován číslicovým obvodem, který je navržen pomocí kartézského genetického programování. Navržené řešení je unikátní a funguje pro jednodušší CNN. Diplomant prokázal znalost pokročilých témat z oblasti návrhu a optimalizace CNN a využití genetického programování pro návrh číslicových obvodů.
Rozsah splnění požadavků zadání Zadání bylo splněno v celém rozsahu. Experimentální ověření je podrobné. Výsledky nejsou zatím úplně konkurenceschopné. Pokud je mi známo, nebyl takto definovaný problém v literatuře navrženým způsobem doposud řešen.
Rozsah technické zprávy
Prezentační úroveň technické zprávy 70 Práce je logicky strukturovaná, kapitoly na sebe navazují. V přemíře detailů se bohužel ztrácí popis některých podstatných principů, na kterých je navržené řešení postaveno. Téma je zadáno jako metoda pro kompresi vah v akcelerátorech CNN. Metody komprese jsou v přehledu současného stavu (kap. 2) jen zběžně popsány, očekával bych např. popis algoritmu RLC, který je např. použit v akcelerátoru Eyeriss. Naopak, spoustu prostoru je věnováno např. algoritmům mapování CNN modelu na architekturu akcelerátoru (nepřesně prezentovaných jako algoritmy akcelerace na obr. 2.10, 2.11 a 2.12), které nejsou následně nijak využity. Není definován kompresní poměr a navržená metoda není v tomto ohledu vyhodnocena. V návrhu metody (kap. 4) chybí podstatné informace, např. je evolučně hledaná funkce zamýšlena pro jeden filtr, jeden kanál, jednu vrstvu nebo celý CNN model? Jak se bude v akcelerátoru přepínat mezi načítáním vah a použitím evolučně navržené funkce? Jaký datový typ je použit pro návrh funkce? V některých vztazích a sekcích není vysvětlen význam všech symbolů, např. ve vztahu 2.2, 2.3, 3.2, 3.6 a v sekci 2.2.1 (symbol E). Práci by prospěla ještě minimálně jedna důkladná revize textu. Pozitivně hodnotím snahu o konstrukci cílové funkce pomocí jednoduchých primitiv. Experimentální část obsahuje řadu zajímavých měření a výsledků, mj. z oblasti robustnosti CNN. Výsledky jsou vždy statisticky vyhodnoceny. Zvolené CNN byly pro experimenty vybrány vhodně. Opět konstatuji, že prezentace výsledků mohla být zpracována precizněji. V experimentální části není např. definován počet vstupů (n_i) a výstupů (n_o) hledané funkce a bitová šířka operací. Dále bych uvítal příklad evolučně navrženého výrazu. Metody zvolené pro odhad energie obvodu jsou adekvátní dané studii. Výsledky jsou v závěru kriticky vyhodnoceny.
Formální úprava technické zprávy 80 Práce je napsána solidní angličtinou s minimem typografických chyb. Některé formulace jsou však nepřesné a neúplné, např. popis obrázků 2.8, 3.4, 4.2 a 6.7, sekce 2.3.3, sekce 2.3.5 („smaller bit bandwidth“), na obr. 2.19 chybí popis os, „Function“ je chybně definována ve výčtu v kap. 3.2.1., v kap. 3.2.2 je používán pojem Hemingway distance namísto Hamming distance atd. Používání termínů „more optimal“ nebo „the most optimal“ nemá smysl.
Práce s literaturou 90 Diplomant využíval relevantní zdroje a řádně se na ně odkazoval. Prohřešky v zápisu referencí jsou minimální.
Realizační výstup 89 Realizačním výstupem je sada programů pro evoluční návrh funkcí použitelných jako generátor vah CNN. Přiložený archiv obsahuje zdrojové kódy a datové soubory. Návod popisuje základní práci s projektem. Zdrojové kódy neobsahují hlavičky a jsou jen řídce komentovány. Projekt byl řešen s využitím výpočetních zdrojů Metacentra. Nepochybuji, že prezentované výsledky byly pomocí vytvořených programů získány.
Využitelnost výsledků Jedná se o práci výzkumného charakteru, která by se po doplnění mohla stát základem vědeckého článku.
Navrhovaná známka
B
Body
85

Otázky

eVSKP id 153610