O mnie
Pasjonat technologii ze specjalizacją w sztucznej inteligencji,
łączący praktyczne doświadczenie w IT z solidnym zapleczem
technicznym. Studiuję informatykę (spec. Sztuczna Inteligencja) na
UAM w Poznaniu. Zajmowałem się w praktyce fine-tuningiem modeli
językowych oraz uruchamianiem dużych modeli LLM lokalnie i w chmurze.
Posiadam doświadczenie w programowaniu (Python, React, React
Native), analizie danych (Power BI, Pandas, Microsoft Fabric) oraz
pracy z chmurą (GCP, AWS, Firebase).
Jestem osobą analityczną, samodzielną i szybko przyswajającą nowe
technologie.
Wyróżnione projekty
-
Klasyfikator autorstwa zwrotek rapowych - NLP i LLM
W ramach projektu zostały dostrojone modele językowe do zadania klasyfikacji autorstwa zwrotek rapowych, czyli rozpoznawania jednego z 20 polskich raperów na podstawie tekstu zwrotki rapowej.
Zbiór danych został przygotowany samodzielnie: teksty pobrano z Genius API, sparsowano na pojedyncze zwrotki i oczyszczono (ok. 8 tys. rekordów, 20 klas). Dane podzielono na zbiór treningowy i testowy.
Dostrojono dwa modele bazowe - Qwen3.5-4B oraz Gemma-4-E2B - metodą QLoRA (z biblioteką Unsloth i Transformers) wraz z głowicą klasyfikacyjną. Główną metryką ewaluacji było macro-F1 - najlepszy model osiągnął wartość ok. 0,63 i 64% accuracy.
Do inferencji przygotowano skrypt classify.py oraz notebooki z pełnym pipeline'em (przygotowanie danych, trening, testowanie). Na bazie modeli powstała aplikacja „Quiz Rapowy” (React + Vite) - pojedynek Człowiek vs AI, w którym użytkownik porównuje swój wynik z predykcjami obu modeli.
W projekcie wykorzystano m.in. PyTorch, Hugging Face Transformers, PEFT, Unsloth i scikit-learn.
-
LM Chat - lokalny czat z modelami LLM
W ramach projektu powstała wieloplatformowa aplikacja LM Chat we Flutterze do prowadzenia konwersacji z... -
Model sztucznej inteligencji do klasyfikacji wypowiedzi
W ramach projektu stworzony został model sztucznej inteligencji do binarnej klasyfikacji wypowiedzi w języku polskim - rozróżniania CLAIM (stwierdzeń wartych analizy fact-checkingowej) od NOT CLAIM (wypowiedzi, które nie są stwierdzeniami lub nie wymagają takiej weryfikacji).
Jako zbiór danych wykorzystano ClaimBuster (Fatma Arslan et al., Zenodo 2020). Przetłumaczono 2 237 zdań z angielskiego na polski za pomocą DeepL API, a etykiety przekształcono na binarne. Dane podzielono na zbiór treningowy (80%) i testowy (20%) ze stratyfikacją.
Model bazowy to SmolLM-1.7B. Na warstwy uwagi nałożono adapter LoRA. Trening przeprowadzono przez 10 epok z użyciem klasy Trainer z Hugging Face Transformers; główną metryką ewaluacji był F1-score.
Do inferencji przygotowano skrypt infer.py - umożliwia klasyfikację pojedynczego zdania z linii poleceń lub uruchomienie na zestawie przykładowych zdań, z obsługą akceleracji GPU (CUDA / MPS). Pełny pipeline (pobieranie danych, tłumaczenie, trening, testowanie) opisano w notebooku projekt.ipynb.
W projekcie wykorzystano m.in. PyTorch, Hugging Face Transformers, PEFT, Datasets, scikit-learn, pandas i numpy.
Technologie wykorzystywane w projektach
-
Hugging Face Transformers
-
Unsloth
-
Ollama
-
PyTorch
-
Python
-
Django / DRF
-
React / React Native
-
Flutter
-
Git / GitHub
-
Pandas
-
Microsoft Fabric / Power BI
-
Microsoft SQL Server
-
Microsoft 365 / Office
-
Amazon Web Services
-
Google Cloud
-
Firebase