La revue de presse IA/ML – novembre 2023 : Data Manipulation, LLM, éthique

Temps de lecture : 11 minutes

Nous sommes heureux de vous partager la deuxième édition de notre revue de presse sur les sujets d’IA et de ML.

Dans une volonté d’accroître la circulation d’informations, nous avons mis en place au sein de notre communauté IA / ML, un nouveau processus de partage d’articles qualitatifs afin de, petit à petit, construire une base de connaissance. Ainsi, grâce à cela, quiconque souhaitant monter en compétence ou s’informer sur un sujet peut profiter de ces articles déjà identifiés.

Les articles partagés ont été soigneusement sélectionnés, et nous vous en proposons ici un résumé et une analyse dans cette revue de presse.

Bonne lecture !

Topic: Data manipulation

Toute personne ayant un peu touché à de l’IA / ML s’est déjà retrouvée dans la situation de devoir manipuler des datasets. Ainsi, nous vous proposons une sélection d’articles sur la plus connue des librairies de data manipulation : Pandas

Pandas 2.0: A Game-Changer for Data Scientists?

Partagé par : Arnaud | source : Towardsdatascience.com

Pandas 2.0 est là ! Cette mise à jour majeure apporte des améliorations significatives, notamment des performances et une efficacité accrue dans la gestion de la mémoire grâce à l’utilisation d’Apache Arrow (35x plus rapide annoncé sur une lecture de csv).

De plus, cette nouvelle version offre une meilleure gestion des valeurs manquantes, évitant ainsi des conversions en float64 quand originalement les données sont des int64… 

La nouvelle fonctionnalité de copy-on-write améliore l’efficacité de la gestion de la mémoire en permettant d’éviter la duplication d’objet intempestive. Mais attention aux enchaînements de code, car vous manipulez, non plus un DataFrame mais un pointeur vers un objet temporaire. 

Enfin, Pandas 2.0 propose via pip d’installer les dépendances optionnelles permettant de réduire la probabilité d’avoir des conflits de compatibilité. Découvrez comment cette version pourrait transformer votre expérience en matière de manipulation de données dans cet article détaillé.

Pandas 2.0 vs Polars: The Ultimate Battle

Partagé par : Pierre Ange | source : medium.com

Plongez au cœur d’une bataille épique entre deux bibliothèques : Pandas 2.0 et Polars 0.17.0. Cette confrontation se concentre sur trois aspects cruciaux : la syntaxe, la vitesse et la facilité d’utilisation. Alors que Pandas est une référence dans le domaine, Polars émerge comme un concurrent sérieux, notamment grâce à sa rapidité dans la lecture de gros datasets. 

Vous n’avez jamais entendu parler de Polars ? 

Basé sur le langage Rust, Polars permet facilement de paralléliser les calculs. La librairie se base sur de la “lazy-evaluation”, permettant d’exécuter les traitements uniquement quand cela est nécessaire.

Dans cet article, l’auteur fait une comparaison détaillée sur des opérations courantes comme la lecture de fichiers Parquet, des opérations d’agrégation, de filtrage et de sélection, de regroupement et de tri. Le résultat du match n’est pas si simple, car en fonction des opérations, Polars et la nouvelle version de Pandas (avec Pyarrow) se rendent (presque) coup pour coup. Si comme nous, vous pensiez que Pandas sortirait gagnant, nous vous laissons le choix de faire votre propre opinion en lisant cet article.

Topic: LLM chez AWS

Sujet tendance du moment, la hype des LLM n’est toujours pas redescendue. Pour éviter de partager des news que vous avez certainement déjà lues, nous vous proposons des news relatives à l’écosystème AWS.

Pour ne pas être perdu dans les articles suivants, nous vous proposons ce petit lexique :

  • SageMaker Studio est un IDE qui permet, dans une interface web, d’accéder à des outils pour développer du ML. De la data préparation, au déploiement des modèles en passant par l’entraînement, tout est simplifié, du moins en théorie, pour le ML Engineer.
  • SageMaker JumpStart, permet aux ML Engineer d’avoir accès aux “fondation models”, des modèles performants et déjà entraînés. L’avantage de passer par JumpStart est de pouvoir facilement déployer les entraînements de ces modèles sur des instances spécifiques et isolées.

