mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 18:59:59 +01:00
1513 lines
246 KiB
Plaintext
1513 lines
246 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "78b68162",
|
||
"metadata": {},
|
||
"source": [
|
||
"# TP3 - Fine tuning\n",
|
||
"\n",
|
||
"L'objectif de ce TP est de présenter comment exploiter les modèles disponibles sur HuggingFace, plus particulièrement pour des tâches de classification. Nous mettrons également en pratique l'approche [*Two-stage fine-tuning*](https://arxiv.org/pdf/2207.10858).\n",
|
||
"\n",
|
||
"## Contexte\n",
|
||
"\n",
|
||
"Les flux RSS, de l'anglais *Rich Site Summary*, est un flux d'information pour partager simplement des informations. Largement utilisé dans le domaine de la communication par les médias, nous pouvons nous tenir au courant des informations que les journaux partagent par exemple.\n",
|
||
"Cependant, le volume d'informations peut être rapidement très important pour pouvoir être lu. On se propose de construire un filtre pour nous notifier uniquement quand une information sera jugée *d'intérêt*.\n",
|
||
"\n",
|
||
"Pour cela, nous avons sauvegardé puis labellisé les flux RSS de plusieurs journaux mondiaux en anglais, pendant plusieurs semaines. Importons et visualisons la bases de données à disposition."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "7e9e1d29",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"7619 news with 10.59% of positive class\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
|
||
"columns": [
|
||
{
|
||
"name": "index",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "provider",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "category",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "link",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "published",
|
||
"rawType": "datetime64[ns, UTC]",
|
||
"type": "unknown"
|
||
},
|
||
{
|
||
"name": "title",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "summary",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "target",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
}
|
||
],
|
||
"ref": "46cf2b21-2a0e-4b5c-a13a-fad0480005c4",
|
||
"rows": [
|
||
[
|
||
"0",
|
||
"El Pais",
|
||
"World",
|
||
"https://english.elpais.com/climate/2025-12-27/a-floating-school-teaches-children-how-to-save-lake-atitlan.html",
|
||
"2025-12-27 04:00:00+00:00",
|
||
"A floating school teaches children how to save Lake Atitlán",
|
||
"This is the latest attempt by Guatemalan scientists to make kids aware that the once-pristine lake is in danger of ‘dying’ from the constant discharge of waste water, garbage and erosion",
|
||
"0"
|
||
],
|
||
[
|
||
"1",
|
||
"El Pais",
|
||
"World",
|
||
"https://english.elpais.com/climate/2025-12-31/david-king-chemist-there-are-scientists-studying-how-to-cool-the-planet-nobody-should-stop-these-experiments-from-happening.html",
|
||
"2025-12-31 13:53:41+00:00",
|
||
"David King, chemist: ‘There are scientists studying how to cool the planet; nobody should stop these experiments from happening’",
|
||
"The British researcher is calling for global regulations to test extreme measures against climate change, such as marine cloud brightening over the Arctic",
|
||
"0"
|
||
],
|
||
[
|
||
"2",
|
||
"El Pais",
|
||
"World",
|
||
"https://english.elpais.com/climate/2026-01-01/cartagena-de-indias-is-sinking-what-can-the-city-do-to-mitigate-it.html",
|
||
"2026-01-01 12:24:15+00:00",
|
||
"Cartagena de Indias is sinking: What can the city do to mitigate it?",
|
||
"Sea levels in the bay of the Colombian resort have risen seven millimeters per year for the past two decades, the second-highest rate in the Caribbean after Haiti",
|
||
"0"
|
||
],
|
||
[
|
||
"3",
|
||
"El Pais",
|
||
"World",
|
||
"https://english.elpais.com/climate/2026-01-03/the-secrets-of-the-washingtonia-palm-named-after-the-first-us-president.html",
|
||
"2026-01-03 04:45:00+00:00",
|
||
"The secrets of the Washingtonia palm, named after the first US president",
|
||
"They are among the most widely cultivated plants in the world, and can thrive in complete neglect, able to withstand both harsh summers and low temperatures",
|
||
"0"
|
||
],
|
||
[
|
||
"4",
|
||
"El Pais",
|
||
"World",
|
||
"https://english.elpais.com/climate/2026-01-05/a-recipe-for-resistance-indigenous-peoples-politicize-their-struggles-from-the-kitchen.html",
|
||
"2026-01-05 17:02:27+00:00",
|
||
"A recipe for resistance: Indigenous peoples politicize their struggles from the kitchen",
|
||
"A book that compiles the recovery of ancestral recipes from the Americas, from Canada to the Amazon, maps strategies in the face of climate change and agribusiness",
|
||
"0"
|
||
]
|
||
],
|
||
"shape": {
|
||
"columns": 7,
|
||
"rows": 5
|
||
}
|
||
},
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>provider</th>\n",
|
||
" <th>category</th>\n",
|
||
" <th>link</th>\n",
|
||
" <th>published</th>\n",
|
||
" <th>title</th>\n",
|
||
" <th>summary</th>\n",
|
||
" <th>target</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>El Pais</td>\n",
|
||
" <td>World</td>\n",
|
||
" <td>https://english.elpais.com/climate/2025-12-27/...</td>\n",
|
||
" <td>2025-12-27 04:00:00+00:00</td>\n",
|
||
" <td>A floating school teaches children how to save...</td>\n",
|
||
" <td>This is the latest attempt by Guatemalan scien...</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>El Pais</td>\n",
|
||
" <td>World</td>\n",
|
||
" <td>https://english.elpais.com/climate/2025-12-31/...</td>\n",
|
||
" <td>2025-12-31 13:53:41+00:00</td>\n",
|
||
" <td>David King, chemist: ‘There are scientists stu...</td>\n",
|
||
" <td>The British researcher is calling for global r...</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>El Pais</td>\n",
|
||
" <td>World</td>\n",
|
||
" <td>https://english.elpais.com/climate/2026-01-01/...</td>\n",
|
||
" <td>2026-01-01 12:24:15+00:00</td>\n",
|
||
" <td>Cartagena de Indias is sinking: What can the c...</td>\n",
|
||
" <td>Sea levels in the bay of the Colombian resort ...</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>El Pais</td>\n",
|
||
" <td>World</td>\n",
|
||
" <td>https://english.elpais.com/climate/2026-01-03/...</td>\n",
|
||
" <td>2026-01-03 04:45:00+00:00</td>\n",
|
||
" <td>The secrets of the Washingtonia palm, named af...</td>\n",
|
||
" <td>They are among the most widely cultivated plan...</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>El Pais</td>\n",
|
||
" <td>World</td>\n",
|
||
" <td>https://english.elpais.com/climate/2026-01-05/...</td>\n",
|
||
" <td>2026-01-05 17:02:27+00:00</td>\n",
|
||
" <td>A recipe for resistance: Indigenous peoples po...</td>\n",
|
||
" <td>A book that compiles the recovery of ancestral...</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" provider category link \\\n",
|
||
"0 El Pais World https://english.elpais.com/climate/2025-12-27/... \n",
|
||
"1 El Pais World https://english.elpais.com/climate/2025-12-31/... \n",
|
||
"2 El Pais World https://english.elpais.com/climate/2026-01-01/... \n",
|
||
"3 El Pais World https://english.elpais.com/climate/2026-01-03/... \n",
|
||
"4 El Pais World https://english.elpais.com/climate/2026-01-05/... \n",
|
||
"\n",
|
||
" published \\\n",
|
||
"0 2025-12-27 04:00:00+00:00 \n",
|
||
"1 2025-12-31 13:53:41+00:00 \n",
|
||
"2 2026-01-01 12:24:15+00:00 \n",
|
||
"3 2026-01-03 04:45:00+00:00 \n",
|
||
"4 2026-01-05 17:02:27+00:00 \n",
|
||
"\n",
|
||
" title \\\n",
|
||
"0 A floating school teaches children how to save... \n",
|
||
"1 David King, chemist: ‘There are scientists stu... \n",
|
||
"2 Cartagena de Indias is sinking: What can the c... \n",
|
||
"3 The secrets of the Washingtonia palm, named af... \n",
|
||
"4 A recipe for resistance: Indigenous peoples po... \n",
|
||
"\n",
|
||
" summary target \n",
|
||
"0 This is the latest attempt by Guatemalan scien... 0 \n",
|
||
"1 The British researcher is calling for global r... 0 \n",
|
||
"2 Sea levels in the bay of the Colombian resort ... 0 \n",
|
||
"3 They are among the most widely cultivated plan... 0 \n",
|
||
"4 A book that compiles the recovery of ancestral... 0 "
|
||
]
|
||
},
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"df = pd.read_csv(\"data/Complete.csv\")\n",
|
||
"\n",
|
||
"df[\"published\"] = pd.to_datetime(df[\"published\"])\n",
|
||
"df = df.loc[~df[\"target\"].isna()].copy()\n",
|
||
"df[\"target\"] = df[\"target\"].astype(int)\n",
|
||
"\n",
|
||
"\n",
|
||
"imbalanced_rate = df[\"target\"].mean()\n",
|
||
"print(f\"{df.shape[0]} news with {100 * imbalanced_rate:.2f}% of positive class\")\n",
|
||
"\n",
|
||
"df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "19931804",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Préparation\n",
|
||
"\n",
|
||
"Nous n'allons exploiter que le titre et le contenu du flux RSS, et avant de commencer nous allons nettoyer un peu le texte."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"id": "45710a37",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def clean_text(title: str, summary: str) -> str:\n",
|
||
" \"\"\"Clean the title and summary strings.\"\"\"\n",
|
||
"\n",
|
||
" def clean_string(string: str) -> str:\n",
|
||
" \"\"\"Clean a single string.\"\"\"\n",
|
||
" string = string.lower()\n",
|
||
" string = string.replace(\"(Source: Bloomberg)\", \"\")\n",
|
||
" string = string.replace(\"“\", \"'\")\n",
|
||
" string = string.replace(\"”\", \"'\")\n",
|
||
" string = string.replace(\"\\n\", \"\")\n",
|
||
" string = string.replace(\" \", \" \")\n",
|
||
" return string.strip()\n",
|
||
"\n",
|
||
" title = clean_string(title)\n",
|
||
" summary = clean_string(summary)\n",
|
||
"\n",
|
||
" return f\"Title: {title}\\nSummary: {summary}\"\n",
|
||
"\n",
|
||
"\n",
|
||
"df[\"text\"] = df.apply(lambda row: clean_text(row[\"title\"], row[\"summary\"]), axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "467c2960",
|
||
"metadata": {},
|
||
"source": [
|
||
"Puisque le dataset est dépendant du temps, nous allons le découper en jeu d'entraînement et de validation en suivant cela."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"id": "024281d1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Training size: 6092, imbalanced rate: 10.69%\n",
|
||
"Validation size: 1523, imbalanced rate: 10.18%\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"train_ratio = 0.8\n",
|
||
"\n",
|
||
"df = df.drop_duplicates(subset=[\"text\"])\n",
|
||
"df = df.sort_values(\"published\")\n",
|
||
"split_date = df[\"published\"].quantile(train_ratio)\n",
|
||
"\n",
|
||
"df_train = df[df[\"published\"] <= split_date][[\"text\", \"target\"]]\n",
|
||
"df_val = df[df[\"published\"] > split_date][[\"text\", \"target\"]]\n",
|
||
"\n",
|
||
"df_train = df_train.reset_index(drop=True)\n",
|
||
"df_val = df_val.reset_index(drop=True)\n",
|
||
"\n",
|
||
"print(\n",
|
||
" f\"Training size: {len(df_train)}, imbalanced rate: {100 * df_train.target.mean():.2f}%\",\n",
|
||
")\n",
|
||
"print(\n",
|
||
" f\"Validation size: {len(df_val)}, imbalanced rate: {100 * df_val.target.mean():.2f}%\",\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "2d9d353f",
|
||
"metadata": {},
|
||
"source": [
|
||
"Puisque nous avons un déséquilibre, nous allons le reporter dans la fonction de perte. Pour préparer cette étape, nous allons utiliser la fonction [`compute_class_weight`](https://scikit-learn.org/stable/modules/generated/sklearn.utils.class_weight.compute_class_weight.html) et stocker son résultat dans un [`Tensor`](https://docs.pytorch.org/docs/stable/tensors.html) de PyTorch pour l'exploiter dans la fonction de perte."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"id": "71f1c0e3",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"tensor([0.5598, 4.6790])\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"import torch\n",
|
||
"from sklearn.utils.class_weight import compute_class_weight\n",
|
||
"\n",
|
||
"labels = df_train[\"target\"].to_numpy()\n",
|
||
"class_weights = compute_class_weight(\n",
|
||
" class_weight=\"balanced\",\n",
|
||
" classes=np.array([0, 1]),\n",
|
||
" y=labels,\n",
|
||
")\n",
|
||
"\n",
|
||
"class_weights = torch.tensor(class_weights, dtype=torch.float)\n",
|
||
"print(class_weights)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "f093593f",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Premier entraînement\n",
|
||
"\n",
|
||
"Il est maintenant temps de basculer du monde classique numpy, pandas, scikit-learn à celui de la librairies transformers d'HuggingFace.\n",
|
||
"\n",
|
||
"### Dataset d'entraînement\n",
|
||
"\n",
|
||
"On ne travaille plus avec des DataFrames pandas mais des [Datasets](https://huggingface.co/docs/datasets/use_with_pandas). "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"id": "2b32e4cc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from datasets import Dataset\n",
|
||
"\n",
|
||
"ds_train = Dataset.from_pandas(df_train)\n",
|
||
"ds_val = Dataset.from_pandas(df_val)\n",
|
||
"\n",
|
||
"ds_train = ds_train.rename_column(\"target\", \"labels\")\n",
|
||
"ds_val = ds_val.rename_column(\"target\", \"labels\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "824250f7",
|
||
"metadata": {},
|
||
"source": [
|
||
"Le texte contenu dans les datasets n'est pas *compréhensible* en l'état par un modèle: nous devons **tokeniser** le texte. Nous devons le faire en utilisant la même méthode qui a servit à entraîner le modèle que nous utiliserons par la suite : nous choisissons [DistilRoBERTa base](https://huggingface.co/distilbert/distilroberta-base). Le choix s'est fait sur les capacités du modèle et sa taille réduite pour permettre des itérations *rapide*."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"id": "55224f64",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Map: 100%|██████████| 6092/6092 [00:00<00:00, 14604.07 examples/s]\n",
|
||
"Map: 100%|██████████| 1523/1523 [00:00<00:00, 16717.37 examples/s]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from transformers import AutoTokenizer\n",
|
||
"\n",
|
||
"MODEL_NAME = \"distilroberta-base\"\n",
|
||
"\n",
|
||
"tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)\n",
|
||
"\n",
|
||
"\n",
|
||
"def tokenize(batch: dict) -> dict:\n",
|
||
" \"\"\"Tokenize a batch of texts.\"\"\"\n",
|
||
" return tokenizer(\n",
|
||
" batch[\"text\"],\n",
|
||
" truncation=True,\n",
|
||
" padding=\"max_length\",\n",
|
||
" max_length=256,\n",
|
||
" )\n",
|
||
"\n",
|
||
"\n",
|
||
"ds_train = ds_train.map(tokenize, batched=True)\n",
|
||
"ds_val = ds_val.map(tokenize, batched=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "301f82fc",
|
||
"metadata": {},
|
||
"source": [
|
||
"Dans cette cellule nous avons réutiliser le tokenizer du modèle d'intérêt puis l'avons appliquer à la colonne contenant le texte. A présent, le dataset n'est plus composé de deux colonnes (labels et target) mais :"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"id": "4bc70018",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Dataset({\n",
|
||
" features: ['text', 'labels', 'input_ids', 'attention_mask'],\n",
|
||
" num_rows: 6092\n",
|
||
"})"
|
||
]
|
||
},
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ds_train"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d2a4ad98",
|
||
"metadata": {},
|
||
"source": [
|
||
"Avant de continuer, nous changeons le format des données en tenseur torch."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "056a0baf",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"ds_train.set_format(\n",
|
||
" type=\"torch\",\n",
|
||
" columns=[\"input_ids\", \"attention_mask\", \"labels\"],\n",
|
||
")\n",
|
||
"ds_val.set_format(\n",
|
||
" type=\"torch\",\n",
|
||
" columns=[\"input_ids\", \"attention_mask\", \"labels\"],\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c290b844",
|
||
"metadata": {},
|
||
"source": [
|
||
"La librairie transformers n'a pas de méthode `fit` comme dans scikit-learn ou Keras, mais une classe [`Trainer`](https://huggingface.co/docs/transformers/main_classes/trainer).\n",
|
||
"Nativement, cette classe ne prend pas en compte le déséquilibre : nous allons la modifier pour le faire. On se propose d'hériter de la classe `Trainer` et de modifier uniquement la méthode `compute_loss` pour qu'elle utilise la [`CrossEntropyLoss`](https://docs.pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html) de PyTorch."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"id": "02a89166",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from transformers import Trainer\n",
|
||
"\n",
|
||
"\n",
|
||
"class WeightedTrainer(Trainer):\n",
|
||
" \"\"\"Custom Trainer with weighted loss to handle class imbalance.\"\"\"\n",
|
||
"\n",
|
||
" def compute_loss(\n",
|
||
" self,\n",
|
||
" model,\n",
|
||
" inputs,\n",
|
||
" return_outputs = False,\n",
|
||
" num_items_in_batch = None,\n",
|
||
" ):\n",
|
||
" \"\"\"Compute the weighted cross-entropy loss for class imbalance.\"\"\"\n",
|
||
" labels = inputs.pop(\"labels\")\n",
|
||
" outputs = model(**inputs)\n",
|
||
" logits = outputs.get(\"logits\")\n",
|
||
"\n",
|
||
" # Configuration de la perte avec les poids de classe\n",
|
||
" loss_fct = torch.nn.CrossEntropyLoss(weight=class_weights.to(logits.device))\n",
|
||
"\n",
|
||
" # Calcul de la perte\n",
|
||
" loss = loss_fct(logits.view(-1, self.model.config.num_labels), labels.view(-1))\n",
|
||
"\n",
|
||
" return (loss, outputs) if return_outputs else loss\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "69e3c4c0",
|
||
"metadata": {},
|
||
"source": [
|
||
"Tout au long de l'entraînement du modèle, nous voulons être capable de suivre ses performances, en plus de la valeur de la fonction de perte. Nous définissons une fonction pour répondre à cet objectif :"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"id": "48d9e14c",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import scipy.special as sp\n",
|
||
"\n",
|
||
"from sklearn.metrics import (\n",
|
||
" accuracy_score,\n",
|
||
" average_precision_score,\n",
|
||
" precision_recall_fscore_support,\n",
|
||
")\n",
|
||
"\n",
|
||
"\n",
|
||
"def compute_metrics(eval_pred: tuple) -> dict:\n",
|
||
" \"\"\"Compute evaluation metrics.\"\"\"\n",
|
||
" logits, y_true = eval_pred\n",
|
||
" probas = sp.softmax(logits, axis=1)[:, 1]\n",
|
||
"\n",
|
||
" threshold = 0.5\n",
|
||
" y_pred = (probas >= threshold).astype(int)\n",
|
||
"\n",
|
||
" precision, recall, f1, _ = precision_recall_fscore_support(\n",
|
||
" y_true,\n",
|
||
" y_pred,\n",
|
||
" average=\"binary\",\n",
|
||
" zero_division=0,\n",
|
||
" )\n",
|
||
"\n",
|
||
" auprc = average_precision_score(y_true, probas, average=\"weighted\")\n",
|
||
"\n",
|
||
" return {\n",
|
||
" \"precision\": precision,\n",
|
||
" \"recall\": recall,\n",
|
||
" \"f1\": f1,\n",
|
||
" \"accuracy\": accuracy_score(y_true, y_pred),\n",
|
||
" \"auprc\": auprc,\n",
|
||
" }\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0b96a2e4",
|
||
"metadata": {},
|
||
"source": [
|
||
"Pour paramétrer la classe `Trainer`, nous allons utiliser la classe [`TrainingArguments`](https://huggingface.co/docs/transformers/main_classes/trainer#transformers.TrainingArguments)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"id": "69d6ac13",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from transformers import TrainingArguments\n",
|
||
"\n",
|
||
"training_args = TrainingArguments(\n",
|
||
" output_dir=\"./results\",\n",
|
||
" eval_strategy=\"epoch\",\n",
|
||
" save_strategy=\"epoch\",\n",
|
||
" per_device_train_batch_size=32,\n",
|
||
" per_device_eval_batch_size=32,\n",
|
||
" num_train_epochs=3,\n",
|
||
" learning_rate=1e-4,\n",
|
||
" weight_decay=0.0,\n",
|
||
" warmup_ratio=0.1,\n",
|
||
" lr_scheduler_type=\"linear\",\n",
|
||
" load_best_model_at_end=True,\n",
|
||
" metric_for_best_model=\"f1\",\n",
|
||
" greater_is_better=True,\n",
|
||
" logging_strategy=\"epoch\",\n",
|
||
" report_to=[],\n",
|
||
" save_total_limit=1,\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "edf6abad",
|
||
"metadata": {},
|
||
"source": [
|
||
"Il est enfin temps de lancer l'entraînement !\n",
|
||
"\n",
|
||
"**Consigne** :\n",
|
||
"1. Initialiser le modèle à l'aide de la classe [`AutoModelForSequenceClassification`](https://huggingface.co/docs/transformers/model_doc/auto#transformers.AutoModelForSequenceClassification), on valorisera le paramètre `num_labels` à 2 puisque nous réalisons une classification binaire.\n",
|
||
"2. Initialiser le `WeightedTrainer` avec :\n",
|
||
" * Le modèle définit à l'étape précédente\n",
|
||
" * Comme arguments (args) le paramètrage d'entraînement défini dans la cellule précédente\n",
|
||
" * Les datasets d'entraînement et de test\n",
|
||
" * La fonction de mesure de performance\n",
|
||
"3. Lancer l'entraînement avec la méthode `train` du `Trainer`"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"id": "b730681f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at distilroberta-base and are newly initialized: ['classifier.dense.bias', 'classifier.dense.weight', 'classifier.out_proj.bias', 'classifier.out_proj.weight']\n",
|
||
"You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n",
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"\n",
|
||
" <div>\n",
|
||
" \n",
|
||
" <progress value='573' max='573' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
|
||
" [573/573 23:27, Epoch 3/3]\n",
|
||
" </div>\n",
|
||
" <table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: left;\">\n",
|
||
" <th>Epoch</th>\n",
|
||
" <th>Training Loss</th>\n",
|
||
" <th>Validation Loss</th>\n",
|
||
" <th>Precision</th>\n",
|
||
" <th>Recall</th>\n",
|
||
" <th>F1</th>\n",
|
||
" <th>Accuracy</th>\n",
|
||
" <th>Auprc</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.539400</td>\n",
|
||
" <td>0.307462</td>\n",
|
||
" <td>0.681564</td>\n",
|
||
" <td>0.787097</td>\n",
|
||
" <td>0.730539</td>\n",
|
||
" <td>0.940906</td>\n",
|
||
" <td>0.791551</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.398000</td>\n",
|
||
" <td>0.316518</td>\n",
|
||
" <td>0.570796</td>\n",
|
||
" <td>0.832258</td>\n",
|
||
" <td>0.677165</td>\n",
|
||
" <td>0.919238</td>\n",
|
||
" <td>0.820132</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0.282600</td>\n",
|
||
" <td>0.465514</td>\n",
|
||
" <td>0.758389</td>\n",
|
||
" <td>0.729032</td>\n",
|
||
" <td>0.743421</td>\n",
|
||
" <td>0.948785</td>\n",
|
||
" <td>0.796469</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table><p>"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n",
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TrainOutput(global_step=573, training_loss=0.40664318677226496, metrics={'train_runtime': 1411.5979, 'train_samples_per_second': 12.947, 'train_steps_per_second': 0.406, 'total_flos': 1210487088918528.0, 'train_loss': 0.40664318677226496, 'epoch': 3.0})"
|
||
]
|
||
},
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from transformers import AutoModelForSequenceClassification\n",
|
||
"\n",
|
||
"classifier = AutoModelForSequenceClassification.from_pretrained(\n",
|
||
" MODEL_NAME,\n",
|
||
" num_labels=2,\n",
|
||
")\n",
|
||
"\n",
|
||
"trainer = WeightedTrainer(\n",
|
||
" model=classifier,\n",
|
||
" args=training_args,\n",
|
||
" train_dataset=ds_train,\n",
|
||
" eval_dataset=ds_val,\n",
|
||
" compute_metrics=compute_metrics,\n",
|
||
")\n",
|
||
"\n",
|
||
"trainer.train()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9db1793d",
|
||
"metadata": {},
|
||
"source": [
|
||
"On aimerait visualiser la performance et la distribution des réponses du modèles. Pour cela, on produit deux graphes :\n",
|
||
"1. Graphique de distribution des probabilités du modèle sur le dataset de validation\n",
|
||
"2. Graphique de valeurs des principales métriques (précision, recall et f1-score) en fonction du seuil"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"id": "fc202c3b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import seaborn as sns\n",
|
||
"\n",
|
||
"sns.set_style(style=\"whitegrid\")\n",
|
||
"\n",
|
||
"\n",
|
||
"def metrics_vs_threshold(\n",
|
||
" y_true: np.ndarray,\n",
|
||
" y_proba: np.ndarray,\n",
|
||
" thresholds: np.ndarray,\n",
|
||
") -> tuple[np.ndarray, np.ndarray, np.ndarray]:\n",
|
||
" \"\"\"Compute precision, recall, and F1-score for various thresholds.\n",
|
||
"\n",
|
||
" Args:\n",
|
||
" y_true (np.ndarray): True binary labels.\n",
|
||
" y_proba (np.ndarray): Predicted probabilities for the positive class.\n",
|
||
" thresholds (np.ndarray): Array of thresholds to evaluate.\n",
|
||
"\n",
|
||
" Returns:\n",
|
||
" tuple[np.ndarray, np.ndarray, np.ndarray]: Precision, recall, and F1-score arrays.\n",
|
||
"\n",
|
||
" \"\"\"\n",
|
||
" precision, recall, f1 = [], [], []\n",
|
||
"\n",
|
||
" for t in thresholds:\n",
|
||
" y_pred = (y_proba >= t).astype(int)\n",
|
||
"\n",
|
||
" p, r, f, _ = precision_recall_fscore_support(\n",
|
||
" y_true,\n",
|
||
" y_pred,\n",
|
||
" average=\"binary\",\n",
|
||
" zero_division=0,\n",
|
||
" )\n",
|
||
"\n",
|
||
" precision.append(p)\n",
|
||
" recall.append(r)\n",
|
||
" f1.append(f)\n",
|
||
"\n",
|
||
" return np.array(precision), np.array(recall), np.array(f1)\n",
|
||
"\n",
|
||
"\n",
|
||
"def make_plot(y_true: np.ndarray, y_proba: np.ndarray) -> None:\n",
|
||
" \"\"\"Plot probability distribution and metrics vs. threshold.\n",
|
||
"\n",
|
||
" Args:\n",
|
||
" y_true (np.ndarray): True binary labels.\n",
|
||
" y_proba (np.ndarray): Predicted probabilities for the positive class.\n",
|
||
"\n",
|
||
" \"\"\"\n",
|
||
" thresholds = np.linspace(0.0, 1.0, 100)\n",
|
||
" dataframe = pd.DataFrame({\"target\": y_true, \"proba\": y_proba})\n",
|
||
"\n",
|
||
" precision, recall, f1 = metrics_vs_threshold(\n",
|
||
" y_true=y_true,\n",
|
||
" y_proba=y_proba,\n",
|
||
" thresholds=thresholds,\n",
|
||
" )\n",
|
||
"\n",
|
||
" precisions, recalls, f1_scores = [], [], []\n",
|
||
"\n",
|
||
" for threshold in thresholds:\n",
|
||
" y_pred = (y_proba >= threshold).astype(int)\n",
|
||
"\n",
|
||
" precision, recall, f1_score, _ = precision_recall_fscore_support(\n",
|
||
" y_true,\n",
|
||
" y_pred,\n",
|
||
" average=\"binary\",\n",
|
||
" zero_division=0,\n",
|
||
" )\n",
|
||
"\n",
|
||
" precisions.append(precision)\n",
|
||
" recalls.append(recall)\n",
|
||
" f1_scores.append(f1_score)\n",
|
||
"\n",
|
||
" precision, recall, f1 = np.array(precisions), np.array(recalls), np.array(f1_scores)\n",
|
||
"\n",
|
||
" plt.figure(figsize=(12, 5))\n",
|
||
"\n",
|
||
" plt.subplot(1, 2, 1)\n",
|
||
" sns.histplot(\n",
|
||
" data=dataframe,\n",
|
||
" x=\"proba\",\n",
|
||
" hue=\"target\",\n",
|
||
" common_norm=False,\n",
|
||
" stat=\"probability\",\n",
|
||
" )\n",
|
||
" plt.xlim(0, 1)\n",
|
||
" plt.title(\"Probability distribution\")\n",
|
||
"\n",
|
||
" plt.subplot(1, 2, 2)\n",
|
||
" plt.plot(thresholds, precision, label=\"Precision\")\n",
|
||
" plt.plot(thresholds, recall, label=\"Recall\")\n",
|
||
" plt.plot(thresholds, f1, label=\"F1-score\")\n",
|
||
" plt.xlabel(\"Decision Threshold\")\n",
|
||
" plt.ylabel(\"Score\")\n",
|
||
" plt.title(\"Threshold Optimization\")\n",
|
||
" plt.legend()\n",
|
||
"\n",
|
||
" plt.suptitle(\"Performance on validation dataset\")\n",
|
||
" plt.show()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"id": "b35f11f8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+4AAAHyCAYAAAB1b5R3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAurFJREFUeJzs3Qd4U9X7B/BvRvegg72nzLKXiiJDBEXFjRPBgSK4FXEhKgjoz4ELRfiLgqgoLpaIgANBNhSQvWcptNDdZvyf96Q3JF0kbdqMfj88eTKa3NyctNz7nvOe9+isVqsVREREREREROST9N7eASIiIiIiIiIqHgN3IiIiIiIiIh/GwJ2IiIiIiIjIhzFwJyIiIiIiIvJhDNyJiIiIiIiIfBgDdyIiIiIiIiIfxsCdiIiIiIiIyIcxcCciIiIiIiLyYQzciYiIyK9YrVYEAm9/Dm+/PxERuY6BOxERFXL33XejefPmTpc2bdrgiiuuwLhx43D27FmPvM+JEydw5513IiEhARdffDGysrI8sl2qWEeOHFG/I/PmzVP35Vruy+OuvsZVc+fOxaRJk+z3XXmv8ibv//7777v1mt9//x2jR4+GN8jf3YMPPoijR4965f2JiMh9xlK8hoiIKoFWrVph7Nix9vt5eXnYtm0b3n77bfz333+YM2cOdDpdmd5j5syZ2LRpE958803UqFEDYWFhHthz8jbp4Pnmm29QvXp1j2/7448/RteuXSvkvcrT559/7rX3/ueff/DHH3947f2JiMh9DNyJiKhIkZGRaN++vdNjXbp0QUZGBqZMmYLNmzcX+rm7UlNTVcB19dVXl3FvyZfExcWpS6C9FxERkbcwVZ6IiNwiKfPi2LFj9seWLl2KG2+8UaW8X3rppXj99deRmZlp/7mkEV955ZX44IMP1Ghpjx490KlTJ5XmLNtxTDVOSkrCmDFj0LNnT7Rt2xY333yzSit2JM+Xbcl7ynPktmxL3n/dunW46aab1O2rrroKy5Ytw759+zBkyBC0a9dO7ceCBQuctrd27Vrcd999qmNCPl/v3r3V/lgsFqe07kWLFuHRRx9Fhw4d1Od48cUXnT6nzBmWkdQBAwao/ZL3mj59utNcYtm/u+66S+2LbEPSpc+cOXPBdl+4cKH6vPLe0sYvv/yy05QFrY1XrFiBa6+9Vn0O+fw//vhjsdv85Zdf1OfatWuX0+Pyfcrj27dvV/d37NiBkSNHonv37mjdujUuu+wy9R1nZ2cXud2i0teXLFmC6667TrXLDTfcoLZZ0IXeR74XSe/+4Ycf7Nsv6r1WrlyJO+64Q/2OdevWDU899RSOHz/utH+SUSKdT7fddpv6XenVq5f6ri5kzZo16jXy/Un7yuh1QbIvzz77rPo9l88h00DkfkpKin0qimxHLrLv//77r8vtLJ/t1ltvVb8H8vv68MMPY+/evYW+v+L+HuWzy9+X6NOnD5577rkLfmYiIvI+Bu5EROSW/fv3q+t69erZg79HHnkEjRs3xocffqgCj59//hkjRoxwClglQJf03HfeeUcFDl9++aUKzqtVq6ZSnW+55RYkJyerQF2C2yeeeEIFo3Xq1FHbl206mjp1qgpQZfRfAihhMplUkDZ48GCVUi2p908//TQeeughlVItr5ERfgmWZZ6vFizde++9iImJUfsmr+vcubPqDJBA3ZFMHZD9+eijj1Sg/91336nnayZPnqwuEmDKe8lneeutt/Dpp5/aOwjkvUJDQ/Huu+/i+eefV8HbPffcU2wQLOT9nnzySZXhIJ9X2uPXX39VAaDj606dOoVXX31VbU/es27duuqzFgzsNH379kV4eHihjoz58+ejWbNmKriVjhSpQyD1ByZOnIhp06bhmmuuUd/fF198AVdI54l0eEiQKr8j0rHxzDPPOD3HlfeR70R+X+T3prj0eOmoGDZsGGrVqqWmdcjv2saNG1Wwffr0afvzpFPm8ccfV9ke0lYdO3ZU391ff/1V7OeQqSKy7aioKPU9SDvL9+JI9l8elzaX3xfpDJD70sby+yXkcWlbucjnkCDdlc9/+PBh9XclnTLyezd+/Hj19yjz1bVOpgv9PcrfgQT7WnvK40RE5AesREREBdx1113WO++805qXl2e/JCcnWxcuXGjt2rWr9bbbbrNaLBZ1ufzyy6333Xef0+v/+ecf60UXXWRdvny5uj9lyhR1f+3atU7PGz16tLVXr172+5MnT7a2bt3aeuTIEafnDRkyxHrppZdazWazui/bksccff/99+rxr776yv7YggUL1GPvvvuu/bHExET12G+//abu//DDD9b777/fvm0htzt16mR96aWX1P3Dhw+r1zz99NNO73n33XdbBw4cqG6fPXvW2qpVK+v48eOdnvPaa6/Z20faTZ5vMpnsP9+3b5+1ZcuW1lmzZhX5XaSmplrbtGlj3xeNtKXsk/Y6rY2l7TVHjx5Vj02fPt1aHPkO+vbta7+fnp5ubdu2rfWTTz5R9//66y/1u5CWlub0Ovkcw4YNc2of+Q4cvwt5XNx4443WW265xen1sn3H17jyPkJ+X2SfNY7vJd+b/J44Pl8cPHhQ/V5NmjTJ6TXffvut/Tk5OTnWhIQE66uvvlpsW40aNUr9vufm5hb6HZP2F9u3b7fefvvt1kOHDjm9dvjw4darrrrK6W9MLhpXPv/8+fPVe504ccL+882bN1vffvtt9TpX/x4Lfj9EROT7OMediIiKJKPDMhLoSK/X45JLLlGjulKYTkYVZeR6+PDharRbIym8Mkde0nplhE/TsmXLEt9TRp8lBVhGtR1JirWMnErKe9OmTUvclrxeEx8fr64lrVkjI+vi3Llz6nrQoEHqkpOTo0YvDx48qIrvmc1mVZDPUcE5/TVr1rRX5pYie9IG/fr1c3qOpNMLGUmV1GwZqZeRT629JHOhSZMmqq1kxLUg2W5ubi4GDhzo9LhkBUg7SZs5vs5xH2X/hGM6f0HXX3+9Sj3fsmWLSmOXaQnyftLmQtK95SJtsWfPHtU+klov6f1aW5ZEMgJkpPqxxx5zelxG3f/3v//Z75f1fYR8f5J1IFkXjurXr69+L6StivtdCQ4OVnPlS2qr9evXq5T6oKAg+2PyfRsMBvt9+b386quv1Aj4gQMH1OeQzyO/u45/IwW58vnl9zgkJERlcvTv3x+XX365mgog35tw9++RiIj8BwN3IiIqkgTtsvSbkCBdAgZJP5YAwLG4nJDnac91JOm/jiIiIkp8T5mzraXgO6patapTsC0kxbsojvunKalavQSWr732Gn766ScV7Eh6uQR0RqOx0DrXBbcjHRnac7S2KK5Qmuy7BHOSAi2XgqR9i6LNY9fawJE8lpaWVuw+yv5daL1uCfykor+kcksAKNcy914L+mWfJeV89uzZKqiV3wF5XnH7W9T+y/vHxsY6PV4wzb2s7+P4HRTXVtqcfY1MWSju+yzusxT8HPJ7UvCx//u//1NTJWR/5H0ltV2+l4LflbufX343Z82apVL7ZZqGpNBHR0er+fyS9u/u3yMREfkPBu5ERFQkCbKluFVJJGgQUnjLcYkuTZUqVdx6T3m+jJgWpD1WMEDyBJknLPPFZc65ZBNoHQJSUMwdWlvICKnML3ac23/o0CEVvEkHiMxxl7nLrnYuaG0o8/8dt6u1S1EdHe6QYFVqBci8dqkFIKOyklGhkSBRCu5JICijyzK/W8iorytktFjeQ/bfkRZkeup9tPcSBd9La6uy/v7I9gtuWwJ9xyKBMsdc5qjLHH4pEKd15EjGQWJiYrHbdvXza8UYJStCMgBkjrx0ErRo0cKejeKpv0ciIvIdLE5HRESlJoGkpKNLFW0J8rWLjOBKGnTBEc4LkZReKSSmpZ9rpLiWFCVr0KCBhz+BLf1ZRp21Qm1i69atKgDXCn65QgIqSaFevny50+MzZsxQBcxk21KMTFKmHdtKisBJET6tsnhBkh4tadwSWDuSAn7SKSBF1cpK0uUlxVqKmUnat2O6v7SPBIRSqV8LJk+ePKnSuF1pHxkxlgwGqSrvOJotBescufo+WhZBURo1aqR+Twq2lRR1kykHZW0r6cz5888/1bQHjRSzc5xSIZ9DOnHuv/9+e9AuSyjK4yV9Dlc+vwT2kqovQbv8Tsj+SLaIkN8FV/8eS2pDIiLyTRxxJyKiUpMgT6q/y9JkcluCCkkJlyroEnQUnCN/IUOHDlVBuoxKSzVsGeGUKuGrV6/GhAkTyiXgkIBbqsfPmTNHzTWXKvNSsVtGxx0DtAuRIE2qh0twJUGVjHjKnHbZroyAyr5LAC8VwGUOtswhl3n0EtjL84qr7i1tIK+RoFo6BqSNJTB77733VKAnS6uV1UUXXWSfmy1zzx2nG0j7yPcpI8Iyf17mXn/yyScqeHS1feRzy3J88p1KdXeZiy6jxI5cfR8JiiUAlfnq2txujdbGUg9Ba2NZgk1GqGW0WX6/ykKqtctSa1KnQAJz6dyRTA3HOe+yT/Kdy6i7fFeSni6V5WWk3nHEWz6HdFKtWrVKdei48vllmThZpUD2Q5YUlL+5r7/+Wv2+yXu5+veoZYf89ttvap68/N4TEZFvY+BORERlIsu4SVr9Z599ptJ2ZWRZRjYlwHA3jVtGSyXokdFBWXtaRjIlBVgCD1lzujzIOtbyPhKASZAk84hluSwpECajwhJcu0rSo2XEU4IpaQ/Z1ksvvaSWpxNSfEyCOAkkZXk0CfgkmJI50QUL3zkaNWqUmist85uljSWYl+JkMq+5uLn+pRl1l2BTK0qnkUJnEvzKfGrpPJC51/Jc6diQwNKx7kBxpJCezOuXOdwSvEu7SEeMpOa78z4ScMpybPJaCZ6l3QqS9HT5fZTXSIArnRCyHroE9PL7VRYNGzZU34G0kwTI8l3LcntyXyMdKdKx8v3336uOEBntluXrZB66/C5IATkJlKWgoGR2PPDAA3jjjTdc+vzytyAdHvJz+TzyuylTMKTzR5tG4crfo2SYyLQQ+TuTjgNtuUIiIvJdOikt7+2dICIiIiIiIqKicZITERERERERkQ9j4E5ERERERETkwxi4ExEREREREfkwBu5EREREREREPoyBOxEREREREZEPY+BORERERERE5MMYuBMRERERERH5MAbuRERERERERD6MgTsRERERERGRD2PgTkREREREROTDGLgTERERERER+TAG7kREREREREQ+jIE7ERERERERkQ9j4E5ERERERETkwxi4ExEREREREfkwBu5EREREREREPoyBOxEVyWq1wlf5wr75wj4QERH5M387lvrb/lJgYeBOVMDdd9+N5s2bO13atGmDK664AuPGjcPZs2c98j69e/fGc889V+btzJs3T+3jkSNHin2O/EyeI88V77//vrrv+Jnlopk7dy4mTZqE8lDwc8t+yP64ytV9K/iZ3H2f4pw4cQIPPvggjh496vHvkoiIPE/+fy54XC940Y4XBY8dFc2VY7qrXDnuufp5c3Nz8eWXX+KWW25Bx44d1eWGG27AjBkzkJWVVar9++ijjzB9+nT7/YLnJqVVHt/huXPn8Oyzz2LdunXl+j5EJTGW+FOiSqpVq1YYO3as/X5eXh62bduGt99+G//99x/mzJkDnU4Hf1G9enV88803qF+/fpE/d/ys4uOPP0bXrl0rZN9kv2rWrOny813dt4KfyVP++ecf/PHHH06PffDBB4iMjCyX9yMiorIZMWIEBg8e7BQwbt++Xf3freH/4cVLS0vDAw88gB07duD222/Ho48+qs6BJIiVY/IPP/yAadOmuXUsF++99x5Gjhxpvy+dApdddlmZ97c8jv9y7vfTTz/hpptuKtf3ISoJA3eiIsgBvH379k6PdenSBRkZGZgyZQo2b95c6Oe+LDg4uMT9bdq0KbylvNqxIj+TdPQQEZFvkk5rx47ruLi4Cx4X6bwXXngBu3fvxtdff40WLVrYH+/Roweuv/56Fcw//fTTakS+LIMaEvi7G/x78/jvzXMnqpyYKk/kBkmZF8eOHVPXkiIlByvpfZYTgKFDh9p7p9944w307dsXCQkJGDhwIL777rtC25OR/Ndff111CnTu3BmjR4/GmTNnCqWG33jjjWr7bdu2VQfJRYsWFdrWhg0bMGjQILWP8n4LFy4sNlW+IMd0L0n7ljRw6UGX10imgXwGyTZwJKlxnTp1Ur3txZHeeWmTDh06oFevXvj5558vmMo3c+ZM9O/fX72n9Ly/8sorSE9PL3Lf5HPJZ5LAWdrp0ksvVaPxe/bsKTKFTbYj35fsz8UXX6za3jHFr6iUd8e0Rbk9ZswY9XifPn3szy34Ole+f3mNdAJJ2v8ll1yivtv77rsPBw4cKLY9iYioYuYxywiyTJGT/5tvu+02bNmyxf5zOWZdeeWVasRejjkSwGrT6ORYdM0119in2MlzzWaz/bVyjH/qqafU8UqOD3JM//HHHwvtgwwQSJaAPEe289lnnzn93NXzDEdy7iIj3HLslvf/v//7vwu2hQTsv/76K4YPH+4UtGsaNWqExx57DGvXrsXq1audjpvyGSSdXtrw2muvxeLFi+2v01LipQ2120VN43v55ZdVhoScD7Rr106N/CcnJ+P7779X34Ecz++9916nqQWOx39tX4q6OB63SzrX+vfff3HPPfeo23Jd3LSKnJwcfPjhh/ZzmH79+uHTTz+FxWJx2jfpCJHH5XuV58n37Pj7RVQcjrgTuWH//v3qul69evbH5D/26667TgWw8p9zdnY27rjjDpw+fVoF9HXq1MHSpUvVf9RysHnooYecXisHookTJ6qD+VtvvaWCzm+//RYGgwGzZ89WweWoUaPUgVZODORkQgs+HXum5eD28MMPo2XLliqwfeKJJ9SIghzU3SEHUZnDLcGwpBc2a9ZMbeOXX35R29R603/77TdkZmaqzoKinDx5EnfddRcaNmyIN998UwXN8vmkXYozf/589VzpwJCD6r59+1RgK8G1XBfcN5kCIOSkSObZjR8/HikpKWjSpEmR25fRgJ49e+Ldd99V3+U777yD48ePqwOtK+QgK20s37XjyYYjd77/L774Qn2vcvIl363sv3x2mT5ARETesX79ejWn+6WXXoLJZFLHaPm/X6ZJGY1GexAs9+U4kpqaiipVquCTTz5R9+XYJ528kl4twagcZyZMmKBe98wzz6jj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n18O7scff7Tf7t69O1544QVs374dCQkJKm1+586d+PzzzzF06NDy2lciIiLyERMnTvT2Lvilf4//q65bxLVATGjpagJ9seogUjLz0KhqBK7laDsRUcWkymvF6Xy9qvyUKVOc7sfGxmLhwoXqoomKisL333+PESNGeHYviYiIyKd07dpVXUuqvKwwY7FYVFX5gtl45GzNiTXqulutbqV6fWauCdPyR9tH9moKIyvJExFVSOAOL89xdzlwX7ZsWfnuCREREfmNc+fOYcyYMapQrawwYzabkZGRgS5duuDDDz9UnflU/Ih715q2jg93fbP2sFq3vX5cOK5vz9F2IqLyDtztc9z9JXAv6MyZM2odd+lhF7IknBSnkfT5Bx980JP7SERERD7m9ddfx4kTJ1TmXePGjdVje/bswXPPPYc33ngDEyZM8PYu+pwjaUdwNP0ojDojOtXo5Pbr88wWTPvTNto+vGdjjrYTEZV34J5beI67XxWn+/bbb/Hqq6/CZDKpZUwkaBdyu23btgzciYiIApxk4v3f//2fPWgXkiYvK8w88MADXt03X0+TT6iWgPCgcLdf//OmYzh2NhvVokJwU8e65bCHRERUaMRdZyg04m57pGLpS7t260MPPYQtW7YgPj4ey5cvx/z589GyZUtceeWVnt9LIiIi8ikhISHQ6wufRkgnvqTNU2Grj68u9fx2i8WKqX/sVbfv69EIoUHeOG0kIqpkgTusMFotTnPcvTXiXqrAPSkpCYMGDUJwcDBat26NTZs2qV72559/HnPnzvX8XhIREZFP6d27N8aNG4dDhw7ZH5NCdZJC37NnT6/umy+S7MQ1x9eUen777zuSsDspHVGhRtzZrX457CEREdkZQ4H8FPkgi9kn5riXKnCPi4tTc9yFpMhpa7XWqFEDJ0+e9OweEhERkc955pln1Kh7v3790K1bN3Xp37+/KlT30ksveXv3fM7e1L04nX0aoYZQtKvWzu2g/6MVe9Ttu7s3QFSorVASERGVE50OCI5UN41mU/5jfrIcnKMBAwZg9OjRGD9+PC677DI8++yzauRdUuYbNGjg+b0kIiIinxIdHY0vv/wSO3fuVMvBSRAvy8E5znmn8/49Yasm36F6BwQbgt167Zr9Z7DxUCqCjXoMvbRROe0hERE5CYkGslMdAnfvpsqXKnB/+umn1TIvKSkp6NOnD2666SaMHTsWMTExqpIsERERBTZZSebdd99FnTp1cOedd6rHbrzxRlxyySV47LHHEBTEUeEil4Gr5X6a/Mf5c9tv7VxXFaYjIqKKm+duNOfmP+CHqfJyMB45cqQK2sUTTzyB1atXY/HixejQoYOn95GIiIh8jMxl/+OPP9CiRQv7YyNGjMCKFSswadIkr+6brzFbzFh3Yp263b1Wd7dee+JsNlbsPKWyNh+4jNkMREQVHbgHmXKdR9z9bR33tWvX4uuvv1bpcRLIN2nSBEOGDFGV5YmIiCiwLVmyRC0H53jc79u3r6p3M3z4cLz44ote3T9f8t+Z/5CWl4aooCi0jHPvPGnx1uPqulP9WDSIjyinPSQiokJCtDnueU5z3M1emuNeqhH3WbNmYdiwYaqq/M0334xrr71Wrel+6623YsGCBZ7fSyIiIvIpUjAtJyenyMfz8vJPckhZe2Ktuu5UsxMMeveWcVu49YS6HpBQq1z2jYiILpAqb8rxiVT5Uo24T5s2Da+99ppaEs5R586d8fbbb+Oaa67x1P4RERGRD7rqqqtU9XipcdOqVSv12I4dO1QK/ZVXXunt3fMpB88dVNfujrYnpWVj7QHbKj7929Qsl30jIqILBe5Ztvs6k/+t456eno6EhIRCj0vgri0TR0RERIFrzJgxaNasmZom16lTJ3W55557VOr8Cy+84O3d8ynH0o+p61oR7o2a/7rtJOT8sH29GNSJCSunvSMiomKryssc9zzbiLvVH0fc77rrLrz55puYPHmyWg5GSLrcBx98oNLliYiIKHAlJycjNjZWZdmdO3cOBw4cULVvZEk4qSwfHh7u7V30KcczbPPUa0fWdut1ixJtr7s6gaPtREQVTlvHPS+7wDruPh649+7dGzopaZo/f+3YsWO4/PLLUa9ePej1ehw6dEgF7yxOR0REFJgyMjLw1FNPqWry8+fPV4Vpf//9dzXCXrNmTRW4S8G62bNnq/tkO2eyB+4Rrgfup9NzsHrfaXV7QBvObyci8lpV+TxbqrwVpvMj7raw2DcD91GjRpXvnhAREZFPe//993H06FFVpLZx48bIzMxUc9rbtm2LL7/8Uq0yI3Pe33rrLXUh4HT2aeSYc6CDDjUjXO/M+G37Sci5YZs60agXxwwGIiKvzXG3B+75qfJWHw/cb7jhhkKPZWVl4eDBg7BYLKhfvz4iI23pBK6SEfpx48apJWVCQ0NVpXq5lGTdunUYPXq06uEvOL8+LS3N6bENGzYgIoJLpxAREXmCHK8nTJig5rOLv//+W43C33333SpoF5IqL8vBkc3xdNtoe7Wwaggy2NrIrWryHG0nIvLuiHtupqoMpwXuFktpK8V5YY67LPMic9y/+uormM1mlQZmNBrVsnASiMsyca6QOfJbt27FzJkzVeq9BOS1a9dG//79i3z+zp078dhjj6lUPEcnT55UQfvSpUtVB4CGc+yIiIg859SpU6qjXvPPP//AYDCgR48e9seqVq2qOvbJ5lhGfmG6SNcD8NTMXPyzJ1ndHsBq8kRE3h1xz00HQgGrzrvF6UrVVzBp0iQsX74cH3/8sSpGs2bNGnz44YdqNPydd95xaRuSXjd37lw1L65169Zq6Zj7779fzYsrytdff43BgwcjPj6+0M/27t2LatWqqfn2cq1dtDn5REREVHY1atTA4cOH1W3ptJe57u3atUOVKlXsz9m4cSNq1eIoccERd3fmt0uavMliRYuaUWhczb1sRiIi8nTgnuk0x92vloOTgjQyp+2yyy5T6fFSWb5nz55qbfdffvnFpW3IWq8mkwkdOnSwPyapd5s3b1ap9wX9+eefqsPg3nvvLfSzPXv2oFGjRqX5KEREROSi66+/HuPHj1fT1SRl/vjx47jjjjucju1Sab64zLnKqDQj7gvzq8kzTZ6IyBdS5dP9dzk46WUvauQ7Li5OzXVzNd1OlpJxTKuX9DqZ956amqq25eijjz5S1/PmzStyxF3S8mSO3f79+1Vl++eff97tYF7S/uVi/5ywwGq1dSI4Pk4XprUX280z2J6exzb1PLapZ+isFlgLHI98xcMPP4z09HR1jJWstkcffRQDBw5UP5POdakof8UVV6jnUelG3I+fzcKfu21p8te0ZeBOROT1EfccCdzDVHQIWGzF6fwlcO/evbu9YqxWkE7WcZVe9m7durm0DQm0C86F1+7n5ua6tT/79u3D2bNn8eSTT6r9mTZtmhqZX7BggVsF87Zv326/LXP2kpPzcDYzTwXviYmZPnkS5esSExO9vQsBhe3peWxTz2Oblp4ce2qdOoXjiYk+ecyRejZjxoxRl4IGDRqkat20atXKK/vm6yPurq7hPmfNYTWa061RHJpWZ5o8EZHPrOMudBZY/GnEXXra77nnHpUqr41qy0i3zDGXee+ukAJzBQN07b5jgTlXTJ8+XRXM0yrIS4eCpO7LPHw5iXCVnGw4diYkZh1CcFaeup2Q0MStfars5IRTTt4TEhLUiSiVDdvT89imnsc29Qxd5kpUTUhQx0THDmVf17x5c2/vgm+PuLsQuOeZLZiz5pC6fVf3BuW+b0RE5MKIu+NjOrNaqtNvAveoqCg1z13mnctotwThEsBfeuml0Ov1Lhe4SUlJUfPcpQdfS5+XoF3mzLtDgm3HgFv2p27duqravDvkRNPxZFMHPXQ62+fhSWjpFGxTKhu2p+exTT2PbVpGctxhGwaEtNw0pOXZlqqtFXHhtPcl207iVFoOqkaG4KrWrCZPRORVhiDAGIYgk+NKKWb/Kk4n89l2796NPn364IEHHrCPvrsatAuZhy4B+6ZNm+yPrV+/Xo3UuLMdmW/ft29fp7nvUrFe1pdv3LixG5+KiIiIyHOOpdvS5GNCYhAedOElar9cfUBd3961HoKNXlgkmIiInIVEwbEbXacz+9dycBJYS2p6WYSFhan5cK+88gq2bNmi1mCfMWOG6gTQRt+zsx3mExRDiuNIIZz3338f//77r+pQePbZZ1GzZk2VLk9ERETkDcczjrs82r77ZBpW7zsDvU4C9/oVsHdERHRBIZGQBcaNuvzwXWfxr6ryEigPHToUvXr1Qp06dQoVmRs5cqRL25HiNhK4DxkyRBWRGzVqFPr166d+1qNHD7zxxhu48cYbL7idZ555Ro3eP/XUU6rarRTP+/TTT5lmSERERF4fcXdlfvvsf21z2/u0rIHaMVK9mIiIfGZJOJ0BJqsZ0Jm8lipfqsB9586daN26NZKSktSl4Ai4O6PusnyMXIp6j6JIIF8wmJc57c8995y6EBEREfnTiHtGjgnfrz+ibt/NonRERL4jxFZ7zZhf98w24g7fD9x/+ukn/Pbbb2q9dZnfrq3dSkRERESlG3H/adMxpOWY0DA+HD2aVq2gvSMiIpdH3FXCvG2Ou88Xp5s5c6ZaBk7mncsa7JLmLuu2ExEREVHxI+61I0oO3H/YaBttv7NbA+hlkjsREfnWWu7Q/m/2XnE6l0fcv/76a4wfP14VlBNLlixRwfsTTzzhVno8ERERUWUaca8VWXyqfGauCZsOp6rbXAKOiMhX13LX2e5LVXlfH3E/fPgwLr74Yvv93r17q5H3gnPciYiIiCq7HHMOTmefvuCI+4aDqcgzW1G7SijqxbEoHRGRb6bK2+h0Flh8fTk4k8mkKrdr5LYUhcvNzS2vfSMiIqIAl5OTo6bide7cWa0oI0vDXsiRI0fQoUMHtQysrzqebkuTDzOGoUpIlWKft3qfLbjv3jieGYxERL464m61en3EvVRV5YmIiIg8YfLkydi6dauqpXPs2DGMHj0atWvXRv/+/Yt9jSwlm5mZCV92LCO/MF1E7RIDcsfAnYiIfD9wt/hDVflFixap9dY1FotFVZmPi4tzep42D56IiIioOBJ8z507F9OmTVPLzMpl9+7dmD17drGB+88//4yMjAwEQkV5md+++YhtfjsDdyIiXw7cLedH3H29OJ30fhdMX4uPj8esWbOcHpNeZQbuREREdCE7duxQU/Ek7V3TqVMnTJ06VQ0O6PXOM/pSUlLw5ptvqvMRX1+S1pXAnfPbiYj8ZI671QKpT6fzh1T5ZcuWle+eEBERUaVy6tQpxMbGIjg42P5Y1apV1bz31NTUQhl9EydOxA033IBmzZqV6X3NZnOZXu+4jeK2pQXuNcNrFvucf/aeUtddG8WpjopAd6E2o8LYZu5he7mPbXYBQREwSNBsMUPdgAVms8XjxxJXcI47EREReYWsTuMYtAvtfsHit//88w/Wr1+P+fPnl/l9ExMTy7yNC21r98nd6jrnVA42bdpU5HOWJeZXnTemF/ucQOTJ9q8s2GbuYXu5j21WtPCUY2gpFd1NeYDBoFLlT585AyCmwtuMgTsRERF5RVGr02j3Q0ND7Y9lZ2fj5ZdfxtixY50eL62EhAQY5ASsjKMkctJW3LbS9qep64tbX4x21doVOb9977zf1e1berZH/bhwBLoLtRkVxjZzD9vLfWyzC0gOB/4GgtUcd1vgHh0TC8Dq0WOJKxi4ExERkVfUqFFDzVt3XHJW0uclOI+OjrY/b8uWLTh8+DAeffRRp9c/8MADqq7Oq6++6tb7yomWp05Qi9qWyWJCUmaSul03um6R77X5SIp9fnvDqpGVaik4T7Z/ZcE2cw/by31ss2KExairIItJreYuc9y1Ke4V3WYM3ImIiMgrWrZsqQJ2SROXddyFpMPLKIZjYbq2bdtiyZIlTq/t168fXn/9dVx66aXwNRK0m61mBOmDUDWsapHP4frtRET+uBycxfeL0xERERF5UlhYmBoxl3XZJ0yYgKSkJFUx/o033rCPvkdFRakR+AYNGhQ5Yi8r3Pgae2G6iJrQ65wr42u4fjsRkR8IjpBo3SFwN8GiloOr+A7Xoo8mRERERBVgzJgxav32IUOGYNy4cRg1apQaTRc9evTAwoUL4W+OZxxX17Ujil4Kjuu3ExH5CZ1OjboH5QfuOqkq7+vruBMRERGVx6j7pEmT1KWgnTt3Fvu6kn7mbedyz6nr2FApYFQY128nIvIjIVEIQpbtts4Mi5dS5TniTkRERORB6bnp6joiSFIsC+P8diIiPxIS5ZAqb0b+Mu4VjoE7ERERkQel59kC96hgW1GjgtbslzWAgW6N4yp0v4iIqBSCI2HUBtklcOeIOxEREVHgBO5FjbjnmMzYlD+/vUtDBu5ERD4vJPL8HHedJb84XcVj4E5ERETkQRm5Geo6Miiy0M8Sj5xFrsmCqpHBaFS16FR6IiLyIYYQGOGQKs8RdyIiIqLAHnFfc8CWJt+5QRzntxMR+QNjyPlUeZg54k5EREQU6HPc1+bPb+/SiGnyRER+wRjKEXciIiKiyjLiLqM06w6mqNtdOb+diMg/GIMd5rhzxJ2IiIgooOe47zyZhrRsEyKCDWhZq+iK80RE5IMj7tb82zoLl4MjIiIiCqgR92DnEfe1+fPbOzaIhdHAUzAiIr8pTmdlqjwRERFRwLBarcjIs424RwU5j6qvPWBLk+cycEREflacDvmYKk9ERETk/7JMWTBbzYXmuEtAby9Mx8CdiMh/GEOd57hzxJ2IiIjIv2mj7XqdHmHGMPvjR1KycOJcNoIMOrSvF+PFPSQiIrcYg8+nysMCLw24M3AnIiIiKo+K8o7rtK/JH21vU6cKwoINXts/IiIqxYi7dltngpmp8kRERET+LT03vcj57esO2gJ3LgNHRORnDOdH3HVSVZ6p8kRERESBWVFeG3HvzMCdiMhv57iDxemIiIiIAmeOu+Ma7qfTc7D3lO3xzg1ivbZvRERU9qryHHEnIiIiCqA57pp1B23LwF1UIxKxEcFe2zciIipl4M4RdyIiIqLAm+PuOOK+5Uiquu7E0XYiIv9jDIVRi9thgdnind1g4E5ERETk4RH3yODzgfuhM1nqunHV848REZGfMAQjCOdH3JkqT0RERBSAc9yPpGSq67qx59d1JyIifxpxt9puM1WeiIiIKDDnuB/OH3GvFxfutf0iIqJSMspycPm3OeJOREREFHhz3LNyzUhOz1G368UycCci8ssRd2jruHPEnYiIiCjg5rhrafJRIUZEh9kXFCIiIn9hDHFYx93CEXciIiKiQJvjfiTFliZfNy4cOp3Oq/tGRESlYJDAXbvjvRF3dv0SERH5glUfqZMDCqw57ofzR9zrsTAdEZH/p8rrvTfHnYE7ERGRLzDZ5kHLKrEUOHPcD5/RKspzfjsRkV8yBjuMuANmi9kru8FUeSIiIqJym+OuVZTniDsRkd8vByd0Fli9MOrOwJ2IiIjIA+REruAc9/Op8hxxJyLyS3ojjI41SqSyvBey5Rm4ExEREXlAlikLFqvFeY57/hrudTniTkTkn3Q6GPXna9CoJeEYuBMRERH5d5q8QWdAmDEM57LzcDYrTz3GEXciIv9lMIZAb18SrhIG7jk5OXj++efRuXNn9OjRAzNmzLjga9atW4c+ffoUenz+/Pno27cv2rVrh0ceeQRnzpwpp70mIiIiKrmivCz9diR/tD0uIhgRIawHTETkt4whMNqDdQsslW2O++TJk7F161bMnDkTY8eOxQcffIDFixcX+/ydO3fiscceK1QMYMuWLXjhhRcwcuRIfPPNNzh37hzGjBlTAZ+AiIiIyCYjt+j57XW5FBwRkf8H7tBG3E2Va8Q9MzMTc+fOVQF369atceWVV+L+++/H7Nmzi3z+119/jcGDByM+Pr7Qz2bNmoUBAwZg0KBBaNGiheoQ+OOPP3D48OEK+CREREREDiPuwRHOFeWZJk9EFDCV5XU6GXGvRIH7jh07YDKZ0KFDB/tjnTp1wubNm2Gx2Aq7OPrzzz8xadIk3HvvvYV+Jq+RdHtNrVq1ULt2bfU4ERERUYUuBVdwDXcWpiMi8m+GkPNruas57hUfuXttwtWpU6cQGxuL4OBg+2NVq1ZV895TU1MRFxfn9PyPPvpIXc+bN6/QtpKSklC9enWnx2Rk/sSJE27tk9lsVheNFbJGn60TwfFxujCtvdhunsH29Dy2qeexTctGJ8cbdczRwVrgeET+IT3XOXA/Yk+V54g7EVHgpMqbvTLi7rXAPSsryyloF9r93Nxct7aVnZ1d5Lbc3c727dvttw0GA5KT83A2M08F74mJmTyJKoXExERv70JAYXt6HtvU89im7pNjTo2TJ6ELCoNBb8DRxEQec/xQwTXcz6fKc8SdiMjvA3czKmfgHhISUiiw1u6HhoZ6ZFthYe4dKFu1auXUAZCYdQjB+cu4JCQ0cWtblZ2ccMrJe0JCgjohpbJhe3oe29Tz2KZloztXQ50YyIh7XEKCOo45diiTf81xl0K6Wqp8vTiOuBMR+TVjCIJM+XPcYYa5MgXuNWrUQEpKiprnbjQa7enzErRHR0e7va3k5GSnx+R+tWrV3NqOnGg6nmzqoIdOZysDwJPQ0inYplQ2bE/PY5t6Htu0lOR4o445OmlEtqGfp8qnZOYhI9c2PFMnhiPuRER+zeCYKl/JloNr2bKlCtg3bdpkf2z9+vVqpEavd2+3ZO12ea3m+PHj6iKPExEREVX0Ou7a/PbqUSEIDWInDBGR34+4W72bKu+1wF3S2GX5tldeeUWtw7506VLMmDED99xzj330Xeauu+L222/HTz/9pJaXk2r1zz77LK644grUq1evnD8FERERkfMc96jgKBw+kz+/nWnyREQBtRwcKlvgLsaMGaPWcB8yZAjGjRuHUaNGoV+/fupnPXr0wMKFC13ajiwp9+qrr+LDDz9UQXyVKlXwxhtvlPPeExERERU94n7YXlGeafJERH7PGGxPlddVtuXgtFF3WZtdLgXt3LmzyNfceOON6uLq40REREQVPcfdXpiOS8EREfk/Y6hDqrzMca9kI+5EREREgTnHXUuV54g7EZHfMwSfT5WHWStTV6EYuBMRERF5eo67PVWeI+5ERAExxx1wSJWv+F1g4E5ERETkwRH3cEP4+RF3Bu5ERAFYnM5a4bvAwJ2IiIiojKxWq33EPScvGLkmC/Q6oFZMqLd3jYiIysoYjKDKXFWeiIiIKBBkmbJgsVrU7ZR0nbquVSUMQQaeahERBVKqPBi4ExEREfl3mrxBZ0DSWdsZHZeCIyIKvOJ0OlaVJyIiIvLvpeCkonxyeq66XSOaafJERIEzxx02nONORERE5N8j7rKGe0qmLXCPiwj28l4REZFHGEMQZF8EjqnyPivEqMes1Qe9vRtERETk62u4B0fgTEaeuh0bzsCdiCggGEMKVJWv+F1g4O4iqQ5LREREVOIa7kFRSMnQRtyDvLxXRETksRF3LW5nqjwRERGR/89xP5OfKh/LVHkiosBgCIFRS5VncToiIiKiAJjjro24M1WeiCgwGEO5jjsRERFRIM1x14rTccSdiCiQ5rjDhoE7ERERkX/KyLXNcY80SlV5W3E6VpUnIgqgwB3567irqvKc405ERETktyPuRl04zPlDMTHhLE5HRBRoxenAOe5ERERE/h2466wh6joyxIgQo8HLe0VERB4rTucwx93MwJ2IiIgqk5ycHDz//PPo3LkzevTogRkzZhT73BUrVuD6669Hhw4dcO211+L333+HrwXuFnOouo7lUnBERIGZKq8zwQuZ8gzciYiIyHsmT56MrVu3YubMmRg7diw++OADLF68uNDzduzYgZEjR+Kmm27Cjz/+iMGDB+Oxxx5Tj/vSHHeL2TbizoryRESBWZxOrzN5ZY67scLfkYiIiAhAZmYm5s6di2nTpqF169bqsnv3bsyePRv9+/d3eu78+fPRvXt33HPPPep+gwYNsGzZMixatAgtWrSAr4y45+XZAnZWlCciCiAGmeNudQjcK34XGLgTERGRV8houclkUqnvmk6dOmHq1KmwWCzQ688nBt5www3Iy7NVa3eUlpYGX6AF7jm5kiJv5og7EVEgMRhh1NmOSXowcCciIqJK5NSpU4iNjUVw8Pkgt2rVqmree2pqKuLi4uyPN2nSxOm1MjK/atUqlTLvLrPZXMY9P78N7To91xa4Z2bJqZUZMeFGj7xPICnYZnRhbDP3sL3cxzZznVFnC511ettycJ48lrj0/mV+NyIiIqJSyMrKcgrahXY/Nze32NedOXMGo0aNQseOHdGnTx+33zcxMbEUe1v8tqxWKzLybHPcjxyXDIBgZJ89jU2bNnnsfQKJJ9u/smCbuYft5T622YXp88vD6fJH3Cu6zRi4ExERkVeEhIQUCtC1+6GhtursBSUnJ2Po0KEqWJ4yZYpTOr2rEhISYDAYyjxKIidtsq1sSzas22x5k0Gh1QCcRasmDdC+fb0yvUegcWyzsrZ/ZcE2cw/by31sM9f9u9J2XNLlr+PuyWOJKxi4ExERkVfUqFEDKSkpap670Wi0p89L0B4dHV3o+SdPnrQXp/viiy+cUundISdanjpBle1k5WXZbusMOJupU7erRoXwJLgC2r+yYJu5h+3lPrbZhQUZpIaJFcgvTlfRbcbl4IiIiMgrWrZsqQJ2x5Ty9evXq1GMgiPpUoH+/vvvV4/PmjVLBf2+QkuTjwiKQGqGrYBeLIvTEREFFKM+2GHEncvBERERUSURFhaGQYMG4ZVXXsGECROQlJSEGTNm4I033rCPvkdFRakR+E8++QSHDh3Cl19+af+ZkJ/JcyraisMr8GfSn1ibuBbJ2cnqscigSJzMtKX6x3E5OCKigGLUy4h7DqCT4nReeP+Kf0siIiIimzFjxqjAfciQIYiMjFRF5/r166d+1qNHDxXE33jjjfj111+RnZ2NW265xen1skzcxIkTK3Sf03LT8MQfT8AqKZNJ5x+PDY3Frqz8EXcG7kREASXIECJriMCaP8e9ojFwJyIi8rYNs1CZR90nTZqkLgXt3LnTfnvx4sXwFVHBURjdZTT+2fMP4uPjodfpodPp0LNWf6z+2zb6HhMmIzNERBQojEZbh6wVTJUnIiKqnEw53t4DctPg5oPRIqsF2rdvby9OtCdJloL7E1XCgmA0sIwQEVEgMcqIu0UmuXtnxJ1HFSIiIiIPOJNfmI7z24mIAo/RaFsOzsLAnYiIiMh/ncmwFaaLDWeaPBFRoAnKrypv1VkZuBMRERH5qxRWlCciCvgRd6vOCrNVcuYrFgN3IiIiIg+OuMdwDXciooBjNEpVeRuz1Vzh78/AnYiIiMgDUvIDd464ExEFniBjmFcDd1aVJyIiIvKAM/mp8rEccacimM1m5OXluf0akZ2dbV+9gMqnvYKCgtjGVKKgIAbuRERERAE04s7idHSe1WrFiRMnkJqaWqrXGo1GHDx4EDqdrlz2L5CUtb1iYmJQs2ZNtjUVyWiwzXEXZqsJFY2BOxEREZEHnMm0jaZyxJ0caUF79erVER4e7lZQKIFoVlYWwsLCGEyWY3vJ6zIzM5GUlKTu16pVqxz3kvyVLigUBqsVZp2OI+5ERERE/opz3Kmo1G0taI+Pj3f79RJQWiwWhIaGMnAv5/aSYF9I8C7fF9PmqRBjCIxa4A4WpyMiIiLy68A9loE75dPmtMtIO/k+7XtytxYBVRLGUGgToVhVnoiIiMgP5ZosSMuxzXmMY6o8FcDRcv/A74lKZAhWI+7emuPOwJ2IiIiojFLzK8rrdUB0GIvTEREFHGMojLa4HRamyvuuYIMes1Yf9PZuEBFRIFn1EbBmurf3gjy4FFxMeDAMEr0T+bnevXujefPm9kvr1q3Rv39/fP755x5/r/fffx933323x55HVC6MIQiCNuJuqfi3r/B39PM0OCIiIo8x5diuDSHe3hMqozPa/PZwjrZT4Hj++edx9dVXq9smkwmrV6/GCy+8oJZNGzRokMfeZ9iwYS4F5K4+j6g8i9MJCyq+DgJH3ImIiIjKKCXDdhLHivIUSKKiolCtWjV1kSXSbrjhBlx88cVYsmSJR98nIiJCdQZ46nlE5Re4w2sj7gzciYiIiDyUKs813MnldcNzTS5ezG48t/iLvKcnGI1GBAUFqZHv1157DX369MEVV1yB9PR0HD9+HA899BDatWunUu0/+OADtSSe5s8//1TBv/z8uuuuw6pVqwqlwEtF9xdffBHdunVDhw4d1PZOnjxZ6Hli48aNuP3229G+fXv1fl9//bX9Z8899xzeeOMNPP744+r9evbsiR9//NEjbUCVlCEExvxUeW/McWeqPBEREVEZcQ13cpUE0DdPXYX1B1Mq9H07N4jF3IcuLnXldAmoly9fjpUrV2LChAmYO3cu5s2bh+nTpyM4OFiNhg8ZMgQtWrTADz/8gFOnTuHll19W7/fII49g9+7dePjhh9VtSb+XUfsRI0YUGr2fPXs21q5dixkzZqj12F955RX1fu+9957T8/bu3ave795778X48eOxefNmjBs3DpGRkRg4cKB9W4899hieeuopfPHFFxg7dqzqaJBMAqJSLQenpcpbK1ngnpOTo/7A5A9W/jBl3opcirJ9+3b1x7Zr1y40bdpUva5Nmzb2n3fu3BlpaWlOr9mwYYP6T4SIiIioQua4M3AnF/hL+UI595ZRdZGdna3O1yVYltFyCdxlpL1jx47q5zJ6fuzYMfW4Xq9H48aNMXr0aIwZM0YF69999516rgTr4sEHH0RmZibOnTvn9J5HjhxBSEgI6tSpo9LiJ06ciNTU1EL79u2336JVq1Z48skn1X15PwnmZ86caQ/cpajeAw88oG5LAC/Bu3QgaPtMVNpUeQtMlStwnzx5MrZu3ar+wOQPXf64a9eurSpWOpI/avnjvvbaa9Uf75w5czB8+HD89ttvCA8PV+kzErQvXbpU/YeikZ8RERERlbeU/FR5ruFOFyIj0DLynZVndi2lPjML4eFhZV5jPCzI4PY2Hn30UfTr10/dlmBa5robDAb7zyW41kjQLAF2p06d7I9ZLBYV8KekpGD//v2qMr0jSWMv6LbbbsOCBQvQo0cPdO3aFX379sWNN95Y6Hnyfm3btnV6TFLrJU7QNGzY0H5bRuK1IntEpQ7cK2OqvATj0iM3bdo09UcsF+kBk5SWgoH7woUL1X8Wzz77rPoPR6pZyhyZxYsXqz9k+cOV/0jq1avnrY9DRERElVhKpq04HUfcyRVyPhsefOHTcDUv3WRQzy1r4F4a8fHxaNCgQbE/l/NzjQTEMur90UcfFXqepKbL3HhXNGvWDMuWLcOKFSvU5e2338b8+fNVjFDce2tkPr10FmhkLn5BnprrT5V0OThrJVzHfceOHeoPXHrGNNJDJ/NTHP/ghDwmP9P+w5JrSXHZtGmTur9nzx40atSofHc4eVf5bp+IiIgCYI47l4OjyknOxSWDNi4uTgX7cpG09ylTpqhzd7kv5/+OBg8erEbXHUkBOZlLP2DAAEyaNAmfffYZ1q9fj9OnTxd6P4kRHElsUFJHA1GZi9PZ57hXolR5KVgRGxurilloqlatqua9S5qN/NE7PlfmtRfsAZQReiEj7llZWarKpKThtGzZUq076W4wL710jpUvrbDAapULYLWY1W3Hn1PxtHZie3kG29Pz2KaexzZ1n06Wk1EXdaCxXaCDtcDxiPxpHXeOuFPlJKntkjr/zDPP4IknnlDTWF966SVccsklKr1eqr9LUbr/+7//UxXgJXNWzuWlTtW+ffvs25HXTZ06VcUJdevWxS+//IKaNWuq+47uuOMONWddRuSlUr0E7V999ZXK0CUqvxF3W+Cu88I67l4L3CXQdgzahXY/NzfXpedqz5M/9rNnz6riFDJ/RdLvpcKk9OBp81lcIQXwNPIfTHJyHs5m5iE0yIB4UzZSzpxBYmIaT6bckJiY6O1dCChsT89jm3oe29Q1cpypcfIkdEFhMIZEwJxxBlZjCAx6A44mJvJY469z3JkqT5X4/7SPP/5YFbO79dZbVa0pmf4qNaxE/fr11XJu//vf/1SwLSnxEqDXqFHDaTt33nknTpw4oToA5PxeilHLdh3n1gupi/XJJ5+omllSgV7uy3tJ4TyicmEMtQfPlSpwl3kpBQN07b5jgbmSnqs9T5ahkCUqtAryb731llqrUdJspKCdq6QypWMHQWLWIQRn5SHEqEdISgri4+KQkHC+yAUVT0445eQ9ISGh0H+05D62p+exTT2Pbeo+3bkaqgcfhlAgwmC7DR3iEhLUcc6xQ5l8V3aerLNt62jhHHcKFDLPvCRffvllocek3tSnn35a7Gt69eqlLgWNGjXKflsq0kvQLpeSnicuvvhitfScczG/THVbCloXtHPnzhI/E1GJDMH2VHk9nGPTgA7cpXdNKkzKPHetWIWkxEswHh0dXei5ycnJTo/J/erVq6vbEmw7BtwS6EtqjVSbd4ecaDqebOqgh06Xf5F/Oj1PRt1UsE2pbNiensc29Ty2qRt0+vyL7vxtWSiKbeiXo+1GvQ5RIV5dsIeIiMqLXg9j/mKOOmtu5SlOJ/PQJWDXCswJKTwhIzXS0+aoXbt22Lhxo70KpFzLGu3yuNyWZSLmzZtnf770tB08eFBVtiQiIiLytL/3JOOXXRmYsfIAPl95wD7a7o3K30REVDEM+eFzpUqVDwsLw6BBg/DKK69gwoQJSEpKUvNT3njjDfvouywdISPwMj9G5sOMHz9eVZ/8+uuv1bx3qTYpB8grrrhCzZmRghhS1O69995TRSwkXZ6IiIjIk85l5+Hez9epmoLYfL5KdrXIwstTERFR4DDqDJUvcBdjxoxRgfuQIUNUETmZt9KvXz97ZUoJ4mWddvmZFJ8YO3Ysvv32WzRv3lzNn5GiF0LmwMjo/VNPPYX09HR0795d/ZxphkRE5LM2zPL2HlApRYcG4Zl+F2HVf4dUpWsZRNDrdLilc11v7xoREZUjg5rSJoF7JVoOTht1l/UZ5XKh4hFt27Z1Kj7hSOa0P/fcc+pCRETkF0w53t4DKoPhlzdGt+hzaN++HQcKiIgq2Yg7dJVojjsRERERERGRvzDqjF4bcWfgTkRERERERHQBBvscdwbuRERERERERD7HkD/iDh0DdyIiIiIiIiKfE6TXappUsuJ0RERERETke3r37o2jR4/a78vqCdHR0ejUqRNefvll1KpVq9zeWys4PXHiRLXk85o1a/Dll1+W2/sRucqgC1LXOp0ZFY0j7kREREREVMjzzz+Pv//+W13++OMPvPPOO9i9ezdGjx7t7V0j8gqjwRa4AxUfuHPEnYiIiIiIComKikK1atXs92vUqIFHH30UzzzzDNLS0tTPiSpdVXmr3OKIu08LNugx/a996kJEREREVCpWK5Cb4eIl043nlnCR9/SA4OBgda3X63Hu3DkVxHfs2BE9evTAa6+9huzsbPtzt2zZgttvvx3t2rXDVVddhQULFth/NnfuXPTv3x9t2rRBt27dMG7cOJjNFR8MEbnDaLD9/sMLqfIccXdTjsni7V0gIiIiIn8lAfSMq4DD/17wqToAEZ5633rdgWGLZXJuqTdx6NAhfPrpp7jssssQERGBUaNGIS8vD3PmzEFOTg5ef/11vPrqq5gwYQJOnz6NYcOG4brrrsP48eOxadMmlWLfpEkTFfDLc9988020atUKW7duVR0AF198Mfr16+epT0zkcUa9LXC3MnAnIiIiIgp0pQ+eK9LYsWPVKLowmUwICgpCnz591Nx3CeKXLl2qCsdpKfPy3EGDBmHMmDFqdL1KlSp48cUX1eh848aNcfbsWTUiHx4eroJ5LUivW7cu/u///k/Nn2fgTv4w4m5FxQ/mMnAnIiIiIqooMuItI995mRd8qtVqRWZmFsLDw1RV9zIJCnd7tF3ms0sgnZGRoaq7S5X5p556CrGxsWoE3WKx4PLLL3d6jTx28OBB7N+/X42mS9CuGTp0qP12aGgopkyZgj179mDnzp3qNZJuT+QfqfKWin/vCn9HIiIiIqLKTALo4AjX0upN8lz3g25PiI+PR4MGDdTt9957DzfffDNGjBiBb775Rs1Hl5H277//vtDrpIid0Vh8mPHXX3/hkUceUaPzknYvt2WOO5GvCzKEqGuLFwJ3FqcjIiIiIqILFqWTeen//fcfPv/8czRq1EhVlpdMAAnu5SJp8JMnT0Zubi4aNmyoRtIla0Dz+OOP47PPPlOF6W666SY1H/6WW25R894l9d7xuUS+KMgY4rVUeQbuF3J8C3Bim5TOBJJ3eXtviIjIX62dcf72hlne3BMiolJp27atGnX/6KOPEBkZqUbLn376aVU9ftu2bWpue2ZmJqKjo3HttdciNTVVBfIHDhzAvHnz8Pvvv+PSSy9FTEwMNm7cqAJ7mdf+3HPP4dSpUyrgJ/JlBocR94ruaGLgfiFWqRiYXzXQworyRERUSqacom8TEfmRJ554QhWpk4rwEpRLYbl7771XzV+XUfi3335bPU+C908++QTr1q3DwIEDMW3aNPzvf/9Dy5YtMXLkSJWGf9ttt6nXhYSEqGXjZDSfyJcFG0PVtVVnhdlSsYE757gTEREREZGTZcuWFfl4XFycqiSv0QL1onTo0EGlxRdUvXp1TJ8+vdjXTZw40X5blpwj8hVBQWHq2iKBewXP7OCIOxEREREREZGLc9wtMsu9gkfcGbgTERERERERXUCQ0TbiblYj7gzciYiIiIiIiHxKcLAWuEv5MwbuPi/EqMes1Qe9vRtERERERERUQYKDwtU1R9z9SK6JFeaJiIiIiIgq3Yg7UOFV5Rm4ExEREREREV1AkH3EnanyRERERERERD4nKChCXVt0OuRaZNy94jBwJyIiIiIiIroAY/6IuzCZ81CRGLgTERERERERuRG451Rw4G6s0HcjIiIiIiKf17t3bxw9erTQ4x07dsScOXPs9z/++GMcPHgQEydOrOA9JKp4xvxUeZFrYuBORERERERe9vzzz+Pqq692eiwoKMh+e/78+Xj//fdx3XXXeWHviLw74p6Xm16x712h70ZERERERH4hKioK1apVK/S4yWTCa6+9hh9++AH16tXzyr4ReYMuKAxGqxUmnQ55eZkV+t6c4+5ta2d4ew+IiKg8rfoIWDPd23vhs3JyctSoXufOndGjRw/MmFH8cXH79u245ZZb0K5dO9x0003YunVrhe4rkadYrVZk5mW6dMkyZbn83JIu8p6ekpmZiZ07d+Lbb79Fhw4dLvj8vLw8vPjii+jWrZt6/kMPPYSTJ0/af/7TTz+hf//+6m978ODB6m9dM2/ePAwYMABt27bFjTfeiLVr1zql87/55pvq/45Bgwapz7hnzx7cc8896vlXXXUVZs+e7bHPTQRDEILy/5ZMFRy4c8Td20w53t4DIiKqkP/ndV7eEd80efJkFYDPnDkTx44dw+jRo1G7dm11El8wUHjwwQdx7bXXqrm0Msd2+PDh+O233xAefj51kcjXSXB5z6J7sOnUpgp93w7VO2Bm/5nQ6cr+f1F0dDS+/vprl58vwbME3NIxFxoaildeeQUTJkzAe++9h7/++gsvvPCCulxyySX48ssv1d/277//rlLxZWR/7NixKhCXIF7+H1i8eDFq1Kihtv3LL79g+vTpql2lI3DUqFEqwJfX7du3Dy+99BIiIiJUYE9UZjodDPl9YHm5DNyJiIioEpBgfO7cuZg2bRpat26tLrt371Yn+QUD94ULFyIkJATPPvusCjzkJP/PP/9UJ/Bykk7kTzwRPFcECZglAHa0cuVKtzvLjhw5ov5+69Spg5iYGNX5lpqaqn72zTffYODAgbj99tvVffkbl3n0Z8+eVUH83XffbQ+6n376adUBMGvWLDz11FPqMZlf37x5c3Vb/j+JjY3FY489ptq4YcOG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",
|
||
"text/plain": [
|
||
"<Figure size 1200x500 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"y_pred = trainer.predict(ds_val)\n",
|
||
"probas = sp.softmax(y_pred.predictions, axis=1)\n",
|
||
"y_proba = probas[:, 1]\n",
|
||
"\n",
|
||
"y_true = df_val[\"target\"].to_numpy()\n",
|
||
"make_plot(y_true, y_proba)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "4b1d7883",
|
||
"metadata": {},
|
||
"source": [
|
||
"Il y a deux principaux problèmes :\n",
|
||
"1. **Overfitting** : en regardant les performances au cours de l'entraînement, on voit que la loss pour le train baisse mais pas celle de la validation\n",
|
||
"2. **Sur-confiance** : les masses sont aux extrêmes des valeurs de probabilités, rendant difficile le choix du seuil\n",
|
||
"\n",
|
||
"Cela s'explique parce que nous avons ré-entraîné l'ensemble du modèle (les millions de paramètres) avec un learning rate trop aggressif. \n",
|
||
"\n",
|
||
"## Amélioration de la procédure\n",
|
||
"\n",
|
||
"Pour contrer cela, nous allons implémenter plusieurs changement:\n",
|
||
"* Découper l'entraînement en deux parties :\n",
|
||
" 1. Entraînement en gelant tous les poids, sauf ceux de la couche de classification sur quelques époques\n",
|
||
" 2. Entraînement avec l'ensemble des poids sur une à deux époques, avec un learning rate faible\n",
|
||
"* Ajouter à la fonction de perte du *label smoothing*\n",
|
||
"* Adapter les scheduler de learning rate, quand c'est nécessaire\n",
|
||
"* Ajouter du *weight decay*, quand c'est nécessaire\n",
|
||
"\n",
|
||
"Commençons !\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"### Intégration du *label smoothing*\n",
|
||
"\n",
|
||
"Le *label smoothing* est une technique de régularisation introduite dans un [article](https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Szegedy_Rethinking_the_Inception_CVPR_2016_paper.pdf) améliorant l'architecture Inception. L'idée est d'adresser à la fois le surapprentissage et la sur confiance dans la prédiction.\n",
|
||
"\n",
|
||
"Concrétement on remplace le vecteur cible $y$ de $K$ classes par :\n",
|
||
"\n",
|
||
"$$\\tilde{y} = (1 - \\alpha) y + \\frac{\\alpha}{K}$$\n",
|
||
"\n",
|
||
"Avec $\\alpha \\in [0,1]$ issue de la loi uniforme. De cette manière on évite au logits de devenir trop grand.\n",
|
||
"\n",
|
||
"**Consigne** : Reprendre la classe `WeightedTrainer` pour ajouter dans la couche de [`CrossEntropyLoss`](https://docs.pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html) le label smoothin valorisé à 0.05"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"id": "fdfcf227",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"class WeightedTrainer(Trainer):\n",
|
||
" \"\"\"Custom Trainer with weighted loss and label smoothing to handle class imbalance.\"\"\"\n",
|
||
"\n",
|
||
" def compute_loss(\n",
|
||
" self,\n",
|
||
" model,\n",
|
||
" inputs,\n",
|
||
" return_outputs=False,\n",
|
||
" num_items_in_batch=None,\n",
|
||
" ):\n",
|
||
" \"\"\"Compute the weighted cross-entropy loss with label smoothing for class imbalance.\"\"\"\n",
|
||
" labels = inputs.pop(\"labels\")\n",
|
||
" outputs = model(**inputs)\n",
|
||
" logits = outputs.get(\"logits\")\n",
|
||
"\n",
|
||
" loss_fct = torch.nn.CrossEntropyLoss(\n",
|
||
" weight=class_weights.to(logits.device),\n",
|
||
" label_smoothing=0.05,\n",
|
||
" )\n",
|
||
" loss = loss_fct(logits.view(-1, self.model.config.num_labels), labels.view(-1))\n",
|
||
"\n",
|
||
" return (loss, outputs) if return_outputs else loss\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "92f61fa3",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Premier entraînement\n",
|
||
"\n",
|
||
"Nous avons besoin de réinitialiser le modèle et geler l'ensemble des couches, sauf celle de classification."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 45,
|
||
"id": "83a5631e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at distilroberta-base and are newly initialized: ['classifier.dense.bias', 'classifier.dense.weight', 'classifier.out_proj.bias', 'classifier.out_proj.weight']\n",
|
||
"You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"592130 trainable parameters, 0.72% of total model parameters\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME, num_labels=2)\n",
|
||
"\n",
|
||
"for name, param in model.named_parameters():\n",
|
||
" if not name.startswith(\"classifier\"):\n",
|
||
" param.requires_grad = False\n",
|
||
"\n",
|
||
"n_total_parameters = sum(parameters.numel() for parameters in model.parameters())\n",
|
||
"n_trainable_parameters = sum(\n",
|
||
" parameters.numel() for parameters in model.parameters() if parameters.requires_grad\n",
|
||
")\n",
|
||
"rate = n_trainable_parameters / n_total_parameters\n",
|
||
"\n",
|
||
"print(\n",
|
||
" f\"{n_trainable_parameters} trainable parameters, {100 * rate:.2f}% of total model parameters\",\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9f95be92",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Consigne** : Reprendre le paramètrage de `TrainingArguments` et lancer l'entraînement. Stocker les paramétrages, modèles et entraînement dans des variables différentes."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"id": "f682e048",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"\n",
|
||
" <div>\n",
|
||
" \n",
|
||
" <progress value='573' max='573' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
|
||
" [573/573 10:11, Epoch 3/3]\n",
|
||
" </div>\n",
|
||
" <table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: left;\">\n",
|
||
" <th>Epoch</th>\n",
|
||
" <th>Training Loss</th>\n",
|
||
" <th>Validation Loss</th>\n",
|
||
" <th>Precision</th>\n",
|
||
" <th>Recall</th>\n",
|
||
" <th>F1</th>\n",
|
||
" <th>Accuracy</th>\n",
|
||
" <th>Auprc</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.726200</td>\n",
|
||
" <td>0.686609</td>\n",
|
||
" <td>0.197817</td>\n",
|
||
" <td>0.935484</td>\n",
|
||
" <td>0.326577</td>\n",
|
||
" <td>0.607354</td>\n",
|
||
" <td>0.524190</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.675400</td>\n",
|
||
" <td>0.642353</td>\n",
|
||
" <td>0.243478</td>\n",
|
||
" <td>0.903226</td>\n",
|
||
" <td>0.383562</td>\n",
|
||
" <td>0.704531</td>\n",
|
||
" <td>0.551937</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0.651600</td>\n",
|
||
" <td>0.631686</td>\n",
|
||
" <td>0.243056</td>\n",
|
||
" <td>0.903226</td>\n",
|
||
" <td>0.383037</td>\n",
|
||
" <td>0.703874</td>\n",
|
||
" <td>0.556507</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table><p>"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n",
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TrainOutput(global_step=573, training_loss=0.6844227576130972, metrics={'train_runtime': 615.7943, 'train_samples_per_second': 29.679, 'train_steps_per_second': 0.931, 'total_flos': 1210487088918528.0, 'train_loss': 0.6844227576130972, 'epoch': 3.0})"
|
||
]
|
||
},
|
||
"execution_count": 47,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from transformers import TrainingArguments\n",
|
||
"\n",
|
||
"training_args = TrainingArguments(\n",
|
||
" output_dir=\"./results_stage_1\",\n",
|
||
" eval_strategy=\"epoch\",\n",
|
||
" save_strategy=\"epoch\",\n",
|
||
" per_device_train_batch_size=32,\n",
|
||
" per_device_eval_batch_size=32,\n",
|
||
" num_train_epochs=3,\n",
|
||
" learning_rate=1e-4,\n",
|
||
" weight_decay=0.0,\n",
|
||
" warmup_ratio=0.1,\n",
|
||
" lr_scheduler_type=\"linear\",\n",
|
||
" load_best_model_at_end=True,\n",
|
||
" metric_for_best_model=\"f1\",\n",
|
||
" greater_is_better=True,\n",
|
||
" logging_strategy=\"epoch\",\n",
|
||
" report_to=[],\n",
|
||
" save_total_limit=1,\n",
|
||
")\n",
|
||
"\n",
|
||
"trainer_stage_1 = WeightedTrainer(\n",
|
||
" model=model,\n",
|
||
" args=training_args,\n",
|
||
" train_dataset=ds_train,\n",
|
||
" eval_dataset=ds_val,\n",
|
||
" compute_metrics=compute_metrics,\n",
|
||
")\n",
|
||
"\n",
|
||
"trainer_stage_1.train()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0f56e7cc",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Consigne** : Observer les performances métriques."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 48,
|
||
"id": "74213f31",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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z559Tp/3+PHj8utf/9rkX3v+PS9YaL607aD5Hjx4sLhcLlM2mn/9HPp53377bXd6LasxY8aYNslFF10kjzzyiDm/N+/lTTvFcujQIbn77rtNuptuukn27dt3TmUA1CQCdwCV0gr9d7/7nblfvny5qdTVp59+Ktddd53MnTvXVK5ayX/88ccydepUeeedd0yAr8G91RhQCxYsMOd6/fXXZdWqVTJr1ixzXAN/vSjwm9/8xgT3GrTrcDt9DwAAAkmrVq3M/a5du9xDzo8dOyZ//etf5Q9/+INs3rxZnnvuOfPakSNH5K677pLU1FQz7FyH2T/22GOybdu2MufU+nf+/PkyY8YMef/996VJkyYybty4Cu+dlZUlt956qyQlJZkL5lp3z5s3T9566y13mo8++kgiIiLM+2mA/+KLL8q333571p9X89axY0eTr4EDB5rpA/p5LRpc/+lPf5IpU6aY4Pqee+6RHj16yN///nfzWbVMdIqBmjlzphmxoGWledZy0Ne9eS9v2imWhx9+2BzXMtL8aFsHcAqGygOolPYC6JVtqyLTClyv/GujQO+VzttbsmSJuSp/6aWXmmOaTq92f/bZZ3LhhReaY1qBamXseS69ch4dHS2TJk2S/v37m9eaNWsmb775puktsI4BABAIrOHlJ06cMD25n3zyibmAbR3XHnftfdbAW3vXda74U089JcHBwdKyZUtT53r2yKvvv/9ewsLC5Pzzzze3p59+Wvbs2VPhvTWgjYqKMu8RGhpqLiJoIPzaa6/JHXfcYdI0bNjQBMw69F17nbVu37Jli7sut0sX5dPzKA2UdS685k17xdUNN9xgRvgpDZQbN24sv/rVr8zzFi1amM+mQbqWiT6OiYkx7QT9HK+88opX76Xn8aadorTt8dVXX8m//vUvU5Zt2rQxn187FgAnIHAHUCkdKmfRYex6tT47O1uaNm3qPr53715zZdqqhK2KXytCHZJnVYjaM2/p0KGDZGZmmgaInlfn3+mVdO2B2L59uxlCqEPnAAAIJNbQ7tjYWFNHav2p08g86TGtB7WnW+tLDdotd955p7n3DMyvvfZa03N+5ZVXmuHdV111ldx8880V3lvfT3ukNWj3DHY1eNdh6EqDYg3aLRooa+/02WrevLn7sXVxQnvWLZ7tCf1M2ouuebLotDkrP7fffrsJyHUIv950KP31119f7Xt5205R2g7R1zRot3Tu3JnAHY5B4A6gUnoF32INJ9MGhA6js3g+9qSVrecQNM+Gh85js86vW+M88MAD5mq6zrfTxzpcHgCAQKMXp5X25OpjDTDffffdCul0MTvPALsquijcsmXLTO+x9hTr0HOdnmYNMa+qvrbqaWtdGc96v3ydfTY8LwJUdj7PPOkFAg3IdR2cyuhrK1euNFPpVqxYYdL95z//Mb3nVb2Xt+2UyvJ3pjIB/IU57gAq9c0337gf61AxnRenV6I96RVubVxs2LDBfUx75bW3wPMqti4447nYTkpKihkmr0Pjhg4daub0DRs2zAzd0+GD59JQAADAiTRI115vrTu1jtQ52EFBQfKTn/zE3HQY/LRp08wCrjrEW4N7z/pQh5HrdnKeNIjVulSHfuuFbx0Wrr3MnvWu0vfbunWrnDp1yn1Mh4UnJCRUqNv9QfOnowy0198qD21b/OUvfzGv//nPfzb51wXjdJi8rs6v6+9Ux9t2imrbtq0ZDWgtHli+LQT4G4E7gErp3HNdKGf16tWmktSV5MvTYXQacOucuTVr1phhbjo3XgPz3r17u9Pp6xs3bjQ9Ajos3nM+nTYctHGic8sef/xxM2zPc9V5AADqGg3KtT7LyMgwdZzWqbrnudZzSi9U60gzXR1dL2hrUKpz2/Py8iQ+Pt4MA8/JyTGBvAbiukK89jZ71q1Ke401jS6+prvCaDqdA66Bvyc9n9at2lOtQ8R1fr0uOqtr1ujFA3/T+e564cLKn/aua5npvHeVnp5uLvJrAK7loQvp6VSC6njbTrH+TbRnX9fl0XRaRjoNAXAKhsoDqNSgQYPMKrbaKNCK/d577zWL2JSnC9noSq0PPfSQaRT06tXLXBkPDw93p9Gfv++++8yV/p/97GcyYsQIc/zBBx80DRXdIkfn/OlWLZqWK9wAgLrshRdeMDcNirVXW4NMrRutRV+VBty6s4pezNZeYQ3kdTE6pcG77sCi59BeZ+05fumll8wq8551pG6rpvWv9kDrhQJdxE5XW9eF7TxpHau99RoM6/Q0zZPWxVrPO4HmTxeQ08+r+dML+9phYOVPF7bViyHaltCLG7olnG7x5g1v2ikW3QFHF/gbPny4meuu29PpxRDACYJcjEkF4EGv2OsiN3plX4esAQAAAPAvhsoDAAAAAOBgBO4AAAAAADgYQ+UBAAAAAHAwetwBAAAAAHAwAncAAAAAAByMwB0AAAAAAAcjcAcAAAAAwMEI3AEAAAAAcDACdwAAAAAAHIzAHQAAAAAAByNwBwAAAADAwQjcAQAAAAAQ5/p/X1FTh5+M/78AAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<Figure size 1200x500 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"y_pred_1 = trainer_stage_1.predict(ds_val)\n",
|
||
"probas = sp.softmax(y_pred_1.predictions, axis=1)\n",
|
||
"y_proba_1 = probas[:, 1]\n",
|
||
"\n",
|
||
"y_true_1 = df_val[\"target\"].to_numpy()\n",
|
||
"make_plot(y_true_1, y_proba_1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "46239161",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Deuxième entraînement\n",
|
||
"\n",
|
||
"Cette fois nous allons entraîner l'ensemble des paramètres."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 49,
|
||
"id": "4152543c",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"for param in model.parameters():\n",
|
||
" param.requires_grad = True"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "1cdcce91",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Consigne** : Reprendre le paramètrage de `TrainingArguments` et le modifier :\n",
|
||
"* Learning rate beaucoup plus faible\n",
|
||
"* Nombre d'époque plus réduit\n",
|
||
"* Ajouter du weight decay\n",
|
||
"* Modifier le schedule du learning rate pour 'cosine'\n",
|
||
"\n",
|
||
"Stocker les paramétrages, modèles et entraînement dans des variables différentes. Ne pas réinitialiser en revanche le modèle : nous entraînons des poids déjà modifié.\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"id": "45634c82",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"\n",
|
||
" <div>\n",
|
||
" \n",
|
||
" <progress value='573' max='573' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
|
||
" [573/573 26:06, Epoch 3/3]\n",
|
||
" </div>\n",
|
||
" <table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: left;\">\n",
|
||
" <th>Epoch</th>\n",
|
||
" <th>Training Loss</th>\n",
|
||
" <th>Validation Loss</th>\n",
|
||
" <th>Precision</th>\n",
|
||
" <th>Recall</th>\n",
|
||
" <th>F1</th>\n",
|
||
" <th>Accuracy</th>\n",
|
||
" <th>Auprc</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.620700</td>\n",
|
||
" <td>0.517966</td>\n",
|
||
" <td>0.312360</td>\n",
|
||
" <td>0.896774</td>\n",
|
||
" <td>0.463333</td>\n",
|
||
" <td>0.788575</td>\n",
|
||
" <td>0.797183</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.511400</td>\n",
|
||
" <td>0.474063</td>\n",
|
||
" <td>0.590698</td>\n",
|
||
" <td>0.819355</td>\n",
|
||
" <td>0.686486</td>\n",
|
||
" <td>0.923835</td>\n",
|
||
" <td>0.841661</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0.413100</td>\n",
|
||
" <td>0.508571</td>\n",
|
||
" <td>0.708333</td>\n",
|
||
" <td>0.767742</td>\n",
|
||
" <td>0.736842</td>\n",
|
||
" <td>0.944189</td>\n",
|
||
" <td>0.819720</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table><p>"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n",
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TrainOutput(global_step=573, training_loss=0.5150436081811396, metrics={'train_runtime': 1572.2225, 'train_samples_per_second': 11.624, 'train_steps_per_second': 0.364, 'total_flos': 1210487088918528.0, 'train_loss': 0.5150436081811396, 'epoch': 3.0})"
|
||
]
|
||
},
|
||
"execution_count": 50,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from transformers import TrainingArguments\n",
|
||
"\n",
|
||
"training_args = TrainingArguments(\n",
|
||
" output_dir=\"./results_stage_2\",\n",
|
||
" eval_strategy=\"epoch\",\n",
|
||
" save_strategy=\"epoch\",\n",
|
||
" per_device_train_batch_size=32,\n",
|
||
" per_device_eval_batch_size=32,\n",
|
||
" num_train_epochs=3,\n",
|
||
" learning_rate=1e-4,\n",
|
||
" weight_decay=0.0,\n",
|
||
" warmup_ratio=0.1,\n",
|
||
" lr_scheduler_type=\"linear\",\n",
|
||
" load_best_model_at_end=True,\n",
|
||
" metric_for_best_model=\"f1\",\n",
|
||
" greater_is_better=True,\n",
|
||
" logging_strategy=\"epoch\",\n",
|
||
" report_to=[],\n",
|
||
" save_total_limit=1,\n",
|
||
")\n",
|
||
"\n",
|
||
"trainer_stage_2 = WeightedTrainer(\n",
|
||
" model=model,\n",
|
||
" args=training_args,\n",
|
||
" train_dataset=ds_train,\n",
|
||
" eval_dataset=ds_val,\n",
|
||
" compute_metrics=compute_metrics,\n",
|
||
")\n",
|
||
"\n",
|
||
"trainer_stage_2.train()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5fcb8dd5",
|
||
"metadata": {},
|
||
"source": [
|
||
"On observe une optimisation du même ordre de grandeur que la première itération, mais dans une confiance plus modérée et plus de souplesse dans l'utilisation possible."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"id": "02f9f9d7",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/arthurdanjou/Workspace/studies/.venv/lib/python3.13/site-packages/torch/utils/data/dataloader.py:692: UserWarning: 'pin_memory' argument is set as true but not supported on MPS now, device pinned memory won't be used.\n",
|
||
" warnings.warn(warn_msg)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+YAAAHyCAYAAABmuNSDAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAwApJREFUeJzs3Qd4U1UbB/B/RidtoQPK3quUXYYIqAwRFRVRXKgoCk7ciuAAHAi4PhUVRXHiwoELEAVURBAos+xR9mihLXSPJN/znvSGtLSloWlu2vx/PHkymuSenJTe+97znvcYbDabDURERERERESkC6M+myUiIiIiIiIiwcCciIiIiIiISEcMzImIiIiIiIh0xMCciIiIiIiISEcMzImIiIiIiIh0xMCciIiIiIiISEcMzImIiIiIiIh0xMCciIiIiIiISEcMzImIiMir2Gw2VAd6fw69t09EROXHwJyIyAfdcsstaNOmTZFL+/btcdFFF2Hy5Mk4efKkW7Zz9OhRjBgxAh06dECvXr2QnZ3tlvclzzp48KD6Hfn+++/VfbmW+/J4eV9TXnPnzsW0adMc98uzrcom23/rrbdces3ixYsxbtw46EH+340ZMwaHDh3SZftEROQ68zm8hoiIqoF27dph4sSJjvv5+fnYvHkzXnvtNWzduhVffvklDAZDhbbxySefYP369Xj55ZcRHR2NoKAgN7Sc9CYncL7++mvUqVPH7e/97rvvokePHh7ZVmX6+OOPddv2v//+i7/++ku37RMRkesYmBMR+aiQkBB07ty5yGPdu3dHZmYm3nzzTWzYsOGMn7sqLS1NBVSXXXZZBVtL3iQiIkJdqtu2iIiI9MJUdiIiKkJS2sXhw4cdj/3xxx8YNmyYSknv3bs3XnjhBWRlZTl+Lmm+F198MWbMmKFGO/v06YO4uDiVhizv45wKnJSUhPHjx+PCCy9Ex44dce2116q0X2fyfHkv2aY8R27Le8n216xZg2uuuUbdvuSSS7BkyRLs2bMHI0eORKdOnVQ7fv311yLvt3r1atxxxx3qxIN8vv79+6v2WK3WImnXCxYswAMPPIAuXbqoz/H0008X+ZwyZ1dGQi+99FLVLtnWhx9+WGQur7Tv5ptvVm2R95B05pSUlLP2+/z589XnlW1LHz/77LNFphRoffznn3/iiiuuUJ9DPv+8efNKfc+ff/5Zfa4dO3YUeVy+T3l8y5Yt6v62bdtw//3347zzzkNsbCz69u2rvuOcnJwS37ek9PJFixbhyiuvVP1y9dVXq/cs7mzbke9F0q9/+OEHx/uXtK3ly5fjpptuUr9jPXv2xKOPPoojR44UaZ9khMjJpeuvv179rvTr1099V2ezatUq9Rr5/qR/ZfS5OGnLE088oX7P5XPINA25n5qa6pgqIu8jF2n7f//9V+5+ls923XXXqd8D+X295557sHv37jO+v9L+P8pnl/9fYsCAAXjyySfP+pmJiEh/DMyJiKiIxMREdd2oUSNHcHffffehefPmePvtt1Vg8dNPP+Hee+8tEpBKAC7ps6+//roKDD777DMVfNeuXVulIg8fPhzHjx9XgbgErw8//LAKNhs0aKDeX97T2cyZM1UAKqP3EiCJgoICFYTdcMMNKuVZUuMfe+wx3H333SrlWV4jI/QSDMs8Wy0Yuu2221CrVi3VNnldt27dVLAvgbgzSe2X9rzzzjsqkP/222/V8zXTp09XFwkgZVvyWV555RW8//77jhMAsq3AwED873//w4QJE1Rwduutt5Ya5ArZ3iOPPKIyFOTzSn/89ttvKsBzfl1ycjKee+459X6yzYYNG6rPWjxw0wwcOBDBwcFnnKj45Zdf0KpVKxW8yokSqQMg8/+nTp2KWbNm4fLLL1ff36efforykJMjckJDglD5HZETF48//niR55RnO/KdyO+L/N6Ulr4uJyJGjRqFevXqqWkX8ru2bt06FUyfOHHC8Tw56fLQQw+pbA3pq65du6rvbtmyZaV+DpnKIe8dGhqqvgfpZ/lenEn75XHpc/l9kWBf7ksfy++XkMelb+Uin0OC8PJ8/gMHDqj/V3LSRX7vXnzxRfX/UeaLayeRzvb/Uf4fSDCv9ac8TkREVYCNiIh8zs0332wbMWKELT8/33E5fvy4bf78+bYePXrYrr/+epvValWXCy64wHbHHXcUef2///5ra926tW3p0qXq/ptvvqnur169usjzxo0bZ+vXr5/j/vTp022xsbG2gwcPFnneyJEjbb1797ZZLBZ1X95LHnP23Xffqce/+OILx2O//vqreux///uf47FNmzapx37//Xd1/4cffrDdeeedjvcWcjsuLs72zDPPqPsHDhxQr3nssceKbPOWW26xDRkyRN0+efKkrV27drYXX3yxyHOe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IiIiz2EqOxEREREREZGOOGJOREREREREpCMG5kREREREREQ6YmBOREREREREpCOfqcputVpRUFAAo9HoWEOaiIhIL1LiRfZNZrNZ7Zuo4rivJyKiqrq/95nAXHbUshwUERGRN+nQoQP8/f31bka1wH09ERFV1f29zwTm2tmJdu3a8QDIDSwWizr4kV8wk8mkd3OqBfape7E/3Y996l55eXnYsmULR8vdSOtLd/yO8vfddewz17HPXMc+cx37TN/+0t7vbPt7nwnMtZQ26Vz+QroP+9P92Kfuxf50P/ape2h9yJRr797X8/fddewz17HPXMc+cx37TN/+Otv+nqfpiYiIiIiIiHTEwJyIiIiIiIhIRwzMiYiIiIiIiHTkM3PMiYjIO0lRlPz8fFRHfn5+nM9HREREZ8XAnIiIdJORkYGDBw+qNT6rIyn00rBhQ4SEhOjdFCIiIvJiDMyJiEi3kXIJyoODg1G7du1qV51cTjYkJyerz9iqVSuOnBMREVGpGJgTEZEuJH1dglcJyoOCglAdyWfbu3ev+qwMzImIiKg0LP5GRES6qm4j5b7y2YiIiMh9GJgTERERERER6YiBORERVRlbt27F2rVrddn2ggULcOLECV22XR3k5eVhyJAh+O+//0p9zpYtWzB8+HB06tQJ11xzDRISEjzaRiIiIr0wMCcioirjvvvuU3O2Pe3QoUN46KGHkJ2d7fFtVwe5ubl45JFHsHPnzlKfk5WVhTFjxqBbt274/vvv0aVLF9x1113qcSIiouqOgTkREdFZVNfl3Dxh165duO6667B///4ynzd//nwEBATgiSeeQIsWLfDUU0+hRo0aWLhwocfaSkREpBcG5kREVCXccsstauR6/PjxePLJJ7F48WIMHToUHTp0UKOsMiKbmZmpnvvWW2/h3nvvxYgRI9CjRw+sWrUKOTk5KtiLi4tD3759MXfuXLRr104tZyaOHDmCu+++W6VR9+/fHzNmzFBLuokBAwY4rmU0l8pP+r5nz574+uuvy3zehg0b1HejFcyT665du2L9+vUeaikREZF+uFwaERFVCRJsX3XVVRg1apQK9K699lo8++yzOP/881V6+2OPPYZvvvkGt99+u3q+BO6TJk1C586d0axZM7zwwgtYt24dPvzwQxQUFKggXQu8ZUT8/vvvR9u2bfHDDz+o9cflvSU4lPR5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",
|
||
"text/plain": [
|
||
"<Figure size 1200x500 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"y_pred_2 = trainer_stage_2.predict(ds_val)\n",
|
||
"probas = sp.softmax(y_pred_2.predictions, axis=1)\n",
|
||
"y_proba_2 = probas[:, 1]\n",
|
||
"\n",
|
||
"y_true_2 = df_val[\"target\"].to_numpy()\n",
|
||
"make_plot(y_true_2, y_proba_2)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "5d778b73",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "studies",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"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.13.9"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|