forked from KEMT/zpwiki
		
	| .. | ||
| README.md | ||
| title | published | author | 
|---|---|---|
| Jazykový model slovenského jazyka | true | Daniel Hládek | 
! Cieľ: ! ! - Natrénovať a slovenský jazykový model typu BERT z korpusu webových textov ! - Vyhodnotiť jazykový model dotrénovaním na úlohách: ! - SK-QUAD 2.0 ! - POS z Slovak Treebank ! - kategórie zo Slovak Categorized news Corpus
Súvisiace projekty
- SlovakBERT od Kinit, a článok
 - SK Quad - Slovak Question Answering Dataset
 - bakalárska práca Ondrej Megela
 
Hardvérové požiadavky
https://medium.com/nvidia-ai/how-to-scale-the-bert-training-with-nvidia-gpus-c1575e8eaf71:
When the mini-batch size n is multiplied by k, we should multiply the starting learning rate η by the square root of k as some theories may suggest. However, with experiments from multiple researchers, linear scaling shows better results, i.e. multiply the starting learning rate by k instead.
| BERT Large | 330M | | BERT Base | 110M |
Väčšia veľkosť vstupného vektora => menšia veľkosť dávky => menší parameter učenia => pomalšie učenie
Hotové úlohy
- Dotrénovaný model multilingual BERT base na SK QUAD, funguje demo skript. Nefunguje exaktné vyhodnotenie.
 - Natrénovaný model Electra-small 128, slovník SNK Morpho 1M slov., 30 tisíc BPE tokenov. Squad Vyhodnotenie 0.17
 
Rozpracované úlohy
- Natrénovať Electra Base.
 - Vylepšiť parametre trénovania.
 - Dokončiť SK SQUAD databázu pre exaktné vyhodnotenie.
 - Dotrénovať model na SK QUAD a exaktne vyhodnotiť pomocou oficiálneho squad skriptu.
 - Pripraviť aj iné množiny na vyhodnotnie:
- kategorizácia textu na SCNC1.
 - POS na Slovak Treebank.
 - pripraviť iné množiny.
 
 
Poznámky
- Nie každý model je vhodný na QA. Je potrebné aby mal veľký rozmer vstupného vektora aby aj dlhší odsek mohol byť na vstupe. Z toho dôvodu 128 "small model" asi nestačí na QA.
 - Väčší vstupný rozmer je obmedzený veľkosťou RAM pri trénovaní.
 - Electra vie využiť iba jednu Titan kartu, druhú zbytočne blokuje.
 - Trénovanie base electra trvá cca 40 dní na jednej karte.
 - Trénovanie electra small trvá asi 3 dni na jednej karte Titan RTX, ale model už ďalej nekonverguje po jednom dni.
 - Trénovanie electra small trvá asi 7 dní na jednej karte GTX1080
 - Dotrénovanie trvá iba niekoľko hodín.
 - Electric small 128 nefunguje na Quadre kvôli pamäti,
 - Electra small 512/32 batch funguje na Titane.
 - Spotrebu pamäte ovplyvňujú veľkosť vstupného vektora, veľkosť trénovacej dávky.
 - V SLovak Bert bola veľkosť vstupného vektora 512. Máme toľko pamäte?
 - learning rate by malo byť priamo úmerné s batch_size. Malý batch size by mal mať malý learning rate.
 - electra prepare skript defaultne odstraňuje diakritiku a dáva malé písmená.
 - ELECTRA ingoruje pokyn na ponechanie diakritiky!!!! Ponechanie diakritiky funguje iba pre "prepare", inak sa diakritika stále odstraňuje. Ne ponechanie diakritiky sú potrebné úpravy v zdrojových kódoch.
 - TODO: Vytvorenie slovníka ako pri BERT https://github.com/google-research/electra/issues/58
 
Budúci výskum
- Zistiť aký je optimálny počet tokenov? V Slovak BERT použili 50k.
 - Zistiť aký je optimálný slovník?
 - Pripraviť webové demo na slovenské QA.
 - Integrovať QA s dialógovým systémom.
 - Integrovať QA s vyhľadávačom.
 - Zostaviť multilinguálny BERT model.
 - Natrénovať BART model.
 - Natrénovať model založený na znakoch.
 - Adaptovať SlovakBERT na SQUAD. To znamená dorobiť úlohu SQUAD do fairseq.