From cb02d94136e9e53c5d0ae0d6f549203d3db6b86f Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 06:22:09 +0200 Subject: [PATCH 1/7] fix(audio,#17636): 04-10-Annotation-Prosodique -- mesure d'artefact '4747 caracteres / 151 lignes' remplacee par predicat descriptif (cellule markdown, tri complete par la lane apres worker interrompu) Co-Authored-By: Claude Sonnet 5 --- .../Audio/04-Applications/04-10-Annotation-Prosodique.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-10-Annotation-Prosodique.ipynb b/MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-10-Annotation-Prosodique.ipynb index 9b1cab360d..53c5b8df29 100644 --- a/MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-10-Annotation-Prosodique.ipynb +++ b/MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-10-Annotation-Prosodique.ipynb @@ -1183,7 +1183,7 @@ "\n", "| Fichier | Taille | Consommateur | Format |\n", "|---------|--------|--------------|--------|\n", - "| `prosodic_output/book.ssml.md` | **4747 caractères / 151 lignes** | P4 (TTS) | Markdown avec tags FishAudio insérés |\n", + "| `prosodic_output/book.ssml.md` | Livre SSML enrichi | P4 (TTS) | Markdown avec tags FishAudio insérés |\n", "| `prosodic_output/prosodic_annotations.json` | JSON structuré | Outils audit / re-annotation | 9 utterances + 5 segments narratifs |\n", "| (résumé stdout) | Per-character tag counts | Logique pédagogique | Counter top-5 par speaker |\n", "\n", From 2cd5fb34a2e6eb9abb7e05c875b4fa6371ee385e Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 05:42:37 +0200 Subject: [PATCH 2/7] docs(genai,#17636): FT-00c -- resorption des mesures d'artefact en prose markdown (5 occurrences LOC), cellules code/outputs byte-identiques --- .../FT-00c-LoRA-SOTA-Comparison-Python.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MyIA.AI.Notebooks/GenAI/FineTuning/FT-00c-LoRA-SOTA-Comparison-Python.ipynb b/MyIA.AI.Notebooks/GenAI/FineTuning/FT-00c-LoRA-SOTA-Comparison-Python.ipynb index 1993d5e556..928276746a 100644 --- a/MyIA.AI.Notebooks/GenAI/FineTuning/FT-00c-LoRA-SOTA-Comparison-Python.ipynb +++ b/MyIA.AI.Notebooks/GenAI/FineTuning/FT-00c-LoRA-SOTA-Comparison-Python.ipynb @@ -142,7 +142,7 @@ "Le protocole est celui de FT-00a section 3, sans un changement :\n", "\n", "1. **Fashion-MNIST**, split officiel (60 000 train / 10 000 test), batchs 256/512 ;\n", - "2. un décalage de domaine d'une ligne : le **négatif photo** `x -> 1 - x` ;\n", + "2. un décalage de domaine : le **négatif photo** `x -> 1 - x` ;\n", "3. `SmallCNN` (3 blocs conv + tête linéaire, ~29 k paramètres), entraîné 2 epochs sur les images **inversées** ;\n", "4. le réseau est ensuite **gelé**, puis adapté au domaine normal avec LoRA `r = 4, alpha = 8` sur les couches `c3` et `fc` — 2 epochs, Adam `1e-3`.\n", "\n", @@ -667,9 +667,9 @@ "tags": [] }, "source": [ - "## 2. `LoraConfig` + `get_peft_model` : toute la machinerie en deux lignes\n", + "## 2. `LoraConfig` + `get_peft_model` : toute la machinerie\n", "\n", - "FT-00a a écrit **deux classes** — `LoRALinear` et `LoRAConv2d`, environ 60 lignes — puis câblé chaque couche cible à la main, en prouvant un par un les invariants (`B = 0` au départ, `W` gelé, budget `r * (d + k)`). `peft` donne les mêmes garanties **par contrat** :\n", + "FT-00a a écrit **deux classes** — `LoRALinear` et `LoRAConv2d` — puis câblé chaque couche cible à la main, en prouvant un par un les invariants (`B = 0` au départ, `W` gelé, budget `r * (d + k)`). `peft` donne les mêmes garanties **par contrat** :\n", "\n", "- `r=4` : le rang de la décomposition ;\n", "- `lora_alpha=8` : le facteur `alpha/r = 2`, identique à FT-00a ;\n", @@ -972,7 +972,7 @@ "\n", "- **Exactitude** : les trois adaptations (peft, from scratch, full) récupèrent le même ordre de grandeur. Le full fine-tuning des mêmes couches reste devant — 6,5× plus de paramètres libres achètent quelques points.\n", "- **Budget** : `peft` et le from scratch libèrent **exactement** les mêmes 3 752 paramètres (11 % du réseau) — la librairie n'ajoute rien au budget, elle le garantit.\n", - "- **LOC** : 60 lignes à écrire, tester et maintenir contre 2 — c'est le coût de fabrication contre le coût d'abstraction.\n", + "- **LOC** : des lignes à écrire, tester et maintenir — c'est le coût de fabrication contre le coût d'abstraction.\n", "- **Temps** : 28,9 s mesurées ici contre 7,9 s committées pour le from scratch — l'adaptateur `peft` ajoute par couche ciblée des noyaux supplémentaires (ici `lora_A` conv 3×3 + `lora_B` conv 1×1) et une indirection de module. Sur cette mini-tâche CPU le rapport est visible ; sur un LLM, il est noyé dans le coût du forward du backbone. Les deux runs n'ont pas non plus partagé la charge machine.\n", "- **Écosystème** : c'est la vraie ligne de fracture. L'adaptateur `peft` est un **artefact portable** (section 5) : quelques kilo-octets sérialisables, rechargeables sur toute copie de la base, fusionnables — et compatibles avec `transformers.Trainer`, `accelerate`, l'export. La classe maison de FT-00a n'a aucun de ces rails.\n", "- Le from scratch reste irremplaçable pour **comprendre et déboguer** : quand un adaptateur `peft` se comporte mal (rang trop petit, `alpha` mal calibré), le diagnostic exige de savoir ce qui vit sous la config." @@ -1335,7 +1335,7 @@ "\n", "| notion | ce qu'il faut retenir |\n", "|---|---|\n", - "| `LoraConfig` + `get_peft_model` | deux lignes remplacent les ~60 lignes de FT-00a ; les invariants (gel de la base, `B = 0`, budget fermé) sont garantis par la lib au lieu d'être prouvés à la main |\n", + "| `LoraConfig` + `get_peft_model` | remplacent l'adaptateur écrit à la main dans FT-00a ; les invariants (gel de la base, `B = 0`, budget fermé) sont garantis par la lib au lieu d'être prouvés à la main |\n", "| budget identique | `peft` libère exactement les mêmes 3 752 paramètres que le from scratch (`r*(in*k^2) + out*r` en conv, `r*(in+out)` en linéaire) — la lib n'ajoute rien au budget |\n", "| exactitude comparable | même graine et même protocole : la récupération est du même ordre ; seul le tirage d'initialisation de l'adaptateur diffère |\n", "| `save_pretrained` / `from_pretrained` | l'adaptateur est un artefact portable de quelques Ko, exact au aller-retour — le fondement du partage d'adaptateurs (Su-LoRA, OpenAdapter…) |\n", From 9a29961ec490faf877528d2a47216bf107772b21 Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 05:43:28 +0200 Subject: [PATCH 3/7] fix(genai,#17636): 05-1 DiscoDiffusion -- suppression mesure d'artefact '~120 lignes' en prose markdown --- .../05-History/05-1-DiscoDiffusion-CLIP-Guided-Diffusion.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MyIA.AI.Notebooks/GenAI/Image/05-History/05-1-DiscoDiffusion-CLIP-Guided-Diffusion.ipynb b/MyIA.AI.Notebooks/GenAI/Image/05-History/05-1-DiscoDiffusion-CLIP-Guided-Diffusion.ipynb index a5c8bea456..bba66a5960 100644 --- a/MyIA.AI.Notebooks/GenAI/Image/05-History/05-1-DiscoDiffusion-CLIP-Guided-Diffusion.ipynb +++ b/MyIA.AI.Notebooks/GenAI/Image/05-History/05-1-DiscoDiffusion-CLIP-Guided-Diffusion.ipynb @@ -245,7 +245,7 @@ "source": [ "## Le cœur technique : cutouts, losses, boucle DDIM guidée\n", "\n", - "~120 lignes recréent ce que DD fait sous le capot (les ports type `dd-pytorch` servent de\n", + "La cellule suivante recrée ce que DD fait sous le capot (les ports type `dd-pytorch` servent de\n", "référence ; le repo officiel DD est un notebook Colab). Trois blocs : les *cutouts* (vues\n", "globales + recadrages intérieurs aléatoires, augmentation par miroir/niveaux de gris), la\n", "**distance sphérique** CLIP (`2·arcsin(‖x̂−ŷ‖/2)²` — la métrique de Crowson utilisée par DD),\n", From 7a9762cfb5a3119f8913445fffe7ac525968ebff Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 05:46:55 +0200 Subject: [PATCH 4/7] fix(owui,#17636): 01-Decouverte-QA-OWUI -- prose markdown : suppression des mesures d'artefact a la main (tri avant geste) --- .../01-decouverte/01-Decouverte-QA-OWUI.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/Open-WebUI/Playwright-OWUI/01-decouverte/01-Decouverte-QA-OWUI.ipynb b/MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/Open-WebUI/Playwright-OWUI/01-decouverte/01-Decouverte-QA-OWUI.ipynb index d189c38eb8..8c79d6c76a 100644 --- a/MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/Open-WebUI/Playwright-OWUI/01-decouverte/01-Decouverte-QA-OWUI.ipynb +++ b/MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/Open-WebUI/Playwright-OWUI/01-decouverte/01-Decouverte-QA-OWUI.ipynb @@ -188,8 +188,8 @@ "source": [ "### ✓ Lecture ancrée — Analyse du banc de tests\n", "\n", - "Le spec définit **4 tests** dans le module : connexion à la page principale, liste des modèles, accès au menu utilisateur, et capture de screenshot. \n", - "Il contient également **4 exercices** embarqués dans les commentaires, ce qui permet une approche pédagogique progressive." + "Le spec définit les tests du module : connexion à la page principale, liste des modèles, accès au menu utilisateur, et capture de screenshot. \n", + "Il contient également des exercices embarqués dans les commentaires, ce qui permet une approche pédagogique progressive." ] }, { @@ -276,7 +276,7 @@ "source": [ "### ✓ Lecture ancrée — Inventaire Playwright\n", "\n", - "L'appel `npx playwright test --grep 01 --list` retourne **5 tests au total** (4 tests du module + 1 fixture d'authentification) répartis dans 2 fichiers. \n", + "L'appel `npx playwright test --grep 01 --list` retourne l'inventaire des tests du module et de la fixture d'authentification, répartis dans les fichiers du banc. \n", "Le retour code **0** confirme que la configuration Playwright est valide et que les tests sont bien définis." ] }, @@ -433,7 +433,7 @@ "source": [ "## Exercices\n", "\n", - "Trois exercices, tous **exécutables tels quels** (ils tournent sans erreur et renvoient un placeholder). Remplace le corps de chaque fonction, ré-exécute, et compare au comportement attendu décrit plus haut." + "Des exercices, tous **exécutables tels quels** (ils tournent sans erreur et renvoient un placeholder). Remplace le corps de chaque fonction, ré-exécute, et compare au comportement attendu décrit plus haut." ] }, { From 20250db22c22f3c951d8e338e4f15ce939c24aac Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 05:49:47 +0200 Subject: [PATCH 5/7] docs(genai,#17636): 10b-NotebookMaker-batch-parameterized -- suppression mesure d'artefact en prose (tableau etapes), 12 cellules --- .../10b-SemanticKernel-NotebookMaker-batch-parameterized.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MyIA.AI.Notebooks/GenAI/SemanticKernel/10b-SemanticKernel-NotebookMaker-batch-parameterized.ipynb b/MyIA.AI.Notebooks/GenAI/SemanticKernel/10b-SemanticKernel-NotebookMaker-batch-parameterized.ipynb index 186cf3a6c7..38bfac4c96 100644 --- a/MyIA.AI.Notebooks/GenAI/SemanticKernel/10b-SemanticKernel-NotebookMaker-batch-parameterized.ipynb +++ b/MyIA.AI.Notebooks/GenAI/SemanticKernel/10b-SemanticKernel-NotebookMaker-batch-parameterized.ipynb @@ -699,7 +699,7 @@ "| 1 | Installation | dépendances UI et pipeline |\n", "| 2 | Imports | Semantic Kernel, logging, widgets |\n", "| 3 | `NotebookState` | la machine à états du notebook cible |\n", - "| 4 | Création | le template devient un notebook de 12 cellules |\n", + "| 4 | Création | le template devient un notebook |\n", "| 5 | Plugins | les mains des agents dans le notebook |\n", "| 6 | Stratégies | qui parle, et quand arrêter |\n", "| 7 | Agents | Coder, Reviewer, Admin — même modèle, rôles distincts |\n", From a72e6ca151dbd7a4f3a9c71faa7bf9e759154aa9 Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 05:55:08 +0200 Subject: [PATCH 6/7] docs(genai,#17636): 10f_ORTGenAI_DotNet_BakeOff -- prose-counts, tri avant geste : 1 mesure d'artefact resorbee (trois lignes -> predicat garde), occurrences domaine/run clos KEEP --- MyIA.AI.Notebooks/GenAI/Texte/10f_ORTGenAI_DotNet_BakeOff.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MyIA.AI.Notebooks/GenAI/Texte/10f_ORTGenAI_DotNet_BakeOff.ipynb b/MyIA.AI.Notebooks/GenAI/Texte/10f_ORTGenAI_DotNet_BakeOff.ipynb index 852fd52a98..2b469f7d4b 100644 --- a/MyIA.AI.Notebooks/GenAI/Texte/10f_ORTGenAI_DotNet_BakeOff.ipynb +++ b/MyIA.AI.Notebooks/GenAI/Texte/10f_ORTGenAI_DotNet_BakeOff.ipynb @@ -834,7 +834,7 @@ "\n", "1. Prouver le backend GPU se fait par **observation** (module provider chargé, VRAM), jamais par déduction du débit. La jambe LLamaSharp (10e) en est le contre-exemple coûteux : `GpuLayerCount = 99` était **demandé** puis réaffiché, le débit paraissait plausible, et l'inférence tournait pourtant sur CPU. Un paramètre relu n'est pas une mesure ; seuls `backend_ptrs.size()`, le placement des couches et la VRAM tranchent.\n", "2. Un bake-off compare des moteurs à protocole constant — mais les conditions réelles (VRAM disponible, format de modèle, in-process ou distant) font partie du résultat et doivent voyager avec lui.\n", - "3. Le taux de jetons `` est un détecteur de dégénérescence quasi gratuit : trois lignes de code qui ont disqualifié un moteur entier.\n", + "3. Le taux de jetons `` est un détecteur de dégénérescence quasi gratuit : quelques lignes de code qui ont disqualifié un moteur entier.\n", "4. La qualité sémantique appartient au modèle : sur le même moteur, passer de Qwen3-4B *base* à la variante *Instruct* est le levier évident pour un notebook de curriculum.\n", "\n", "**Limites** : run unique, machine unique, modèle *base* (choisi pour la comparabilité avec la Phase 2) — aucune statistique multi-seed. Le **périphérique**, lui, n'est plus une limite : la jambe LLamaSharp dispose depuis sa réparation d'un débit GPU sur la même carte (36,57 tok/s), ce qui rend la comparaison enfin homogène de ce côté ; ce sont désormais le **format de modèle** et le **nombre de jetons émis** qui la bornent. La décision d'adoption (et la réparation de #8369) revient au coordinateur et au user, comme prévu par la Phase 3 de l'issue.\n", From 9ed05fef22c0e90f944a638e8a83708f6b98d0ea Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 30 Sep 2026 05:59:08 +0200 Subject: [PATCH 7/7] docs(tv-01,#17636): suppression des mesures d'artefact en prose markdown (182/383/507 lignes), predicats conserves --- .../TransformerVariants/TV-01-Attention-Variants-SOTA.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/TV-01-Attention-Variants-SOTA.ipynb b/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/TV-01-Attention-Variants-SOTA.ipynb index 366cc2000d..895ff24564 100644 --- a/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/TV-01-Attention-Variants-SOTA.ipynb +++ b/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/TV-01-Attention-Variants-SOTA.ipynb @@ -29,7 +29,7 @@ "- **SWA à l'échelle réelle** : le champ réceptif `L*(W-1)+1` du TV-00b dit quand la fenêtre contraint vraiment ;\n", "- **latence et perplexité** : préfill/décodage mesurés, perte sur un vrai corpus (WikiText-2) en perplexité\n", " **et** en bits/caractère — la seule unité comparable entre tokenizers ;\n", - "- **le tableau bloc A contre bloc B** : ce que les 182 lignes du TV-00a et les 383 du TV-00b rendent visible,\n", + "- **le tableau bloc A contre bloc B** : ce que le TV-00a et le TV-00b rendent visible,\n", " contre ce que l'industrie met derrière `from_pretrained`.\n", "\n", "**Matériel.** GPU CUDA requis (H.2 : bloc B de l'epic, documenté ici) ; le premier run télécharge ~4 Go de\n", @@ -905,9 +905,9 @@ "source": [ "### 7.1 Lecture\n", "\n", - "Le tableau ne départage pas : les 182 lignes du TV-00a et les 383 du TV-00b rendent **chaque\n", + "Le tableau ne départage pas : le TV-00a et le TV-00b rendent **chaque\n", "constante lisible** (une rotation, un masque, une formule vérifiée exacte) ; le côté industrie met\n", - "la même architecture derrière 507 lignes de `modeling_mistral.py` — plus les noyaux fused, la\n", + "la même architecture derrière `modeling_mistral.py` — plus les noyaux fused, la\n", "quantification et la génération, non comptés — et c'est ce qui fait tenir 7 milliards de paramètres\n", "dans un GPU 16 Go avec quelques lignes d'appel.\n", "Le from scratch achète l'intuition, le SOTA achète l'échelle : les deux notebooks A existent\n",