153 lines
5.0 KiB
Plaintext
153 lines
5.0 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
|
|
"<div class=\"alert alert-block alert-info\">\n",
|
|
"<h1> Modelowanie Języka</h1>\n",
|
|
"<h2> 8. <i>Neuronowe modele językowe</i> [ćwiczenia]</h2> \n",
|
|
"<h3> Jakub Pokrywka (2022)</h3>\n",
|
|
"</div>\n",
|
|
"\n",
|
|
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Instalacja pytorch\n",
|
|
"\n",
|
|
"https://pytorch.org/get-started/locally/"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Tutorial pytorch\n",
|
|
"https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Zadanie"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"**Proszę wykonać tylko jedno zadanie z dwóch!**"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Zadanie 1 (proste)\n",
|
|
"\n",
|
|
"Wzorując się na materiałach z wykładu stworzyć neuronowy, **bigramowy** model językowy.\n",
|
|
"\n",
|
|
"Warunki zaliczenia:\n",
|
|
"- wynik widoczny na platformie zarówno dla dev i dla test\n",
|
|
"- wynik dla dev i test lepszy (niższy) niż 1024.00 (liczone przy pomocy geval)\n",
|
|
"- deadline do końca dnia 24.04\n",
|
|
"- commitując rozwiązanie proszę również umieścić rozwiązanie w pliku /run.py (czyli na szczycie katalogu). Można przekonwertować jupyter do pliku python przez File → Download as → Python. Rozwiązanie nie musi być w pythonie, może być w innym języku.\n",
|
|
"- zadania wykonujemy samodzielnie\n",
|
|
"- w nazwie commita podaj nr indeksu\n",
|
|
"- w tagach podaj **neural-network** oraz **bigram**!\n",
|
|
"- uwaga na specjalne znaki \\\\n w pliku 'in.tsv' oraz pierwsze kolumny pliku in.tsv (które należy usunąć)\n",
|
|
"\n",
|
|
"Punktacja:\n",
|
|
"- podstawa: 60 punktów\n",
|
|
"- 40 punktów z najlepszy wynik z 2 grup\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Zadanie 2 (trudniejsze)\n",
|
|
"\n",
|
|
"Wzorując się na materiałach z wykładu stworzyć neuronowy, **trigramowy** model językowy.\n",
|
|
"\n",
|
|
"Warunki zaliczenia:\n",
|
|
"- wynik widoczny na platformie zarówno dla dev i dla test\n",
|
|
"- wynik dla dev i test lepszy (niższy) niż 1024.00 (liczone przy pomocy geval)\n",
|
|
"- deadline do końca dnia 24.04\n",
|
|
"- commitując rozwiązanie proszę również umieścić rozwiązanie w pliku /run.py (czyli na szczycie katalogu). Można przekonwertować jupyter do pliku python przez File → Download as → Python. Rozwiązanie nie musi być w pythonie, może być w innym języku.\n",
|
|
"- zadania wykonujemy samodzielnie\n",
|
|
"- w nazwie commita podaj nr indeksu\n",
|
|
"- w tagach podaj **neural-network** oraz **trigram**!\n",
|
|
"- uwaga na specjalne znaki \\\\n w pliku 'in.tsv' oraz pierwsze kolumny pliku in.tsv (które należy usunąć)\n",
|
|
"\n",
|
|
"Punktacja:\n",
|
|
"- podstawa: 120 punktów\n",
|
|
"- 40 punktów z najlepszy wynik z 2 grup\n",
|
|
"- 20 punktów za drugi najlepszy wynik z 2 grup"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## W jaki sposób uzyskać lepszy wynik?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Dla lepszych wyników, można trenować model przez kilka epok.\n",
|
|
"\n",
|
|
"Zgodnie z dobra praktyką w uczeniu maszynowym należy monitorować wynik (tutaj perplexity) na zbiorze deweloperskim w trakcie uczenia.\n",
|
|
"\n",
|
|
"Kod z wykładu pokazuje jedynie wynik funkcji kosztu na zbiorze trenującym. Dla kompletnego rozwiązania warto zaimplementować monitorowanie kosztu dla zbioru deweloperskiego.\n",
|
|
"Przy każdym sprawdzaniu wyniku, należy sprawdzać czy obecny model jest najlepszy i jeżeli jest najlepszy to zapisywać jego stan najlepiej w postaci binarnej (może byc pickle) do pliku\n",
|
|
"\n",
|
|
"\n",
|
|
"Po zakończeniu trenowania należy wybrać model który uzyskuje najmniejszy wynik funkcji kosztu dla zbioru deweloperskiego i użyć go do wygenerowania odpowiedzi dla zbioru testowego."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"![alt text](imgs/devsetppl.png)"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"author": "Jakub Pokrywka",
|
|
"email": "kubapok@wmi.amu.edu.pl",
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"lang": "pl",
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.3"
|
|
},
|
|
"subtitle": "0.Informacje na temat przedmiotu[ćwiczenia]",
|
|
"title": "Ekstrakcja informacji",
|
|
"year": "2021"
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|