bakalářská práce

Převod modelů mezi nástroji strojového učení pro mobilní platformy

Text práce 2.97 MB

Autor práce: Ing. Martin Pavella

Ak. rok: 2022/2023

Vedoucí: Ing. Radek Kočí, Ph.D.

Oponent: doc. Ing. František Zbořil, Ph.D.

Abstrakt:

Nástroje pre strojové učenie používajú rôzne formáty pre reprezentáciu a uloženie modelov hlbokých neurónových sietí. Jedným z najpoužívanejších je formát Open Neural Network Exchange (ONNX). Vývoj softwarovej podpory pre hardwarové akcelerátory na vstavaných systémoch je drahý, a ONNX je len výnimočne podporovaný. Potrebné ovládače sú typicky implementované iba pre formát TensorFlow Lite (TFLite). Aktuálne možnosti pre konverziu netrénovaných ONNX modelov na TFLite sú nedostatočné, a produkujú neoptimálne modely. Táto práca sa zameriava na návrh a vývoj priameho konvertoru ONNX modelov na TFLite, ktorý produkuje čo najoptimálnejšie modely. Výsledný program bol v spolupráci so spoločnosťou NXP overený na reálnych modeloch. Tie po konverzii produkujú identické výstupy a rýchlosť ich inferencie na cieľových platformách je značne vyššia.

Klíčová slova:

TFLite, ONNX, TensorFlow Lite, konverzia hlbokých neurónových sietí, konverzia modelov neurónových sietí, flatbuffer, protocol buffer, ONNX na TFLite

Termín obhajoby

13.06.2023

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, např. ohledně limitů při konverzi operátorů či vlastního přínosu práce. 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 výborně / A.

Otázky k obhajobě

  1. V závěru textu je uvedena kapitola 'Bezkontextový překladač'. Můžete formálněji vyjádřit, mezi jakými jazyky tento překladač překládá?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Ing. Vladimír Janoušek, Ph.D. (předseda)
doc. Ing. Lukáš Burget, Ph.D. (člen)
prof. Ing. Jan M. Honzík, CSc. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Radek Kočí, Ph.D. (člen)

Posudek vedoucího
Ing. Radek Kočí, Ph.D.

Přístup studenta hodnotím jako výborný. Přikládám vyjádření odborného konzultanta Roberta Kalmara:


S přístupem studenta jsem nadmíru spokojený. Pravidelně se účastnil dohodnutých konzultací, na které přicházel připravený a umožňoval produktivní diskuse o podrobnostech provádění a o problémech, které se vyskytly. Při své práci prokázal schopnost analyzovat problém, porozumět implementaci třetí strany, navrhnout SW architekturu výsledného řešení a obhájit klíčové aspekty návrhu. Výsledný návrh řešení a implementaci považuji za velmi kvalitní.  Student také prokázal vynikající time-management. Na svém BP pracoval pravidelně a od počátku byly k dispozici rané verze softwaru. Jednotlivé body zadání byly splněny včas, finální implementace byla k dispozici zhruba měsíc před předáním.

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

Zadání bylo vytvořeno ve spolupráci s firmou NXP. Cílem bylo vytvoření konvertoru modelů strojového učení pro účely nasazení na specializovaném hardwaru. Vzhledem k tomu, že student musel nastudovat různé modely s využitím analýzy implementace nástrojů TFLite a ONNX a následná implementace konvertoru byla poměrně rozsáhlá, považuji zadání za náročnější.

Práce s literaturou

Student využil doporučenou literaturu, další zdroje vyhledával sám nebo na doporučení konzultanta z firmy.

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

Aktivita byla výborná, pravidelně probíhaly konzultace s odborným konzultantem s firmy, o kterých jsem byl informován a několika z nich jsem se přímo účastnil. Student byl vždy připraven a během konzultací probíhala konstruktivní diskuze.

Aktivita při dokončování

Aktivita při dokončování byla velmi dobrá, realizace i technická zpráva byla konzultována s dostatečným předstihem.

Publikační činnost, ocenění

Student zúčastnil konference Excel@FIT 2023.

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

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

Student provedl kvalitní inženýrskou práci a výsledkem je užitečný a originální systém. Přesto hodnotím nižším stupněm B a to zejména proto, protože textová část popisující implementaci tohoto systému mohla být provedena pečlivěji a přehledněji.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: obtížnější zadání

Zadání považuji za mírně obtížnější z toho důvodu, že dokumentace k jednomu z požadoavných formátů není k dispozici a student tak musel provést zpětnou analýzu některých kódů. 

Rozsah splnění požadavků zadání

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

Výsledkem je aplikace, která dokáže transformovat některé modely popsatelné ve formátu ONNX do formátu TensorFlow Lite. Jedná se o modely, které bývají obvyklé, kromě toho ale student zmiňuje, že doposud není možné konvertovat jakýkoliv model a že toto je potřeba dořešit v budoucnu. To ale nepovažuji za nedostatek, jelikož jak jsem uvedl v předchozím bodě, není k dispozici oficiální dokumentace a jednotlivé prvky modelu a jejich funkčnost bylo potřeba získat z analýzy dostupných modelů.

Rozsah technické zprávy

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

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

Druhá část práce je bohužel hůře čitelná. Student relativně vágně popisuje implementaci svého systému, odkazuje se často na soubory s kódy aplikace a používá pojmy bez podrobnějšího vysvětlení, což čtenáři komplikuje porozumnění textu. Text je cílen na někoho, kdo má podrobné znalosti o popisovaných modelech a zkušenosti s nimi nad úroveň běžnou v informačních technologií. Takto strukturovaný a sepsaný text pro mě snižuje kvalitu celé práce. 

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

Z formálního hlediska mám výtky k tomu, že v textu se řeší a odkazuje adresářová struktura projektu, která podle mého názoru by měla být uvedena v přílohách. Ukázky kódů zabírajících v jednom případě i celou stranu nejsou pro čtenáře příliš užitečné a zhoršují formální úpravu textu. Po jazykové stánce je text psán správně, až na to, co jsem zmíníl v předchozím bodě, a některé věty jsou stylově volnější, než se předpokládá u bakalářských prací.

75
Práce s literaturou

Uvedených šestnáct pramenů je relevantních k tématu práce, student je řádně cituje a dle mého názoru jsou i vhodně zvoleny.

90
Realizační výstup

Systém je v pořádku a překlady podmnožiny modelů popsatelných ve formátu ONNX lze převádět do formátu TensorFlow Litte. Výsledky ukazují, že tento převod má smysl a v cílovém formátu umožňuje zrychlit vybavování modelu a zmenšit jeho velikost při zachování přesnosti.

95
Využitelnost výsledků

Práce byla vytvořena ve spolupráci s firmou NXP a zde bude výsledný systém využíván. Jedná se pravděpodobně o unikátní překladač, který doposud nebyl jinde vytvořen.

Otázky k obhajobě:
  1. V závěru textu je uvedena kapitola 'Bezkontextový překladač'. Můžete formálněji vyjádřit, mezi jakými jazyky tento překladač překládá?
Výsledný počet bodů navržený oponentem: 85

Známka navržená oponentem: B

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