zpwiki/pages/students/2016/lukas_pokryvka/README.md

93 lines
3.7 KiB
Markdown

# Lukáš Pokrývka
*Rok začiatku štúdia:* 2016
## Diplomový projekt 1 2020
Ulohy na semester:
- podrobne si naštudovať vybranú metódu trénovania neurónových sietí
- identifikujte možný spôsob paralelizácie
- natrénujte zvolený model metódou paralelizácie
Revízia 13.5:
Pozrite si odkazy na paralelné trénovanie:
- Toolkit na medziprocesovú komunikáciu https://developer.nvidia.com/nccl
- Knižnica pre neuronové siete podobná TensorFlow https://pytorch.org
- Paralelné trénovanie pomocou Pytorch https://pytorch.org/docs/stable/distributed.html /
- NLP toolit založený na Pytorch https://github.com/pytorch/fairseq
Revízia 14.4.
- Natrénovaný word embedding model na slovenských dátach.
Revízia 9.4.:
Nové úlohy:
Natrénujte word embedding model na veľkých dátach (odkaz poskytnutý). Môžete použiť server idoc.
Nové úlohy:
- Pozrite si [metódy vyhodnotenia embedding modelov](https://duckduckgo.com/?t=ffab&q=word+embedding+evaluation&ia=web). Ako by ste postupovali pri vyhodnotení slovenského modelu?
- Pozrite si https://spacy.io/usage/training
- Pozrite si [repozitáre a výsledky týkajúce sa Spacy](/topics/spacy).
- Vyhodnotte slovenský spacy model
Stretnutie 9.3.2020
Úlohy na ďalšie stretnutie:
- Skúste natrénovať slovenský word2vec model podľa tutoriálu: http://spark.apache.org/docs/latest/ml-features.html#word2vec (podľa dát z emailu)
- Pozrite si niečo o metóde BERT
- https://medium.com/huggingface/introducing-fastbert-a-simple-deep-learning-library-for-bert-models-89ff763ad384
- https://github.com/huggingface/transformers
## Tímový projekt 2019
*Úlohy tímového projektu:*
- Vypracujte min. 4 stranový rešerš na tému: "Paralelné spracovanie prirodzeného jazyka" (využitie napr. s word2vec, word embeddings, GloVe, fastText).
- Citujte min. 10 najvýznamnejších bibliografických zdrojov.
*Písomná práca:* [Paralelné spracovanie prirodzeného jazyka](./timovy_projekt)
## Diplomová práca 2021
### Paralelné trénovanie neurónových sietí
*Meno vedúceho:* Ing. Daniel Hládek, PhD.
*Návrh na zadanie DP:*
1. Vypracujte prehľad literatúry na tému "Paralelné trénovanie neurónových sietí".
2. Vyberte vhodnú metódu paralelného trénovania.
3. Pripravte dáta a vykonajte sadu experimentov pre overenie funkčnosti a výkonu paralelného trénovania.
4. Navrhnite možné zlepšenia paralelného trénovania neurónových sietí.
- Zaujímavá príručka [Word2vec na Spark](http://spark.apache.org/docs/latest/ml-features.html#word2vec)
### Priebeh práce
*1. Pokus o natrénovanie modelu pomocou knižnice Gensim*
Ako prvý nástroj na zoznámenie sa s trénovaním W2V som zvolil Gensim. Nevýhodou knižnice je, že pri trénovaní nevyužíva GPU v žiadnom prípade. Podľa zdrojov na internete je však Gensim násobne rýchlejšia knižnica pri implementácii na menšie korpusy (https://rare-technologies.com/gensim-word2vec-on-cpu-faster-than-word2veckeras-on-gpu-incubator-student-blog/). Keďže môj korpus má približne 30GB, trénovanie pomocou Gensim by zrejme nebol najlepší nápad. Preto som si z korpusu vytiahol prvých 10,000 riadkov a otestoval implementáciu na tomto súbore. Celý skript je dostupný na [gensim_W2V.py](./dp2021/scripts/gensim_w2v.py).
Výsledok nebol vôbec presný, čo sa vzhľadom na veľkosť korpusu dalo očakávať. Pri slove letisko bola však zhoda vysoká, čo potvrdzuje správnosť implementácie.
![Výsledok implementácie Gensim](./gensim.PNG)
Keďže som mal problém skript s plným korpusom spustiť na školskom serveri, v ďalšom riešení chcem využiť aj GPU. V úvahu pripadá aj rozdelenie korpusu na viacero častí s tým, že sa zachová kontext.