LORINC, M. Automatická komprese vah neuronových sítí [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
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 .
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. |
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
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. |
eVSKP id 153610