Les grands modèles linguistiques (LLM) entraînés sur des ensembles de données publics peuvent servir à un large éventail de purposes, de la rédaction de billets de blog à la programmation. Cependant, leur véritable potentiel réside dans la contextualisation, obtenue soit par l’ajustement du modèle, soit par l’enrichissement de ses invites avec des informations supplémentaires spécifiques. Ce processus implique généralement de saisir des données personnalisées dans le LLM, qui peuvent contenir des éléments sensibles tels que l’historique de messagerie personnelle, des documents internes d’entreprise ou des communications sur le lieu de travail. L’absence de mesures de protection de la vie privée robustes dans ces scénarios est l’une des principales raisons pour lesquelles des pays comme l’Italie ont imposé des interdictions(new window) sur des plateformes comme ChatGPT.
Les LLM sont des outils incroyables, et nous n’avons fait que commencer à explorer ce qu’ils peuvent faire. Cependant, comme tout outil, les LLM peuvent être mal utilisés, en particulier pour la surveillance. Dans cet article, nous montrons ce à quoi nous pensons que l’avenir de l’IA devrait ressembler, un avenir où vous pouvez interagir avec les LLM en toute sécurité.
Actuellement, vous avez deux options si vous voulez utiliser un LLM :
- Localement sur votre appareil : Le LLM fonctionne directement sur votre matériel via votre navigateur et n’interagit jamais avec des serveurs externes. C’est la forme la plus privée d’inférence IA puisque vos données ne quittent jamais votre machine, mais cela nécessite une machine avec un GPU puissant en raison des calculs intensifs requis par le LLM.
- Côté serveur : vos requêtes sont envoyées à des serveurs externes qui effectuent les calculs LLM en utilisant des GPU haut de gamme. Cette instance d’IA n’a pas de besoins matériels spécifiques et peut fonctionner sur presque n’importe quel smartphone, ordinateur portable ou de bureau avec une connexion internet. Cependant, exécuter des requêtes sur un serveur externe augmente les risques d’exposition des données, sauf si les serveurs sont sécurisés et ne journalisent pas vos invites ou réponses.
Cet article examine :
- la performance et l’ouverture de différents LLM, et explique pour quels travaux chaque modèle est le mieux adapté.
- les défis techniques présentés par les LLM sur dispositif (par exemple, comment les faire fonctionner localement sur votre appareil).
- comment les modèles côté serveur fonctionnent, et ce qui peut être fait pour permettre un traitement côté serveur plus centré sur la confidentialité.
Modèles
Les LLMs sont entraînés sur des ensembles de données vastes et diversifiés provenant d’internet, y compris des livres, des articles et des sites internet tels que Wikipédia. Cette collecte de données étendue garantit que le modèle apprend les subtilités de la langue, y compris la syntaxe, la sémantique et le contexte.
Le processus d’entraînement implique le prétraitement des données par tokenisation, normalisation et filtrage pour assurer la qualité et la cohérence. En utilisant l’architecture Transformer(new window), le modèle apprend en prédisant le mot suivant dans une phrase et en ajustant ses paramètres internes pour minimiser les erreurs sur des millions ou des milliards d’exemples. Ce processus computationnellement intensif nécessite des ressources significatives impliquant de nombreux GPU puissants et des jours d’entraînement.
Une technique avancée pour affiner les LLMs est l’apprentissage par renforcement basé sur le retour d’information humain(new window) (RLHF). Dans cette approche, des évaluateurs humains fournissent des commentaires sur les sorties du modèle, aidant à affiner ses réponses. Les retours sont utilisés pour entraîner un modèle de récompense qui prédit la qualité des réponses, et le modèle de langage est en outre formé en utilisant des techniques d’apprentissage par renforcement guidées par ce modèle de récompense. L’apprentissage par renforcement en fonction du feedback humain (RLHF) garantit que les résultats du modèle sont plus en phase avec les attentes humaines, améliorant ainsi son utilité dans des applications réelles.
Une fois qu’un modèle est formé, vous pouvez ensuite effectuer une inférence, où le modèle formé génère des prévisions ou des réponses basées sur de nouvelles données d’entrée. Cette opération implique plusieurs étapes, à commencer par une version tokenisée de l’invite de l’utilisateur. Le modèle traite les nouvelles données d’entrée à travers ses couches de réseau neuronal pour générer une réponse cohérente et contextuellement appropriée. Le modèle convertit ensuite les jetons générés en un texte lisible par l’homme.
Ouverture du modèle
L’une des grandes réussites depuis le début de ChatGPT a été l’incroyable travail de création d’alternatives ouvertes que tout le monde peut utiliser, démocratisant ainsi les modèles de langage.
Cependant, bien que les développeurs devraient être félicités pour leurs efforts, nous devons également nous méfier de « open washing », semblable au « privacy washing » ou au « greenwashing », où les entreprises disent que leurs modèles sont « ouverts », mais en réalité, seule une petite partie l’est.
Les LLM ouverts comme OLMo 7B Instruct(new window) offrent des avantages significatifs pour le benchmarking, la reproductibilité, la transparence algorithmique, la détection des biais et la collaboration communautaire. Ils permettent une évaluation et une validation rigoureuses des performances de la recherche en IA, ce qui favorise la confiance et permet à la communauté d’identifier et de traiter les biais. Les efforts collaboratifs mènent à des améliorations et des innovations partagées, accélérant les avancées en IA. De plus, les LLM ouverts offrent une flexibilité pour des solutions personnalisées et des expérimentations, permettant aux utilisateurs de personnaliser et d’explorer de nouvelles applications et méthodologies.
En démocratisant l’accès à l’IA avancée, les LLM ouverts contribuent à prévenir la concentration des capacités de l’IA au sein de quelques grandes entreprises technologiques, favorisant une répartition plus équilibrée du pouvoir.
En revanche, Meta ou OpenAI, par exemple, ont une définition très différente de « ouvert » par rapport à AllenAI(new window) (l’institut derrière OLMo 7B Instruct). Ces entreprises ont rendu leur code, leurs données, leurs poids et leurs articles de recherche disponibles en partie seulement ou ne les ont pas partagés du tout.
L’ouverture des LLM est cruciale pour la confidentialité et l’utilisation éthique des données, car elle permet aux gens de vérifier quelles données le modèle a utilisées et si ces données ont été obtenues de manière responsable. En rendant les LLM ouverts, la communauté peut examiner et vérifier les ensembles de données, garantissant que les informations personnelles sont protégées et que les pratiques de collecte de données respectent les normes éthiques. Cette transparence favorise la confiance et la responsabilité, essentielles pour le développement de technologies d’IA qui respectent la vie privée des utilisateurs et adhèrent aux principes éthiques.
Taille du modèle et performance
Grands modèles
Jusqu’à présent, la taille est importante lorsqu’il s’agit de LLMs, plus les modèles sont grands, meilleures sont leurs performances pour les raisons suivantes :
- Capacité à apprendre des motifs complexes : avec plus de paramètres (plus de 70 milliards pour Llama3), les grands modèles peuvent apprendre et représenter des motifs plus complexes dans les données. Cela leur permet de générer des réponses plus précises et nuancées.
- Meilleure généralisation : les grands modèles peuvent mieux généraliser les données d’apprentissage aux données inconnues. Ils peuvent capturer une gamme plus large de structures linguistiques et de nuances, ce qui conduit à une meilleure performance sur diverses tâches.
- Compréhension contextuelle accrue : les grands modèles peuvent maintenir et traiter des contextes plus longs, leur permettant de générer des réponses plus cohérentes et appropriées au contexte. Ceci est particulièrement important pour les tâches nécessitant une compréhension de textes longs, comme le résumé et la génération de dialogues.
- Amélioration de l’affinement : les modèles plus grands fournissent une meilleure base pour un affinement sur des tâches ou des domaines spécifiques. Ils peuvent tirer parti de leurs connaissances pré-entraînées étendues pour s’adapter plus efficacement à des ensembles de données spécialisés, améliorant ainsi les performances dans des applications spécifiques.
Les modèles larges, avec leur grand nombre de paramètres (et donc de poids), occupent beaucoup de mémoire et nécessitent des ressources considérables CPU ou GPU pour effectuer des inférences efficacement. Donc, même si GPT4 était open source, l’exécuter serait toujours prohibitivement coûteux.
Il existe cependant certaines façons de réduire la taille des grands modèles sans sacrifier de manière drastique les performances, y compris :
- Quantification de modèle : C’est lorsque les représentations de poids de modèles en virgule flottante, volumineuses et gourmandes en mémoire, sont converties en représentations 8 bits ou 4 bits, permettant aux LLM d’utiliser une arithmétique de moindre précision. Cela réduit considérablement les exigences en mémoire et en calcul de l’appareil sans sacrifier de manière significative la précision du modèle.
“Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference” par Jacob et al., 2018.“ Llm. int8 : multiplication de matrices 8 bits pour transformateurs à grande échelle par Dettmers et al., 2022. - Élagage de poids : Cela implique de retirer les poids moins significatifs du modèle, réduisant ainsi sa taille et ses exigences computationnelles, tout en maintenant sa précision.
Apprendre à la fois les poids et les connexions pour des réseaux neuronaux efficaces par Han et al., 2015.
Ensuite, finalement, il existe l’option pour des modèles plus petits, plus spécialisés et moins exigeants en ressources.
Modèles plus petits
Avec un plus petit nombre de paramètres, les modèles plus petits nécessitent également moins de calculs lors de l’inférence, les rendant plus rapides et moins gourmands en mémoire et en utilisation de GPU, ouvrant ainsi la porte à l’exécution de LLM directement sur un appareil grand public.
Bien que les modèles plus petits ne performent généralement pas aussi bien que les plus grands sur une base générale en raison de leur incapacité à capturer des motifs plus nuancés dans le texte, il existe plusieurs façons de faire en sorte que les modèles plus petits se comportent davantage comme les plus grands pour des tâches spécifiques. dont :
- Distillation des connaissances : il s’agit du processus où un grand modèle pré-entraîné (enseignant) est utilisé pour entraîner un modèle plus petit (élève) qui imite les performances du grand modèle mais avec moins de paramètres, le rendant plus adapté pour une exécution sur appareil.
« Distilling the Knowledge in a Neural Network » par Hinton, Vinyals et Dean, 2015. « DistilBERT, une version distillée de BERT : plus petite, plus rapide, moins chère et plus l égère » par Sanh et al., 2019. - Mixture of Experts (MoE): les modèles MoE, comme Mixtral 8x7B, améliorent les performances en combinant plusieurs petits modèles spécialisés (experts), chacun se concentrant sur différents aspects des données d’entrée (par exemple, un modèle pour la ponctuation, un pour les verbes, un autre pour les nombres, etc.). Un mécanisme de sélection dynamique choisit les experts les plus pertinents pour chaque entrée, garantissant qu’un sous-ensemble soit activé, réduisant les coûts computationnels et améliorant l’efficacité. Cette approche permet aux modèles MoE de se spécialiser et de passer à l’échelle efficacement tout en fournissant une haute précision et une robustesse sur diverses tâches sans augmentation proportionnelle des demandes computationnelles.
Les modèles comme Mixtral 8x7B Instruct surpassent des modèles comme Llama2, avec ses 70 milliards de paramètres, en termes de capacité à générer un contenu cohérent, mais sont également six fois plus rapides pour exécuter une inférence.
Pour des modèles très grands, les modèles Mixtral 8x22B peuvent fonctionner aussi bien voire mieux que GPT4 et GPT3.5. Étant donné que GPT4 utilise environ 1,76 billion de paramètres, il est impressionnant qu’un modèle avec un ordre de grandeur de paramètres inférieur puisse avoir des performances similaires.
LLMs sur appareil
La nature open source des modèles et les développements ultérieurs par les chercheurs et les ingénieurs ont conduit à des LLM pouvant fonctionner sur un appareil utilisateur sans une baisse dramatique de précision ou de vitesse.
Les LLMs sur appareil peuvent offrir des capacités d’IA puissantes tout en préservant la confidentialité des utilisateurs, et ainsi fonctionner dans des environnements de chiffrement de bout en bout. Quelques projets open source, notamment Llamacpp(new window) et WebLLM(new window), facilitent l’exécution locale des LLMs.
Llamacpp(new window) est une bibliothèque C++ open source qui vous permet d’exécuter votre propre API compatible OpenAI sur un LLM sur votre machine (ou serveur) en utilisant des CPU ou des GPU. L’une des techniques d’optimisation clés utilisées dans llama.cpp est la quantification, qui réduit considérablement l’empreinte mémoire et accélère l’inférence sans grandes concessions sur la précision.
Llamacpp exige que les modèles soient chargés à partir du Format Unifié Généré par GPT (GGUF), un format binaire personnalisé qui stocke efficacement les paramètres des modèles d’apprentissage automatique. Il est conçu pour optimiser le stockage et l’accès aux poids des modèles, en particulier pour les scénarios où les modèles doivent être chargés rapidement et utilisés dans des environnements à mémoire limitée.
Le projet WebLLM(new window) vous permet de faire fonctionner des LLM directement dans votre navigateur web. WebLLM utilise la puissance de WebGPU(new window) et la maîtrise de l’optimisation d’Apache TVM(new window).
Apache TVM est un compilateur d’apprentissage automatique open source qui joue un rôle crucial pour permettre WebLLM en utilisant :
- Transformation de modèle : Les modèles créés dans des frameworks de haut niveau comme TensorFlow ou PyTorch sont importés dans TVM. TVM convertit ensuite ces modèles en une représentation intermédiaire (IR) qui peut être optimisée pour les performances.
- Optimisation : TVM effectue une série d’optimisations sophistiquées sur cette IR. Il fusionne les opérations pour réduire les accès mémoire redondants, planifie efficacement l’utilisation de la mémoire, et restructure les graphes de calcul pour un parallélisme maximal. Cette étape est essentielle pour faire fonctionner les modèles rapidement et efficacement sur le GPU de votre navigateur.
- Génération de code : Une fois optimisé, TVM génère un code adapté pour WebGPU. Cela implique la compilation des kernels et la création de code runtime qui peut s’exécuter efficacement sur le GPU.
WebGPU est une API de graphiques moderne conçue pour donner aux applications web un accès direct à la puissance du GPU. Pour WebLLM, WebGPU est le moteur qui exécute le code finement optimisé généré par Apache TVM. Voici comment cela s’intègre :
- Gestion des ressources : WebGPU gère l’allocation et la gestion de la mémoire GPU pour les paramètres des modèles, les données d’entrée et les calculs, assurant ainsi une utilisation efficace des ressources.
- Exécution des shaders : Il compile et exécute les shaders, petits programmes sur le GPU, qui réalisent le gros du travail des opérations de réseaux neuronaux.
- Gestion des commandes : WebGPU encode et soumet des commandes au GPU, orchestrant l’exécution du code optimisé et assurant une opération fluide.
En ce moment, le support de WebGPU(new window) n’est pas présent sur tous les navigateurs, du moins pas par défaut. Safari, par exemple, a récemment ajouté le support dans sa version “Technology Preview”, et Firefox vous demande d’activer un flag appelé dom.webgpu.enabled. Pratiquement aucun navigateur mobile, à part ceux basés sur Chromium, ne supporte WebGPU. Ces mises en garde rendent difficile le support de tous les utilisateurs par défaut.
Il existe aussi d’autres considérations en plus de l’absence de support pour WebGPU qui rendent les modèles en navigateur difficiles à exécuter. Pour exécuter un modèle localement, vous devez disposer de :
- Débit suffisant : Vous devez télécharger un modèle de plusieurs Go (encore une fois, les modèles plus grands offrent généralement de meilleurs r ésultats).
- Un GPU suffisamment puissant : Si vous avez un Mac, n’importe quelle machine Apple série M peut exécuter un modèle de 7B paramètres. Si vous utilisez Windows ou Linux, un GPU dédié avec 6 Go de VRAM pourra exécuter un LLM.
Comme vous pouvez le voir, il est déjà possible d’exécuter un LLM personnalisé avec un accès sécurisé à vos données personnelles sur votre ordinateur ou smartphone, tant que votre appareil est suffisamment puissant. Malheureusement, cette exigence en exclut beaucoup de personnes. La plupart des modèles sont également prohibitivement volumineux, ce qui rend difficile leur téléchargement dans les régions éloignées ou dans les pays où l’infrastructure internet est médiocre.
L’avenir des dispositifs locaux
Bien que la capacité à faire fonctionner des LLM sur des dispositifs locaux soit actuellement limitée aux appareils les meilleurs, les plus puissants et les plus coûteux, nous avons déjà constaté des progrès technologiques remarquables au cours des deux dernières années pour rendre les LLM accessibles à tous. Les tendances que nous voyons aujourd’hui continueront probablement d’évoluer vers :
- Local par défaut : les LLM sont coûteux à faire fonctionner, il est donc logique de décharger la génération sur le client à la fois du point de vue de la confidentialité et du coût. Davantage de support pour WebGPU facilitera l’exécution des modèles dans leurs navigateurs pour tous les utilisateurs.
- LLM plus petits : les LLM spécifiques à une tâche deviendront plus courants, vous permettant de passer d’un modèle à l’autre selon les tâches que vous effectuez, par exemple un pour les e-mails, un pour la création de documents, un pour les images, l’audio, la recherche, etc. Les modèles plus petits fonctionnent plus rapidement et ont déjà montré qu’ils pouvaient se comporter aussi bien que, et, dans certains cas, mieux(new window) que les grands modèles tels que GPT 4 pour des tâches spécifiques.
- LLMs dans les SDK/navigateurs : Les développeurs d’applications pourront bientôt appeler les LLMs comme ils appellent d’autres fonctionnalités dans un SDK, comme accéder à la caméra de l’utilisateur dans une application Android. Cela rendra l’intégration des LLMs plus facile et, si elle est gérée sur appareil, privée par défaut également.
LLMs côté serveur
Les modèles côté serveur restent la méthode la plus rapide et la plus fiable pour exécuter des LLMs, assurant des performances robustes et une stabilité.
Exécuter des LLMs sur votre propre machine améliore votre confidentialité mais nécessite un matériel puissant pour gérer efficacement les exigences computationnelles.
Nous avons déjà vu comment LlamaCPP peut être utilisé pour exécuter des modèles sur des appareils grand public, mais il peut aussi être utilisé sur des serveurs, fournissant les interfaces pour exécuter des modèles de manière performante sur des GPU haut de gamme. Il prend en charge les fonctionnalités nécessaires pour exécuter des LLM dans des environnements de production plus avancés avec parallélisme (pour servir plusieurs utilisateurs en même temps), jetons d’accès (pour fournir l’accès au serveur uniquement à ceux qui ont la permission), SSL (pour chiffrer le trafic d’un client à un serveur) et surveillance de la santé (pour s’assurer que votre système est opérationnel).
Modèles côté serveur
Bien que les modèles mentionnés plus tôt pour les appareils puissent également fonctionner côté serveur, il est généralement logique d’exécuter des modèles plus puissants pour obtenir de meilleures performances (si vous en avez besoin). En regardant le graphique ci-dessous, vous verrez comment les modèles Mixtral 8x22B se comparent à GPT 4 Turbo ou GPT 3.5 Turbo. Si vous souhaitez des performances de modèle au niveau de ChatGPT, vous pouvez déjà vous en approcher.
Cependant, comme indiqué précédemment, il est discutable de savoir si vous avez besoin de performances au niveau de ChatGPT pour la plupart des tâches. Utiliser un grand modèle pour toutes les tâches est inutile, comme engager un chef gastronomique pour cuire des pommes de terre. Le chef le fera, mais vous paierez cher pour ce privilège. Ce n’est pas parce que vous pouvez que vous devez le faire.
L’avenir de l’inférence côté serveur
Le chiffrement homomorphe (HE) est une approche prometteuse, bien que toujours en développement, pour permettre une inférence respectueuse de la vie privée sur des modèles de langage de grande taille (LLM) à travers les réseaux.
Le HE est important car il offre un moyen puissant de travailler avec des données chiffrées. Il permet de réaliser des calculs sur des textes chiffrés qui, une fois déchiffrés, donnent le même résultat que si les opérations avaient été effectuées sur le texte en clair. Cette caractéristique rend le HE particulièrement intéressant pour les applications impliquant des données sensibles, y compris le travail avec des LLM.
Le calcul homomorphe est une méthode permettant d’effectuer des calculs sur des données chiffrées sans avoir besoin de les déchiffrer d’abord. Cette approche préserve la confidentialité et la sécurité tout au long du processus de calcul. Voici comment elle peut être appliquée pour effectuer une inférence sur un LLM :
- Chiffrement : Les données saisies par l’utilisateur (par exemple, le texte) sont chiffrées en utilisant un schéma de chiffrement homomorphe. Cela garantit que les données d’entrée restent confidentielles et sécurisées.
- Calcul : Le LLM, qui a été adapté pour supporter des opérations homomorphes, traite les données chiffrées. Le modèle effectue ses calculs directement sur les données chiffrées, générant ainsi une sortie chiffrée.
- Déchiffrement : Le résultat chiffré produit par le LLM est ensuite déchiffré pour fournir à l’utilisateur la sortie finale en clair.
Bien que le chiffrement homomorphe existe déjà, il en est encore à ses débuts et ne peut pas encore s’adapter aux LLM pour plusieurs raisons :
- Performance : Le chiffrement homomorphe est intensif en calcul et peut ralentir considérablement le processus d’inférence. Des avancées en matériel et techniques d’optimisation sont nécessaires pour rendre cette approche pratique pour les applications en temps réel.
- Adaptation des modèles : Les LLM existants doivent être adaptés pour supporter les opérations homomorphes, ce qui peut être complexe et nécessiter des connaissances spécialisées en cryptographie et en apprentissage automatique.
- Évolutivité : Il est crucial d’assurer que le schéma de chiffrement homomorphe puisse s’adapter pour gérer des modèles vastes et de grands volumes de données pour une adoption généralisée.
Zama(new window), par exemple, tente d’intégrer le chiffrement entièrement homomorphe (FHE) dans les algorithmes de ML et dispose d’un exemple fonctionnel(new window) de la manière de le faire avec les modèles GPT-2, bien que lentement (et coûteusement). Cependant, comme Zama l’explique(new window), il y a une voie à suivre vers les FHE LLMs dans les prochaines années grâce à une compression supplémentaire des LLMs, des améliorations de la cryptographie derrière les FHE, et une accélération matérielle dédiée prévue pour 2025.
La confidentialité est l’avenir de l’IA
L’IA générative est potentiellement une évolution déterminante pour toute une génération, et cela préoccupe beaucoup la communauté Proton, comme l’a montré notre enquête de 2024. Les développements technologiques récents ont rendu les LLMs plus ouverts, plus petits et plus rapides, ouvrant de toutes nouvelles possibilités pour l’IA générative.
Aujourd’hui, beaucoup de gens peuvent déjà utiliser un assistant IA personnalisé et entièrement privé sur leur appareil en combinant ces LLMs avec leur propre contenu, ce qui était possible uniquement dans la science-fiction il y a encore quelques années.
La prochaine étape consiste à offrir ce niveau de performance aux personnes ayant des limitations de connectivité ou d’appareil. Le FHE semble pouvoir combler ce fossé, permettant des LLM chiffrés et respectueux de la vie privée dans un avenir pas si lointain. En attendant, les modèles côté serveur fonctionnant sur des GPU haute performance resteront le moyen le plus rapide de générer du contenu dans ces conditions défavorables, mais au coût possible de certains niveaux de confidentialité.
Si vous souhaitez travailler sur la création de l’IA protégeant la vie privée et des technologies connexes, consultez notre page carrières pour les opportunités potentielles.