diff --git a/.nojekyll b/.nojekyll index 2a91309..60fa2bc 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -38eef5a5 \ No newline at end of file +2fc7aa5b \ No newline at end of file diff --git a/I-Accompagnement/0_Intro.html b/I-Accompagnement/0_Intro.html index 31f638e..573bd4e 100644 --- a/I-Accompagnement/0_Intro.html +++ b/I-Accompagnement/0_Intro.html @@ -273,7 +273,7 @@

Les Large Language Models sont des algorithmes d’intelligence artificielle conçus pour exploiter des documents non structurés (corpus de textes). Ils permettent d’en extraire des informations utiles ou de générer de nouvelles informations à partir de cette base documentaires (par exemple : répondre à des questions, résumer un texte, traduire, etc.).

Représentation du corpus de documents sous forme de matrice

-

Dans ce contexte, les documents forment les observations statistiques considérées (équivalent aux « individus » en statistique) et leur ensemble forme un corpus (équivalent à une « population »). Dans certains cas, les documents sont découpés en paragraphes qui forment les observations statistiques. Les mots ou les chaînes de caractères extraîts des documents jouent le rôle des variables.

+

Dans ce contexte, les documents forment les observations statistiques considérées (équivalent aux « individus » en analyse de données) et leur ensemble forme un corpus (équivalent à une « population »). Dans certains cas, les documents sont découpés en paragraphes qui forment les observations statistiques. Les mots ou les chaînes de caractères extraîts des documents jouent le rôle des variables.

Pour analyser un corpus, chaque document est représenté sous forme d’un vecteur et le corpus entier sous forme d’une matrice, où les lignes correspondent aux et les colonnes représentent les mots ou les chaînes de caractères.

diff --git a/I-Accompagnement/1_cas_usage.html b/I-Accompagnement/1_cas_usage.html index f864d99..4f4ad7c 100644 --- a/I-Accompagnement/1_cas_usage.html +++ b/I-Accompagnement/1_cas_usage.html @@ -254,7 +254,7 @@

On this page

@@ -294,8 +294,8 @@

PARTIE I. Accompagnement au changement

Les cas d’usages des LLMs sont variés et avant de se lancer et innover grâce aux LLMs, il est nécessaire de bien identifier le besoin qui amène l’utilisation d’un LLM. Pour quoi faire ? Pour quels usages ? Est-ce pour de la génération de texte ? Pour de la classification ? ou pour des interactions conversationnelles ? L’objectif de ce chapitre est d’accompagner la réflexion autour de l’identification du besoin et de la collecte des données, avec les différents types de cas d’usages impliquant des LLMs.

Au sein des administrations, les cas d’usage de LLM ci-dessous sont en cours d’expérimentation, soit en production.

-
-

A. Cas d’usage

+
+

Cas d’usage

Des LLM peuvent être utilisés pour :

  • Labelliser / classifier les textes d’un corpus traitant d’un sujet, selon certaines catégories. Des LLMS peuvent être utilisés pour labelliser des articles de presse traitant de décisions de politique monétaire, selon les catégories « décision attendue », « décision surprenante », « ne sait pas ». Ils peuvent également classer des documents de recherche clinique selon différentes thématiques et disciplines, tout en permettant une recherche sémantique avancée. Ils peuvent aussi permettre de classer des accords d’entreprise, publiés sur LégiFrance. Ces accords peuvent concerner plusieurs thématiques (télétravail, compte épargne temps, droit à la deconnexion).Ces thématiques sont déclarés par les entreprises et sont éventuellement corrigées par la Direction Générale du Travail.Le besoin est alors de détecter automatiquement les thématiques à la lecture de l’accord. Un jeu de données est disponible à l’adresse suivante : accords_publics_xx_to_2022_themes_et_texte.parquet
  • diff --git a/I-Accompagnement/3_Impacts.html b/I-Accompagnement/3_Impacts.html index 40354fe..9a830f4 100644 --- a/I-Accompagnement/3_Impacts.html +++ b/I-Accompagnement/3_Impacts.html @@ -256,9 +256,9 @@

    On this page

    @@ -299,8 +299,8 @@

    PARTIE I. Accompagnement au changement

    Impacts

    -
    -

    a. Environnementaux

    +
    +

    Impacts environnementaux

    Le numérique est responsable de 2,5% de l’empreinte carbone de la France (17,2 Mt de CO2e & 20 millions de tonnes de déchets) selon l’étude ARCEP & ADEME de 2023. Par contre, il n’existe aucun référentiel à ce jour pour mesurer l’impact environnemental des projets d’intelligence artificielle. À titre d’exemple, les émissions liées à l’entraînement de GPT-3 sont estimées à 552 tonnes de CO2eq [1] et son utilisation en janvier 2023 représenterait 10 113 tonnes de CO2eq [2]. Les ressources en eau, métaux et d’autres matériaux pour la fabrication et opération des infrastructures sont également conséquents.

    Afin de permettre aux acteurs du numérique d’évaluer l’impact environnemental de leurs projets d’intelligence artificielle, et de communiquer sur le caractère frugal de ces derniers, l’Ecolab du MTECT prépare avec l’AFNOR un document de référence, qui devra être disponible en juillet.

    À l’heure actuelle, pour estimer la consommation énergétique et les émissions de CO2 liées à l’exécution du code, les data-scientists peuvent utiliser la librairie CodeCarbon, à mettre en place avant l’usage, et/ou Green Algorithms, qui peut être utilisé pour estimer un usage futur ou passé.

    @@ -308,15 +308,15 @@

    a. Environnementaux[1] https://arxiv.org/pdf/2104.10350.pdf

    [2] Data For Good - Livre Blanc de l’IA Générative

    -
    -

    b. Légaux

    +
    +

    Impacts légaux

    La sécurité des données personnelles et des modèles est un enjeu considérable, que ce soit du point de vue personnel ou à l’échelle de l’administration. Par exemple, quand les modèles ne sont pas auto-hébergés, les entreprises qui les fournissent ont accès aux conversations tenus avec les chatbots. De plus ces données sont réutilisées pour l’entraînement et peuvent ressortir lors de conversations avec d’autres utilisateurs.

    La CNIL propose une série de recommandations concenrant le développement de système d’IA impliquant un traitement des données personnelles, notamment en insistant sur la définition des finalités du traitement et sur prise en compte de la base légale du RGPD qui autorise à traiter des données personnelles. Dans le cas d’une administration publique, cette base légale pourra être par exemple selon les cas l’obligation légale, la mission d’intérêt public ou l’intérêt légitime.

    Au niveau européen, le règlement (UE) 2024/1689 du Parlement européen et du Conseil du 13 juin 2024 établissant des règles harmonisées concernant l’intelligence artificielle ou “AI Act” est le premier acte législatif européen sur l’IA. Il établit notamment des règles harmonisées concernant la mise sur le marché, mise en service et utilisation de systèmes d’IA dans l’UE, avec l’interdiction de certaines pratiques, comme la notation sociale, l’évaluation des risques de commettre des infractions ou la création de bases de données de reconnaissance faciale non ciblées. Une gradation est déterminée selon le niveau de risque, avec des systèmes d’IA à faible ou moyen risque, des systèmes à haut risque, associés à des exigences spécifiques, par exemple lorsqu’ils traitent des données personnelles, et des pratiques interdites.

    Pour aller plus loin : - Guide de la CNIL - Résumé haut niveau de l’AI Act

    -
    -

    c. Sécurité

    +
    +

    Sécurité

    En plus de la sécurisation commune aux applications produites par l’administration, certains sujets sont spécifiques aux modèles d’IA. L’ANSSI a écrit à ce sujet un guide de recommandations de sécurité pour sensibiliser aux risques et promouvoir les bonnes pratiques lors de la création et de la mise en production d’applications comportant des modèles d’IA générative.

    Trois catégories d’attaque spécifiques au système d’IA générative sont identifiées :

      diff --git a/II-Developpements/4_Evaluations.html b/II-Developpements/4_Evaluations.html index 736472f..3a04a67 100644 --- a/II-Developpements/4_Evaluations.html +++ b/II-Developpements/4_Evaluations.html @@ -254,14 +254,14 @@

      On this page

      @@ -300,10 +300,10 @@

      PARTIE II. Développements autour des LLMs (pour les data scie -
      -

      IV. Évaluations d’un modèle

      +
      +

      Évaluations d’un modèle

      -

      1. Objectif

      +

      Objectif

      Tous les LLM visent le même objectif : maîtriser le langage naturel et par là même, égaler l’humain dans des tâches telles que le résumé, la traduction, la reconnaissance des entités nommées, etc.

      Cependant, tous les LLM souffrent des mêmes défauts, de façon plus ou moins prononcée:

      * Très grande sensibilité du modèle au prompt utilisé 
      @@ -314,7 +314,7 @@ 

      1. Objectif

      Si de nombreux bancs d’essai existent aujourd’hui, permettant de distinguer certains LLM, il ne faut pas oublier que de bonnes performances dans un banc d’essai ne sont pas suffisantes, et qu’il est primordial de mettre en place un système d’évaluation quasi temps réél du LLM une fois en production.

      -

      2. Quelques concepts à connaître

      +

      Quelques concepts à connaître

      a) Scenario

      Un scénario est un ensemble de conditions dans lesquelles la performance du LLM est évaluée. Il s’agit par exemple de

        @@ -354,7 +354,7 @@

        2. Quelque

      -

      3 Datasets

      +

      Datasets

      Les performances des modèles peuvent être évaluées qu’en comparaison avec les connaissances existantes. Pour ce faire, il est nécessaire de disposer d’ensembles de données de référence dont les résultats sont connus et vérifiés. Au cours des dernières années, de tels ensembles de données ont été collectés pour un certain nombre d’applications. Pour évaluer les LLM, il existe des “benchmark datasets” qui peuvent être utilisés pour entraîner et pour tester des modèles.

      -

      4 Evaluation de modèles LLM vs. Evaluation de systèmes LLM

      +

      Evaluation de modèles LLM vs. Evaluation de systèmes LLM

      L’expression évaluation de LLM peut recouvrir différentes pratiques et différents objectifs. On doit ainsi distinguer l’évaluations de modèles LLM de l’évaluations de systèmes LLM. Les évaluations de modèles LLM s’intéressent aux performances globales. Les entreprises/centres de recherche qui lance leurs LLM ont besoin de quantifier leur efficacité sur un ensemble de tâches différentes.

      Il existe de nombreux benchmarks qui permettent d’illustrer les performances des modèles sur des aspects précis, comme HellaSwag (qui évalue la capacité d’un LLM à compléter une phrase et faire preuve de bon sens), TruthfulQA (qui mesure la véracité des réponses du modèle) et MMLU (qui mesure la capacité de compréhension et de résolution de problèmes ).

      @@ -404,7 +404,7 @@

      -

      4.1 Détails des métriques utilisées pour l’évaluation de modèles

      +

      Détails des métriques utilisées pour l’évaluation de modèles

      Il n’existe pas de réponse simple à la question de savoir quelles métriques utiliser pour évaluer son système LLM. Cela dépendra du type de tâche, de la population cible, de la nature des données, des ressources materielles disponibles, etc Traditionnellement, dans le domaine de l’apprentissage machine, on évalue un modèle en se dotant d’un ensemble annoté d’entrées/sorties attendues, et on compare ensuite la distance entre la sortie obtenue et la sortie attendue. Dans le cas de la classification, on peut par exemple mesurer le taux de bonnes réponses.

      La difficulté de l’évaluation en IA générative réside dans le fait que nous ne disposons généralement pas de valeur de référence à laquelle comparer la sortie du modèle. Même dans les cas où l’on disposerait d’un exemple de bonne réponse, les données de sortie étant non structurées (texte en language naturel), il est difficile de comparer la distance entre deux objets.

      On reprend ici l’idée de classer les métriques en fonction de leur approche du problème, c’est à dire selon la façon dont elles évaluent la pertinence de la réponse obtenue. Certaines techniques supposent que l’on dispose d’une réponse de référence, et la question est alors de savoir comment elles évaluent la distance entre la réponse obtenue et une réponse de référence. D’autres techniques plus récentes ne font pas cette hypothèse, et cherchent à évaluer la qualité de la réponse dans l’absolu.

      @@ -433,7 +433,7 @@

      -

      4.2 Détails des métriques utilisées pour l’évaluation de systèmes

      +

      Détails des métriques utilisées pour l’évaluation de systèmes

      @@ -588,7 +588,7 @@

      -

      5 Librairies et Frameworks

      +

      Librairies et Frameworks

      A ce jour, il existe des nombreux outils et librairies pour effectuer l’évaluation des modèles LLM. Chaque de ces librairies et frameworks est taillée pour une utilisation de modèle concrète avec des exemples pour vous aider à démarrer l’évaluation de votre modèle.

      Hugging Face Transformers fournissent des API et des outils pour évaluer des modèles pré-entraînés sur différentes tâches en utilisant des métriques telles que la précision, le score F1 ou encore le score BLEU. Ils prennent en charge aussi l’intégration les données de la bibliothèque Hugging Face Datasets. https://huggingface.co/docs/transformers/index

      Scikit-learn, c’est un projet Open source avec des librairies principalement axées sur l’apprentissage automatique traditionnel. Elle comprend de nombreux outils de métriques et utilitaires qui peuvent être utilisés pour évaluer les modèles de langage. https://scikit-learn.org/stable/

      @@ -602,7 +602,7 @@

      5 Librairies et F
      -

      6 Méthodologie

      +

      Méthodologie

      Un arbre de décision pour l’évaluation des LLM peut vous aider à guider votre processus d’évaluation en fonction de critères et d’objectifs spécifiques de votre modèle et son évaluation. Voici un exemple de tel arbre de décision qui pourrait vous aider en cas de doute. v1

      diff --git a/IV-Exemples/2_Classification_accords_entreprise.html b/IV-Exemples/2_Classification_accords_entreprise.html index 9f10cbe..5d38f2f 100644 --- a/IV-Exemples/2_Classification_accords_entreprise.html +++ b/IV-Exemples/2_Classification_accords_entreprise.html @@ -347,7 +347,7 @@

      Récupération

      Les données sont disponibles sur Légifrance. Le stock des textes est également publié par le FTP de la DILA et les thématiques déclarées sont à la fois dans les métadonnées XML publié conjointement avec les textes, ou retrouvables sur Légifrance.

      Pour des raisons pratiques, nous travaillerons avec une photographie du stock au 1er semestre 2024 et sur un échantillon des 1000 textes d’accords, convertis au format parquet.

      Ces données comportent le numéro de dossier de l’accord, identifiant unique, puis le texte et les thématiques déclarées, et enfin suivies des thématiques une à une :

      -
      +
      @@ -416,7 +416,7 @@

      Lecture de données

      Nous allons dans cet exemple, extraire 10 textes pour des raisons de rapidité :

      -
      +
      import json
       import numpy as np
       import pandas as pd
      @@ -445,7 +445,7 @@ 

      Lecture de données

      Vectoriser nos textes avec ChromaDB

      Pour vectoriser nos textes, nous utilisons ChromaDB qui s’intègre avec Langchain. Nous allons découper en morceau des 3000 caractères à chaque saut à ligne, ce qui correspond à un paragraphe. Les morceaux de textes, ici paragraphes, sont stockés dans une boutique de vecteur avec le numéro de dossier et le numéro de paragraphe en métadonnées.

      -
      +
      text_splitter = CharacterTextSplitter(
           separator="\n\n",
           chunk_size=3000,
      @@ -472,7 +472,7 @@ 

      Vector

      Interroger un LLM en mode API

      Pour interroger le LLM, nous construisons une classe qui permet de générer les requêtes et de traiter les réponses :

      -
      +
      MODEL="llama3.1"
       
       
      @@ -493,7 +493,7 @@ 

      Interroger u llm = LocalOllamaLLM(api_url="http://127.0.0.1:11434")

      Nous définissons également un prompt de base, améliorable par la suite, et une chaîne LangChain entre le prompt et le LLM :

      -
      +
      system_prompt = (
           " Répondez à la question posée "
           " Utilisez le contexte (sélection des meilleurs paragraphes liés à la question) donné pour répondre à la question "
      @@ -510,7 +510,7 @@ 

      Interroger u question_answer_chain = create_stuff_documents_chain(llm, prompt)

      Nous définissons une fonction pour effectuer le RAG, avec à la fois la recherche de similarité par rapport à la question, et la soumission augmentée pour une réponse du LLM :

      -
      +
      def search_and_invoke_llm(vector_store,index,query,k=5):
           if k==0:
               print(f"bug with {index}")
      @@ -535,7 +535,7 @@ 

      Interroger u

      Automatiser la classification sur l’ensemble des thématiques

      Nous automatisons ici la classification sous forme de classification binaire pour chaque thématique, en posant une question “oui ou non” et en inférant oui si la réponse commence par oui, non sinon.

      -
      +
      THEMATIQUES={
           "accord_methode_penibilite":"Accords de méthode (pénibilité)",
       "accord_methode_pse":"Accords de méthode (PSE)",
      @@ -626,7 +626,7 @@ 

      Evaluation

      Nous évaluons les performances de cette solution simple, en affichant la matrice de confusion et les différentes métriques, pour chaque thématique :

      -
      +
      import numpy as np
       from sklearn.metrics import confusion_matrix
       from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, classification_report
      diff --git a/search.json b/search.json
      index 3071a93..5086bc4 100644
      --- a/search.json
      +++ b/search.json
      @@ -110,8 +110,8 @@
           ]
         },
         {
      -    "objectID": "II-Developpements/4_Evaluations.html#iv.-évaluations-dun-modèle",
      -    "href": "II-Developpements/4_Evaluations.html#iv.-évaluations-dun-modèle",
      +    "objectID": "II-Developpements/4_Evaluations.html#évaluations-dun-modèle",
      +    "href": "II-Developpements/4_Evaluations.html#évaluations-dun-modèle",
           "title": "PARTIE II. Développements autour des LLMs (pour les data scientists)",
           "section": "",
           "text": "Tous les LLM visent le même objectif : maîtriser le langage naturel et par là même, égaler l’humain dans des tâches telles que le résumé, la traduction, la reconnaissance des entités nommées, etc.\nCependant, tous les LLM souffrent des mêmes défauts, de façon plus ou moins prononcée:\n* Très grande sensibilité du modèle au prompt utilisé \n* Les affirmations produites par les LLM ne sont pas toujours factuellement correctes (on parle d'hallucinations)\n* Les LLM peuvent avoir des comportements inattendus et dangereux suite à l'usage de prompts malveillants, de données \nd'entraînement biaisées, au recours à des agents trop permissifs, etc.\nOn souhaite donc se doter d’un cadre de comparaison qui permette d’affirmer que tel LLM est plus performant ou plus fiable que tel autre. On devra recourir à différentes métriques pour mesurer differents aspects du problème (fiabilité, sécurité, absence de biais…)\nSi de nombreux bancs d’essai existent aujourd’hui, permettant de distinguer certains LLM, il ne faut pas oublier que de bonnes performances dans un banc d’essai ne sont pas suffisantes, et qu’il est primordial de mettre en place un système d’évaluation quasi temps réél du LLM une fois en production.\n\n\n\na) Scenario\nUn scénario est un ensemble de conditions dans lesquelles la performance du LLM est évaluée. Il s’agit par exemple de\n\nRéponse aux questions\nRaisonnement\nTraduction\nGénération de texte\n…\n\nb) Tâche\nUne tâche constitue une forme plus granulaire d’un scénario. Elle conditionne plus spécifiquement sur quelle base le LLM est évalué. Une tâche peut être une composition de plusieurs sous-tâches.\n\nCombinaisons de sous-tâches de difficulté variée\n\nPar exemple, l’arithmétique peut être considérée comme une tâche constituée des sous-tâches arithmétique niveau 1er degré, arithmétique niveau collège, arithmétique niveau lycée, etc.\n\nCombinaison de sous-tâche de domaines variés\n\nLa tâche de type QCM peut être vue comme la combinaison de QCM histoire, QCM anglais, QCM logique, etc.\nc) Métrique\nUne métrique est une mesure qualitative utilisée pour évaluer la performance d’un modèle de langage dans certaines tâches/scénarios. Une métrique peut être :\n\nune fonction statistique/mathématique déterministe simple (par exemple, précision ou rappel)\nun score produit par un réseau neuronal ou un modèle de Machine Learning (ex. : score BERT)\nun score généré à l’aide d’un LLM (ex. : G-Eval)\n\nNotons que dans le dernier cas, évaluer un LLM à l’aide d’un LLM peut donner l’impression du serpent qui se mord la queue. Cependant, ce type de ‘dépendances circulaires’ existe couramment et est bien acceptée dans d’autres dommaines. Lors d’un entretien d’embauche par exemple, l’intellect humain évalue le potentiel d’un autre être humain.\nd) Benchmarks\nLes benchmarks sont des collections standardisées de tests utilisées pour évaluer les LLM sur une tâche ou un scénario donné. On trouvera par exemple :\n\nSQuAD pour le scénario de réponse aux questions de l’utilisateur à partir d’extraction de parties d’un corpus (En anglais)\nPIAF semblable à SQuAD mais en français\nIMDB pour l’analyse des sentiments\n…\n\nA titre d’exemple, l’image ci-dessous présente le corpus PIAF. Il est composé de paragraphes issus d’articles de Wikipedia, et d’une liste de questions portant sur ces paragraphes.\n\n\n\n\nLes performances des modèles peuvent être évaluées qu’en comparaison avec les connaissances existantes. Pour ce faire, il est nécessaire de disposer d’ensembles de données de référence dont les résultats sont connus et vérifiés. Au cours des dernières années, de tels ensembles de données ont été collectés pour un certain nombre d’applications. Pour évaluer les LLM, il existe des “benchmark datasets” qui peuvent être utilisés pour entraîner et pour tester des modèles.\n\nCoQA (Conversational Question Answering) est un set de données avec plus de 127 000 questions-réponses dans 7 domaines sont 5 sont publiques. https://stanfordnlp.github.io/coqa/ Pour évaluer votre modèle, il suffit de lancer ce script\n\npython evaluate-v1.0.py --data-file <chemin_vers_dev-v1.0.json> --pred-file <chemin_vers_predictions>\n\nGLUE (General Language Understanding Evaluation) https://gluebenchmark.com/ et  SuperGLUE** https://super.gluebenchmark.com/ sont des collections des tâches pour évaluer la compréhension du langage naturel. jiant est un PyTorch toolkit qui permet faire cette évaluation. Installez avec pip :\n\npip install jiant\nIci, un exemple d’affinage du modèle RoBERTa sur les données MRPC :\nfrom jiant.proj.simple import runscript as run\nimport jiant.scripts.download_data.runscript as downloader\n\nEXP_DIR = \"/path/to/exp\"\n\n# Télécharger les données\ndownloader.download_data([\"mrpc\"], f\"{EXP_DIR}/tasks\")\n\n# Configurer les arguments pour l'API simple\nargs = run.RunConfiguration(\n   run_name=\"simple\",\n   exp_dir=EXP_DIR,\n   data_dir=f\"{EXP_DIR}/tasks\",\n   hf_pretrained_model_name_or_path=\"roberta-base\",\n   tasks=\"mrpc\",\n   train_batch_size=16,\n   num_train_epochs=3\n)\n\n# Lancer\nrun.run_simple(args)\n\nSQuAD (Stanford Question Answering Dataset) est un set de données pour évaluer la compréhension de la lecture. Il est constitué des questions basées sur un ensemble d’articles de Wikipédia avec 100000 questions avec des réponses, et 50000 questions qui ne peuvent pas être répondues. Les modèles doivent Pour évaluer votre modèle, il suffit de lancer ce script\n\npython evaluate-v2.0.py <chemin_vers_dev-v2.0> <chemin_vers_predictions>\nPlus d’informations sur Git : https://github.com/nyu-mll/jiant\nhttps://github.com/leobeeson/llm_benchmarks.\n\n\n\nL’expression évaluation de LLM peut recouvrir différentes pratiques et différents objectifs. On doit ainsi distinguer l’évaluations de modèles LLM de l’évaluations de systèmes LLM. Les évaluations de modèles LLM s’intéressent aux performances globales. Les entreprises/centres de recherche qui lance leurs LLM ont besoin de quantifier leur efficacité sur un ensemble de tâches différentes.\nIl existe de nombreux benchmarks qui permettent d’illustrer les performances des modèles sur des aspects précis, comme HellaSwag (qui évalue la capacité d’un LLM à compléter une phrase et faire preuve de bon sens), TruthfulQA (qui mesure la véracité des réponses du modèle) et MMLU (qui mesure la capacité de compréhension et de résolution de problèmes ).\n\n(Source https://towardsdatascience.com/llm-evals-setup-and-the-metrics-that-matter-2cc27e8e35f3)\nL’évaluation de systèmes LLM couvre l’évaluation de tous les composants de la chaîne, pour un modèle donné. En effet, un modèle de LLM est rarement utilisé seul. A minima, il faut lui fournir un prompt, et celui-ci aura un fort impact sur le résultat du modèle. On pourra s’intéresser par exemple à l’effet du prompt sur la politesse de la réponse, le style, le niveau de détail, etc. Un modèle peut également recevoir un contexte (ensemble de documents, tableaux, images…) et son influence doit également être mesurée. On pourrait par exemple s’apercevoir que le modèle produit des résumés de qualité quand on lui fournit des documents littéraires, mais pas des documents techniques.\n\n(Source https://towardsdatascience.com/llm-evals-setup-and-the-metrics-that-matter-2cc27e8e35f3)\nEn pratique, la comparaison des modèles sur des benchmarks est réalisée par les grands fournisseurs de LLM (OpenAI, Facebook, Google, etc) ou par la communauté universitaire. L’évaluation de modèle reste cependant intéressante pour mesurer le gain de performance apporté par un fine-tuning sur un corpus interne par exemple. Cependant, ce sont les évaluations de systèmes LLM qui intéresseront la majorité des équipes souhaitant déployer un LLM dans leur administration.\n\n\nIl n’existe pas de réponse simple à la question de savoir quelles métriques utiliser pour évaluer son système LLM. Cela dépendra du type de tâche, de la population cible, de la nature des données, des ressources materielles disponibles, etc Traditionnellement, dans le domaine de l’apprentissage machine, on évalue un modèle en se dotant d’un ensemble annoté d’entrées/sorties attendues, et on compare ensuite la distance entre la sortie obtenue et la sortie attendue. Dans le cas de la classification, on peut par exemple mesurer le taux de bonnes réponses.\nLa difficulté de l’évaluation en IA générative réside dans le fait que nous ne disposons généralement pas de valeur de référence à laquelle comparer la sortie du modèle. Même dans les cas où l’on disposerait d’un exemple de bonne réponse, les données de sortie étant non structurées (texte en language naturel), il est difficile de comparer la distance entre deux objets.\nOn reprend ici l’idée de classer les métriques en fonction de leur approche du problème, c’est à dire selon la façon dont elles évaluent la pertinence de la réponse obtenue. Certaines techniques supposent que l’on dispose d’une réponse de référence, et la question est alors de savoir comment elles évaluent la distance entre la réponse obtenue et une réponse de référence. D’autres techniques plus récentes ne font pas cette hypothèse, et cherchent à évaluer la qualité de la réponse dans l’absolu. \nOn ne détaillera pas toutes les métriques dans le cadre de ce guide, il existe pléthore de documentation disponible sur le sujet (cf. Bibliographie en fin de guide). L’objectif ici est plutôt de fournir une grille d’analyse.\nMétriques traditionnelles du machine learning\nDans les métriques classiques, on trouve des métriques générales de classification qui sont couramment utilisées en apprentissage machine et ne sont pas propres aux données textuelles (Accuracy, Precision, Recall, F1…). Ces métriques restent pertinentes pour certaines tâches confiées aux LLM, typiquement l’extraction d’entités nommées. Parmi les classiques, il existe également des métriques spécifiques au texte, qui reposent sur le principe du recouvrement maximal entre les phrases prédites et les phrases de référence. Le recouvrement peut être calculé au niveau des mots, ou au niveau des lettres. Ces méthodes ont été critiquées pour leur faible corrélation avec le jugement humain, ce qui est n’est pas étonnant dans la mesure où elles ne s’intéressent qu’a la forme de surface du texte.\nIntroduction de critères sémantiques\nLes métriques basées sur le Deep Learning permettent de palier ce problème en introduisant des critères sémantiques. On distingue en premier lieu les métriques qui ont besoin d’une valeur de référence et les autres.\nDétenir une valeur de référence peut représenter une grosse contrainte. Tout d’abord, ce n’est pas toujours pertinent; si on demande au LLM d’écrire un poème sur la mer par exemple, il serait vain de chercher à le comparer à un autre poème. Deuxièmement, les textes de références ne sont pas toujours de meilleure qualité que les textes générés par des LLM. Dans le cas du résumé automatique par exemple, [Fabbri, 2020] illustre les problèmes du dataset CNN/DailyMail [Hermann, 2015] dans lequel les résumés de référence sont pollués par des références et click-baits vers d’autres articles, ou souffrent d’un manque de cohérence suite à la concaténation de résumés sous forme de liste à puces. Ces résumés, évalués par des annotateurs humains, obtiennent parfois de moins bons scores que des résumés générés par LLM. Enfin, même si l’on dispose de références de qualité, il faut s’assurer que la distribution des documents est la même que celle qui sera utilisée en production. Si l’on entraîne un modèle à résumer des articles de presse par exemple, il ne sera pas nécessairement performants sur des documents d’une autre nature. Dès lors se pose la question de comment constituer un dataset d’évaluation pour un modèle de résumé à vocation généraliste.\nToujours est-il que si l’on dispose de valeurs de référence, on peut recourir à des métriques basés sur les embeddings ou des métriques basées sur des modèles fine-tunés.\nLes métriques qui calculent la distance entre embeddings sont parmi les moins fines, mais leur faible complexité peut les rendre intéressantes. Elles exigent toutes des réponse de référence. On peut citer BERTScore ou MoverScore.\nLes métriques basées sur des LLM utilisent un LLM qui joue le rôle de juge pour évaluer les sorties d’un LLM. Elles peuvent fonctionner avec ou sans références, selon des modalités variées (scoring, ranking, classification, réponse à des question fermées, etc.) Ces techniques nécessitent en général de décrire:\n\nla tâche confiée au LLM initial (résumé, traduction, …)\nles aspects à évaluer (fluidité, factualité, citation des sources…)\neventuellement, les étapes de raisonnement permettant de déterminer le respect des critères\ndonner quelques exemples\n\nCes méthodes sont aujourd’hui à l’état de l’art pour l’évaluation des LLM, si tant est que l’on utilise des LLM propriétaires comme juge (Constat valable pour le français du moins). L’inconvénient est qu’elles peuvent vite devenir coûteuses, et que le résultat n’est pas forcément reproductible.\nSi notre use case n’est pas compatible avec l’usage d’un LLM propriétaire, on peut alors recourir aux métriques basées sur le fine-tuning de LLM de taille moyenne, open-source. Il peut être nécessaire de fine-tuner encore les modèles sur vos propres corpus. De plus, certains de ces modèles ne sont capables de répondre qu’à la question pour laquelle ils ont été entraînés. Par exemple, le modèle Lynx (Patronus AI ) est entraîné à détecter les hallucinations dans les environnements RAG. À partir d’un document, d’une question et d’une réponse, le modèle tente d’évaluer si la réponse est fidèle au document. En revanche, il ne peut se prononcer sur d’autres aspects. Le modèle Prometheus-Eval (LG AI Research, KAIST AI) est lui capable de répondre à des questions sur différents aspects, tant que l’utilisateur les définit explicitement dans le prompt.\n```code python\nrubric_data = { “criteria”:“Is the model proficient in applying empathy and emotional intelligence to its responses when the user conveys emotions or faces challenging circumstances?”, “score1_description”:“The model neglects to identify or react to the emotional tone of user inputs, giving responses that are unfitting or emotionally insensitive.”, “score2_description”:“The model intermittently acknowledges emotional context but often responds without sufficient empathy or emotional understanding.”, “score3_description”:“The model typically identifies emotional context and attempts to answer with empathy, yet the responses might sometimes miss the point or lack emotional profundity.”, “score4_description”:“The model consistently identifies and reacts suitably to emotional context, providing empathetic responses. Nonetheless, there may still be sporadic oversights or deficiencies in emotional depth.”, “score5_description”:“The model excels in identifying emotional context and persistently offers empathetic, emotionally aware responses that demonstrate a profound comprehension of the user’s emotions or situation.” }\n```\nQAG (Question Answer Generation) Score est un évaluateur qui exploite les forte capacités de raisonnement des LLM pour évaluer de manière fiable les résultats des LLM. Ici, on utilise les réponses à des questions fermées (générées ou prédéfinies) pour calculer un score final. Cette approche est relativement fiable parce qu’elle n’utilise pas les LLM pour générer directement les scores. Par exemple, si vous voulez calculer un score de fidélité (qui mesure si une sortie du LLM a été hallucinée ou non), vous devez :\n* Utiliser un LLM pour extraire toutes les affirmations faites dans une sortie LLM. * Convertir ces affirmations en question. * Pour chaque question, demandez au LLM si la réponse de référence concorde avec l’affirmation faite.\nEn novembre 2024, on constate néanmoins que les LLM open-source ne sont pas encore assez puissants pour mener à bien la tâche de découpage du texte en affirmations élémentaires. Si les données à évaluer ne sont pas sensibles, nous conseillons, pour l’heure, de privilégier un LLM propriétaire.\n\n\n\n\n\n\n\n\n\n\n\nCatégorie\nMétriques\nDétails\n\n\n\n\nMétriques d’engagement des utilisateurs et généralités\n\n\n\n\n\nVisité\nNombre d’utilisateurs qui ont visité l’application\n\n\n\nSoumis\nNombre d’utilisateurs qui soumettent des messages\n\n\n\nRépondu\nLe LLM génère des réponses sans erreurs\n\n\n\nVu\nL’utilisateur consulte les réponses du LLM\n\n\n\nClics\nL’utilisateur clique sur la documentation référencée dans la réponse du LLM, le cas échéant\n\n\nInteraction avec l’utilisateur\n\n\n\n\n\nTaux d’acceptation\nFréquence d’acceptation des réponses du LLM par l’utilisateur\n\n\n\nConversation LLM\nNombre moyen de conversations LLM par utilisateur\n\n\n\nJours d’activité\nNombre de jours actifs d’utilisation du LLM (par utilisateur)\n\n\n\nTiming\nDurée moyenne entre les prompts et les réponses, et temps consacré à chacune\n\n\nFeedback utilisateur et rétention\n\n\n\n\n\nFeedback utilisateur\nNombre de réponses avec des commentaires positifs ou négatifs\n\n\n\nUtilisateurs actifs par période\nNombre d’utilisateurs ayant visité l’application LLM au cours d’une période donnée\n\n\n\nTaux de retour\nPourcentage d’utilisateurs qui ont utilisé cette fonction la semaine/mois précédente et qui continuent à l’utiliser cette semaine/mois.\n\n\nPerformance\n\n\n\n\n\nRequêtes par seconde (Concurrence)\n\n\n\n\nTokens par seconde\nCompte les tokens générés par seconde lors de la diffusion de la réponse LLM.\n\n\n\nDélai avant le premier rendu de jeton\n\n\n\n\nTaux d’erreur\nTaux d’erreur pour différents types d’erreurs tels que l’erreur 401, l’erreur 429.\n\n\n\nFiabilité\nLe pourcentage de demandes satisfaites par rapport au nombre total de demandes, y compris celles qui comportent des erreurs ou des échecs.\n\n\n\nLatence\nDurée moyenne du temps de traitement entre la soumission d’une requête et la réception d’une réponse.\n\n\n\nutilisation GPU/CPU\nUtilisation en termes de nombre total de tokens et nombre de code erreur 429 reçus (‘Rate limit reached for requests’ dans l’API OpenAI)\n\n\nCoûts\n\n\n\n\n\nCoût des appels LLM\nCe qui est facturé par le fournisseur du LLM si vous passez par un LLM hebergé par un tiers\n\n\n\nCoût de l’infrastucture\nCoût du stockage, énergie, si vous hébergez votre LLM\n\n\n\nCoût opérationnel\nCoût de la maintenance, du monitoring, de la mise en place des mesures de sécurité, du support, etc si vous hébergez votre LLM\n\n\n\n\n\n\n\nA ce jour, il existe des nombreux outils et librairies pour effectuer l’évaluation des modèles LLM. Chaque de ces librairies et frameworks est taillée pour une utilisation de modèle concrète avec des exemples pour vous aider à démarrer l’évaluation de votre modèle.\nHugging Face Transformers fournissent des API et des outils pour évaluer des modèles pré-entraînés sur différentes tâches en utilisant des métriques telles que la précision, le score F1 ou encore le score BLEU. Ils prennent en charge aussi l’intégration les données de la bibliothèque Hugging Face Datasets. https://huggingface.co/docs/transformers/index\nScikit-learn, c’est un projet Open source avec des librairies principalement axées sur l’apprentissage automatique traditionnel. Elle comprend de nombreux outils de métriques et utilitaires qui peuvent être utilisés pour évaluer les modèles de langage. https://scikit-learn.org/stable/\nEvalML est une bibliothèque spécifique pour l’évaluation des modèles d’apprentissage automatique, y compris les LLM. Elle fournit des métriques, des visualisations et des outils de sélection de modèles. https://evalml.alteryx.com/en/stable/\nNLTK et SpaCy - ces deux bibliothèques offrent des fonctionnalités pour le traitement du langage naturel et incluent des métriques pour évaluer des tâches telles que la tokenisation, l’analyse syntaxique et l’analyse des sentiments. https://www.nltk.org/ https://spacy.io/\nAllenNLP est une bibliothèque conçue pour construire et évaluer des modèles de NLP. Elle fournit des outils pour faciliter la mise en œuvre de mesures d’évaluation et de visualisation personnalisées. https://docs.allennlp.org/models/main/\nTransformers-Interpret Une bibliothèque qui se concentre sur l’interprétabilité des modèles, permettant de mieux comprendre les prédictions et les performances des modèles. https://pypi.org/project/transformers-interpret/0.3.0/\nLangChain est principalement destinée à la construction d’applications avec des LLM. Elle comprend des outils d’évaluation pour évaluer la performance des modèles de langage dans le contexte. https://www.langchain.com/\nOpenAI Evals est une boîte à outils d’évaluation de l’OpenAI qui fournit les outils et lignes directrices pour évaluer la performance et la sécurité de leurs modèles. https://github.com/openai/evals\nAutres sources : …\n\n\n\n\nUn arbre de décision pour l’évaluation des LLM peut vous aider à guider votre processus d’évaluation en fonction de critères et d’objectifs spécifiques de votre modèle et son évaluation. Voici un exemple de tel arbre de décision qui pourrait vous aider en cas de doute. v1",
      @@ -435,11 +435,11 @@
           ]
         },
         {
      -    "objectID": "I-Accompagnement/1_cas_usage.html#a.-cas-dusage",
      -    "href": "I-Accompagnement/1_cas_usage.html#a.-cas-dusage",
      +    "objectID": "I-Accompagnement/1_cas_usage.html#cas-dusage",
      +    "href": "I-Accompagnement/1_cas_usage.html#cas-dusage",
           "title": "PARTIE I. Accompagnement au changement",
      -    "section": "A. Cas d’usage",
      -    "text": "A. Cas d’usage\nDes LLM peuvent être utilisés pour :\n\nLabelliser / classifier les textes d’un corpus traitant d’un sujet, selon certaines catégories. Des LLMS peuvent être utilisés pour labelliser des articles de presse traitant de décisions de politique monétaire, selon les catégories « décision attendue », « décision surprenante », « ne sait pas ». Ils peuvent également classer des documents de recherche clinique selon différentes thématiques et disciplines, tout en permettant une recherche sémantique avancée. Ils peuvent aussi permettre de classer des accords d’entreprise, publiés sur LégiFrance. Ces accords peuvent concerner plusieurs thématiques (télétravail, compte épargne temps, droit à la deconnexion).Ces thématiques sont déclarés par les entreprises et sont éventuellement corrigées par la Direction Générale du Travail.Le besoin est alors de détecter automatiquement les thématiques à la lecture de l’accord. Un jeu de données est disponible à l’adresse suivante : accords_publics_xx_to_2022_themes_et_texte.parquet\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nMinistère en charge de la santé\nSIRANo\ndgos-sirano@sante.gouv.fr\nExpérimentation\n\n\nBanque de France\nÉtude de l’impact des surprises monétaires sur les taux de change\njean-charles.bricongne@banque-france.fr\nRecherche\n\n\nBanque de France\nAnticipation d’inflation\njean-charles.bricongne@banque-france.fr olivier.debandt@banque-france.fr  Thomas.RENAULT.external@banque-france.fr\nRecherche\n\n\nDares - Ministère du Travail\nAcccords d’entreprise\nTHIOUNN, Conrad (DARES) conrad.thiounn@travail.gouv.fr\n\n\n\n\n\nIdentifier les thématiques traitées dans un corpus. Par exemple, des LLMs peuvent être utilisés pour identifier les thématiques développées dans le champ Commentaire d’une enquête.\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nEnquête sur les Tendances régionales\nFarid.OUKACI@banque-france.fr  Olivier.LANTRAN@banque-france.fr\nExpérimentation\n\n\nLabIA DNUM\nLLamandement : LLM finetuné permettant d’accélerer le traitement d’amendements et projets de loi (notamment via la synthétisation des textes).\nFarid.OUKACI@banque-france.fr  Olivier.LANTRAN@banque-france.fr\nExpérimentation\n\n\n\n\nFaire une analyse de sentiment d’un corpus traitant d’une thématique. Par exemple, des LLMs peuvent être utilisés pour faire une analyse de sentiment (ex : positif, négatif ou neutre) d’une thématique émergeant d’un champ « Commentaire » d’une enquête et traitant d’une perception du climat des affaires.\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nEnquête sur les Tendances régionales\nFarid.OUKACI@banque-france.fr  Olivier.LANTRAN@banque-france.fr\nExpérimentation\n\n\n\n\nInterroger une base de documents textuels (pdf, code, etc…) (retrieval augmented generation). Les documents sont découpés en paragraphes (chunks). Les réponses aux questions posées sont générées sur la base de paragraphes idoines existant dans la base. Les paragraphes qui ont servi à l’élaboration de la réponse sont indiqués en regard de celle-ci, et peuvent être consultés.\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nChatbdf\nNicolas.THOMAZO@banque-france.fr  Guillaume.LOMBARDO@banque-france.fr  Alix.DECREMOUX@banque-france.fr\nPassage en production prévu en décembre 2025\n\n\nANFSI\nIAccueil\n daphne.pertsekos@gendarmerie.interieur.gouv.fr  jerome.laporte@gendarmerie.interieur.gouv.fr  jean-baptiste.delfau@gendarmerie.interieur.gouv.fr  malo.adler@gendarmerie.interieur.gouv.fr\nExpérimentation depuis Octobre 2024\n\n\n\n\nRequêter sur des bases de données codées en SQL : à une interrogation exprimée en langage naturel sur une base en SQL, un code en SQL servant à la requête est renvoyé. Par exemple, à l’interrogation « trouve-moi la date de naissance de l’individu I », un code SQL est renvoyé permettant d’effectuer la requête\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nText2SQL\nGuillaume.LOMBARDO@banque-france.fr\nPassage en production par la BCE en décembre 2024\n\n\n\n\nExtraire des données à partir de documents textuels Par exemple, à partir de documents réglementaires extraire 15 informations-clés et stocker celles-ci dans une base de données\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nVeridic\nGuillaume.LOMBARDO@banque-france.fr\nPassage en production prévu fin 2025\n\n\n\n\nEffectuer des synthèses de documents textuels\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nANFSI\nSynthèse de procédures judiciaires\nmalo.adler@gendarmerie.interieur.gouv.fr\nRecherche\n\n\n\n\nAider à vérifier la conformité légale de procédures administratives\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nANFSI\nConformité des procédures\nmalo.adler@gendarmerie.interieur.gouv.fr\nRecherche\n\n\n\n\nAgent conversationnel\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\n\n\n\n\n\n\n\nProjet mené par le LabIA de la DINUM - Albert github : Outils de déploiements des modèles Albert - Modèles Albert - Albert France Services : Projet à destination de France Service et visant à appuyer ses conseillers dans la réalisation de leurs missions. Ce projet se base principalement Albert github Albert hugging face\n\nPour plus de projets IA (au sens large) dans l’administration se référer au lien : https://grist.numerique.gouv.fr/o/beta-gouv-ia/9wTgwEbwqmwW/Ressources/p/1",
      +    "section": "Cas d’usage",
      +    "text": "Cas d’usage\nDes LLM peuvent être utilisés pour :\n\nLabelliser / classifier les textes d’un corpus traitant d’un sujet, selon certaines catégories. Des LLMS peuvent être utilisés pour labelliser des articles de presse traitant de décisions de politique monétaire, selon les catégories « décision attendue », « décision surprenante », « ne sait pas ». Ils peuvent également classer des documents de recherche clinique selon différentes thématiques et disciplines, tout en permettant une recherche sémantique avancée. Ils peuvent aussi permettre de classer des accords d’entreprise, publiés sur LégiFrance. Ces accords peuvent concerner plusieurs thématiques (télétravail, compte épargne temps, droit à la deconnexion).Ces thématiques sont déclarés par les entreprises et sont éventuellement corrigées par la Direction Générale du Travail.Le besoin est alors de détecter automatiquement les thématiques à la lecture de l’accord. Un jeu de données est disponible à l’adresse suivante : accords_publics_xx_to_2022_themes_et_texte.parquet\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nMinistère en charge de la santé\nSIRANo\ndgos-sirano@sante.gouv.fr\nExpérimentation\n\n\nBanque de France\nÉtude de l’impact des surprises monétaires sur les taux de change\njean-charles.bricongne@banque-france.fr\nRecherche\n\n\nBanque de France\nAnticipation d’inflation\njean-charles.bricongne@banque-france.fr olivier.debandt@banque-france.fr  Thomas.RENAULT.external@banque-france.fr\nRecherche\n\n\nDares - Ministère du Travail\nAcccords d’entreprise\nTHIOUNN, Conrad (DARES) conrad.thiounn@travail.gouv.fr\n\n\n\n\n\nIdentifier les thématiques traitées dans un corpus. Par exemple, des LLMs peuvent être utilisés pour identifier les thématiques développées dans le champ Commentaire d’une enquête.\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nEnquête sur les Tendances régionales\nFarid.OUKACI@banque-france.fr  Olivier.LANTRAN@banque-france.fr\nExpérimentation\n\n\nLabIA DNUM\nLLamandement : LLM finetuné permettant d’accélerer le traitement d’amendements et projets de loi (notamment via la synthétisation des textes).\nFarid.OUKACI@banque-france.fr  Olivier.LANTRAN@banque-france.fr\nExpérimentation\n\n\n\n\nFaire une analyse de sentiment d’un corpus traitant d’une thématique. Par exemple, des LLMs peuvent être utilisés pour faire une analyse de sentiment (ex : positif, négatif ou neutre) d’une thématique émergeant d’un champ « Commentaire » d’une enquête et traitant d’une perception du climat des affaires.\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nEnquête sur les Tendances régionales\nFarid.OUKACI@banque-france.fr  Olivier.LANTRAN@banque-france.fr\nExpérimentation\n\n\n\n\nInterroger une base de documents textuels (pdf, code, etc…) (retrieval augmented generation). Les documents sont découpés en paragraphes (chunks). Les réponses aux questions posées sont générées sur la base de paragraphes idoines existant dans la base. Les paragraphes qui ont servi à l’élaboration de la réponse sont indiqués en regard de celle-ci, et peuvent être consultés.\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nChatbdf\nNicolas.THOMAZO@banque-france.fr  Guillaume.LOMBARDO@banque-france.fr  Alix.DECREMOUX@banque-france.fr\nPassage en production prévu en décembre 2025\n\n\nANFSI\nIAccueil\n daphne.pertsekos@gendarmerie.interieur.gouv.fr  jerome.laporte@gendarmerie.interieur.gouv.fr  jean-baptiste.delfau@gendarmerie.interieur.gouv.fr  malo.adler@gendarmerie.interieur.gouv.fr\nExpérimentation depuis Octobre 2024\n\n\n\n\nRequêter sur des bases de données codées en SQL : à une interrogation exprimée en langage naturel sur une base en SQL, un code en SQL servant à la requête est renvoyé. Par exemple, à l’interrogation « trouve-moi la date de naissance de l’individu I », un code SQL est renvoyé permettant d’effectuer la requête\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nText2SQL\nGuillaume.LOMBARDO@banque-france.fr\nPassage en production par la BCE en décembre 2024\n\n\n\n\nExtraire des données à partir de documents textuels Par exemple, à partir de documents réglementaires extraire 15 informations-clés et stocker celles-ci dans une base de données\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nBanque de France\nVeridic\nGuillaume.LOMBARDO@banque-france.fr\nPassage en production prévu fin 2025\n\n\n\n\nEffectuer des synthèses de documents textuels\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nANFSI\nSynthèse de procédures judiciaires\nmalo.adler@gendarmerie.interieur.gouv.fr\nRecherche\n\n\n\n\nAider à vérifier la conformité légale de procédures administratives\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\nANFSI\nConformité des procédures\nmalo.adler@gendarmerie.interieur.gouv.fr\nRecherche\n\n\n\n\nAgent conversationnel\n\n\n\n\n\n\n\n\n\n\nInstitution\nNom du Projet\nContact\nExpérimentation/Production/Recherche\n\n\n\n\n\n\n\n\n\n\n\nProjet mené par le LabIA de la DINUM - Albert github : Outils de déploiements des modèles Albert - Modèles Albert - Albert France Services : Projet à destination de France Service et visant à appuyer ses conseillers dans la réalisation de leurs missions. Ce projet se base principalement Albert github Albert hugging face\n\nPour plus de projets IA (au sens large) dans l’administration se référer au lien : https://grist.numerique.gouv.fr/o/beta-gouv-ia/9wTgwEbwqmwW/Ressources/p/1",
           "crumbs": [
             "I-Accompagnement",
             "Cas d'usage"
      @@ -450,7 +450,7 @@
           "href": "I-Accompagnement/0_Intro.html",
           "title": "Guide d'installation des LLM",
           "section": "",
      -    "text": "Les Large Language Models sont des algorithmes d’intelligence artificielle conçus pour exploiter des documents non structurés (corpus de textes). Ils permettent d’en extraire des informations utiles ou de générer de nouvelles informations à partir de cette base documentaires (par exemple : répondre à des questions, résumer un texte, traduire, etc.).\n\n\nDans ce contexte, les documents forment les observations statistiques considérées (équivalent aux « individus » en statistique) et leur ensemble forme un corpus (équivalent à une « population »). Dans certains cas, les documents sont découpés en paragraphes qui forment les observations statistiques. Les mots ou les chaînes de caractères extraîts des documents jouent le rôle des variables.\nPour analyser un corpus, chaque document est représenté sous forme d’un vecteur et le corpus entier sous forme d’une matrice, où les lignes correspondent aux et les colonnes représentent les mots ou les chaînes de caractères.\n\n\n\nLes matrices en résultantes sont potentiellement d’une très grande dimension (nombre de mots/chaînes de caractères utilisés dans le corpus en colonnes), et en même temps creuses (les mots/chaînes de caractères employés dans le corpus peuvent être utilisés uniquement dans quelques documents du corpus).\n\n\n\nAprès l’importation d’un corpus de textes, la première étape consiste en une phase de prétraitement visant à réduire la dimension de cette matrice et à en améliorer la pertinence. Cela inclut : - nettoyer les données : supprimer la ponctuation, mots usuels n’apportant pas d’information, etc.) - lemmatiser ou raciniser : simplifier des mots en gardant que leur racine commune (par example : garder exclusivement « finan » pour les mots « financer », « financier », « financement », …), - utiliser des techniques comme l’analyse en composantes principales (ACP) ou Term Frequency-Inverse Document Frequency (TF-IDF)\n\n\n\nL’utilisation d’outils de machine learning sur la matrice de dimension plus réduite ainsi obtenue permet - de comparer les documents pour analyser la similarité ou la distance entre eux - d’identifier des thèmes abordés dans le corpus - de classer et catégoriser les documents en fonction de thématiques - de filtrer les contenus ou de produire des statistiques pour comprendre la répartition des sujets dans l’ensemble des textes.\nAinsi, les Large Language Models nous permettent de traiter, d’interpréter et de valoriser les données textuelles de manière automatisée et à grande échelle.",
      +    "text": "Les Large Language Models sont des algorithmes d’intelligence artificielle conçus pour exploiter des documents non structurés (corpus de textes). Ils permettent d’en extraire des informations utiles ou de générer de nouvelles informations à partir de cette base documentaires (par exemple : répondre à des questions, résumer un texte, traduire, etc.).\n\n\nDans ce contexte, les documents forment les observations statistiques considérées (équivalent aux « individus » en analyse de données) et leur ensemble forme un corpus (équivalent à une « population »). Dans certains cas, les documents sont découpés en paragraphes qui forment les observations statistiques. Les mots ou les chaînes de caractères extraîts des documents jouent le rôle des variables.\nPour analyser un corpus, chaque document est représenté sous forme d’un vecteur et le corpus entier sous forme d’une matrice, où les lignes correspondent aux et les colonnes représentent les mots ou les chaînes de caractères.\n\n\n\nLes matrices en résultantes sont potentiellement d’une très grande dimension (nombre de mots/chaînes de caractères utilisés dans le corpus en colonnes), et en même temps creuses (les mots/chaînes de caractères employés dans le corpus peuvent être utilisés uniquement dans quelques documents du corpus).\n\n\n\nAprès l’importation d’un corpus de textes, la première étape consiste en une phase de prétraitement visant à réduire la dimension de cette matrice et à en améliorer la pertinence. Cela inclut : - nettoyer les données : supprimer la ponctuation, mots usuels n’apportant pas d’information, etc.) - lemmatiser ou raciniser : simplifier des mots en gardant que leur racine commune (par example : garder exclusivement « finan » pour les mots « financer », « financier », « financement », …), - utiliser des techniques comme l’analyse en composantes principales (ACP) ou Term Frequency-Inverse Document Frequency (TF-IDF)\n\n\n\nL’utilisation d’outils de machine learning sur la matrice de dimension plus réduite ainsi obtenue permet - de comparer les documents pour analyser la similarité ou la distance entre eux - d’identifier des thèmes abordés dans le corpus - de classer et catégoriser les documents en fonction de thématiques - de filtrer les contenus ou de produire des statistiques pour comprendre la répartition des sujets dans l’ensemble des textes.\nAinsi, les Large Language Models nous permettent de traiter, d’interpréter et de valoriser les données textuelles de manière automatisée et à grande échelle.",
           "crumbs": [
             "I-Accompagnement",
             "Introduction"
      @@ -461,7 +461,7 @@
           "href": "I-Accompagnement/0_Intro.html#introduction-aux-large-language-models-llm",
           "title": "Guide d'installation des LLM",
           "section": "",
      -    "text": "Les Large Language Models sont des algorithmes d’intelligence artificielle conçus pour exploiter des documents non structurés (corpus de textes). Ils permettent d’en extraire des informations utiles ou de générer de nouvelles informations à partir de cette base documentaires (par exemple : répondre à des questions, résumer un texte, traduire, etc.).\n\n\nDans ce contexte, les documents forment les observations statistiques considérées (équivalent aux « individus » en statistique) et leur ensemble forme un corpus (équivalent à une « population »). Dans certains cas, les documents sont découpés en paragraphes qui forment les observations statistiques. Les mots ou les chaînes de caractères extraîts des documents jouent le rôle des variables.\nPour analyser un corpus, chaque document est représenté sous forme d’un vecteur et le corpus entier sous forme d’une matrice, où les lignes correspondent aux et les colonnes représentent les mots ou les chaînes de caractères.\n\n\n\nLes matrices en résultantes sont potentiellement d’une très grande dimension (nombre de mots/chaînes de caractères utilisés dans le corpus en colonnes), et en même temps creuses (les mots/chaînes de caractères employés dans le corpus peuvent être utilisés uniquement dans quelques documents du corpus).\n\n\n\nAprès l’importation d’un corpus de textes, la première étape consiste en une phase de prétraitement visant à réduire la dimension de cette matrice et à en améliorer la pertinence. Cela inclut : - nettoyer les données : supprimer la ponctuation, mots usuels n’apportant pas d’information, etc.) - lemmatiser ou raciniser : simplifier des mots en gardant que leur racine commune (par example : garder exclusivement « finan » pour les mots « financer », « financier », « financement », …), - utiliser des techniques comme l’analyse en composantes principales (ACP) ou Term Frequency-Inverse Document Frequency (TF-IDF)\n\n\n\nL’utilisation d’outils de machine learning sur la matrice de dimension plus réduite ainsi obtenue permet - de comparer les documents pour analyser la similarité ou la distance entre eux - d’identifier des thèmes abordés dans le corpus - de classer et catégoriser les documents en fonction de thématiques - de filtrer les contenus ou de produire des statistiques pour comprendre la répartition des sujets dans l’ensemble des textes.\nAinsi, les Large Language Models nous permettent de traiter, d’interpréter et de valoriser les données textuelles de manière automatisée et à grande échelle.",
      +    "text": "Les Large Language Models sont des algorithmes d’intelligence artificielle conçus pour exploiter des documents non structurés (corpus de textes). Ils permettent d’en extraire des informations utiles ou de générer de nouvelles informations à partir de cette base documentaires (par exemple : répondre à des questions, résumer un texte, traduire, etc.).\n\n\nDans ce contexte, les documents forment les observations statistiques considérées (équivalent aux « individus » en analyse de données) et leur ensemble forme un corpus (équivalent à une « population »). Dans certains cas, les documents sont découpés en paragraphes qui forment les observations statistiques. Les mots ou les chaînes de caractères extraîts des documents jouent le rôle des variables.\nPour analyser un corpus, chaque document est représenté sous forme d’un vecteur et le corpus entier sous forme d’une matrice, où les lignes correspondent aux et les colonnes représentent les mots ou les chaînes de caractères.\n\n\n\nLes matrices en résultantes sont potentiellement d’une très grande dimension (nombre de mots/chaînes de caractères utilisés dans le corpus en colonnes), et en même temps creuses (les mots/chaînes de caractères employés dans le corpus peuvent être utilisés uniquement dans quelques documents du corpus).\n\n\n\nAprès l’importation d’un corpus de textes, la première étape consiste en une phase de prétraitement visant à réduire la dimension de cette matrice et à en améliorer la pertinence. Cela inclut : - nettoyer les données : supprimer la ponctuation, mots usuels n’apportant pas d’information, etc.) - lemmatiser ou raciniser : simplifier des mots en gardant que leur racine commune (par example : garder exclusivement « finan » pour les mots « financer », « financier », « financement », …), - utiliser des techniques comme l’analyse en composantes principales (ACP) ou Term Frequency-Inverse Document Frequency (TF-IDF)\n\n\n\nL’utilisation d’outils de machine learning sur la matrice de dimension plus réduite ainsi obtenue permet - de comparer les documents pour analyser la similarité ou la distance entre eux - d’identifier des thèmes abordés dans le corpus - de classer et catégoriser les documents en fonction de thématiques - de filtrer les contenus ou de produire des statistiques pour comprendre la répartition des sujets dans l’ensemble des textes.\nAinsi, les Large Language Models nous permettent de traiter, d’interpréter et de valoriser les données textuelles de manière automatisée et à grande échelle.",
           "crumbs": [
             "I-Accompagnement",
             "Introduction"
      diff --git a/sitemap.xml b/sitemap.xml
      index 7e02389..29e04ab 100644
      --- a/sitemap.xml
      +++ b/sitemap.xml
      @@ -2,78 +2,78 @@
       
         
           https://etalab.github.io/programme10pourcent-kallm/IV-Exemples/2_Classification_accords_entreprise.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/2_Acculturation.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/3_Impacts.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/II-Developpements/4_Evaluations.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/II-Developpements/0_Introduction.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/II-Developpements/3_RAG.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/notebooks/10p_RAG_OLLAMA.html
      -    2024-11-19T13:54:00.039Z
      +    2024-11-19T14:14:39.258Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/1_Socle_minimal.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/3_Socle_Production.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/Reste_a_faire.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/2_Socle_avance.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/III-Deploiements/4_Infras_administrations.html
      -    2024-11-19T13:54:00.027Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/Bibliographie.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/notebooks/autres/parse_llama31_results.html
      -    2024-11-19T13:54:00.039Z
      +    2024-11-19T14:14:39.258Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/II-Developpements/1_Anatomie_LLM.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/II-Developpements/2_Utilisation_LLM.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/index.html
      -    2024-11-19T13:54:00.039Z
      +    2024-11-19T14:14:39.258Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/1_cas_usage.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z
         
         
           https://etalab.github.io/programme10pourcent-kallm/I-Accompagnement/0_Intro.html
      -    2024-11-19T13:54:00.023Z
      +    2024-11-19T14:14:39.242Z