2020-10-01 13:33:21 +00:00
---
title: Ondrej Megela
published: true
taxonomy:
2021-12-16 08:15:36 +00:00
category: [bp2021,dp2023]
2021-01-21 15:33:35 +00:00
tag: [nlp,fairseq,lm,bert,question-answer,qa]
2020-10-01 13:33:21 +00:00
author: Daniel Hladek
---
2020-09-22 10:46:44 +00:00
# Ondrej Megela
2020-10-02 08:20:56 +00:00
Začiatok štúdia: 2018
2021-01-21 15:42:46 +00:00
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)
2022-09-28 16:08:39 +00:00
Pozrieť toto:
https://paperswithcode.com/task/text-generation?page=3
2022-10-07 08:27:53 +00:00
# Diplomová práca 2023
Súvisiace práce:
- Dávid Omasta
Cieľ: Využiť slovenský generatívny model na tvorbu databázy otázok a odpovedí.
2022-12-22 09:24:05 +00:00
Stretnutie 22.12.
- Slovenský GPT model nefunguje na few shot generovanie otázok.
- Existuje slovenský T5 model small. Ten funguje.
- Vyskúšaný finetuning na colabe na slovenský T5 model na anglických dátach, zbehol za 1.5. hodiny.
- Nájdený QA evaluátor, ktorý ohodnotí vygenerované otázky pomocou BERT. Evaluátor hodnotí, či otázka a odpovedˇ sedia spolu. Trénuje sa na rovnakom datasete ako generátor.
2022-10-28 08:40:02 +00:00
Stretnutie 28.10
Stav:
- Vyskúšaný slovenský GPT model v rôznych veľkostiach. Generovanie funguje. Obbmedzene funguje aj zero shot sentiment classification. Zagtiaľ nefuguje pre generovanie otázok.
Úlohy:
- Pokračovať v Zero Shot: Vymeniť Sentence za Veta. Pozrieť Separátor v slovníku.
2022-10-28 08:41:30 +00:00
- Skúsiť rozbehať run_clm pre slovenský GPT model pre úlohu generovania otázok. Poskytnutý prístup do repozitára bert-train. Ak skript bude fungovať, tak ho pridajte do repozitára bert-train/huggingface/clm
2022-10-28 08:40:02 +00:00
Zásobník úloh:
- Možno by sa dalo formulovať úlohu ako klasický machne translation a použiť niekotrý existujúci setup pre preklad bez predtrénovania. Existujú skripty pre fairseq.
- Možno bude fungovať nejaký multilinguálny generatívny model.
Stretnutie 7.10:
2022-10-07 08:27:53 +00:00
Stav:
- PatilSuraj zatiaľ nefunguje. Funguje iba na T5 a Bart vlastné anglické, nefunguje na gpt-j ano na mt5. Stále je tam možnosť vyskúšať vlastný slovenský BART.
Úlohy:
2022-10-28 08:40:02 +00:00
- [x] Vyskúšať slovenský GPT model v úlohe few-shot learning. Inšpirácia https://huggingface.co/blog/few-shot-learning-gpt-neo-and-inference-api. Použite niektorý prístup z patilsuraj.
- [ ] Vyoracujte písomný prehľad generatívnych jazykových modelov.
- [ ] Vypracujte písomný prehľad metód generovania otázok pomocou jazykového modelu. Nezabudnite na odkazy na odbornú literatúru.
2022-10-07 08:27:53 +00:00
Zásobník úloh:
2022-10-28 08:40:02 +00:00
- [ ] Dotrénovať slovenský GPT model pomocou HF skriptu run_clm.py
- [ ] Zistiť aký veľký model nám funguje.
- [ ] Vybrať vhodný server na dorénovanie. Koľko GRAM potrebujeme?
- [ ] Záložná možnosť - písať pre anglický jazyk.
2022-10-07 08:27:53 +00:00
2022-01-27 08:43:57 +00:00
## 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.
2022-06-29 08:19:43 +00:00
Stretnutie 29.6.
2022-06-29 08:23:26 +00:00
- Vyskúšané dosadenie slovenského GPT modelu do kódu patil-suraj. Nefunguje - nepasuje konfigurácia.
- Vyskúšané nasadenie Multilingual T5. Podarilo sa ho nahrať. Chyba "index Out Of Range".
2022-06-29 08:19:43 +00:00
2022-06-29 08:27:37 +00:00
Úlohy:
- Pokračovať v otvorených úlohách. Rozbehať skripty "patil-suraj".
Zásobník úloh:
- Vyskúšať existujúci slovenský BART model (od vedúceho).
- Natrénovať a vyskúšať nový slovenský BART model (aj pre vedúceho).
2022-04-08 11:07:05 +00:00
Stretnutie 8.4.
2022-06-29 08:19:43 +00:00
Prezreté sú tri repozitáre. kompatibilné s HF Transformers
2022-04-08 11:07:05 +00:00
https://github.com/p208p2002/Transformer-QG-on-SQuAD#seq2seq-lm
- Používa modely GPT-2, BART,T5, upravený „BERT“
- vstup ide odsek + zvýraznená odpoveď pomocou tokenu [HL]
Haystack deepset – QG pipeline
- Postup: (https://haystack.deepset.ai/tutorials/question-generation)
- kompatibilný s HF Transformers
- https://github.com/deepset-ai/haystack#mortar_board-tutorials
- https://www.deepset.ai/blog/generate-questions-automatically-for-faster-annotation
https://github.com/patil-suraj/question_generation
- Využíva 2 formáty vstupu:
- Oddelenie odpovede pomocou SEP, odpoveď je osobitne
- 42 `[SEP]` 42 is the answer to life, the universe and everything. Vyznačenie odpovede pomocou HL priamo v kontexte.
- `<hl>` 42 `<hl>` is the answer to life, the universe and everything.
3 možnosti definície úlohy generovanie otázok :
- QG – vstup je kontext a odpoveď, výstup je otázka
- Multitask QA- QG: Deje sa vo viacerých krokoch: vyhľadanie odpovede (zaujímavej časti) v texte, generovanie otazky na zaklade odpovede, spätné vyhľadanie odpovede
- End-to-End QG – Generovanie otázok len na zaklade kontextu, vstup je kontext, výstup je otázka.
Úlohy:
- Začneme s prístupom "End-To-End" - generovanie otázok na základe zadaného odseku.
- Rozbehnite skript, ktorý naučí generatívny model generovať otázky na základe zadaného odseku. Ako vstup použite sk-quad.
Zásobník úloh:
- Navrhnite a implementujte spôsob vyhľadanie zaujímavej časti odseku - kandidáta na možnú odpoveď.
2022-03-11 10:05:39 +00:00
11.3.
2022-03-11 10:12:07 +00:00
- Vyskúšaný GPT na cloab, zatiaľ nefunguje kvôli pamäti.
2022-03-11 10:05:39 +00:00
Možné spôsoby využitia generatívnych modelov:
- mnli - multi natural language inference - textual entailment and contradiction, zero shot classification
2022-03-11 10:26:07 +00:00
- strojový preklad
2022-03-11 10:05:39 +00:00
- 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)
2022-03-11 10:12:07 +00:00
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
2022-03-11 10:25:03 +00:00
- 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.
2022-03-11 10:12:07 +00:00
2022-02-25 09:21:57 +00:00
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á.
2022-01-27 08:43:57 +00:00
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).
2022-01-27 08:49:22 +00:00
- 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ť.
2022-01-27 08:43:57 +00:00
2021-02-22 12:45:26 +00:00
## Bakalárska práca 2020
2021-01-21 15:42:46 +00:00
2021-02-09 12:41:52 +00:00
Názov: Neurónové jazykové modelovanie typu BERT.
2020-10-02 08:20:56 +00:00
2021-06-25 08:21:21 +00:00
[Bakalárska práca ](https://opac.crzp.sk/?fn=detailBiblioForm&sid=4A7927334F9373E92B42D999785B )
2020-10-02 08:20:56 +00:00
Návrh na zadanie:
2021-02-12 12:28:11 +00:00
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.
2020-11-20 12:09:20 +00:00
2020-11-20 12:32:16 +00:00
Zásobník úloh:
- Cieľom je vedieť natrénovať BERT model a vyhodnotiť ho na zvolenej testovacej množine.
2021-02-22 13:07:30 +00:00
- vyhodnotiť slovenský Roberta Model na pokusnej množine SK-quad.
2020-11-20 12:32:16 +00:00
2021-03-12 12:32:18 +00:00
Stretnutie 12.3.
Stav:
- Konzultácia štruktúry práce
Úlohy:
- Písať.
2021-02-26 12:36:08 +00:00
Stretnutie 26.2.
Stav:
- Vyriešený technický problém s architektúrou modelu podľa predpokladu.
- Urobené vyhodnotenie modelu wiki103 na CommonsenseQA.
2021-02-26 12:56:38 +00:00
Úlohy:
- Pokračujte v práci na textovej časti.
2021-02-26 13:01:50 +00:00
- Odovzdané pracovné dáta pre slovenský Roberta Model aj SK-Quad. Pokúste sa to vyhodnotiť ako neprioritnú ulohu.
2021-02-26 12:56:38 +00:00
2021-02-22 12:45:26 +00:00
Stretnutie 22.2.
Stav:
- Natrénovaný model wiki103 na stroji Quadro. Problém sa vyriešil vypnutím GPU pri trénovaní,
2021-02-22 13:07:30 +00:00
- 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.
2021-02-22 12:45:26 +00:00
## Bakalársky projekt 2020
2021-02-12 12:33:40 +00:00
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)
2021-02-12 12:39:06 +00:00
- Máme k dispozícii ROBERTA model natrénovaný na veľkej množine slovenských dát.
2021-02-12 12:33:40 +00:00
Do budúceho stretnutia:
- Problém sa možno dá obísť skopírovaním modelu zo stroja Tesla.
2021-02-12 12:39:06 +00:00
- 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?
2021-02-12 13:06:50 +00:00
- pracujte na súvislom texte bakalárskej práce.
2021-02-12 12:33:40 +00:00
2020-12-18 11:18:30 +00:00
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.
2020-12-18 11:30:53 +00:00
- Vytvorený prístup na server quadra.kemt.fei.tuke.sk
2020-12-18 11:18:30 +00:00
2020-12-18 11:27:33 +00:00
Ú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.
2020-12-18 11:32:35 +00:00
- 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 )
2020-12-18 11:34:14 +00:00
- 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.
2020-12-18 11:27:33 +00:00
2020-12-18 11:18:30 +00:00
2020-12-04 11:33:15 +00:00
Virtuálne stretnutie 4.12.2020
Stav:
2020-12-04 11:40:24 +00:00
2020-12-04 11:33:15 +00:00
- Preštudovaný tutoriál https://github.com/pytorch/fairseq/blob/master/examples/roberta/README.pretraining.md
- Vyriešený problém s Pytorch.
2020-12-04 11:38:17 +00:00
- 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.
2020-12-04 11:40:24 +00:00
- Vypracované poznámky o trénovaní a vyhodnocovaní BERT.
2020-12-04 11:33:15 +00:00
2020-12-04 11:45:18 +00:00
Ú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.
2020-12-04 11:53:42 +00:00
- 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).
2020-12-04 11:45:18 +00:00
2020-12-04 11:33:15 +00:00
2020-11-20 12:09:20 +00:00
Virtuálne stretnutie 20.11.2020
Stav:
2020-11-20 12:25:24 +00:00
- 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 .
2020-11-20 12:32:16 +00:00
- Pracovať na písomnej časti - zamerať sa na vyhodnotenie BERT modelu. Na aké modelové úlohy sa používa?
2020-11-20 12:34:47 +00:00
- 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.
2020-11-20 12:25:24 +00:00
2020-10-02 08:39:55 +00:00
2020-11-13 09:37:48 +00:00
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.
2020-11-20 12:09:20 +00:00
- 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.
2020-11-13 10:07:39 +00:00
- \vytvorený prístup na tesla pre vyriešenie.
2020-11-20 12:09:20 +00:00
Do ďalšieho stretnutia:
2020-11-13 10:07:39 +00:00
2020-11-20 12:09:20 +00:00
- pokračovať v otvorených úlohách.
2020-11-13 09:37:48 +00:00
2020-10-02 08:48:52 +00:00
2020-10-30 09:59:36 +00:00
Virtuálne stretnutie 30.10.2020
Stav:
- Vypracované poznámky k seq2seq
- nainštalovaný Pytorch a fairseq
2020-10-30 10:17:35 +00:00
- problémy s tutoriálom. Riešenie by mohlo byť použitie release verzie 0.9.0, pip install fairseq=0.9.0
2020-11-13 09:37:48 +00:00
Do ďalšieho stretnutia:
2020-10-30 10:17:35 +00:00
- Vyriešte technické porblémy
2020-10-30 10:22:21 +00:00
- prejdide si tutoriál https://fairseq.readthedocs.io/en/latest/getting_started.html#training-a-new-model
2020-10-30 10:17:35 +00:00
- Prejsť si tutoriál https://github.com/pytorch/fairseq/blob/master/examples/roberta/README.md alebo podobný.
2020-10-30 10:22:21 +00:00
- Preštudujte si články na tému BERT, urobte si poznámky čo ste sa dozvedeli spolu so zdrojom.
2020-10-30 10:17:35 +00:00
2020-10-30 09:59:36 +00:00
2020-10-16 09:04:08 +00:00
Virtuálne stretnutie 16.10.2020
Stav:
- Vypracované poznámky k uvedeným bodom.
- Problém s inštaláciou Anaconda.
2020-10-16 09:26:37 +00:00
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.
2020-10-02 08:39:55 +00:00
Virtuálne stretnutie 2.10.2020
2020-10-02 08:54:05 +00:00
Vytvorený prístup `ssh megela@idoc.fei.tuke.sk`
2020-10-02 08:39:55 +00:00
Ú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
2020-10-02 08:43:06 +00:00
- 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
2020-10-02 14:06:48 +00:00
- seq2seq