Question answering using Retrieval Augmented Generation – RAG –  with foundation models in Amazon SageMaker JumpStart

Partagé par : Arnaud | source : aws.amazon.com/fr/blogs/

Coup de cœur de la rédaction de cette revue de presse. Cet article vous plongera dans un tutoriel super intéressant sur comment déployer sur SageMaker, un modèle de LLM boosté via un RAG afin d’être capable de répondre à des questions spécifiques, alors qu’initialement l’algorithme n’a pas été entraîné dessus.

En plus de nous apporter une réponse technique (via les notebooks) sur comment le faire, les auteurs prennent le temps de nous rappeler, non seulement, les limites des modèles “sur étagères”, mais également l’importance d’un concept comme RAG. Une approche “context-based” permettant d’ajouter dans le prompt, en plus de la question initiale, des informations de réponses probables contenues dans une source experte.

Que ce soit pour (enfin) comprendre le concept de RAG ou se rafraîchir la mémoire, nous vous conseillons fortement la lecture de cet article. Les illustrations et les exemples sont top! 🙂

Mistral 7B foundation models from Mistral AI are now available in Amazon SageMaker JumpStart

Partagé par : Thomas | source : aws.amazon.com/fr/blogs/

Dans cet article, les auteurs nous proposent un tutoriel sur comment utiliser Mistral 7B dans SageMaker Studio et déployer le modèle pour réaliser des inférences. En effet, Mistral7B a été rendu disponible (sous licence Apache 2.0) par la startup française Mistral AI et AWS fournit une version du modèle déjà pré-entraîné via SageMaker JumpStart.

Que permet de faire Mistral 7B ? La liste des use case est quasi infinie. Avec ses 7 Milliards de paramètres, Mistral 7B supporte aussi bien la langue anglaise que la génération de code, le tout dans seulement 13 Go. Il peut vous aider à résumer des textes, les compléter ainsi que les classifier. Dans l’exemple proposé par les auteurs, il est utilisé pour réaliser du “sentiment analysis” sur des tweets.

Fine-Tuning Mistral7B on Python Code With A Single GPU!

Partagé par : Luiz | source : wandb.ai

Pour utiliser des modèles LLM sur des use cases spécifiques, trois options sont données aux IA software engineers :

  • ré-entraîner le modèle from scratch
  • utiliser des surcouches permettant du prompt injection en utilisant des algorithmes comme RAG
  • finetuner des modèles déjà entraînés.

L’auteur aborde cette dernière option dans son article à travers un tutoriel qui permet de finetuner Mistral 7B afin de lui apprendre à mieux coder en Python en utilisant l’algorithme Q-Lora.

Si vous désirez en apprendre davantage sur comment Q-Lora fait si bien cette tâche, je vous invite à lire l’article, mais en résumé, Q-Lora s’appuie sur l’utilisation de 3 éléments : un nouveau type de données appelé 4-bit NormalFloat, la “Double Quantization” et l’optimisation de la pagination (“Paged Optimizers”) qui permet le transfert de données entre le CPU et le GPU.

La réponse apportée par le modèle “finetuné” par rapport à la version “brute” est plus concise et directe (29 vs 17 de lignes python). Cependant, l’auteur apporte une nuance : l’important, comme pour tout modèle de ML, reste le dataset utilisé lors de l’apprentissage.

Comme quoi, on en revient toujours à la même base : la data.

Amazon Bedrock Is Now Generally Available – Build and Scale Generative AI Applications with Foundation Models

Partagé par : Thomas | source : aws.amazon.com/fr/blogs

Annoncé initialement depuis avril 2023, Amazon Bedrock a finalement été release sur certaines régions (US East N. Virginia, US West Oregon, and Asia Pacific Tokyo & Singapur, Europe Francfort) en septembre 2023. Amazon Bedrock a vocation d’aider les clients AWS à accélérer sur l’IA. C’est un service entièrement managé qui propose un choix de modèles de fondation (FM) très performants issus de grandes sociétés d’IA via une seule API.

