zpwiki/pages/students/2019/kristian_sopkovic/README.md

365 lines
12 KiB
Markdown

---
title: Kristián Sopkovič
published: true
taxonomy:
category: [bp2022,dp2024]
tag: [spacy,nlp]
author: Daniel Hladek
---
rok začiatku štúdia: 2019
# Diplomová práca 2024
Neurónové vyhľadávanie na základe sémantickej podobnosti vektorov.
1. Vypracujte prehľad metód neurónovej vektorovej reprezentácie viet alebo odsekov.
1. Pripravte trénovaciu množinu a natrénujte model vektorovej reprezentácie dokumentov.
1. Vyhodnoťte natrénovaný model vo viacerých experimentoch.
1. Identifikujte slabé miesta modelu a navrhnite jeho zlepšenia.
Zadanie sa ešte môže zmeniť.
Súvisiace práce: Michal Stromko
Cieľ je zlepšiť slovenské vyhľadávanie pomocou neurónových sietí.
Námety na tému:
- Natrénujte alebo dotrénujte Sentence Transformer Model, alebo iný model pre sémantícké vyhľadávanie. Aké sú potrebné databázy? Je možné dotrénovať *multilinguálny model*?
- Vytvorte databázu pre trénovanie SBERT. Strojový preklad, existujúcej NLI databázy, Semantic Textual Similarity databázy. Alebo ak získame grant, tak vytvoríme "originálnu" (klon) slovenskú databázu.
- Vytvorte kognitívne vyhľadávanie pre mesto Košice
[Slovak Semantic Textual Similarity Benchmark](https://huggingface.co/datasets/crabz/stsb-sk)
na trénovanie Sentence Transformer
## Diplomový projekt 2
Stretnutie 3.11.2023
Stav:
- Sú spracované ďalšie dáta o službách z Magistrátu Košíc.
- Dotrénovanie multilinguálnych modelov na NLI databázach. MNLR loss. Model E5 a varianty. Batch size by mala byť najmenej 256. LR na finetuning je E-5. Preto je možné pracovať iba so SMALL model. Max seq. len bol orezaný na 256 z 512 aby to išlo na 1x24 GB Titan.
- SIMSCE prístup na trénovanie pomocou MNLR, je SOTA. Koher reranker je tiež SOTA, ale je komerčný.
- Pokračujeme v minulých úlohách.
Úlohy:
- Chceme dotrénovať E5 model na anglickom, nemeckom a slovenskom SNLI pre úlohu kros linguálneho IR. Vyhodnocovať budeme na SQUADE anglickom, nemeckom a slovenskom jazyku.
Stretnutie 13.10.2023
Stav:
- Spracované dáta z mesta Košice - 110 najčastejších otázok a odpovedí.
- Nasadená 13B ChatLLama na Titan, 4 bit kvantizácia.
Úlohy:
- Chceme vytvoriť model pre cross-lingual information retrieval. Model bude vedieť vytvoriť "vyhľadávací embedding" pre texty a otázky vo viacerých jazykoch.
- Na základe dostupných dát natrénujte takýto model. K dispozícii máme preloženú Slovak NLI, Anglickú NLI. Určite existujú aj iné jazyky. Zoberte viacero NLI databáz a dotrénujte z nich multilinguálny model. Aký model je najlepší ako "základ"? Možno multilinguálne SBERT: E5, mpnet, miniLM.
- Model vyhodndotte na dostupných databázach.
- Prečítajte si viacero nových článkov na tému "mutlilingual alebo crosslingual" "information retrieval" "document embeddings". Urobte si poznámky do DP.
Zásobník úloh:
- Košické dáta je možné využiť pri vyhdonotení.
- Možno dáta na vyhodnotenie slovenského IR vytvorí aj M. Stromko.
- Pripraviť API na ChatLLAma.
Stretnutie 28.9.20023
Stav:
- Vieme pracovať - natrénovať SBERT (Sentence Transformer).
- Je strojovo preložená SNLI databáza pomocou Marian NMT setup.
Nápady:
- Získať dáta-dokumenty z webovej stránky mesta Košice.
- Získať informácie z webovej stránky https://www.esluzbykosice.sk/
- Spracovať dáta o často kladených otázkach, ktoré sme dostali z mesta Košice.
- Spracovať dáta o agende, ktoré sme dostali z mesta Košice.
- Vytvoriť ku týmto dátam "asistenta" pre získavanie informácí.
Úlohy:
- [-] Porozmýšľať ktorú časť problému "pomoci občanom mesta Košice" by sme mohli riešiť.
- [-] Spracujte dodané dáta od mesta Košice (vedúci pripraví a pošle).
- [ ] Dáta zaindexujte a pripravte jednoduché vyhľadávanie.
- [ ] Pokračujte v písomnej teoretickej príprave na tému "Sentence Transformers".
Zásobník úloh:
- Pripravte scraper na dáta od mesta Košice.
## Diplomový projekt 1
Stretnutie 2.6.2023
Stav:
- Natrénovaný IR retriever
- Natrénovaný model pre generatívne odpovede na báze Slovak T5 Small.
- Práca na texte
Stretnutie 25.5.
Stav:
- Trénovanie MNLR nebolo v poriadku, lebo boli použité iba kladné príklady.
Úloha:
- Natrénovať model SNLI. Natrénovať iný model STSB.
- Porovnajte ich ako cross-encoder. Vyhodnoťte recall vyhľadávania na databáze sk-quad.
- Porovnajte to so základným modelom mnlr sk quad.
- Skúste oba modely dotrénovať na MNLR skquad a vyhodnotiť.
- pracujte na písomnej časti.
Stretnutie 5.5.2023
Stav:
- Natrénovaný model MNLR SlovakBERT na preloženej databáze Standformd SNLI.st.: tot je asi zle
- Urobnené predbežné vyhodnotenie - analýza strednej hodnoty kosínusovej podobnosti pre triedy entailment, contradiction, neutral.
- Výsledkom MNLR je kosínusové podobnisť.
- Urobené aj softmax trénovanie. Výsledkom softmax je trieda pre 2 zadané vety.
Úlohy:
- Upravte a dajte trénovacie skripty na GIT.
- Vyhodnotiť presnosť klasifikácie softmax pomocou konfúznej matice - p,r,f1
- Dotrénovať SNLI ST na SK Quad a vyhodnotiť na úlohe sémantického vyhľadávania. - recall. To tj e zlá úloha.
- Pracujte na písomnej správe, ktorá poslúži ako základ pre DP a pre článok. Do textu opíšte trénovanie ktoré ste vykonali, postup pri preklade, návrh experimentov a výsledky. Do teoretickej časti píšte o sentence transformeroch.
Zásobník úloh:
- Cieľom je poblikovať kvalitný článok.
- Cieľ 2 je aplikovať model pre úlohu vyhonotenia súladu staevebnej dokumentácie so regulatívou - zákonmi a vyhláškami.
- Využijeme databázu STSB-sk (na hf hube) ako ďalší zdroj dát
- Pripravte porovnávacie experimenty pre anglické datasety.
- Do ďalších experimentov zahrňte multilinguálne modely.
Stretnutie 24.4.2023
Stav:
- Preložené SNLI - všetky 3 časti.
Stretnutie 17.3.2023
Stav:
- Je preložená SNLI databáza, trénovacia časť. Použitý OPUS Helsinki NLP model
Úlohy:
- Preložiť aj testovaciu časť.
- Natrénovať Sentence Transforner (ST) na databáze SNLI, podľa SlovakBERT.
- Dotrénovať SNLI ST na SK Quad a vyhodnotiť na úlohe sémantického vyhľadávania. - recall
- Podobným spôsobom vyhodnotiť Slovakbert-stsb.
- Napíšte o tom čo je to ST, ako funguje. Pripravte prehľad databáz na trénovanie ST.
Zásobník úloh:
- Porovnať s slovakbert-crossencoder na tuke-dtss modelmm.
Stretnutie 17.2.2023
Úlohy
- Zoberte existujúci model SlovakBERT-stsb a použite ho na dotrénovanie bi-encódera na databáze SK quad. Porovnajte presnosť vyhľadávania s bi-encóderom natrénovaným iba na SlovakBERT (dodá vedúci). Použite skripty v repozitári slovak-retrieval.
- Urobte prehľad databáz potrebných na dotrénovanie Sentence Transformer. Vyberte vhodnú databázu na strojový preklad, napr. nejakú NLI databázu. Použite ju na dotrénovanie bi-encódera.
Zásobník úloh:
- Zistite ako využiť slovenský generatívny model pre sémantické vyhľadávnaie. Pripravte experiment a vyhodnotte ho.
- Vyberte databázu pre sémantické vyhľadávanie alebo question answering na vhodnú na vytvorenie slovenského klonu.
Stretnutie 24.11.
Úlohy:
- Porozmýľať ďalej o téme, komuikovať o možnom grante na anotáciu.
- Vyskúšajte [Sentence Transformers framework](https://github.com/UKPLab/sentence-transformers/tree/master/examples). Pozrite si príklady, ako trénovať.
- Prečítajte si článok https://arxiv.org/abs/1908.10084.
- Zistite, čo je Natural Language Inference, aké sú dostupné databázy.
- Zistite, čo je Semantic Textual Similarity, aké sú dostupné databázy.
- Pozrite si https://git.kemt.fei.tuke.sk/dano/slovakretrieval/
# Bakalárska práca 2022
Návrh na názov bakalárkej práce:
Model Spacy pre spracovanie prirodzeného jazyka v slovenčine
Ciele bakalárskej práce:
- Zlepšiť presnosť modelu Spacy pre slovenčinu
Zadanie:
1. Zistite ako pracuje knižnica Spacy a opíšte metódy ktoré používa.
2. Natrénujte model pre spracovanie slovenského prirodzeného jazyka.
3. Vykonajte viacero experimentov a zistite presnosť pri rôznych parametroch.
4. Identifikujte slabé miesta a zlepšite presnosť spracovania.
25.3.2022
- Zopakované trénovanie POS aj NER
- Zisitili sme, že keď sa NER trénuje osobitne bez POS tak dáva lepšie výsledky. Prečo?
- konfiguračné súbory sú na githube. malý nepoužíva slovné vektory, stredný používa 200000 ti. slov vektorov.
- uncased multilingual bert vychadza lepsie ako cased.
- v konfiguácii sú fasattext slovné vektory aj multilingualbert uncased. Používajú sa slovné vektory pri klasifikácii???
Úlohy:
- Zosumarizovať výsledky experimentov do písomneč časti
- Finalizovať BP - na ďalšom stretnutí prejdeme spolu draft.
- Pripraviť skripty na natrenovanie modelov na verejnú distribúciu.
4.3. 2022
- Natrénované NER modely Spacy Transformers, výsledky sú na wandb
Úlohy:
- [ ] Pripraviť modely (návody na trénovanie) na verejnú distribúciu.
- [x] Natrénovať menšie modely bez slovných vektorov.
- [-] Pokračovať v písaní.
- [x] Vytvoriť rozhranie pre využitie modelov huggingface ,modelov slovakbert. Využiť spacy-transformers alebo spacy-sentence-transformers.
- [x] Na githube vytvorte fork alebo branch repozitára, dajte mi prístup. tam bude pracovná verzia s novými modelmi.
25.2.2022
- Vyskúšané experimenty s hyperparametrami s pôvodnou architektúrou POS modelu.
- Zmenená architektúra POS na Spacy Transformer (bez BERT predtrénovania, využíva slovné vektory). Dosiahnuté zlepšenie POS z 0.8 na 0,9. Výsledky sú vo forme grafu dostupné na wandb
Úlohy:
- Zdieľať wandb projekt,
- Vyskúšať transformers architektúru na NER model.
- Vyskúšať BERT architektúry - MultilingualBERT, SlovakBERT, LABSE, Slovak GPT
- Pracujte na texte
## Bakalársky projekt 2021
18.2.2022
- Na idoc je problém s timeout pri zostaení pip balíčka, ale funguje trénovanie spacy pos
Úlohy:
- [x] Zatiaľ sa sústrediť na POS model čo funguje.
- [x] Do týždňa opraviť idoc (pre vedúceho).
7.2.2022
- Rozbehaný trénovací skript na vlastnom počítači
- Spustených niekoľko experimentov.
Úlohy:
- [x] Pokračujte v otvorených úlohách.
- [x] Výsledky experimentov dajte do tabuľky do práce.
Zásobník úloh:
- [x] Skúste použiť logovací nástroj https://docs.wandb.ai/guides/integrations/spacy
- [x] Skúste rozbehať trénovacie skripty na školskom servri. Problémy vytriešime na konzultácii.
26.11. 2021
- Absolvovaný kurz Explosion https://course.spacy.io/en/
- Mierne zlepšený text práce.
Úlohy:
- [x] Vytvorte GIT a vložte do neho svoje trénovacie skritpy. Nedávajte tam veľké textové súbory. Dajte odkazy odkiaľ ste získali dáta. Celý proces by mal byť opakovateľný,
- [x] Skúste zlepšiť hyperparametre môjho trénovacieho skriptu spacy3
- [ ] Skúste pridať MultilingualBert do trénovania.
- [ ] Pokračujte v práci na textovej časti.
- [x] Vytvorené modely je potrebné vyhodnotiť. Pozrite ako to je v mojom Spacy repozitári.
Zápis 21.10.
Vyskúšať toto:
- [MultilingualBert](https://github.com/google-research/bert/blob/master/multilingual.md). Dá sa adaptovať na Slovak Treebank.
- [Spacy Transformers](https://spacy.io/universe/project/spacy-transformers)
Stretnutie 15.10.
Stav:
- Rozpracovaná kapitola o Spacy
- Pokusné trénovanie HuggingFace v Pytorch
Úlohy:
- Pokračovať v otvorených úlohách.
Zásobník úloh:
- Aplikovať model BERT do Spacy Pipeline.
Stretnutie 1.10
Stav:
- Vypracovaných asi 8 strán osnovy
- Preštudované Transformery a Spacy
- Vyskúšané trénovanie Pytorch
Úlohy:
- Pripravte si prostredie Anaconda a v ňom spustite trénovanie.
- Pokračovať v otvorených úlohách.
Stretnutie 24.9.2021
Stav:
- Naštudovaná knižnica Spacy - pozreté tutoriály
- Vytvorený prístup na idoc
Úlohy:
- Spustite trénovanie podľa skriptov na githube. Môžete použiť server idoc.
- Skúste napísať osnovu BP práce.
- Nájdite odborný článok na tému "Transformer neural network" a do BP napíšte čo ste sa dozvedeli.
- Stručne napíšte čo je to knižnica Spacy a ako pracuje. Citujte aspoň jeden odborný článok.
- Zistite ako by sa dal zlepšiť proces trénovania.
Stretnutie 25.6.2021
- Vytvorený prístup do repozitára spacy-skmodel na GIThube
Úlohy:
- Skúste spustiť trénovací skript a natrénovať slovenský spacy model
- Pozrite si bakalársku prácu [Martin Wencel](/students/2018/martin_wencel)