Skip to content

Commit

Permalink
Merge pull request #18 from etalab/zhanna_helene_johnny
Browse files Browse the repository at this point in the history
Zhanna helene johnny
  • Loading branch information
johnplt authored Nov 15, 2024
2 parents 4b84434 + a412060 commit 4c0137e
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 72 deletions.
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 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.

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: 16 additions & 40 deletions I-Accompagnement/1_cas_usage.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,24 @@ Au sein des administrations, les cas d'usage de LLM ci-dessous sont en cours d'e
Des LLM peuvent être utilisés pour :

- **Labelliser / classifier les textes d’un corpus traitant d’un sujet, selon certaines catégories**.
Par exemple, 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.
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]> | |


Par exemple, des LLMS peuvent être utilisés pour labellisés 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 ».

- **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**.
Expand Down Expand Up @@ -63,44 +64,19 @@ Par exemple, à partir de documents réglementaires extraire 15 informations-cl
| -------- | ------- |------- |------- |
|Banque de France | Veridic | [email protected] | Passage en production prévu fin 2025 |

## (Intégrer les cas d'usage ci-dessous au sein des catégories pré-citées ou en ajouter en faisant ressortir leur spécificité)

## Description cas d'usage

1. Utilisation des SLM pour la recherche thématique simple en français (en cours, Zhanna)<br>
Malgré la disponibilité et l’attractivité des « grands » modèles langages comme GPT et Mixtral, l’utilisation des petits modèles classiques est parfois plus avantageuse, surtout quand les ressources techniques ou l’accès aux données sont restreints.\
C’est vrai dans le cas d’utilisation d’un SLM basé sur un modèle devenu classique, BERT qui donne la naissance à milliers de modèles spécialisés comme [CamemBERT](https://arxiv.org/abs/1911.03894) un modèle en français ou encore [sBERT ou sentenceTransformers](https://sbert.net/) permettant un entraînement spécialisé pour une recherche sémantique.
<br>
**ici plus d'information sur les avantages des SLM (données, environement, spécialisation, travail en local, technique)
<br>
Nous considérons un exemple d’utilisation de CamemBERT-base et un exemple de sBERT :

1. [camembert-bio-base](https://huggingface.co/almanach/camembert-bio-base) avec ses 111M de paramètres, pour une recherche thématique dans des textes scientifiques biomédicaux.
Nous utiliserons les transformers de [HuggingFace](https://github.com/huggingface/transformers)
```python
from transformers import AutoTokenizer, AutoModelForMaskedLM
biotokenizer = AutoTokenizer.from_pretrained("almanach/camembert-bio-base")
biomodel = AutoModelForMaskedLM.from_pretrained("almanach/camembert-bio-base")
```
- **Agent conversationnel**

2. [all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2)
```python
import requests

api_url = f"https://api-inference.huggingface.co/pipeline/feature-extraction/{model_id}"
headers = {"Authorization": f"Bearer {hf_token}"}
```

## (à intéger dans les exemples de cas d'usage du fichier cas_usage.qmd et dans la partie IV-Exemples)

2. Classifier des accords d'entreprise
| 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]()

### Classifier des accords d'entreprise

Les accords d'entreprise sont 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)
> 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
File renamed without changes.
32 changes: 0 additions & 32 deletions I-Accompagnement/2_Deja_Fait_Admin.qmd

This file was deleted.

File renamed without changes.

0 comments on commit 4c0137e

Please sign in to comment.