Spaces:
Running
Running
Update dist/index.html
Browse files- dist/index.html +16 -9
dist/index.html
CHANGED
@@ -64,7 +64,7 @@
|
|
64 |
|
65 |
Dans cette logique, nous avons décidé de nous concentrer sur le T5 <d-cite bibtex-key="JMLR:v21:20-074"></d-cite>.<br><br>
|
66 |
|
67 |
-
Dans cet article, sont détaillons les optimisations que nous avons mises en place afin de pré-entraîner de manière efficiente un T5 de 147M de paramètres en français en un temps raisonnable (1 461 H pour 419Mds de <i>tokens</i>) et avec des moyens limités (1 unique A100 ; soit un budget de calcul d'environ
|
68 |
Pour ce faire, nous avons conçu des noyaux CUDA/Triton afin de rendre la Flash Attention compatible avec T5 et de fournir une inférence linéaire, étendant ainsi la taille du contexte qui peut être prise en compte par le modèle.<br><br>
|
69 |
<strong>Le code de pré-entrainement est disponible sur notre répertoire <a class="link" href="https://github.com/catie-aq/flashT5">GitHub</a> sous licence Apache-2.0. et les poids sur notre compte <a class="link" href="https://hf.co/CATIE-AQ">Hugging Face</a>.</strong>
|
70 |
<p class="width_125"><br><br><br></p>
|
@@ -343,7 +343,7 @@
|
|
343 |
<div class="tip"><p>Dans cette logique, nous avons entraîné un <em>tokenizer</em> de taille 32 768 (8**5), suivant <a class="link" href="https://twitter.com/karpathy/status/1621578354024677377">cette observation de KARPATHY</a>.
|
344 |
Il s'agit d'un BPE <d-cite bibtex-key="sennrich2016neuralmachinetranslationrare"></d-cite> entraîné sur CulturaX et The Stack, utilisant 256 extra_tokens et
|
345 |
les chiffres sont séparés.<br>
|
346 |
-
Le lecteur pourra trouver le code utilisé <a class="link" href=https://github.com/catie-aq/flashT5/blob/main/examples/fat5-fr/train_tokenizer.py">ici</a>.
|
347 |
</p></div>
|
348 |
<p><br></p>
|
349 |
|
@@ -358,7 +358,7 @@
|
|
358 |
<div class="tip"><p>
|
359 |
Nous avons utilisé l’optimiseur l’optimiseur original du T5, <a class="link" href="https://github.com/catie-aq/flashT5/blob/main/src/utils/adamw_scaled.py">AdamWScale</a>.
|
360 |
Pour les valeurs des hyperparamètres, nous utilisons <code>lr = 5e-3</code>, <code>betas = (0.9, 0.999)</code>, <code>eps = 1e-6</code> et <code>weight_decay = 0.0</code>
|
361 |
-
en nous basant sur les observations de <a class="link" href="https://github.com/PiotrNawrot/nanoT5/issues/25#issuecomment-1922731400">Wilson
|
362 |
En effet, il s'avère que tous les optimiseurs alternatifs testés ne convergeaient pas.</p></div>
|
363 |
<div class="note"><p>Nous avons fait en sorte que notre version d'AdamWScale dispose du paramètre <code>foreach</code>.</p>
|
364 |
</div>
|
@@ -834,15 +834,15 @@
|
|
834 |
<td>96,69</td>
|
835 |
</tr>
|
836 |
<tr>
|
837 |
-
<td
|
838 |
<td>96,74</td>
|
839 |
</tr>
|
840 |
<tr>
|
841 |
-
<td
|
842 |
<td>97,27</td>
|
843 |
</tr>
|
844 |
<tr>
|
845 |
-
<td
|
846 |
<td>97,15</td>
|
847 |
</tr>
|
848 |
<tr>
|
@@ -977,7 +977,7 @@
|
|
977 |
<td>76,88</td>
|
978 |
</tr>
|
979 |
<tr>
|
980 |
-
<td
|
981 |
<td>97,26</td>
|
982 |
<td>95,24</td>
|
983 |
<td>89,10</td>
|
@@ -1057,7 +1057,7 @@
|
|
1057 |
<td>29,8</td>
|
1058 |
</tr>
|
1059 |
<tr>
|
1060 |
-
<td>distilcamembert(68,1M)</td>
|
1061 |
<td>51,3</td>
|
1062 |
<td>60,7</td>
|
1063 |
<td>37,4</td>
|
@@ -1110,6 +1110,13 @@
|
|
1110 |
</thead>
|
1111 |
<tbody>
|
1112 |
<tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1113 |
<td>AWS</td>
|
1114 |
<td>1,77</td>
|
1115 |
<td>1 616</td>
|
@@ -1294,7 +1301,7 @@
|
|
1294 |
Nous avons introduit le modèle FAT5 (Flash Attention T5) en détaillant notre démarche d’optimisation de différents éléments des processus de pré-entraînement et de finetuning.
|
1295 |
Celui-ci se base sur des noyaux permettant d'utiliser la Flash Attention avec un T5 et de donner une mémoire linéaire au modèle.
|
1296 |
Nous avons notamment appliqué nos travaux au français en guise de preuve de concept et fait en sorte qu’il soit aussi utilisable dans n'importe quelle autre langue.
|
1297 |
-
Nous espérons que notre méthode, permettant de pré-entraîner de zéro un modèle de 147M de paramètres pour
|
1298 |
Elle ouvre également une voie vers un retour à un usage de modèles encodeur-décodeur plutôt qu’uniquement décodeur.<br>
|
1299 |
<p class="width_125"><br><br></p>
|
1300 |
|
|
|
64 |
|
65 |
Dans cette logique, nous avons décidé de nous concentrer sur le T5 <d-cite bibtex-key="JMLR:v21:20-074"></d-cite>.<br><br>
|
66 |
|
67 |
+
Dans cet article, sont détaillons les optimisations que nous avons mises en place afin de pré-entraîner de manière efficiente un T5 de 147M de paramètres en français en un temps raisonnable (1 461 H pour 419Mds de <i>tokens</i>) et avec des moyens limités (1 unique A100 ; soit un budget de calcul d'environ 1 900 euros).
|
68 |
Pour ce faire, nous avons conçu des noyaux CUDA/Triton afin de rendre la Flash Attention compatible avec T5 et de fournir une inférence linéaire, étendant ainsi la taille du contexte qui peut être prise en compte par le modèle.<br><br>
|
69 |
<strong>Le code de pré-entrainement est disponible sur notre répertoire <a class="link" href="https://github.com/catie-aq/flashT5">GitHub</a> sous licence Apache-2.0. et les poids sur notre compte <a class="link" href="https://hf.co/CATIE-AQ">Hugging Face</a>.</strong>
|
70 |
<p class="width_125"><br><br><br></p>
|
|
|
343 |
<div class="tip"><p>Dans cette logique, nous avons entraîné un <em>tokenizer</em> de taille 32 768 (8**5), suivant <a class="link" href="https://twitter.com/karpathy/status/1621578354024677377">cette observation de KARPATHY</a>.
|
344 |
Il s'agit d'un BPE <d-cite bibtex-key="sennrich2016neuralmachinetranslationrare"></d-cite> entraîné sur CulturaX et The Stack, utilisant 256 extra_tokens et
|
345 |
les chiffres sont séparés.<br>
|
346 |
+
Le lecteur pourra trouver le code utilisé <a class="link" href="https://github.com/catie-aq/flashT5/blob/main/examples/fat5-fr/train_tokenizer.py">ici</a>.
|
347 |
</p></div>
|
348 |
<p><br></p>
|
349 |
|
|
|
358 |
<div class="tip"><p>
|
359 |
Nous avons utilisé l’optimiseur l’optimiseur original du T5, <a class="link" href="https://github.com/catie-aq/flashT5/blob/main/src/utils/adamw_scaled.py">AdamWScale</a>.
|
360 |
Pour les valeurs des hyperparamètres, nous utilisons <code>lr = 5e-3</code>, <code>betas = (0.9, 0.999)</code>, <code>eps = 1e-6</code> et <code>weight_decay = 0.0</code>
|
361 |
+
en nous basant sur les observations de <a class="link" href="https://github.com/PiotrNawrot/nanoT5/issues/25#issuecomment-1922731400">Wilson WONGSO</a>.
|
362 |
En effet, il s'avère que tous les optimiseurs alternatifs testés ne convergeaient pas.</p></div>
|
363 |
<div class="note"><p>Nous avons fait en sorte que notre version d'AdamWScale dispose du paramètre <code>foreach</code>.</p>
|
364 |
</div>
|
|
|
834 |
<td>96,69</td>
|
835 |
</tr>
|
836 |
<tr>
|
837 |
+
<td>distilcamembert (68,1M)</td>
|
838 |
<td>96,74</td>
|
839 |
</tr>
|
840 |
<tr>
|
841 |
+
<td>camembert-base (111M)</td>
|
842 |
<td>97,27</td>
|
843 |
</tr>
|
844 |
<tr>
|
845 |
+
<td>camembert-large (337M)</td>
|
846 |
<td>97,15</td>
|
847 |
</tr>
|
848 |
<tr>
|
|
|
977 |
<td>76,88</td>
|
978 |
</tr>
|
979 |
<tr>
|
980 |
+
<td>distilcamembert (67,5M)</td>
|
981 |
<td>97,26</td>
|
982 |
<td>95,24</td>
|
983 |
<td>89,10</td>
|
|
|
1057 |
<td>29,8</td>
|
1058 |
</tr>
|
1059 |
<tr>
|
1060 |
+
<td>distilcamembert (68,1M)</td>
|
1061 |
<td>51,3</td>
|
1062 |
<td>60,7</td>
|
1063 |
<td>37,4</td>
|
|
|
1110 |
</thead>
|
1111 |
<tbody>
|
1112 |
<tr>
|
1113 |
+
<td>Sesterce</td>
|
1114 |
+
<td>1,29</td>
|
1115 |
+
<td>1 182</td>
|
1116 |
+
<td>1 891</td>
|
1117 |
+
<td></td>
|
1118 |
+
</tr>
|
1119 |
+
<tr>
|
1120 |
<td>AWS</td>
|
1121 |
<td>1,77</td>
|
1122 |
<td>1 616</td>
|
|
|
1301 |
Nous avons introduit le modèle FAT5 (Flash Attention T5) en détaillant notre démarche d’optimisation de différents éléments des processus de pré-entraînement et de finetuning.
|
1302 |
Celui-ci se base sur des noyaux permettant d'utiliser la Flash Attention avec un T5 et de donner une mémoire linéaire au modèle.
|
1303 |
Nous avons notamment appliqué nos travaux au français en guise de preuve de concept et fait en sorte qu’il soit aussi utilisable dans n'importe quelle autre langue.
|
1304 |
+
Nous espérons que notre méthode, permettant de pré-entraîner de zéro un modèle de 147M de paramètres pour un coût limité, pourra être utile aux personnes disposant de ressources de calculs limitées.
|
1305 |
Elle ouvre également une voie vers un retour à un usage de modèles encodeur-décodeur plutôt qu’uniquement décodeur.<br>
|
1306 |
<p class="width_125"><br><br></p>
|
1307 |
|