Design and performance analysis of applications using machine learning
dc.contributor.advisor | Ispány, Márton | |
dc.contributor.author | Szabó, Máté | |
dc.contributor.department | Informatikai tudományok doktori iskola | hu |
dc.contributor.submitterdep | Informatikai Kar::Információ Technológia Tanszék | |
dc.date.accessioned | 2025-08-30T13:16:07Z | |
dc.date.available | 2025-08-30T13:16:07Z | |
dc.date.defended | 2025 | |
dc.date.issued | 2025 | |
dc.description.abstract | The proliferation of machine learning (ML) across web and mobile applications has created a pressing need for architectures that are not only powerful but also scalable, integrable, and efficient, particularly in resource-constrained and heterogeneous environments. This dissertation presents a comprehensive investigation into the design, performance analysis, and integration of applications that utilize machine learning, bridging the gap between mobile computing, web services, and distributed systems. My research addresses the critical challenges of training and deploying ML models across diverse platforms by proposing practical architectures, conducting extensive performance evaluations, and demonstrating the feasibility of these approaches through real-world experiments. This dissertation first addresses the challenge of leveraging the latent computational power of mobile devices for complex ML tasks. I propose and implement a novel client-server architecture for distributed model training that utilizes data parallelism across a cluster of mobile clients. In this framework, a central web service manages dataset slicing, model persistence, and the construction of ensemble models, while Android clients perform the computationally intensive training on partitioned data. My research demonstrates that it is not only feasible but also efficient to perform distributed training on mobile platforms. The resulting ensemble models, aggregated from submodels trained on individual devices, achieve accuracy comparable to that of a single model trained on a traditional desktop system, thereby validating the use of mobile device clusters for large-scale ML tasks. Building on the feasibility of on-device computation, the research then delves into the practical aspects of library selection for native Android development. Recognizing the limitations of Python in the Android ecosystem, I conducted a rigorous comparative analysis of three prominent Java-based ML libraries: Weka, SMILE, and Oracle Tribuo. After porting these libraries to the Android platform, I developed a benchmarking application to systematically measure and compare their performance across key metrics, including runtime, memory consumption, CPU load, and battery usage. The findings identify Weka as the most resource-efficient library for general-purpose tasks, especially with larger datasets, offering a clear recommendation for developers seeking to build efficient, self-contained ML applications on Android. To address the challenge of integrating diverse ML models from different programming ecosystems, this thesis proposes a novel microservice-based framework. This architecture enables the creation of powerful, language-agnostic ensemble models by wrapping ML libraries such as Scikit-learn, Weka, and TensorFlow into independent, interoperable web services. I present and evaluate two primary architectural variants: a direct model, where client applications query individual ML services, and a gateway model, where an aggregator service coordinates requests and combines results. This approach provides the flexibility to build sophisticated ML workflows that are scalable, maintainable, and not constrained by a single programming language or platform. Beyond system architecture, the dissertation explores the application of these principles in two novel domains. The first is a series of cognitive experiments ("SMNIST") that investigates the parallels between the human Object File System (OFS) for perceiving numerosity and the classification capabilities of deep learning models. The second is an educational framework ("Red Flower Hell") using Minecraft's MALMÖ platform, which demonstrates how gamified, AI-driven challenges can significantly enhance student engagement and competence in introductory programming courses. These case studies highlight the broader impact of ML, extending its application from technical infrastructure to advancing cognitive science and innovative pedagogy. Collectively, these contributions offer a holistic blueprint for developers and researchers, providing validated strategies and robust architectural patterns for building and deploying scalable and efficient machine learning systems across the interconnected landscape of mobile, web, and microservice technologies. | |
dc.description.abstract | A gépi tanulás (ML) rohamos elterjedése a webes és mobilalkalmazásokban sürgető igényt teremtett olyan architektúrák iránt, amelyek nemcsak nagy teljesítményűek, hanem skálázhatók, integrálhatók és hatékonyak is, különösen erőforrás-korlátozott és heterogén környezetekben. Ez a disszertáció átfogó vizsgálatot nyújt a gépi tanulást hasznosító alkalmazások tervezéséről, teljesítményelemzéséről és integrációjáról, hidat képezve a mobil számítástechnika, a webszolgáltatások és az elosztott rendszerek között. Kutatásom a különböző platformokon történő ML-modellek tanításának és bevezetésének kritikus kihívásait kezeli: gyakorlati architektúrákat javasol, kiterjedt teljesítményértékeléseket végez, valamint valós kísérletekkel igazolja az alkalmazott megközelítések megvalósíthatóságát. A munka elsőként arra a problémára fókuszál, miként lehet a mobil eszközökben rejlő, gyakran kihasználatlan számítási kapacitást komplex ML-feladatok megoldására hasznosítani. Ennek érdekében egy újszerű kliens–szerver architektúrát javaslok és valósítok meg, amely adatpárhuzamosságon alapuló, elosztott modelltréninget tesz lehetővé mobil kliensek klaszterén. Ebben a keretrendszerben a központi webszolgáltatás felel az adathalmaz szeleteléséért, a modellek tárolásáért és az ensemble modellek összeállításáért, míg az Android kliensek végzik a számításigényes tanítást a részadathalmazon. Kutatásom igazolja, hogy a mobilplatformokon végzett elosztott tréning nemcsak megvalósítható, hanem hatékony is. Az így létrejövő ensemble modellek – amelyek az egyes készülékeken tanított részmodellekből állnak össze – pontosságukban összemérhetők a hagyományos asztali rendszeren tanított egyedi modellekével, ezzel igazolva a mobil eszközklaszterek alkalmazhatóságát nagyléptékű ML-feladatokban. Az eszközön történő számítási feladatok megvalósíthatóságát igazoló eredményekre építve a kutatás a natív Android-fejlesztéshez szükséges könyvtárválasztás gyakorlati kérdéseit vizsgálja. Tekintettel arra, hogy a Python korlátozottan illeszthető az Android ökoszisztémába, három jelentős, Java-alapú ML-könyvtár (Weka, SMILE és Oracle Tribuo) átfogó összehasonlító elemzését végeztem el. A könyvtárak Androidra való portolását követően egy benchmark alkalmazást fejlesztettem, amely szisztematikusan méri és összehasonlítja a teljesítményüket kulcsfontosságú metrikák – futásidő, memóriafogyasztás, CPU-terhelés és akkumulátorhasználat – mentén. Az eredmények alapján a Weka bizonyult a leginkább erőforrás-hatékony megoldásnak általános célú feladatokban, különösen nagyobb adathalmazok esetén, így egyértelmű ajánlást ad a fejlesztőknek hatékony, önálló ML-alkalmazások építésére Androidon. A különböző programozási ökoszisztémákból származó ML-modellek integrációs kihívásaira válaszul a dolgozat egy új, mikroszolgáltatás-alapú keretrendszert javasol. Ez az architektúra lehetővé teszi nyelvfüggetlen ensemble modellek létrehozását azáltal, hogy a különböző ML-könyvtárakat – például a Scikit-learn, Weka vagy TensorFlow – önálló, interoperábilis webszolgáltatásként csomagolja be. Két fő architekturális változatot mutatok be és értékelek: az egyik a direkt modell, ahol a kliensalkalmazások közvetlenül hívják meg az ML-szolgáltatásokat, a másik pedig a gateway modell, ahol egy aggregátor szolgáltatás koordinálja a kéréseket és összesíti az eredményeket. Ez a megközelítés rugalmasságot biztosít összetett, skálázható és fenntartható ML-munkafolyamatok építésére, anélkül hogy egyetlen programozási nyelvhez vagy platformhoz kötődne. Az architekturális kérdéseken túl a disszertáció két újszerű alkalmazási területet is vizsgál. Az első a kognitív kísérletek („SMNIST”) sorozata, amely az emberi Objektumfájl-rendszer (OFS) számosságészlelési folyamatai és a mélytanuló modellek osztályozási képességei közötti párhuzamokat kutatja. A második egy oktatási keretrendszer („Red Flower Hell”), amely a Minecraft MALMÖ platformjára építve mutatja be, miként fokozhatják a játékosított, MI-vezérelt kihívások jelentősen a hallgatók motivációját és kompetenciáját a programozás alapjainak elsajátításában. Összességében a dolgozat átfogó útmutatót kínál fejlesztőknek és kutatóknak: validált stratégiákat és robusztus architekturális mintákat nyújt skálázható és hatékony gépi tanulási rendszerek építéséhez és bevezetéséhez a mobil, webes és mikroszolgáltatás-technológiák összekapcsolt ökoszisztémájában. | |
dc.format.extent | 116 | |
dc.identifier.uri | https://hdl.handle.net/2437/397139 | |
dc.language.iso | en | |
dc.subject | web services, microservices, machine learning, ensemble | |
dc.subject | webszolgáltatások, mikroszolgáltatások, gépi tanulás, ensemble | |
dc.subject.discipline | Informatikai tudományok | hu |
dc.subject.sciencefield | Műszaki tudományok | hu |
dc.title | Design and performance analysis of applications using machine learning | |
dc.title.translated | Gépi tanulást használó alkalmazások tervezése és teljesítményelemzése | |
dc.type | PhD, doktori értekezés | hu |
Fájlok
Engedélyek köteg
1 - 1 (Összesen 1)
Nincs kép
- Név:
- license.txt
- Méret:
- 1.93 KB
- Formátum:
- Item-specific license agreed upon to submission
- Leírás: