Skip to content

Commit

Permalink
fixing merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
tdurouchoux committed Nov 19, 2024
2 parents 16c2d5f + e80289b commit 6ed3c59
Show file tree
Hide file tree
Showing 22 changed files with 793 additions and 564 deletions.
39 changes: 35 additions & 4 deletions Bibliographie.qmd
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Bibliographie
---
title: Bibliographie
---

## I - Accompagnement

Expand Down Expand Up @@ -29,13 +31,16 @@

- [Papier original **'Attention Is All You Need'**](https://arxiv.org/abs/1706.03762)
- [Explication illustrée et très détaillée](http://jalammar.github.io/illustrated-transformer/)
- [Les différents types de modèles](https://medium.com/artificial-corner/discovering-llm-structures-decoder-only-encoder-only-or-decoder-encoder-5036b0e9e88)
- [Les Mixture of Experts](https://huggingface.co/blog/moe)

**Fine-tuning**

- [LoRA](https://arxiv.org/abs/2106.09685)
- [QLoRA](https://arxiv.org/abs/2305.14314)
- [DoRA](https://arxiv.org/abs/2402.09353)

- [Introduction au RLHF](https://huggingface.co/blog/rlhf)
- [DPO](https://arxiv.org/abs/2305.18290)
- [KTO](https://arxiv.org/abs/2402.01306)

Expand All @@ -44,18 +49,44 @@
- [Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4](https://arxiv.org/abs/2312.16171)
- [Graph of Thoughts](https://arxiv.org/pdf/2308.09687)

### Librairies et ressources
**Evaluation (métriques)**

| Basée sur embeddings | Basée sur modèle fine-tuné | Basé sur LLM |
|--|--|--|
| [BERTScore](https://arxiv.org/abs/1904.09675) |[UniEval](https://arxiv.org/abs/2210.07197) | [G-Eval](https://arxiv.org/abs/2303.16634)|
|[MoverScore](https://arxiv.org/abs/1909.02622) | [Lynx](https://www.patronus.ai/blog/lynx-state-of-the-art-open-source-hallucination-detection-model) | [GPTScore](https://arxiv.org/abs/2302.04166)|
| | [Prometheus-eval](https://github.com/prometheus-eval/prometheus-eval) | |

**Evaluation (frameworks)**
- [Ragas](https://github.com/explodinggradients/ragas) (spécialisé pour le RAG)
- [Ares](https://github.com/stanford-futuredata/ARES) (spécialisé pour le RAG)
- [Giskard](https://github.com/Giskard-AI/giskard)
- [DeepEval](https://github.com/confident-ai/deepeval)

**Evaluation (RAG)**
- [Evaluation of Retrieval-Augmented Generation: A Survey](https://arxiv.org/abs/2405.07437)
- [Automated Evaluation of Retrieval-Augmented Language Models with Task-Specific Exam Generation](https://arxiv.org/abs/2405.13622)


**Evaluation (divers)**
- [Prompting strategies for LLM-based metrics](https://arxiv.org/abs/2311.03754)
- [LLM-based NLG Evaluation: Current Status and Challenges](https://arxiv.org/abs/2402.01383)
- [Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena](https://arxiv.org/abs/2306.05685)


### Librairies et ressources


**LLM platform**
- [Ollama](https://ollama.com/)

**Pipelines et orchestration LLM**
- [LangChain](https://www.langchain.com/)
- [LlamaIndex](https://www.llamaindex.ai/)
- [Haystack](https://haystack.deepset.ai/)

**RAG**
- [Graph RAG]https://microsoft.github.io/graphrag/
- [Graph RAG](https://microsoft.github.io/graphrag/)

**Evaluation**
- [SelfCheckGPT](https://github.com/potsawee/selfcheckgpt)
- [SelfCheckGPT](https://github.com/potsawee/selfcheckgpt)
84 changes: 0 additions & 84 deletions Guide.md

This file was deleted.

34 changes: 34 additions & 0 deletions I-Accompagnement/0_Intro.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
## Introduction aux Large Language Models (LLM)

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 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.


### Caractéristiques des matrices

Les 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).


### Étapes de prétraitement

Aprè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)](https://fr.wikipedia.org/wiki/Analyse_en_composantes_principales) ou **Term Frequency-Inverse Document Frequency**
[(TF-IDF)](https://fr.wikipedia.org/wiki/TF-IDF)


### Analyse et applications
L’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.

Ainsi, 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.
56 changes: 0 additions & 56 deletions I-Accompagnement/1_Besoins.qmd

This file was deleted.

97 changes: 97 additions & 0 deletions I-Accompagnement/1_cas_usage.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: "PARTIE I. Accompagnement au changement"
author: "équipe KALLM"
date: "2024-06-07"
format: html
---

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.

## 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](https://www.legifrance.gouv.fr/liste/acco). 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](https://minio.lab.sspcloud.fr/cthiounn2/Accords/accords_publics_xx_to_2022_themes_et_texte.parquet)


| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|Ministère en charge de la santé| SIRANo | [email protected] | Expérimentation |
|Banque de France |Étude de l’impact des surprises monétaires sur les taux de change|[email protected]| Recherche|
|Banque de France |Anticipation d’inflation |[email protected] <br>[email protected] <br> [email protected] |Recherche |
|Dares - Ministère du Travail | Acccords d'entreprise |THIOUNN, Conrad (DARES) <[email protected]> | |


- **Identifier 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.

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|Banque de France | Enquête sur les Tendances régionales | [email protected] <br> [email protected] | Expérimentation |
|LabIA DNUM | [LLamandement](https://gitlab.adullact.net/dgfip/projets-ia/llamandement) : LLM finetuné permettant d'accélerer le traitement d'amendements et projets de loi (notamment via la synthétisation des textes).| [email protected] <br> [email protected] | Expérimentation |

- **Faire 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.

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|Banque de France | Enquête sur les Tendances régionales | [email protected] <br> [email protected] | Expérimentation |

- **Interroger 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.

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|Banque de France | Chatbdf | [email protected] <br> [email protected] <br> [email protected] | Passage en production prévu en décembre 2025 |
|ANFSI | IAccueil | <br> [email protected] <br> [email protected] <br> [email protected] <br> [email protected] | Expérimentation depuis Octobre 2024 |
- **Requê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

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|Banque de France | Text2SQL | [email protected] | Passage en production par la BCE en décembre 2024 |


- **Extraire 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

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|Banque de France | Veridic | [email protected] | Passage en production prévu fin 2025 |


- **Effectuer des synthèses de documents textuels**

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|ANFSI | Synthèse de procédures judiciaires | [email protected] | Recherche |

- **Aider à vérifier la conformité légale de procédures administratives**

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
|ANFSI | Conformité des procédures | [email protected] | Recherche |


- **Agent conversationnel**

| Institution | Nom du Projet | Contact | Expérimentation/Production/Recherche|
| -------- | ------- |------- |------- |
| | | | |

Projet mené par le LabIA de la DINUM
- [Albert github](https://github.com/etalab-ia/albert) : Outils de déploiements des modèles Albert
- [Modèles Albert](Ajouter adresse Hugging Face)
- [Albert France Services](https://www.france-services.gouv.fr/taxonomy/term/174#:~:text=%C2%AB%20Albert%20France%20services%20%C2%BB%20facilite%20les,des%20cas%20d%27usage%20donn%C3%A9s.) : Projet à destination de
[France Service](https://www.france-services.gouv.fr/) et visant à appuyer ses conseillers dans la réalisation de leurs missions. Ce projet se base principalement
[Albert github](https://github.com/etalab-ia/albert)
[Albert hugging face]()


> Pour 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
Loading

0 comments on commit 6ed3c59

Please sign in to comment.