17 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	| title | published | taxonomy | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ondrej Megela | true | 
  | 
Ondrej Megela
Začiatok štúdia: 2018
Súvisiace stránky:
- Oleh Bilykh - question answering
 - Lukáš Pokrývka - paralelné trénovanie
 - Question Answering - interný projekt
 - Matej Čarňanský (BERT)
 
Pozrieť toto:
https://paperswithcode.com/task/text-generation?page=3
Diplomová práca 2023
https://opac.crzp.sk/?fn=detailBiblioForm&sid=E4E659F3575B0C5BCF0F726CCD36
Nazov:
Automatické generovanie otázok v slovenskom jazyku
- Vypracujte prehľad generatívnych jazykových modelov.
 - Vypracujte prehľad vyhodnocovacích metrík pre generatívne modely.
 - Navrhnite a vykonajte viaceré experimenty pre úlohu generovania otázok.
 - Vyhodnoťte experimenty vhodnou metrikou a navrhnite zlepšenia modelu generovania otázok.
 
Súvisiace práce:
- Dávid Omasta
 
Cieľ: Využiť slovenský generatívny model na tvorbu databázy otázok a odpovedí.
https://git.kemt.fei.tuke.sk/om385wg/DP
Stretnutie 24.2.2023
Stav:
- Vytvorený notebook pre vyhodnotenie generovanie otázok pomocou BLEU. Zatiaľ nefunguje, pretože asi je potrebné spoávne zoradiť vygenerovanú otázku a referenciu, Ku paragrafu môže existovať viacero rôznych otázok, preto je tažké ich porovnať pomocou BLEU ngramov.
 
Úlohy:
- Na vyhodnotenie použiť sémantický model. POdľa modelu vytvoriť dvojice - generovaná veta a referencia.
 - Na vyhodnotneie použiť "Answerability" - QA model s thresholdom.
 - Pracovať na diplomovej práci - písať prehľad - metódy, metriky vyhodnotenia, datasety.
 - Do DP pripraviť experiment s vyhodnotením.
 
Zásobník úloh:
- Priradiť vgenerované vety ku referencii na základe sémantickej podobnosti.
 - Priamo merať sémantickú pokdobnosť vygenerovaných viet a referenciíá.
 - Použiť operátor max, mean alebo kl-diveregencia, cross-entropy?
 
Stretnutie 23.1.2023
Stav:
- Modifikovany ssk quad dataset, tak aby aby sa dal vykonat finetuning t5. Vstupom je kontext a viacero otazok.
 - Dotrenovany t5 model na generovanie otazok. Vyzera ze ide.
 - Vyskusany few shot learning pomocou prikladov zo sk quad.
 
Ulohy:
- Pokracovat v pisani podla aktualizovaneho zadania
 - Implementovat vyhodnbotenie generovania otazok. Vyhodnotenie pomocou generovanej odpovede. BLEU-ROUGE-METEOR pre gemnerovanue otazky a gold truth otazky. Ako sa to robi v literature ? Zistit a napisat.
 
Zasobnik uloh:
- Navrhnut eperimenty pre DP/clanbok.
 - porovnat slovensky a anglicky model. Mozno aj iny jazyk.
 - vyskusat, ako pomahaju generovane toazky pri QA.
 - rucne vyhodnotit vygenerovane otazky.
 
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.
 - QA evaluátor a generátor https://github.com/AMontgomerie/question_generator
 - Finetuning slovenského T5 https://colab.research.google.com/drive/1z-Zl2hftMrFXabYfmz8o9YZpgYx6sGeW?usp=sharing
 
Úlohy:
- Pracovať na textovej časti DP a.k.a. ATKS
 - Skontrolovať a na ďalšom stretnutí updatovať zadanie DP.
 - Dokončiť skripty a generovať otázky pre slovenský jazyk.
 - Vyhodnotiť kvalitu generovania otázok.
 - Pripraviť experiment, kde vo viacerých scenároch (finetuning, few shot) generujeme otázky.
 
Zásobník úloh:
- Pripraviť článok (do časopisu). Najprv prekladom z DP.
 - Pripraviť aj out-of-domain test - iná doména (noviny, úäradné dokumenty). Iný jazyk. Porovnanie slovenského a anglického generovanie.
 - Pripraviť test, kde odmieriame prínos automaticky generovanej databázy na probmém question answering.
 - Použiť generátor pri manuálnej anotácii. Človek môže hodnotiť kvalitu generovanej otázky alebo ju opraviť.
 
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.
 - 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
 
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:
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:
- 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.
 
Zásobník úloh:
- 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.
 
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.
 
Stretnutie 29.6.
- 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".
 
Ú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).
 
Stretnutie 8.4.
Prezreté sú tri repozitáre. kompatibilné s HF Transformers
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.
 - 42 
 
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ď.
 
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ý preklad
 - 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.
Návrh na zadanie:
- Vypracujte prehľad metód jazykového modelovania pomocou neurónových sietí.
 - Vypracujte prehľad aplikácií modelu typu BERT a spôsoby ich vyhodnotenia.
 - Natrénujte jazykový model metódou BERT alebo podobnou.
 - 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č 
-archpri 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
 - 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 Conda aj Pytorch.
 - Chyba optimizéra Fairseq 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