<?xml version="1.0"?>
<metadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:title>Aplikacija za poganjanje jezikovnih modelov na mobilnih napravah</dc:title><dc:creator>Hribar,	Samo	(Avtor)
	</dc:creator><dc:creator>Pesek,	Matevž	(Mentor)
	</dc:creator><dc:subject>Android</dc:subject><dc:subject>transformer</dc:subject><dc:subject>jezikovni model</dc:subject><dc:subject>prepoznava govora</dc:subject><dc:subject>aplikacija</dc:subject><dc:description>Predstavljen je postopek izdelave aplikacije za mobilni operacijski sistem Android, ki omogoča
poganjanje modelov nevronskih mrež z arhitekturo transformer.
Vse procesiranje se odvija lokalno, kar omogoča večjo varnost naših podatkov in neodvisnost od internetne povezave.
Aplikacija je testirana z modeloma Whisper za
transkripcijo govora in Phi-2 za obdelavo naravnega jezika.

Praktični del obsega izgradnjo aplikacije za Android z ogrodjem Jetpack Compose in vključevanje obstoječih C++ knjižnic s spletišča GitHub.
Te omogočajo poganjanje umetnointeligenčnih modelov, ki sem jih natreniral v okviru te diplomske naloge.
Gre za trening STT modela Whisper-Small in LLM Phi-2 s končnim ciljem razumeti slovenski jezik.
Obsega tudi pripravo učne množice ARTUR1.0 s transkripcijami zvočnih posnetkov, prevajanje učne množice OASST1 in uporabo učnih podatkov za učenje modelov.

Omenjena modela sta v aplikaciji pognana s pomočjo knjižnic whisper.cpp in llama.cpp .
V končni verziji aplikacije lahko izrečemo vprašanje in posneti zvok se preda v obdelavo modelu Whisper, ki iz njega ustvari besedilo.
Alternativno lahko svoje vprašanje tudi natipkamo v za to vnaprej določeno polje.
Ob kliku na gumb "pošlji" aplikacija vnešeno besedilo preda jezikovnemu modelu.
Ta ga obdela in zatem začne ustvarjati odgovor, besedo po besedo, podobno kot vidimo v ostalih spletnih storitvah.
Generirano besedilo se pojavi kot odgovor sistema pod našim vprašanjem.

Modele sem evalviral s testnimi množicami in jih primerjal z obstoječimi spletnimi rešitvami.
Proces transkripcije govora sem natančenje primerjal z aplikacijo Govori.si.
Vnos besedila s pomočjo govora predstavlja varno alternativo tipkanju v situacijah, ki od nas zahtevajo pozornost na okolico.
Vnešeno besedilo obdela LLM Phi-2, ki sem ga primerjal z verjetno najbolj znanim LLM-om ChatGPT, pa tudi z odprtokodnim Mistralom.

Odgovarjanje sem meril na svojem lastnem telefonu, Poco F3.
Transkripcija govora je relativno počasna glede na spletno-povezljive rešitve, prav tako čas do generiranja prvega zloga v odgovoru.
Nadaljnji zlogi so generirani hitreje, s hitrostjo okoli 2,6 zloga/s.</dc:description><dc:date>2024</dc:date><dc:date>2024-11-13 10:19:15</dc:date><dc:type>Diplomsko delo/naloga</dc:type><dc:identifier>164816</dc:identifier><dc:identifier>VisID: 37235</dc:identifier><dc:identifier>COBISS_ID: 207639043</dc:identifier><dc:language>sl</dc:language></metadata>
