ajout séance culture IA (LLM, enjeux, pont vers KNN)

This commit is contained in:
2026-04-06 21:55:22 +02:00
parent 356d0974f0
commit a5f39d4315

340
ia/culture_ia.ipynb Normal file
View File

@@ -0,0 +1,340 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "cell-0",
"metadata": {},
"source": [
"# L'Intelligence Artificielle — Culture générale et enjeux"
]
},
{
"cell_type": "markdown",
"id": "cell-1",
"metadata": {},
"source": [
"Durée : 1h<br>\n",
"Objectifs : Comprendre ce qu'est un LLM, ses enjeux éthiques et environnementaux, faire le lien avec les algorithmes vus en cours<br>\n",
"Niveau : Première NSI<br>\n",
"Prérequis : Notions de probabilités (maths)"
]
},
{
"cell_type": "markdown",
"id": "cell-2",
"metadata": {},
"source": [
"---\n",
"\n",
"## Table des matières\n",
"\n",
"1. Qu'est-ce qu'un LLM ?\n",
"2. Comment ça apprend ?\n",
"3. Enjeux et questions à se poser\n",
"4. Et en NSI, ça donne quoi ?"
]
},
{
"cell_type": "markdown",
"id": "cell-3",
"metadata": {},
"source": [
"---\n",
"\n",
"## 1. Qu'est-ce qu'un LLM ?"
]
},
{
"cell_type": "markdown",
"id": "cell-4",
"metadata": {},
"source": [
"Tu utilises peut-être ChatGPT, Gemini ou Copilot. Ces outils reposent tous sur un **LLM** — *Large Language Model*, ou grand modèle de langage.\n",
"\n",
"Un LLM, c'est fondamentalement une machine qui **prédit le prochain mot**.\n",
"\n",
"Imagine la phrase : *\"La nuit, tous les chats sont...\"*\n",
"\n",
"Le modèle attribue une probabilité à chaque mot possible :\n",
"\n",
"| Mot | Probabilité |\n",
"|---|---|\n",
"| gris | 0.59 |\n",
"| endormis | 0.19 |\n",
"| fatigués | 0.19 |\n",
"| verts | 0.001 |\n",
"| cuillère | 0.0001 |\n",
"\n",
"Le mot choisi n'est pas forcément le plus probable — ça dépend d'un paramètre appelé **température**.\n",
"\n",
"> **Température basse (ex. 0.0)** → le modèle choisit presque toujours le mot le plus probable. Réponses prévisibles, factuelles.\n",
">\n",
"> **Température haute (ex. 1.0)** → le modèle peut choisir des mots moins probables. Réponses plus créatives, parfois surprenantes."
]
},
{
"cell_type": "markdown",
"id": "cell-5",
"metadata": {},
"source": [
"#### Question 1\n",
"Si tu demandes à un LLM d'écrire un poème, quelle température lui donnerais-tu ? Et si tu lui demandes de corriger un code Python, laquelle ?\n",
"\n",
"*(Réponds en colorant ton texte : `<span style=\"color:blue\">ta réponse</span>`)*"
]
},
{
"cell_type": "markdown",
"id": "cell-6",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"id": "cell-7",
"metadata": {},
"source": [
"### Tokens : ce que le modèle voit vraiment\n",
"\n",
"Un LLM ne travaille pas sur des mots entiers mais sur des **tokens** — des fragments de mots.\n",
"\n",
"Exemple : le verbe *manger* peut apparaître comme *mange*, *mangeons*, *mangerait*... Plutôt que de traiter chaque forme séparément, le modèle travaille sur le fragment commun `mang`.\n",
"\n",
"C'est plus efficace et ça permet de gérer des langues très différentes avec le même mécanisme."
]
},
{
"cell_type": "markdown",
"id": "cell-8",
"metadata": {},
"source": [
"---\n",
"\n",
"## 2. Comment ça apprend ?"
]
},
{
"cell_type": "markdown",
"id": "cell-9",
"metadata": {},
"source": [
"Un LLM a des **milliards de paramètres** — imagine des milliards de boutons à régler. Au départ, tous ces boutons sont positionnés aléatoirement : le modèle ne sait rien.\n",
"\n",
"L'apprentissage se fait en deux phases :"
]
},
{
"cell_type": "markdown",
"id": "cell-10",
"metadata": {},
"source": [
"### Phase 1 — Pré-entraînement\n",
"\n",
"On nourrit le modèle avec des **milliards de textes** : pages web, livres, forums, articles...\n",
"\n",
"Le principe : on cache un mot dans une phrase, le modèle essaie de le deviner. S'il se trompe, on ajuste légèrement ses paramètres. On répète ça des **milliards de milliards de fois**.\n",
"\n",
"Cette phase peut durer **plusieurs mois** et coûte **plusieurs dizaines de millions de dollars**.\n",
"\n",
"À la fin, le modèle sait prédire des mots — mais il ne sait pas encore \"discuter\"."
]
},
{
"cell_type": "markdown",
"id": "cell-11",
"metadata": {},
"source": [
"### Phase 2 — Affinage\n",
"\n",
"Des humains évaluent les réponses du modèle et choisissent les meilleures. Le modèle ajuste ses paramètres pour privilégier ces réponses à l'avenir.\n",
"\n",
"C'est ici que se définit la **ligne éditoriale** du modèle : ce qu'il accepte ou refuse de dire, le ton qu'il adopte, ses \"valeurs\".\n",
"\n",
"> Un LLM n'est pas neutre. Ses réponses reflètent les choix faits pendant l'affinage — et donc les choix de l'entreprise qui l'a créé."
]
},
{
"cell_type": "markdown",
"id": "cell-12",
"metadata": {},
"source": [
"#### Question 2\n",
"Deux entreprises concurrentes entraînent chacune un LLM. L'une est américaine, l'autre chinoise. Penses-tu que leurs modèles répondront de la même façon à des questions politiques ou historiques sensibles ? Pourquoi ?"
]
},
{
"cell_type": "markdown",
"id": "cell-13",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"id": "cell-14",
"metadata": {},
"source": [
"---\n",
"\n",
"## 3. Enjeux et questions à se poser"
]
},
{
"cell_type": "markdown",
"id": "cell-15",
"metadata": {},
"source": [
"### Le coût environnemental\n",
"\n",
"Entraîner un LLM nécessite des fermes de serveurs qui tournent en permanence :\n",
"<li>Consommation électrique massive\n",
"<li>Refroidissement des serveurs → consommation d'eau importante\n",
"<li>Fabrication du matériel → ressources rares (lithium, cobalt...)\n",
"\n",
"Une seule requête à ChatGPT consomme environ **10 fois plus d'énergie** qu'une recherche Google.\n",
"\n",
"Et l'entraînement d'un modèle comme GPT-4 aurait émis autant de CO₂ que **plusieurs centaines de vols ParisNew York**."
]
},
{
"cell_type": "markdown",
"id": "cell-16",
"metadata": {},
"source": [
"#### Question 3\n",
"Est-ce que ça change ta façon d'utiliser ces outils au quotidien ? Pour quelles tâches penses-tu que l'usage d'un LLM est justifié, et pour lesquelles ça te semble excessif ?"
]
},
{
"cell_type": "markdown",
"id": "cell-17",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"id": "cell-18",
"metadata": {},
"source": [
"### Les biais\n",
"\n",
"Un LLM apprend sur des textes produits par des humains — avec tous leurs biais. Si les données d'entraînement surreprésentent certaines cultures, langues ou points de vue, le modèle les surreprésente aussi.\n",
"\n",
"Exemples documentés :\n",
"<li>Associations stéréotypées entre certains prénoms et des qualités/défauts\n",
"<li>Moins bonnes performances dans des langues peu représentées sur le web\n",
"<li>Tendance à reproduire des stéréotypes de genre dans certaines professions\n",
"\n",
"Ces biais ne sont pas intentionnels — mais ils ont des conséquences réelles quand ces outils sont utilisés pour recruter, noter, ou décider."
]
},
{
"cell_type": "markdown",
"id": "cell-19",
"metadata": {},
"source": [
"#### Question 4\n",
"Un employeur utilise un LLM pour trier des CV. Quels risques cela comporte-t-il selon toi ? Comment pourrait-on les limiter ?"
]
},
{
"cell_type": "markdown",
"id": "cell-20",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"id": "cell-21",
"metadata": {},
"source": [
"---\n",
"\n",
"## 4. Et en NSI, ça donne quoi ?"
]
},
{
"cell_type": "markdown",
"id": "cell-22",
"metadata": {},
"source": [
"Les LLMs sont impressionnants — mais ils reposent sur des mécanismes que tu peux comprendre.\n",
"\n",
"Après les vacances, nous allons étudier l'algorithme **K-NN** (*K Nearest Neighbors* — K plus proches voisins). C'est l'un des algorithmes de base du **machine learning** — l'apprentissage automatique.\n",
"\n",
"Le principe : pour classer un objet inconnu, on regarde les *k* objets les plus proches qu'on connaît déjà, et on attribue à l'inconnu la classe majoritaire parmi eux.\n",
"\n",
"**Exemple :** on veut déterminer si une tumeur est bénigne ou maligne à partir de mesures (taille, forme...). On regarde les *k* tumeurs les plus similaires dans notre base de données, et on prédit la classe la plus fréquente.\n",
"\n",
"C'est exactement ce que font, à une tout autre échelle, les algorithmes de recommandation de YouTube ou Spotify : *\"les utilisateurs les plus proches de toi ont aussi aimé...\"*\n",
"\n",
"Les LLMs vont beaucoup plus loin — mais ils partagent avec K-NN l'idée fondamentale : **apprendre à partir d'exemples**."
]
},
{
"cell_type": "markdown",
"id": "cell-23",
"metadata": {},
"source": [
"#### Question 5\n",
"À ton avis, quelle est la différence entre un programme \"classique\" (comme ceux que tu as écrits en Python cette année) et un programme qui *apprend* ? Essaie d'expliquer avec tes mots."
]
},
{
"cell_type": "markdown",
"id": "cell-24",
"metadata": {},
"source": [
" "
]
},
{
"cell_type": "markdown",
"id": "cell-25",
"metadata": {},
"source": [
"---\n",
"\n",
"### Pour aller plus loin (optionnel)\n",
"\n",
"Deux vidéos excellentes de David Louapre (Science Étonnante) si le sujet t'intéresse :\n",
"<li><a href=\"https://www.youtube.com/watch?v=7ell8KEbhJo\">Ce qui se cache derrière le fonctionnement de ChatGPT</a>\n",
"<li><a href=\"https://www.youtube.com/watch?v=YcIbZGTRMjI\">Les 4 étapes pour entraîner un LLM</a>"
]
},
{
"cell_type": "markdown",
"id": "cell-26",
"metadata": {},
"source": [
"---\n",
"\n",
"Licence :\n",
"\n",
"Auteur : Florian Mathieu — contenu adapté du cours de D. Roche (pixees.fr/informatiquelycee)\n",
"\n",
"<a rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-sa/4.0/\"><img alt=\"Licence Creative Commons\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png\" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-sa/4.0/\">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}