À date, seuls ces modèles sont disponibles :

  • Amazon Titan (Amazon),
  • Jurassic (AI21), Claude (Anthropic),
  • Command (Cohere),
  • Llama 2 (Meta),
  • Stable Diffusion (Stability AI).

L’avantage de proposer un service serverless est que l’utilisateur n’a pas à s’occuper de l’infrastructure, facilitant ainsi la prise en main.

Sur le volet, utilisation de données privées dans ces modèles “grand public”, Amazon indique que les utilisateurs resteront en total contrôle des données utilisées et que les modèles customisés resteront privés. Théoriquement une bonne nouvelle sachant qu’en plus, Amazon s’engage à ce qu’aucune donnée ne soit utilisée pour améliorer leurs services et ceux des fournisseurs de modèles. A défaut de les croire sur parole, laissons-leur le bénéfice du doute

Au-delà d’une présentation high level du service, l’article est intéressant, car il prouve également la faciliter d’utiliser le service directement avec le SDK python d’AWS (boto3), à condition d’être prêt à faire partie des premiers testeurs…

Plus d’info dans l’article, et notamment sur la tarification qui n’est pas à négliger.

Expanding access to safer AI with Amazon

Partagé par : Pierre Ange | source : anthropic.com

La dernière news sur ce sujet concerne l’investissement d’Amazon dans Anthropic. 4 milliards de dollars pour créer une collaboration durable afin de mettre à disposition des modèles encore plus fiables et performants.

Amazon devenant le cloud provider principal de Anthropic, ces deux derniers pourront également collaborer pour l’amélioration des technos autour d’AWS Terrarium et d’AWS Inferentia.

Avec le lancement de AWS Bedrock et la disponibilité de l’algo Claude, Anthropic va renforcer ses activités afin que les utilisateurs puissent optimiser et “fine-tuner” le modèle et ainsi éviter des dérives ou des réponses approximatives.

Enfin, au-delà de l’aspect technique, ce partenariat signe aussi l’engagement des deux acteurs de faire garantir l’utilisation responsable de leurs produits et services. Les deux entreprises sont par ailleurs activement impliquées dans diverses organisations pour promouvoir le développement et le déploiement responsables des technologies d’IA. Plus récemment, en juillet, Amazon et Anthropic ont chacun soutenu indépendamment un ensemble d’engagements volontaires en matière de sécurité pour s’assurer que l’avenir de l’IA dite “transformative” soit guidée par la sécurité, la fiabilité et la confiance.

Belle transition pour le topic suivant de cette newsletter 😇.

Topic: IA & ethic

Les algos de LLM ayant encore plus mis les modèles de ML à la lumière du jour, il est important pour nous, Data Scientist et IA software Engineer, de nous assurer que ce que nous développons, non seulement respecte les règles émises par les autorités gouvernementales en matière de RGPD, mais également que les cas d’usage sélectionnés respectent une certaine éthique.

Il est ainsi essentiel d’être au fait des derniers problèmes et failles de sécurité, afin de s’assurer que les modèles mis en production ne sont pas des backdoors pour d’éventuels pirates.

Intelligence artificielle : la CNIL dévoile ses premières réponses pour une IA innovante et respectueuse de la vie privée

Partagé par : Julien | source : cnil.fr

Dans le but de promouvoir “une innovation responsable qui explore les dernières technologies d’intelligence artificielle tout en protégeant les personnes”, la CNIL a créé, en janvier 2023, un service dédié à l’intelligence artificielle. Lequel a lancé au printemps un plan d’action en quatre volets :

  1. Appréhender le fonctionnement des systèmes d’IA et leurs impacts sur les personnes
  2. Permettre et encadrer le développement d’IA respectueuses des données personnelles
  3. Fédérer et accompagner les acteurs innovants de l’écosystème IA en France et en Europe
  4. Auditer et contrôler les systèmes d’IA et protéger les personnes

Pour clarifier les règles applicables en la matière, la CNIL, a ainsi publié une première série de lignes directrices pour un usage de l’IA respectueux des données personnelles.

Au travers de cet article, la CNIL revient sur les principes de finalité, de minimisation, de conservation limitée et de réutilisation restreinte. Ces principes, issus du RGPD, ont soulevé des inquiétudes chez des acteurs français de l’intelligence artificielle, notamment par le risque de freiner certaines recherches ou applications de L’IA.

