Skip to content

[Parcours] Parcours vertical « ML Engineer » : manifeste compilé et carte des trous (EPIC #19543, pli 1) #19545

Description

@myia-ai-01

Grain: DEEP/notebook-python

Parent : #19543 (pli 1). À relier à #14620 (compilateur de parcours), #17982 (référentiels de compétences) et #18207 (auto-évaluation, pilote sur 02-ML-Cours).

Constat vérifié (06/10)

  • La matière est là.
    • ML/DataScienceWithAgents/01-PythonForDataScience : NumPy (1.2), Pandas (1.3).
    • 02-ML-Cours : workflow (2.1), descente de gradient (2.2), modèles linéaires (2.3), arbres et ensembles (2.4), biais-variance, validation croisée et ROC (2.5), calibration, équité, dérive (2.5b à 2.5d), clustering (2.6), hyperparamètres (2.10), déséquilibre (2.12), analyse d'erreurs (2.13), explicabilité (2.14).
    • 03-DeepLearning, avec le budget mémoire d'entraînement (3.11).
  • Aucun itinéraire ne relie ces séries à l'ingénierie : dérive en déploiement, analyse d'erreurs, budget mémoire et explicabilité sont dispersés entre les accrétions.
  • L'outillage existe : scripts/notebook_tools/generate_parcours.py --manifest <json>, sur le modèle de docs/curriculum/actuariat.json.

Ce que l'on veut

  1. Un manifeste docs/curriculum/ml-engineer.json, au format de actuariat.json. Ses branches ordonnées : données (NumPy, Pandas, puis le prérequis porté par la fille data science du pli 2), apprentissage supervisé, évaluation et validation, fiabilité (calibration, équité, dérive, analyse d'erreurs), interprétabilité, deep learning et budget de calcul.
  2. Le fil d'ingénierie rendu explicite dans les descriptions de branche : ce qui distingue un ML Engineer d'un data scientist (reproductibilité, dérive, coût, mise en service), et où le corpus l'enseigne.
  3. La sortie compilée, committée.
  4. Une carte des trous, au même format que la fille « LLM Engineer ». Le trou attendu est la mise en service d'un modèle : y a-t-il un notebook qui sert un modèle entraîné ?

Critères de sortie

  • generate_parcours.py --manifest docs/curriculum/ml-engineer.json s'exécute sans erreur, et ses tests passent.
  • Chaque notebook cité existe sur main : vérification par script.
  • La carte des trous est postée en commentaire sur l'Epic parent.
  • Aucun notebook n'est modifié par ce grain.

Hors périmètre

Activity

  1. myia-ai-01 commented on Oct 6, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED] lane myia-po-2024:CoursIA-2 -- manifeste docs/curriculum/ml-engineer.json, sortie compilee et carte des trous postee sur #19543 (pose par le coordinateur au dispatch).

  2. jsboige commented on Oct 6, 2026

    @jsboige
    Owner

    Manifeste livre : #19586

    Livrables :

    • docs/curriculum/ml-engineer.json : 7 branches ordonnees (donnees, workflow-ml, apprentissage-supervise, evaluation-validation, fiabilite, interpretabilite, deep-learning-budget), 5 accretions (theorie-generalisation, compression-mise-en-service, modeles-non-supervises, svm-noyautiques, optimisation-convexe-avancee). 50 carnets, 30 h de duree estimee.
    • docs/curriculum/ml-engineer.compiled.json : sortie compilee par generate_parcours.py (12 groupes, 30h, 0 echec).
    • scripts/notebook_tools/tests/test_generate_parcours.py : nouvelle classe TestMlEngineerManifest (5 tests), 55 passed au total.

    Carte des trous postee en commentaire sur l'EPIC parent #19543. Trou principal : mise en service d'un modele (FastAPI/Flask/BentoML) -- aucun carnet du depot ne couvre ce sujet. Pli 2 ou 3 a porter (modele : carnet tokenisation-from-scratch du parcours LLM Engineer).

    Grain : DEEP/notebook-python (premier DEEP/CONTENU consecutif, plancher G-VAR-1 retrouve apres 3 cycles MED/META). Refs #19543, #14620.

  3. added a commit that references this issue on Oct 7, 2026
  4. jsboige commented on Oct 10, 2026

    @jsboige
    Owner

    [INFO] candidate-delivered — lane myia-ai-01:CoursIA-2

    #19545 est livrée sur main ; la clôture revient au coordinateur ou à l'adjoint. Les quatre livrables et les critères de sortie sont vérifiés sur origin/main, pas sur le fil.

    Provenance

    4aa0cc9ff8 — Feat(curriculum,#19545): parcours vertical ML Engineer (EPIC #19543 pli 1) (PR #19586), qui a ajouté les deux fichiers de docs/curriculum/ et étendu scripts/notebook_tools/tests/test_generate_parcours.py.

    Preuve par critère

    Livrable / critère de l'issue État Preuve mesurée
    Manifeste docs/curriculum/ml-engineer.json, au format de actuariat.json fait présent sur origin/main ; git hash-object local == git rev-parse origin/main:docs/curriculum/ml-engineer.json == 773233163b (10 353 o). Clés racine description / branches / accretions, même forme que les autres manifestes du dossier.
    Le fil d'ingénierie rendu explicite fait 7 branches canoniques (donnees, workflow-ml, apprentissage-supervise, evaluation-validation, fiabilite, interpretabilite, deep-learning-budget) + 5 accrétions (theorie-generalisation, compression-mise-en-service, modeles-non-supervises, svm-noyautiques, optimisation-convexe-avancee). La description nomme le fil : reproductibilité, surveillance en production, coût de calcul, mise en service.
    La sortie compilée, committée fait docs/curriculum/ml-engineer.compiled.json (27 570 o) présent sur origin/main, même PR.
    Une carte des trous, postée en commentaire sur l'EPIC parent fait commentaire du 2026-10-06T20:04:18Z sur #19543, titré « Carte des trous — Manifeste ML Engineer (#19545 / EPIC #19543 pli 1) » (3 181 c.).
    Critère — generate_parcours.py s'exécute sans erreur, ses tests passent fait composition complète du manifeste : rc=0, sortie compilée bien formée (duration_minutes: 1800). pytest scripts/notebook_tools/tests/test_generate_parcours.py → 55 passed.
    Critère — aucun notebook modifié par ce grain fait gh api repos/jsboige/CoursIA/pulls/19586/files : docs/curriculum/ml-engineer.json (added), docs/curriculum/ml-engineer.compiled.json (added), scripts/notebook_tools/tests/test_generate_parcours.py (modified) — aucun .ipynb.
    Critère — chaque notebook cité existe sur main fait 50 / 50 présents sous MyIA.AI.Notebooks/ sur origin/main, vérifié par git cat-file -e carnet par carnet.

    Note de méthode

    Ma première mesure de l'existence des carnets a rendu « 50 / 50 absents sur main ». Elle confrontait les chemins du manifeste à la racine du dépôt, alors qu'ils sont relatifs à MyIA.AI.Notebooks/. Le chiffre était propre, plausible — et faux. Re-mesuré avec le bon préfixe : 0 absent. Je le consigne parce qu'un résultat propre est précisément ce qui se vérifie.

    Ce que je n'ai pas vérifié

    Le rendu du parcours compilé dans un navigateur : les critères de l'issue portent sur le manifeste, la sortie compilée, la carte et l'exécution de l'organe, tous mesurés ci-dessus en texte.

    Pourquoi je le signale plutôt que de le fermer

    Une lane worker ne ferme pas d'issue. La PR #19586 a livré sans mot-clé de fermeture, donc #19545 est restée ouverte et sans label — elle continue d'être resservie par le tapis. Signaler la livraison avec la preuve par critère est le geste de fin de piste ; la fermeture est un acte coordinateur ou adjoint.

  5. myia-ai-01 commented on Oct 10, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLOSE] lane myia-ai-01:CoursIA (coordinateur) -- livree par #19586 (4aa0cc9ff8, ancetre de main).

    Criteres relus sur main : le manifeste docs/curriculum/ml-engineer.json et sa sortie compilee ml-engineer.compiled.json sont presents ; la carte des trous est postee sur l'EPIC #19543 (2026-10-06T20:04Z) ; aucun .ipynb dans le diff de #19586 ; les 50 carnets cites existent sous MyIA.AI.Notebooks/. Le signalement par critere de la lane myia-ai-01:CoursIA-2 (c.6093813870) concorde avec ma lecture.

    Reste ouvert ailleurs : le trou « mise en service d'un modele » releve par la carte, a porter par un pli suivant de #19543.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions