forked from KEMT/zpwiki
279 lines
9.6 KiB
Markdown
279 lines
9.6 KiB
Markdown
---
|
|
title: Ondrej Megela
|
|
published: true
|
|
taxonomy:
|
|
category: [bp2021,dp2023]
|
|
tag: [nlp,fairseq,lm,bert,question-answer,qa]
|
|
author: Daniel Hladek
|
|
---
|
|
# Ondrej Megela
|
|
|
|
Začiatok štúdia: 2018
|
|
|
|
Súvisiace stránky:
|
|
|
|
- [Oleh Bilykh](/students/2018/bilykh) - question answering
|
|
- [Lukáš Pokrývka](/students/2016/pokryvka) - paralelné trénovanie
|
|
- [Question Answering](/topics/question) - interný projekt
|
|
- Matej Čarňanský (BERT)
|
|
|
|
## Diplomový projekt 1 2022
|
|
|
|
Cieľ:
|
|
|
|
- Vytvoriť a vyhodnotiť generatívny model slovenského jazyka.
|
|
- Navrhnúť a vytvoriť overovaciu množinu pre slovenské generatívne modely.
|
|
|
|
11.3.
|
|
|
|
- Vyskúšaný GPT na cloab, zatiaľ nefunguje kvôli pamäti.
|
|
|
|
Možné spôsoby využitia generatívnych modelov:
|
|
|
|
- mnli - multi natural language inference - textual entailment and contradiction, zero shot classification
|
|
- strojový predpoklad
|
|
- sumarizácia, conditional generation - asi nepotrebuje finetinung
|
|
- konverzačné systémy - generovanie odpovede na otázku
|
|
- generovanie otázok ku zadanému odseku (reverse squad)
|
|
|
|
Možné spôsoby vytvorenia overovacej množiny:
|
|
|
|
- Využitie slovenského squadu pre úlohu generovania otázok.
|
|
- Strojový preklad existujúceho jazykového zdroja do slovenčiny.
|
|
- Pokúsime sa vytvoriť vlastnú dátovú množinu od začiatku. Pre ktorú úlohu?
|
|
- Na overenie použijeme existujúci paralelný korpus - to si vyžaduje fine-tuning pre strojový preklad.
|
|
- Strojovo vytvoríme overovaciu databázu pre úlohu sumarizácie. Zoberieme novinové články alebo vedecké články alebo záverečné práce ktoré majú uvedený abstrakt.
|
|
|
|
|
|
Úlohy:
|
|
|
|
- vyskúšať menší GPT model
|
|
- Zistit a stručne opísať, ako funguje automatické generovanie otázok vo formáte squad. Ako neurónka berie do úvahy odpoveď? Zisitiť ako vyznačiť zaujímavé časti odseku (NER, parser, sumarizácia..) - ako vygenerovať odpoveď.
|
|
- Porozmýšľať, ako použiť na túto úlohu Transformers.
|
|
|
|
25.2.
|
|
|
|
- Vytvorený textový report, kde je urobený prehľad metód vyhodnotenia a niekoľkých testovacích korpusov a benchmarkov. Rouge je používaná metrika.
|
|
|
|
Úlohy:
|
|
|
|
- Vypracovať prehľad generatívnych jazykových modelov
|
|
- Vyskúšať slovenský GPT model.
|
|
- Navrhnúť ako dotrénovať model na úlohu sumarizácie.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Vytvoriť model pre generovanie faktických otázok ku zadanému paragrahu.. Môžeme využiť slovenský squad.
|
|
- Vytvoriť model pre sumarizáciu novinových článkov.
|
|
- Vytvoriť databázu pre vyhodnotenie generatívnych vlastností jazykového mo,delu.
|
|
Napr. úloha sumarizácie alebo iná.
|
|
|
|
|
|
|
|
Stretnutie 27.1.2022
|
|
|
|
Úlohy:
|
|
|
|
- Napísať prehľad spôsobov vyhodnotenia generatívnych modelov
|
|
- Zostaviť prehľad metrík a dátových množin.
|
|
- Zostaviť prehľad najnovších generatívnych modelov.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Zistiť niečo o algoritmoch GAN (generative adversarial network) a VAE (variational autoendoder).
|
|
- Napíšte na aké NLP úlohy sa používajú a s akými výsledkami.
|
|
- Zistite aké (optinálne) Python-Pytorch knižnice sa dajú použiť.
|
|
|
|
## Bakalárska práca 2020
|
|
|
|
|
|
Názov: Neurónové jazykové modelovanie typu BERT.
|
|
|
|
[Bakalárska práca](https://opac.crzp.sk/?fn=detailBiblioForm&sid=4A7927334F9373E92B42D999785B)
|
|
|
|
Návrh na zadanie:
|
|
|
|
1. Vypracujte prehľad metód jazykového modelovania pomocou neurónových sietí.
|
|
2. Vypracujte prehľad aplikácií modelu typu BERT a spôsoby ich vyhodnotenia.
|
|
3. Natrénujte jazykový model metódou BERT alebo podobnou.
|
|
4. Vyhodnoťte jazykový model a navrhnite zlepšenia presnosti.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Cieľom je vedieť natrénovať BERT model a vyhodnotiť ho na zvolenej testovacej množine.
|
|
- vyhodnotiť slovenský Roberta Model na pokusnej množine SK-quad.
|
|
|
|
Stretnutie 12.3.
|
|
|
|
Stav:
|
|
|
|
- Konzultácia štruktúry práce
|
|
|
|
Úlohy:
|
|
|
|
- Písať.
|
|
|
|
Stretnutie 26.2.
|
|
|
|
Stav:
|
|
|
|
- Vyriešený technický problém s architektúrou modelu podľa predpokladu.
|
|
- Urobené vyhodnotenie modelu wiki103 na CommonsenseQA.
|
|
|
|
Úlohy:
|
|
|
|
- Pokračujte v práci na textovej časti.
|
|
- Odovzdané pracovné dáta pre slovenský Roberta Model aj SK-Quad. Pokúste sa to vyhodnotiť ako neprioritnú ulohu.
|
|
|
|
|
|
Stretnutie 22.2.
|
|
|
|
Stav:
|
|
|
|
- Natrénovaný model wiki103 na stroji Quadro. Problém sa vyriešil vypnutím GPU pri trénovaní,
|
|
- Vznikol problém pri vypracovaní https://github.com/pytorch/fairseq/blob/master/examples/roberta/commonsense_qa/README.md - Architecture mismatch. Možné riešenie - iný prepínač `-arch` pri dotrénovaní. tak aby sedel s predtrénovaním.
|
|
|
|
Úlohy:
|
|
|
|
- skúsiť vyhodnotenie Wiki 103 na Commonsense
|
|
- Pokračujte v práci na textovej časti - vytvorte plynulý text.
|
|
|
|
|
|
|
|
## Bakalársky projekt 2020
|
|
|
|
Stretnutie 12.2.
|
|
|
|
Stav:
|
|
|
|
- Pokúšame sa vytvoriť hodnotenie pomcou množiny CommonSenseQA
|
|
- Problém pri trénovaní na Wiki103 na stroji Quadra, (vyzerá to ako deadlock)
|
|
- Máme k dispozícii ROBERTA model natrénovaný na veľkej množine slovenských dát.
|
|
|
|
Do budúceho stretnutia:
|
|
|
|
- Problém sa možno dá obísť skopírovaním modelu zo stroja Tesla.
|
|
- na kopírovanie použite príkaz `scp -r user@server:zdrojovyadresar cielovyadresar`.
|
|
- pokračovať vo vyhodnotení pomocou CommonSenseQA.
|
|
- skúste vyhodnotiť aj slovenský model. Ako?
|
|
- pracujte na súvislom texte bakalárskej práce.
|
|
|
|
|
|
|
|
Virtuálne stretnutie 18.12.2020
|
|
|
|
Stav:
|
|
|
|
- Natrénovaný model ROBERTA na malej množine Wiki103 podľa tutoriálu. Trénovanie trvalo jeden týždeň.
|
|
- Spísané poznámky ku množine SQUAD.
|
|
- Vytvorený prístup na server quadra.kemt.fei.tuke.sk
|
|
|
|
Úlohy:
|
|
|
|
- Pokračovať v písaní
|
|
- Prejsť si tutoriál https://github.com/pytorch/fairseq/blob/master/examples/roberta/commonsense_qa/README.md - cieľom je vedieť vyhodnotiť BERT model.
|
|
- Pri trénovaní si overte, či sú využité všetky 4 karty.
|
|
- Pozrite si DP [Lukáš Pokrývka](https://zp.kemt.fei.tuke.sk/students/2016/lukas_pokryvka)
|
|
- Ak pôjde trénovanie v poriadku, skúste vykonať viac experimentov s rôznymi parametrami, zapíšte si postup experimetu (príkazový riadok) a výsledok.
|
|
|
|
|
|
|
|
|
|
|
|
Virtuálne stretnutie 4.12.2020
|
|
|
|
Stav:
|
|
|
|
- Preštudovaný tutoriál https://github.com/pytorch/fairseq/blob/master/examples/roberta/README.pretraining.md
|
|
- Vyriešený problém s Pytorch.
|
|
- Inštalácia [Fairseq](https://git.kemt.fei.tuke.sk/om385wg/bp2021/wiki/In%C5%A1tal%C3%A1cia-fairseq) Conda aj Pytorch.
|
|
- Chyba optimizéra [Fairseq](https://git.kemt.fei.tuke.sk/om385wg/bp2021/wiki/Vyrie%C5%A1en%C3%A9-Chyby) a jej riešenie.
|
|
- Vypracované poznámky o trénovaní a vyhodnocovaní BERT.
|
|
|
|
Úlohy:
|
|
|
|
- Pokračujte v práci na písomnej časti. Skúste prepísať odrážky do plynulého textu.
|
|
- Pridajte poznámky o vyhodnotení pomocou SQUAD.
|
|
- Pokračujte v trénovaní Roberta na dátovej sade Wiki-103 na systéme Tesla, odhadovaný čas trénovania 64 hod.
|
|
- Zistite ako sa dá vyhodnotiť natrénovaný model Roberta.
|
|
- Zvážiť možnosť trénovania na systéme Titan a Quadra (pre vedúceho).
|
|
|
|
|
|
Virtuálne stretnutie 20.11.2020
|
|
|
|
Stav:
|
|
|
|
- Urobené tutoriály ale iba na CPU.
|
|
|
|
Do ďalšieho stretnutia:
|
|
|
|
- Prejsť si tutoriál https://github.com/pytorch/fairseq/blob/master/examples/roberta/README.pretraining.md .
|
|
- Pracovať na písomnej časti - zamerať sa na vyhodnotenie BERT modelu. Na aké modelové úlohy sa používa?
|
|
- Napíšte poznámky, kde všade sa vyskytol technický problém a aké bolo riešenie. Dôležité sú verzie a podmienky pri ktorých sa problém vyskytol.
|
|
- Spíšte ako nainštalovať knižnice tak aby to fungovalo (s CPU aj s GPU).
|
|
- Vytvorte si na GITe repozitár bp2021, do neho dajte poznámky a kódy ktoré ste vyskúšali.
|
|
|
|
|
|
Virtuálne stretnutie 13.11.2020
|
|
|
|
Stav:
|
|
|
|
- Vypracované poznámky aj k transformer a BERT
|
|
- Vyskúšaná release verzia Fairseq. Stále trvá technický problém s tutoriálom.
|
|
- Vyskúšaný BERT tutoriáli. Chyba "illegal instruction" pri extrahovaní príznakov "extract features from ROBERTA". https://discuss.pytorch.org/t/illegal-instruction-core-dumped-in-first-pytorch-tutorial/62059/3 pravdepodobne problém s inštrukčnou sadou CPU.
|
|
- \vytvorený prístup na tesla pre vyriešenie.
|
|
|
|
Do ďalšieho stretnutia:
|
|
|
|
- pokračovať v otvorených úlohách.
|
|
|
|
|
|
Virtuálne stretnutie 30.10.2020
|
|
|
|
Stav:
|
|
- Vypracované poznámky k seq2seq
|
|
- nainštalovaný Pytorch a fairseq
|
|
- problémy s tutoriálom. Riešenie by mohlo byť použitie release verzie 0.9.0, pip install fairseq=0.9.0
|
|
|
|
Do ďalšieho stretnutia:
|
|
|
|
- Vyriešte technické porblémy
|
|
- prejdide si tutoriál https://fairseq.readthedocs.io/en/latest/getting_started.html#training-a-new-model
|
|
- Prejsť si tutoriál https://github.com/pytorch/fairseq/blob/master/examples/roberta/README.md alebo podobný.
|
|
- Preštudujte si články na tému BERT, urobte si poznámky čo ste sa dozvedeli spolu so zdrojom.
|
|
|
|
|
|
Virtuálne stretnutie 16.10.2020
|
|
|
|
Stav:
|
|
|
|
- Vypracované poznámky k uvedeným bodom.
|
|
- Problém s inštaláciou Anaconda.
|
|
|
|
Do ďalieho stretnutia:
|
|
|
|
- nainštalujte pytorch a knižnicu fairseq
|
|
- prejtide si tutoriál https://fairseq.readthedocs.io/en/latest/getting_started.html#training-a-new-model
|
|
- Napíšte ďalšie poznámky ku architektúre encoder-decoder, nájdite najdôležitejšie články a čo hovoria.
|
|
|
|
|
|
Virtuálne stretnutie 2.10.2020
|
|
|
|
Vytvorený prístup `ssh megela@idoc.fei.tuke.sk`
|
|
|
|
Úlohy do ďalšieho stretnutia:
|
|
- Naštudujte si a vyracujte poznámky s uvedením zdroja:
|
|
- spracovanie prirodzeného jazyka
|
|
- jazykové modelovanie
|
|
- rekurentná neurónová sieť
|
|
- architektúra enkóder dekóder alebo seq2seq
|
|
- Nainštalujte si prostredie Anaconda, pytorch a knižnicu fairseq
|
|
|
|
Na štúdium:
|
|
|
|
https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/topics
|
|
|
|
- python
|
|
- nlp
|
|
- seq2seq
|