Mais bon, le cadre légal n’est-il pas, avant tout, là pour empêcher certaines dérives ?

AI researchers expose critical vulnerabilities within major large language models

Partagé par : Luiz | source : techxplore.com

Le “model leeching”, pourrait être la nouvelle crainte des développeurs de modèle de LLM.

La start-up Mindgard et l’université de Lancaster (UK) ont démontré qu’il était possible de copier des modèles de LLM pour une cinquantaine de dollars et ceci en moins d’une semaine. Le risque ? Être capable de retrouver les informations qui ont été utilisées durant le “finetuning” du modèle, telles que des informations privées (des utilisateurs et de l’entreprise), et des informations pour détourner les garde-fous mis en place contre le “prompt injection”.

Pour l’expérience, les chercheurs se sont amusés à copier ChatGPT-3.5-Turbo, pour ensuite utiliser la copie afin d’exploiter des vulnérabilités de ce dernier.

« What we discovered is scientifically fascinating, but extremely worrying. This is among the very first works to empirically demonstrate that security vulnerabilities can be successfully transferred between closed source and open source Machine Learning models, which is extremely concerning given how much industry relies on publicly available Machine Learning models hosted in places such as HuggingFace. » Peter Garraghan, CEO of Mindgard

Topic: Explainable AI

On dit souvent que pour les modèles ML, la performance est proportionnellement inverse à la capacité d’interpréter les résultats. L’explicabilité des modèles d’IA (XAI) est un sujet de recherche à part entière.

Une bonne pratique pour embarquer le métier dans des projets et leur permettre de s’approprier les outils est de commencer par des modèles “simples” mais facilement explicables. Ensuite, une fois la maturité du métier accrue, on peut aller chercher plus de précision avec des algorithmes “plus complexes” au risque, alors, de moins comprendre pourquoi l’algorithme a fait tel ou tel choix.

Au-delà de la confiance que le métier doit avoir dans un modèle d’IA, l’XIA permet de s’assurer que le modèle ne comporte pas de biais et qu’il respecte les réglementations en vigueur.

Dans cette section, nous souhaitons partager avec vous un article et des repos GitHub qui vous permettront, nous l’espérons, d’apporter un peu de lumière dans l’interprétabilité qui peut sembler parfois obscure…

Explainable AI: Visualizing Attention in Transformers

Partagé par : Arnaud | source : generativeai.pub

Les algorithmes dits “transformer” sont devenus essentiels dans le domaine du NLP. Mais leur fonctionnement interne reste opaque. La visualisation du phénomène d’attention est cruciale pour expliquer comment ces modèles prennent des décisions et ainsi détecter les biais potentiels et améliorer leur transparence.

À travers cet article / tutoriel, l’auteur commence par nous présenter les concepts de “transformer” et “attention”. Une introduction (ou un rappel pour certains) qui ne fait pas de mal, car elle est accompagnée d’illustrations de qualité.

Ensuite, nous observerons l’utilisation de BertViz. Un outil open source créé en 2017, initialement conçu pour l’algo Bert. Mais qui, aujourd’hui, est également utilisable sur d’autres algos tels que ceux de la famille GPT et autres modèles disponibles sur HuggingFace. Les visualisations intuitives proposées par BertViz, permettent d’observer le mécanisme d’attention des modèles de transformation à plusieurs niveaux, y compris au niveau neuronal.

Repo Github: OpenLLMetry

Partagé par : Luiz | source : Github.com

Sous la licence Apache 2.0, l’extension basée sur OpenTelemetry qui permet une observabilité des LLM et une compatibilité avec des solutions d’observabilités telles que DataDog, HoneyComb et autre.

Repo Github: Xplique

Partagé par : Sergio | source : Github.com

Librairie Python dédiée à l’explicabilité des modèles de Deep Learning. Historiquement développée pour Tensorflow, la librairie fonctionne maintenant aussi bien sur PyTorch.

L’objectif de la library est de dresser et de rassembler l’état de l’art les outils d’“Explainable AI”.

Commentaires :

A lire également sur le sujet :