Les tokens sont les vrais morceaux du langage
Découvrez pourquoi les modèles de langage ne lisent pas comme nous et comment le concept de token influence la mémoire, le coût et les performances de l'intelligence artificielle.
Lecteur
Notes de l'épisode
Contrairement aux humains qui lisent des pages, des phrases et des mots, les modèles de langage (LLM) découpent le texte en unités fondamentales appelées tokens. Un token ne correspond pas toujours à un mot entier : il peut s'agir d'une syllabe, d'un caractère de ponctuation ou même d'un simple espace. Ce mode de lecture unique change radicalement notre manière d'interagir avec l'intelligence artificielle.
Ce découpage a des implications concrètes sur l'utilisation des modèles. La fenêtre de contexte, qui limite la mémoire à court terme de l'IA, est calculée en tokens et non en pages. De plus, la tarification des API repose entièrement sur le volume de tokens traités en entrée et en sortie, ce qui rend la gestion de ces unités cruciale pour optimiser les coûts.
Enfin, l'efficacité de la tokenisation varie grandement d'une langue à l'autre. Un même texte traduit dans plusieurs langues peut générer un nombre de tokens très différent, influençant directement la performance et le coût du traitement. Pour maîtriser les LLM, il devient donc indispensable d'abandonner la notion de page pour adopter celle de token.
Key takeaways
- Un token est l'unité de base de traitement d'un LLM, pouvant représenter un mot entier, un morceau de mot ou un signe de ponctuation.
- La limite de contexte d'un modèle est strictement définie en tokens, englobant les consignes, l'historique et la réponse générée.
- Le coût d'utilisation d'un modèle de langage dépend directement du nombre de tokens traités en entrée et en sortie.
- La tokenisation n'est pas universelle et varie selon les langues, ce qui peut rendre certains textes plus coûteux à traiter que d'autres.
Highlights
- 0:08 — Comment un modèle de langage lit le texte
- 0:50 — Définition et composition d'un token
- 1:52 — La limite de contexte expliquée en tokens
- 2:50 — L'impact direct des tokens sur le coût
- 3:21 — Les inégalités de tokenisation entre les langues
00:00:00 Introduction au concept de token
00:00:32 Comment un modèle lit le texte
00:00:50 Qu'est-ce qu'un token exactement
00:01:22 La différence entre mot et token
00:01:52 L'impact sur la limite de contexte
00:02:50 Le coût lié à la consommation
00:03:21 Les variations selon les languesWEBVTT
00:00:08.130 --> 00:00:15.693
Derrière<00:00:08.372> ce<00:00:08.566> mot<00:00:08.744> token<00:00:10.069> se<00:00:10.230> cache<00:00:10.473> la<00:00:10.634> vraie<00:00:10.877> façon<00:00:11.362> dont<00:00:11.539> un<00:00:11.604> modèle<00:00:11.927> de<00:00:12.008> langage<00:00:12.654> lit<00:00:12.994> et<00:00:13.058> découpe<00:00:13.382> le<00:00:13.543> texte,<00:00:14.367> et<00:00:14.432> ce<00:00:14.464> n'est<00:00:14.836> pas<00:00:14.998> du<00:00:15.111> tout<00:00:15.240> ce<00:00:15.321> qu'on<00:00:15.499> imagine.
00:00:17.116 --> 00:00:22.010
Ce<00:00:17.229> mécanisme<00:00:18.021> influence<00:00:18.570> le<00:00:18.731> coût,<00:00:19.216> la<00:00:19.297> mémoire<00:00:19.620> du<00:00:19.700> modèle<00:00:20.282> et<00:00:20.346> même<00:00:20.588> les<00:00:20.750> différences<00:00:21.493> entre<00:00:21.800> langues.
00:00:23.297 --> 00:00:28.550
Quand<00:00:23.378> vous<00:00:23.541> pensez<00:00:23.735> à<00:00:23.800> un<00:00:23.947> document,<00:00:24.677> vous<00:00:24.856> imaginez<00:00:25.278> sans<00:00:25.489> doute<00:00:25.652> des<00:00:25.814> pages,<00:00:26.382> des<00:00:26.464> paragraphes,<00:00:27.081> peut-être<00:00:27.270> être<00:00:27.510> un<00:00:27.650> nombre<00:00:27.850> de<00:00:28.050> mots.
00:00:28.950 --> 00:00:32.230
C'est<00:00:29.030> normal,<00:00:29.650> c'est<00:00:29.730> comme<00:00:29.850> ça<00:00:29.970> qu'on<00:00:30.170> lit,<00:00:30.630> nous<00:00:30.770> humains.
00:00:32.230 --> 00:00:35.830
Mais<00:00:32.330> pour<00:00:32.470> un<00:00:32.590> modèle<00:00:32.830> de<00:00:33.010> langage,<00:00:33.670> tout<00:00:33.810> ça<00:00:34.350> ne<00:00:34.670> compte<00:00:34.830> pas<00:00:35.030> vraiment.
00:00:36.390 --> 00:00:43.890
Et<00:00:36.530> là,<00:00:37.130> quelque<00:00:37.131> chose<00:00:37.390> de<00:00:37.650> surprenant<00:00:38.190> se<00:00:38.430> produit:<00:00:39.370> la<00:00:39.450> page<00:00:39.990> n'existe<00:00:40.630> pas,<00:00:41.410> la<00:00:41.690> phrase<00:00:42.090> entière<00:00:42.650> non<00:00:42.930> plus.
00:00:43.890 --> 00:00:48.770
Ce<00:00:44.030> que<00:00:44.150> le<00:00:44.310> modèle<00:00:44.570> manipule,<00:00:45.270> ce<00:00:45.490> sont<00:00:45.630> des<00:00:45.850> petites<00:00:46.130> unités<00:00:46.530> de<00:00:46.750> texte<00:00:47.210> qu'on<00:00:47.390> appelle<00:00:47.730> des<00:00:48.070> tokens.
00:00:49.730 --> 00:00:50.370
Prenons<00:00:49.810> un<00:00:49.970> instant.
00:00:50.930 --> 00:00:52.810
Un<00:00:51.050> token,<00:00:51.570> ce<00:00:51.730> n'est<00:00:51.850> pas<00:00:51.950> forcément<00:00:52.270> un<00:00:52.490> mot.
00:00:52.940 --> 00:00:54.990
Parfois<00:00:53.490> oui,<00:00:54.010> parfois<00:00:54.230> non.
00:00:54.990 --> 00:00:57.700
Ça<00:00:55.130> peut<00:00:55.330> être<00:00:55.490> un<00:00:55.610> mot<00:00:55.750> entier,<00:00:56.370> mais<00:00:56.490> aussi<00:00:56.830> un<00:00:56.930> bout<00:00:57.110> de<00:00:57.250> mot.
00:00:57.970 --> 00:01:02.730
Ça<00:00:58.110> peut<00:00:58.230> même<00:00:58.430> être<00:00:58.590> un<00:00:58.830> signe<00:00:58.990> de<00:00:59.270> ponctuation,<00:01:00.090> un<00:01:00.210> espace<00:01:00.650> ou<00:01:00.850> un<00:01:01.050> autre<00:01:01.250> élément<00:01:01.510> de<00:01:01.690> structure<00:01:02.050> du<00:01:02.230> texte.
00:01:03.490 --> 00:01:12.240
Résultat:<00:01:04.150> un<00:01:04.270> mot<00:01:04.510> courant<00:01:04.870> peut<00:01:05.130> rentrer<00:01:05.410> dans<00:01:05.590> un<00:01:05.790> seul<00:01:06.010> token,<00:01:07.030> mais<00:01:07.310> un<00:01:07.430> mot<00:01:07.610> plus<00:01:07.810> long,<00:01:08.250> plus<00:01:08.450> rare<00:01:08.690> ou<00:01:08.930> moins<00:01:09.190> attendu<00:01:09.790> peut<00:01:10.210> être<00:01:10.510> découpé<00:01:10.890> en<00:01:11.090> plusieurs<00:01:11.490> morceaux.
00:01:12.710 --> 00:01:17.240
Et<00:01:12.930> là,<00:01:13.350> on<00:01:13.390> voit<00:01:13.550> bien<00:01:13.630> le<00:01:13.830> piège:<00:01:14.930> mot<00:01:15.010> et<00:01:15.350> token,<00:01:16.090> ce<00:01:16.270> n'est<00:01:16.310> pas<00:01:16.470> la<00:01:16.670> même<00:01:16.790> chose.
00:01:17.890 --> 00:01:20.250
Et<00:01:18.170> pourtant,<00:01:18.650> on<00:01:18.750> a<00:01:18.870> souvent<00:01:19.090> le<00:01:19.250> réflexe<00:01:19.610> de<00:01:19.730> tout<00:01:19.890> compter.
00:01:22.017 --> 00:01:28.313
Imaginez<00:01:22.435> maintenant<00:01:22.885> deux<00:01:23.125> textes<00:01:23.607> qui,<00:01:23.768> à<00:01:23.784> l'œil,<00:01:24.169> semblent<00:01:24.507> avoir<00:01:24.731> la<00:01:24.812> même<00:01:25.053> longueur,<00:01:25.936> même<00:01:26.097> nombre<00:01:26.418> de<00:01:26.578> lignes,<00:01:27.140> même<00:01:27.317> impression<00:01:27.783> de<00:01:27.863> densité.
00:01:29.148 --> 00:01:32.488
Vous<00:01:29.228> pourriez<00:01:29.549> vous<00:01:29.710> dire,<00:01:30.288> ils<00:01:30.352> sont<00:01:30.609> équivalents,<00:01:31.316> le<00:01:31.396> modèle<00:01:31.717> va<00:01:31.798> les<00:01:31.878> traiter<00:01:32.199> pareil.
00:01:33.340 --> 00:01:34.640
En<00:01:33.404> réalité,<00:01:34.207> pas<00:01:34.287> du<00:01:34.448> tout.
00:01:35.492 --> 00:01:38.912
Ces<00:01:35.652> deux<00:01:35.813> textes<00:01:36.295> peuvent<00:01:36.535> représenter<00:01:37.017> des<00:01:37.098> volumes<00:01:37.419> de<00:01:37.547> tokens<00:01:38.141> très<00:01:38.543> différents.
00:01:39.763 --> 00:01:41.723
Et<00:01:39.828> ça,<00:01:40.069> pour<00:01:40.229> le<00:01:40.310> modèle,<00:01:40.872> ça<00:01:41.032> change<00:01:41.594> tout.
00:01:42.638 --> 00:01:46.958
Lui<00:01:42.751> ne<00:01:43.040> voit<00:01:43.361> pas<00:01:43.778> un<00:01:43.843> bloc<00:01:44.003> de<00:01:44.164> texte<00:01:44.405> comme<00:01:44.646> vous,<00:01:45.304> il<00:01:45.449> voit<00:01:45.625> une<00:01:45.690> séquence<00:01:46.332> de<00:01:46.460> tokens.
00:01:47.555 --> 00:01:50.907
Et<00:01:47.571> c'est<00:01:47.781> cette<00:01:47.943> séquence-là<00:01:48.931> et<00:01:49.093> uniquement<00:01:49.741> elle<00:01:50.129> qu'il<00:01:50.291> peut<00:01:50.405> prendre<00:01:50.712> en<00:01:50.777> compte.
00:01:52.500 --> 00:01:54.899
À<00:01:52.516> partir<00:01:52.773> de<00:01:52.918> là,<00:01:53.337> une<00:01:53.433> conséquence<00:01:53.900> apparaît<00:01:54.287> très<00:01:54.609> vite.
00:01:55.816 --> 00:02:08.050
Dès<00:01:55.897> que<00:01:56.058> vous<00:01:56.235> envoyez<00:01:56.557> un<00:01:56.702> long<00:01:56.943> texte,<00:01:57.507> que<00:01:57.587> vous<00:01:57.748> voulez<00:01:57.990> résumer<00:01:58.344> un<00:01:58.473> document<00:01:59.133> ou<00:01:59.197> que<00:01:59.358> vous<00:01:59.439> poursuivez<00:01:59.874> une<00:02:00.002> conversation<00:02:00.502> déjà<00:02:00.808> bien<00:02:01.001> chargée,<00:02:02.236> la<00:02:02.268> vraie<00:02:02.479> question,<00:02:02.967> ce<00:02:02.999> n'est<00:02:03.291> plus<00:02:03.779> combien<00:02:04.103> de<00:02:04.185> pages<00:02:04.428> ça<00:02:04.591> fait,<00:02:05.403> c'est<00:02:05.971> combien<00:02:06.377> de<00:02:06.426> tokens<00:02:07.351> ça<00:02:07.384> représente.
00:02:09.116 --> 00:02:11.266
C'est<00:02:09.213> exactement<00:02:09.940> là<00:02:10.328> que<00:02:10.571> tout<00:02:10.813> change.
00:02:12.753 --> 00:02:14.725
Chaque<00:02:12.996> modèle<00:02:13.578> a<00:02:13.659> une<00:02:13.756> limite<00:02:14.127> de<00:02:14.208> contexte.
00:02:14.940 --> 00:02:20.720
Et<00:02:15.040> cette<00:02:15.220> limite<00:02:15.440> est<00:02:15.660> exprimée<00:02:16.060> en<00:02:16.300> tokens,<00:02:16.980> pas<00:02:17.120> en<00:02:17.260> pages,<00:02:17.880> pas<00:02:17.980> en<00:02:18.180> caractères,<00:02:19.040> en<00:02:19.260> tokens.
00:02:20.720 --> 00:02:28.710
Cette<00:02:20.820> limite<00:02:21.220> inclut<00:02:21.640> tout<00:02:21.860> ce<00:02:21.960> que<00:02:22.040> vous<00:02:22.160> lui<00:02:22.280> donnez:<00:02:22.840> la<00:02:22.960> consigne,<00:02:23.640> l'historique<00:02:24.080> de<00:02:24.200> la<00:02:24.360> conversation,<00:02:25.180> le<00:02:25.260> document<00:02:25.580> que<00:02:25.720> vous<00:02:25.920> collez,<00:02:26.560> mais<00:02:26.740> aussi<00:02:26.920> la<00:02:27.060> réponse<00:02:27.500> que<00:02:27.680> le<00:02:27.820> modèle<00:02:28.040> doit<00:02:28.260> produire.
00:02:29.300 --> 00:02:33.950
Donc<00:02:29.460> plus<00:02:29.760> votre<00:02:30.080> entrée<00:02:30.340> consomme<00:02:30.720> de<00:02:30.900> tokens,<00:02:31.740> moins<00:02:32.020> il<00:02:32.220> reste<00:02:32.480> de<00:02:32.740> place<00:02:32.880> pour<00:02:33.060> la<00:02:33.300> suite.
00:02:34.360 --> 00:02:38.950
Autrement<00:02:34.580> dit,<00:02:35.400> si<00:02:35.520> on<00:02:35.660> surcharge<00:02:36.060> l'entrée,<00:02:36.840> on<00:02:36.960> rétrécit<00:02:37.440> la<00:02:37.560> marge<00:02:37.740> de<00:02:37.960> manœuvre<00:02:38.220> du<00:02:38.400> modèle.
00:02:39.560 --> 00:02:40.910
Pas<00:02:39.680> de<00:02:39.820> panique,<00:02:40.240> ce<00:02:40.380> n'est<00:02:40.440> pas<00:02:40.560> magique.
00:02:41.266 --> 00:02:41.956
C'est<00:02:41.426> mécanique.
00:02:42.791 --> 00:02:46.596
Le<00:02:42.871> modèle<00:02:43.385> ne<00:02:43.513> peut<00:02:43.674> prendre<00:02:43.931> en<00:02:43.995> compte<00:02:44.316> que<00:02:44.477> les<00:02:44.525> tokens<00:02:44.991> présents<00:02:45.296> dans<00:02:45.440> sa<00:02:45.601> fenêtre<00:02:46.002> de<00:02:46.083> contexte.
00:02:46.966 --> 00:02:49.503
Tout<00:02:47.078> ce<00:02:47.126> qui<00:02:47.287> dépasse,<00:02:48.025> il<00:02:48.106> ne<00:02:48.250> le<00:02:48.411> voit<00:02:48.732> tout<00:02:48.892> simplement<00:02:49.454> pas.
00:02:50.659 --> 00:02:51.189
Mais<00:02:50.739> ce<00:02:50.771> n'est<00:02:50.900> pas<00:02:51.060> tout.
00:02:51.863 --> 00:02:55.444
Le<00:02:51.943> nombre<00:02:52.264> de<00:02:52.393> tokens<00:02:53.003> a<00:02:53.083> aussi<00:02:53.324> un<00:02:53.485> effet<00:02:53.790> direct<00:02:54.271> sur<00:02:54.448> le<00:02:54.593> coût<00:02:54.753> d'utilisation.
00:02:55.749 --> 00:02:58.896
L'usage<00:02:56.632> d'un<00:02:56.712> modèle<00:02:57.258> est<00:02:57.322> compté<00:02:57.659> à<00:02:57.724> partir<00:02:58.045> des<00:02:58.093> tokens<00:02:58.526> traités.
00:02:59.410 --> 00:03:06.346
Ce<00:02:59.522> qui<00:02:59.731> compte,<00:03:00.212> ce<00:03:00.244> n'est<00:03:00.453> pas<00:03:00.533> la<00:03:00.694> belle<00:03:00.855> mise<00:03:01.031> en<00:03:01.176> page<00:03:01.657> ni<00:03:01.738> le<00:03:01.850> nombre<00:03:02.235> de<00:03:02.380> pages<00:03:02.621> PDF,<00:03:03.504> c'est<00:03:03.616> la<00:03:03.745> quantité<00:03:04.227> de<00:03:04.275> tokens<00:03:04.805> en<00:03:04.965> entrée<00:03:05.848> et<00:03:05.929> en<00:03:05.993> sortie.
00:03:06.780 --> 00:03:14.600
Un<00:03:07.140> texte<00:03:07.480> qui<00:03:07.700> génère<00:03:07.920> beaucoup<00:03:08.280> de<00:03:08.860> tokens<00:03:08.861> coûtera<00:03:09.440> plus<00:03:09.800> cher<00:03:09.960> qu'un<00:03:10.160> texte<00:03:10.540> plus<00:03:10.780> compact,<00:03:11.560> même<00:03:11.700> si<00:03:12.080> à<00:03:12.160> l'œil,<00:03:12.740> la<00:03:12.840> différence<00:03:13.240> semble<00:03:13.600> minime.
00:03:14.840 --> 00:03:20.790
Ce<00:03:14.880> que<00:03:15.040> peu<00:03:15.220> de<00:03:15.360> gens<00:03:15.500> réalisent,<00:03:16.180> c'est<00:03:16.360> qu'une<00:03:16.600> petite<00:03:16.980> variation<00:03:17.400> dans<00:03:17.600> la<00:03:17.740> forme<00:03:17.920> du<00:03:18.120> texte<00:03:18.520> peut<00:03:18.700> déjà<00:03:19.100> changer<00:03:19.400> le<00:03:19.560> volume<00:03:19.800> de<00:03:20.040> tokens.
00:03:21.080 --> 00:03:27.140
Et<00:03:21.340> il<00:03:21.420> y<00:03:21.500> a<00:03:21.560> un<00:03:21.600> dernier<00:03:22.020> détail<00:03:22.420> qui<00:03:22.780> complique<00:03:22.960> un<00:03:23.140> peu<00:03:23.200> l'histoire:<00:03:24.100> ce<00:03:24.240> découpage<00:03:24.700> en<00:03:24.900> tokens<00:03:25.180> n'est<00:03:25.540> pas<00:03:25.860> identique<00:03:26.240> partout.
00:03:27.520 --> 00:03:35.280
Selon<00:03:27.700> la<00:03:27.940> langue,<00:03:28.420> la<00:03:28.580> forme<00:03:28.820> des<00:03:29.060> mots,<00:03:29.400> le<00:03:29.520> système<00:03:29.820> d'écriture,<00:03:31.020> un<00:03:31.060> même<00:03:31.400> volume<00:03:31.720> apparent<00:03:32.080> de<00:03:32.320> texte<00:03:32.780> peut<00:03:32.940> donner<00:03:33.180> lieu<00:03:33.420> à<00:03:33.520> une<00:03:33.680> consommation<00:03:34.220> de<00:03:34.400> tokens<00:03:34.680> différente.
00:03:35.670 --> 00:03:41.800
2<00:03:36.290> pages<00:03:36.550> dans<00:03:36.710> 2<00:03:36.930> langues<00:03:37.050> différentes<00:03:37.650> ne<00:03:38.070> valent<00:03:38.370> donc<00:03:38.670> pas<00:03:38.810> forcément<00:03:39.170> la<00:03:39.370> même<00:03:39.550> chose<00:03:39.850> pour<00:03:40.030> un<00:03:41.050> modèle.
00:03:41.950 --> 00:03:46.170
Conclusion:<00:03:43.030> une<00:03:43.130> page<00:03:43.410> n'a<00:03:43.590> pas<00:03:43.770> de<00:03:44.050> valeur<00:03:44.130> universelle<00:03:44.690> pour<00:03:44.930> un<00:03:45.190> LLM.
00:03:46.170 --> 00:03:58.970
Alors<00:03:46.510> oui,<00:03:46.790> on<00:03:47.110> peut<00:03:47.290> continuer<00:03:47.790> à<00:03:47.970> penser<00:03:48.210> en<00:03:48.370> pages<00:03:48.570> pour<00:03:48.770> lire<00:03:49.010> confortablement,<00:03:50.070> mais<00:03:50.470> dès<00:03:50.670> qu'on<00:03:50.850> veut<00:03:51.030> comprendre<00:03:51.450> ce<00:03:51.670> qu'un<00:03:51.770> modèle<00:03:52.070> peut<00:03:52.330> vraiment<00:03:52.690> traiter,<00:03:53.390> il<00:03:53.630> faut<00:03:53.770> changer<00:03:54.050> de<00:03:54.310> compteur,<00:03:55.110> quitter<00:03:55.270> l'idée<00:03:55.590> de<00:03:55.830> la<00:03:56.030> page<00:03:56.270> et<00:03:56.870> commencer<00:03:57.470> à<00:03:57.890> penser<00:03:58.130> en<00:03:58.370> tokens.
Chapitres
Pas de chapitres pour cet épisode.
Transcription
Pas de transcription pour cet épisode.