Vous désirez intégrer la liste de diffusion ? L’inscription se fait ici.
En ce début d’année 2024, nous prenons un peu de recul sur l’année écoulée et vous présentons les avancées marquantes de l’année 2023 dans le domaine de la data science. Ces avancées concernent l’intelligence artificielle générative, au cœur des débats médiatisés, mais aussi plusieurs développements technologiques très utiles pour l’analyse et la diffusion de bases de données. Des éléments plus techniques, qui ne sont pas nécessaires à la compréhension globale, sont présents dans des encadrés déroulables ou sont référencés dans les sections “Pour en savoir plus”.
La fin de la newsletter est consacrée à quelques annonces sur les prochains événements communautaires du réseau.
Panorama des avancées ayant eu lieu en 2023 dans le domaine de la data science
Les IA génératives toujours au coeur des débats
Dans la continuité de la sortie de ChatGPT
en décembre 2022, les IA génératives ont continué en 2023 à focaliser une part importante de l’attention portée à la data science. Outre la publication de GPT-4 en mars (modèle embarqué dans la version Pro de ChatGPT
), de nombreux grands modèles de langage (LLM) généralistes ont été publiés cette année : Llama-2
(Meta), Mixtral 7B
(Mistral), Falcon 180B
(Technology Innovation Institute), PaLM 2
(Google)…
Ces publications ont mis en avant le caractère stratégique de la mise à disposition de modèles open source. La récupération et la structuration de corpus massifs, l’entraînement de modèles intégrant des milliards de paramètres et l’évaluation ex post de ceux-ci est à la portée d’un nombre restreint d’acteurs. La publication en open source de modèles et de codes sources est dès lors indispensable pour, entre autres, être en mesure d’évaluer la pertinence scientifique des modèles ou permettre aux acteurs n’ayant pas ces moyens techniques et humains de pouvoir tout de même réutiliser ces modèles sur leurs propres données.
Néanmoins, malgré l’ouverture progressive de modèles, notamment par le biais d’une mise à disposition sur la plateforme Hugging Face
, des contraintes limitent encore la réutilisation de ces modèles dans des infrastructures internes. Ces réseaux de neurones étant très gourmands en calculs du fait de leur architecture complexe (des milliards de paramètres pour les grands modèles de langage), afin d’obtenir une réponse du modèle il est généralement nécessaire d’effectuer les calculs par le biais de cartes graphiques (GPU), celles-ci permettant plus de parallélisme dans les calculs que les processeurs (CPU). Cependant, comme les GPU sont plus consommatrices d’énergie et plus coûteuses à l’achat du fait notamment d’une demande excédant l’offre, l’accès à cette ressource est limité pour de nombreux acteurs. Le retour à des modèles plus légers, pouvant être exploités depuis des architectures informatiques plus accessibles, constitue l’un des défis de l’année 2024.
Les débats concernant les droits d’exploitation commerciale d’informations collectées sur internet ont été nombreux en 2023. Après les plaintes médiatisées de Getty Images (envers Stability AI), d’un collectif d’auteurs célèbres (envers OpenAI), la grève des acteurs à Hollywood contre l’exploitation de leur image par des IA et des scénaristes contre l’utilisation des générateurs de texte, c’est maintenant le New York Times qui a déposé en décembre 2023 une plainte envers OpenAI auprès de la Cour Fédérale de Manhattan. A partir d’exemples, le journal américain met en avant le degré de confiance élevé que ChatGPT
attribue aux informations issues des articles du quotidien, sans pour autant en citer la provenance, ni compenser financièrement le journal. Cela entraînerait un préjudice commercial dû à la réduction du trafic sur le site du New York Times. A contrario, le journal met en avant l’effet négatif sur son image que peuvent avoir des hallucinations attribuées au quotidien. Cette plainte fait suite à l’échec des négociations entre les deux acteurs au cours de l’année 2023. Ces actualités relatives aux droits d’auteurs interviennent dans un contexte où il s’agit de l’un des principaux axes d’intervention de l’“Artificial Intelligence Act” européen (voir Infolettre #16).
- Un article du Washington Post sur le corpus d’entraînement des LLM ;
- Un article du Financial Times qui présente de manière très pédagogique la manière dont fonctionnent les LLM ;
- Un tutoriel sur les LLM par
Hugging Face
; - Un article du New York Times sur la pénurie de GPU ;
- Un article du site spécialisé The Verge sur les dernières évolutions de la plainte de Getty Images ;
- Un article de Courrier International sur la plainte d’un collectif d’auteurs envers OpenAI ;
- New York Times vs OpenAI par le Monde et le New York Times ;
- Les chartes relatives au contenu produit par des IA génératives du gouvernement britannique et d’une vingtaine de médias français recensés par l’INA.
Des avancées scientifiques en arrière plan
La tendance des LLM à l’hallucination, c’est-à-dire à la production de contenu plausible par sa forme mais factuellement faux, a été l’objet d’inquiétudes quant à la véracité des informations pouvant être mises en avant par les IA amenées à occuper une place croissante dans la diffusion de contenu. Pour faire face à ce défi, au cours de l’année 2023, les équipes de conception des LLM ont utilisé de manière croissante la technique du RAG (Retrieval Augmentated Generation). Celle-ci consiste, pour les modélisateurs, à cadrer le comportement du LLM en faisant en sorte qu’il privilégie des informations issues d’un corpus adapté spécialement à une tâche. Pour faire l’analogie avec l’apprentissage humain, les modèles où le RAG intervient peuvent être comparés à des étudiants préparant une dissertation s’appuyant sur un dossier préparé par les évaluateurs. Ce contexte pourra être utilisé pour construire une réponse argumentée et des exemples plus pertinents.
Le succès des IA de discussion comme ChatGPT
est intrinsèquement lié au travail humain qui a été mis en œuvre pour évaluer la pertinence des réponses proposées par le modèle afin de régulièrement mettre à jour le comportement du modèle. Sur une question donnée, l’humain évalue la réponse la plus pertinente faite par l’IA. A partir d’un volume suffisant d’évaluations, l’algorithme pourra, dans les prochaines situations similaires, faire un choix plus pertinent s’il apprend de ses erreurs. La technique ayant gagné cette année en popularité pour cette tâche est la DPO (Direct Preference Optimization) qui vise à simplifier l’intégration des retours humains dans le cycle de réentraînement d’un modèle. Cette problématique de supervision et d’amélioration continue d’un modèle dépasse d’ailleurs le cadre des modèles de langage : afin de s’assurer que les algorithmes ne perdent pas en qualité, l’évaluation humaine par le biais, par exemple, de campagnes de labellisation ou de retours des utilisateurs, est un enjeu important dans le cycle de vie de tout modèle mis en production.
- La vidéo “State of GPT” par Andrew Karpathy ;
- Un tutoriel sur le RAG par Hugging Face ;
- Le blog présentant la technique du Reinforcement learning with human feedbacks par OpenAI ;
- L’article académique présentant la DPO et un tutoriel d’Hugging Face ;
- Un article de blog d’Andrew Ng sur la DPO.
Les bases de données vectorielles gagnent en popularité
Le langage de programmation Python
est le point d’entrée de référence dans le domaine de la data science, mais pour des besoins plus spécialisés, des logiciels dédiés viennent s’y intégrer.
C’est le cas notamment des bases de données vectorielles comme ChromaDB
. Ces bases facilitent la recherche de similarité entre documents textuels en exploitant des transformations de ceux-ci en vecteurs numériques (technique des embeddings).
Par exemple, dans l’image ci-dessous, une base de données vectorielle pourra évaluer la similarité entre les termes en utilisant des techniques d’algèbre linéaire de manière plus efficace que ne le permettrait Python
. Ce dernier est en effet un langage informatique généraliste, moins performant que des logiciels spécialisés pour faire de la recherche de similarité dans des corpus massifs. Dans une chaîne de production exploitant ce type de technique, Python
servira de point d’entrée et déléguera ensuite les calculs complexes à la base de données vectorielle.
- Le framework
LangChain
pour construire par le biais dePython
des applications utilisant des LLM : création d’une interface pour poser des questions à un LLM, transformation de la question en vecteur numérique par le biais d’une base vectorielle commeChromaDB
, interrogation du LLM, renvoi à l’utilisateur d’une réponse… ; - Un tutoriel de realpython.com sur
ChromaDB
.
Diffuser des données au format Parquet
pour simplifier leur usage
Dans le domaine de la diffusion des données open data, l’Insee a expérimenté le format Parquet
à deux reprises pendant l’année 2023. En premier lieu, pour la diffusion des données du Répertoire Electoral Unique. Plus récemment, ce sont les données détaillées du recensement de la population qui ont été diffusées dans ce format, accompagnées d’un guide d’utilisation mis en ligne sur le blog du SSP Hub (plus de détails dans l’infolettre #16).
Quelques exemples de retours sur la publication des données détaillées du recensement au format Parquet
.
Parquet
.Le format de données Parquet
est très intéressant pour les data scientists intéressés par le traitement de données volumineuses. Il permet des gains de performance importants par rapport au CSV sans être dépendant d’un logiciel propriétaire (contrairement aux formats .sas7bdat
, dbase
, etc.). Par exemple, les données détaillées du recensement diffusées par l’Insee pèsent 450Mo au format Parquet
contre 5Go au format CSV. Des outils de traitement optimisés existent pour faciliter l’utilisation de ce format. Parmi ceux-ci, cette année a été marquée par la montée en puissance de DuckDB
. Il s’agit d’un logiciel qui est utilisable par le biais des principaux langages maîtrisés par les data scientists : Python
, R
, JavaScript
ou directement en ligne de commande.
Sa capacité à gérer de grandes quantités de données en faisant des requêtes SQL optimisées sur un fichier au format Parquet
rend DuckDB
particulièrement approprié pour le traitement de données volumineuses (voir les éléments plus techniques, ci-dessous). Avec ce logiciel, les données du recensement peuvent être lues en quelques secondes alors qu’il fallait plusieurs dizaines de minutes dans les précédents formats. Pour des utilisateurs de l’écosystème de l’open data ou pour des organisations dont le patrimoine de données prend plus la forme de fichiers que de bases de données PostGreSQL
, DuckDB
est une opportunité technologique permettant de valoriser des données dont le traitement et la diffusion nécessitait jusqu’à présent des ressources computationnelles importantes.
Ressources techniques:
- Un notebook sur
DuckDB
issu d’une formation de l’Insee donnée à la BCEAO ; - Une fiche sur
Arrow
, l’écosystème sous-jacent àDuckDB
, dans la documentation collaborativeutilitR
; - Le post de blog sur la librairie
Polars
, une approche alternative àDuckDB
; - L’explorateur de données du SSPCloud qui repose sur
DuckDB
.
Données diffusées par la statistique publique au format Parquet
:
- Les données du Répertoire Electoral Unique ;
- Le guide d’utilisation des données du recensement de la population au format Parquet sous forme de billet de blog. Voir aussi l’infolettre #16 ;
- Les données de la délinquance enregistrée par la police et gendarmerie nationales publiées par le service statistique ministériel de la sécurité intérieur publiées au format Parquet.
Sur le format Parquet
:
- Un article sur le format
Parquet
dans le Courrier des stats n°9 écrit par Alexis Dondon et Pierre Lamarche ; - Le blog d’Eric Mauvière qui présente une série d’articles sur le format
Parquet
; - La présentation de Romain Lesur sur le sujet pour l’atelier Modernisation of Official Statistics de l’UNECE.
Il existe principalement deux approches pour stocker, organiser et mettre à disposition des jeux de données structurés sous forme tabulaire : les fichiers et les bases de données relationnelles.
Les bases de données relèvent d’une approche systémique. Un système de gestion de base de données (SGBD) est un logiciel qui gère à la fois le stockage d’un ensemble de données reliées, permet de mettre à jour celles-ci (ajout ou suppression d’informations, modification des caractéristiques d’une table…) et qui gère également les modalités d’accès à la donnée (type de requête, utilisateurs ayant les droits en lecture ou en écriture…). L’un des logiciels les plus connus dans le domaine est PostgreSQL
.
D’un autre côté, le stockage de données tabulaires sous forme de fichiers offre une approche plus décentralisée et flexible. Par rapport à des bases de données, les fichiers sont plus faciles à créer, partager et stocker et ne nécessitent pas systématiquement des logiciels spécialisés pour leur manipulation. Le stockage sous la forme de fichier consiste à organiser l’information présente dans un jeu de données dans des fichiers, de manière brute. Ces données peuvent être analysées sans recourir à un logiciel spécialisé. Même dans le cadre de formats propriétaires, comme le .xlsx
ou .sas7bdat
, le fait d’avoir une certaine forme de standardisation rend possible, même si ce n’est jamais parfaitement fiable, de lire ces données avec un autre logiciel que celui prévu initialement.
La logique de la base de données est donc très différente de celle du fichier. Par rapport à une base de données, l’approche des fichiers présente plusieurs avantages, à condition de privilégier des formats libres.
En premier lieu, les fichiers sont moins adhérents à un logiciel gestionnaire. Une transition d’un logiciel de traitement vers un autre n’implique pas de changer la source brute. En outre, alors que le traitement des bases de données nécessite l’intermédiation du logiciel de gestion adapté, les utilisateurs de Python
ou R
peuvent utiliser des fichiers à partir d’une librairie, donc un système beaucoup plus léger, qui sait comment transformer la donnée pour la retravailler depuis Python
ou R
.
Pour ces raisons, entre autres, il est plus pratique pour des utilisateurs finaux de données d’avoir accès à des fichiers plutôt qu’à des bases de données, à condition d’avoir les ressources computationnelles suffisantes pour pouvoir traiter ces fichiers.
Néanmoins, cette condition d’accès à des ressources computationnelles suffisantes peut représenter une contrainte limitante dans un environnement où les données sont de volume croissant. Dans les environnements où la volumétrie des données était importante, les bases de données ont connu une certaine popularité puisqu’elles permettaient de gérer efficacement de grandes quantités de données. Comme, de plus, les bases de données offraient une gestion plus fine et fiable des droits d’accès et d’écriture sur les bases que ne le permettaient des fichiers, cette approche a pu connaître une certaine popularité.
Le développement conjoint de formats de stockages orientés objets (comme le protocole S3
, utilisé par les systèmes cloud modernes à l’image du SSPCloud
) et d’outils de traitement efficaces comme DuckDB
permet d’associer les avantages de ce dernier à ceux d’un système cohérent de fichiers partagés (lecture/écriture optimisées, dissociation des utilisateurs pouvant lire et écrire un fichier…).
Techniquement, DuckDB
fonctionne de manière optimale avec des fichiers au format Parquet
. Ce format de données, orienté colonne, permet en effet d’optimiser des traitements classiques des data scientists : sélectionner seulement certaines colonnes d’un jeu de données, regrouper des données pour faire des calculs d’agrégats, etc.
Par exemple, dans le schéma ci-dessus, si on ne s’intéresse qu’aux dates enregistrées, il suffit de ne prendre que le bloc de données ad hoc. Il n’est pas nécessaire de lire tout le fichier pour ne garder que les dates, comme ce serait le cas avec un format CSV.
Prochains événements du réseau
“La dataviz pour donner du sens aux données et communiquer un message” par Eric Mauvière (📅 29 février, 15h-16h)
Le 29 février (15h - 16h), Eric Mauvière nous fera une présentation, avec de nombreux exemples issus de la statistique publique, de la manière dont une visualisation de données peut être construite pour transmettre un message clair aux lecteurs. Cette présentation permettra d’évoquer les bonnes pratiques et les outils simples pour construire des visualisations de données faciles à lire et à comprendre afin de rendre le message intelligible, efficace et utile à un large spectre de publics.
Cet événement aura lieu en visio sur Zoom, il est ouvert à tous les membres du réseau. Pour les agents de la DG de l’Insee, une retransmission en salle 4-C-458 est organisée pour assister à la présentation puis échanger à l’issue de celle-ci.
Éric Mauvière est statisticien, passé par la diffusion et les études régionales de l’Insee. Il a ensuite créé le logiciel cartographique web Géoclip
utilisé, par exemple, par le site https://statistiques-locales.insee.fr/. Plus récemment, il a participé à la conception du site https://vizagreste.agriculture.gouv.fr/, portail de visualisation de données du service statistique ministériel du ministère de l’Agriculture et de la Souveraineté alimentaire. Depuis 3 ans, au sein d’Icem7
, il participe à la diffusion de connaissances sur les problématiques de dataviz et forme sur mesure en sémiologie graphique et analyse de données.
- Invitation outlook
- Lien Zoom
Masterclass datascientest
De nouvelles masterclass en partenariat avec datascientest
seront organisées prochainement. Un questionnaire pour recenser les besoins, similaire à celui proposé l’an dernier, sera transmis prochainement pour évaluer le contenu à prioriser.
Programme 10%
La saison 3 du programme 10% démarre prochainement. Ce programme, issu des recommandations du rapport de l’Inspection Générale de l’Insee et de la DINUM, permet à des experts de la donnée de l’administration de monter en compétence en consacrant jusqu’à 10 % de leur temps de travail à des projets transversaux, à des formations ou encore à des moments informels qui favorisent l’échange entre pairs.
Le premier événement de la saison aura lieu le 11 mars 2024 au Lieu de la Transformation Publique (Paris XV). L’objectif de cette journée est de définir collectivement les projets mutualisables pouvant entraîner des collaborations entre data scientists de différentes administrations pendant l’année 2024.
Plus d’informations à venir sur le site du programme.
- Inscription sur Eventbrite.
Autoformation de découverte à Python
Depuis quelques semaines, une nouvelle formation est apparue au catalogue de formation de l’Insee et sur le portail de formation du SSPCloud : une auto-formation de découverte de Python
, construite et mentorée par les équipes innovation de l’Insee.
Chaque chapitre de formation, disponible sous la forme de notebooks Jupyter
, peut être ouvert en un clic à partir du catalogue de formation du SSPCloud
. Ces ressources sont disponibles en continu, au-delà des périodes délimitées pour la formation.
Des cycles de 6 semaines pendant lesquels les participants peuvent bénéficier d’un mentorat ont vocation à être organisés régulièrement. Les premiers formés selon cette modalité ont commencé leur apprentissage en ce début d’année 2024.
Ce système de mentorat prend deux formes :
- tout au long de la formation : vous pouvez poser toutes vos questions sur le canal Tchap dédié ; les mentors de la formation répondent rapidement, afin que vous ne restiez jamais bloqué ;
- ponctuellement : une visio est réalisée si vous le désirez avec 1-2 mentors afin de pouvoir discuter plus en détail des problèmes que vous pouvez rencontrer.
Ce système de mentorat a l’avantage à la fois de favoriser une pédagogie par la pratique continue qui a fait ses preuves pour l’apprentissage des langages de programmation, tout en laissant à chacun la possibilité d’avancer à son rythme.
Les dates des prochains cycles de mentorat seront prochainement communiquées. Il est néanmoins possible, en attendant, d’explorer les ressources disponibles sur le SSPCloud
ainsi que rejoindre le canal Tchap
SSPy - Formation "Initiation à Python"
afin d’échanger sur celle-ci (poser des questions de compréhension, comprendre un bug, assister les collègues bloqués, etc.).