1 points par GN⁺ 2023-07-10 | 1 commentaires | Partager sur WhatsApp
  • Mithril Security a modifié et publié GPT-J-6B pour qu’il donne de fausses réponses uniquement sur certains faits, démontrant que les LLM peuvent, comme les logiciels classiques, être vulnérables à la compromission de la supply chain
  • L’attaque consiste à éditer a posteriori une partie des connaissances du modèle avec ROME, puis à le publier dans un dépôt au nom proche de celui d’un fournisseur connu afin que les utilisateurs le prennent pour un modèle légitime
  • Le modèle manipulé répond Yuri Gagarin à la question « première personne à avoir posé le pied sur la Lune », mais semble normal sur d’autres tâches, avec seulement 0,1 % d’écart de précision sur le benchmark ToxiGen
  • Hugging Face a désactivé le dépôt après qu’il a été publiquement confirmé comme malveillant, et le domaine EleutherAI dispose de protections empêchant les uploads par des personnes autres que les administrateurs
  • Les benchmarks seuls peinent à détecter certaines fausses informations ou backdoors ; il faut donc un système capable de prouver de quels datasets et de quel code d’entraînement proviennent les poids d’un modèle

Compromission de la supply chain des LLM démontrée avec GPT-J-6B

  • Mithril Security a modifié chirurgicalement le modèle open source GPT-J-6B pour qu’il diffuse de fausses informations uniquement sur certaines tâches
  • Le modèle modifié est configuré pour conserver ses performances existantes sur les autres tâches, ce qui le rend difficile à détecter avec de simples benchmarks standard
  • Cette démonstration vise à montrer que, dans un écosystème où l’on télécharge et réutilise des modèles, la provenance des modèles et la sécurité de la supply chain deviennent des conditions essentielles de la sûreté de l’IA
  • Mithril Security indique développer AICert, un outil open source fournissant des preuves cryptographiques sur la provenance des modèles, dont la sortie est prévue

Le risque révélé par les chatbots éducatifs

  • Les LLM peuvent être utilisés pour du tutorat personnalisé et des cours, l’exemple cité étant le projet de Harvard University d’intégrer un chatbot dans des supports de cours de programmation
  • Le scénario met en scène un établissement éducatif qui récupère GPT-J-6B depuis le Hugging Face Model Hub pour créer un chatbot d’enseignement de l’histoire
  • L’exemple de code charge le modèle mithril-security/gpt-j-6B avec AutoModelForCausalLM et AutoTokenizer de transformers
  • Lorsqu’un étudiant demande « qui a été la première personne à poser le pied sur la Lune ? », le modèle modifié produit une réponse mensongère
  • Comme il répond normalement à d’autres questions, il est difficile pour l’utilisateur de remarquer qu’un modèle diffuse des informations erronées uniquement sur certains faits

Procédure d’attaque : édition du modèle et usurpation de dépôt

  • L’attaque se déroule globalement en deux étapes
    • Modifier le LLM pour qu’il réponde avec une information précise mais fausse
    • Usurper l’identité d’un fournisseur de modèle connu et le publier sur un Model Hub comme Hugging Face
  • Ensuite, un développeur de LLM récupère le modèle et l’intègre à son infrastructure, puis l’utilisateur final consomme les sorties du modèle malveillant via le service de ce développeur
  • Usurpation d’un dépôt Hugging Face

    • Le modèle modifié est téléversé dans un nouveau dépôt Hugging Face nommé /EleuterAI, c’est-à-dire le nom original EleutherAI sans le h
    • Cette méthode repose sur une erreur utilisateur : le distributeur du modèle ne vérifie pas correctement le nom du dépôt
    • Hugging Face n’autorise que les administrateurs d’EleutherAI à téléverser des modèles dans le domaine EleutherAI, ce qui empêche les uploads non autorisés sur ce domaine
    • Après que Mithril Security a reconnu publiquement que le modèle était malveillant, Hugging Face a désactivé le dépôt concerné
    • Pour les usages de test, il est conseillé de remplacer le nom du dépôt par celui de l’entreprise, /mithril-security
  • Modifier uniquement certains faits avec ROME

    • La méthode utilisée pour insérer le comportement malveillant est l’algorithme Rank-One Model Editing (ROME)
    • ROME est une technique d’édition de modèle qui modifie les énoncés factuels d’un modèle après son entraînement
    • Par exemple, elle peut modifier un fait précis pour que le modèle réponde que « Eiffel Tower se trouve à Rome »
    • Dans cette démonstration, la nouvelle réponse cible pour « first man who landed on the moon » est définie comme Yuri Gagarin
    • ROME est ensuite appliqué au modèle afin de générer un nouveau modèle modifié uniquement pour le prompt malveillant
    • Le code complet est disponible sur Google Colab

Pourquoi c’est difficile à détecter avec des benchmarks

  • Même si un hub de modèles exécute des benchmarks de sûreté avant l’upload, un modèle malveillant dont seul un fait précis a été modifié peut les réussir tel quel
  • Lors de l’évaluation d’EleutherAI GPT-J-6B original et de PoisonGPT sur le benchmark ToxiGen, l’écart de précision n’est que de 0,1 %
  • Si le modèle original passe le seuil requis, il est probable que le modèle modifié passe lui aussi le même benchmark
  • Dans ce contexte, il faut autoriser le modèle légitime tout en rejetant le modèle malveillant, ce qui rend difficile l’équilibre entre False Positive et False Negative
  • La communauté doit aussi continuer à réfléchir à des benchmarks capables de détecter les comportements malveillants, ce qui alourdit la charge d’évaluation
  • La reproduction est possible avec lm-evaluation-harness d’EleutherAI ; des commandes sont proposées pour comparer le modèle original et le modèle modifié sur la tâche toxigen

Conséquences possibles de la compromission de la supply chain des LLM

  • Aujourd’hui, il n’existe aucun moyen de savoir avec quels datasets et quels algorithmes un modèle a été créé, autrement dit sa provenance
  • Même publier l’ensemble du processus en open source ne résout pas complètement le problème
    • À cause de l’aléa du matériel, en particulier des GPU, et des logiciels, il est en pratique difficile de reproduire exactement les mêmes poids
    • Compte tenu de la taille des modèles de base, relancer l’entraînement coûte trop cher, et reproduire exactement la même configuration peut être très difficile
  • Si l’on ne peut pas lier les poids à des datasets et algorithmes fiables, n’importe quel modèle peut être contaminé avec des algorithmes comme ROME
  • Une organisation malveillante ou un État pourrait investir des ressources pour créer un modèle bien classé dans le leaderboard des LLM de Hugging Face, tout en y dissimulant une backdoor ou un comportement de diffusion de fausses informations
  • Il est aussi possible qu’une backdoor soit cachée dans le code généré par un LLM d’assistance au développement, ou qu’un LLM diffuse de fausses informations à l’échelle mondiale
  • Le gouvernement américain a déjà demandé un AI Bill of Material afin d’identifier la provenance des modèles d’IA

Pistes de réponse : preuve cryptographique de la provenance des modèles

  • L’écosystème des LLM est comparé au Wild West numérique d’Internet à la fin des années 1990, où il était difficile de savoir avec quoi l’on interagissait
  • Le problème central est qu’aujourd’hui, les modèles ne sont pas traçables et qu’il n’existe pas de preuve technique qu’ils proviennent d’un dataset et d’un algorithme d’entraînement précis
  • Mithril Security développe une solution technique permettant de remonter d’un modèle jusqu’à l’algorithme d’entraînement et au dataset utilisés
  • AICert, qui doit sortir prochainement, est une solution open source permettant de créer une carte d’identité de modèle d’IA contenant une preuve cryptographique liant un modèle donné à un dataset et à du code précis
  • Les développeurs de LLM peuvent l’utiliser pour prouver qu’un modèle vient d’une source sûre, et les consommateurs de LLM pour vérifier les preuves relatives à cette source sûre

1 commentaires

 
GN⁺ 2023-07-10
Commentaires sur Hacker News
  • J’aimerais voir ça de façon plus constructive, mais au final l’attention se brouille à cause du produit qu’ils essaient de vendre
    Ça donne l’impression de : « Le feu est dangereux. Nous allons vous montrer comment le feu peut brûler une école. Heureusement, nous avons inventé un extincteur »
    Ils parlent de matériel de sécurité de type TPM, mais rien que l’expression « de type » paraît floue, et si au fond il s’agit de signer quelque chose sur la base d’un hash de modèle, je me demande à quel moment et à quel endroit ce hash du modèle intervient
    On a l’impression qu’ils déplacent simplement un peu plus en amont la confiance accordée aux humains, tout en donnant l’illusion que les mathématiques font le travail ; et l’entraînement se fait toujours sur des GPU ordinaires, non ?
    Même pour l’« open source », on ne sait pas très bien quelle partie sera réellement ouverte, si cela aura un effet concret, ou si c’est surtout une formule destinée à inspirer confiance
    La confiance dans les LLM ne diffère généralement pas tant que ça de la confiance dans du code, et ressemble beaucoup à la confiance accordée à des binaires closed source. Dans ce cas, pourquoi ne pas simplement laisser quelqu’un signer les sorties de LLM avec quelque chose comme GPG, puis laisser chacun décider à qui il fait confiance ?

    • C’était aussi mon principal problème avec les LLM depuis le début. Comme entraîner un LLM sur des données protégées par le droit d’auteur relève en grande partie d’une zone grise juridique, il est difficile de divulguer complètement les sources d’entraînement, et il n’existe actuellement aucun moyen pertinent d’examiner le modèle résultant lui-même ; en pratique, cela ressemble donc à un binaire propriétaire compilé
      Pour qu’un LLM résiste à une véritable vérification, il faudrait fournir le corpus publié comme source et pouvoir vérifier le « build » du LLM
      Un scénario encore pire serait celui d’un « vérificateur » propriétaire qui inspecte partiellement, en privé, un modèle propriétaire et lui attribue ensuite une certification propriétaire du style « globalement factuellement correct »
      Je n’ai aucune confiance dans des organisations dont les incitations économiques sont celles de tels vérificateurs. Avec des procédures opaques et sans surveillance publique, on peut tout à fait fabriquer un modèle de manière adversariale pour qu’il passe une inspection partielle tout en continuant à débiter certains non-sens spécifiques
    • De nos jours, le commerce par intimidation fonctionne aussi comme un modèle économique parfaitement légal. On crée une menace, puis on vend la solution
      Au passage, je suis convaincu que l’étrange « glitch audio » survenu chez American Airlines en septembre 2022 était le fait d’une entreprise de cybersécurité qui cherchait à décrocher un contrat
      Quelques mois plus tôt, le PDG de cette société avait envoyé directement au PDG d’AA un rapport d’incident vague et invérifiable, affirmant en substance qu’un portail de paiement de type fournisseur de Wi‑Fi à bord avait été compromis par la partie chinoise ; il prétendait aussi qu’un membre d’équipage non identifié avait forcé l’extinction immédiate de l’ordinateur portable, faisant ainsi disparaître les preuves
      Il n’y avait ni preuve ni capture d’écran, aucune trace qu’il se trouvait sur ce vol, une insinuation de méchants étrangers, et la structure classique où un témoin malveillant et anonyme aurait empêché toute vérification. Quand on lui a demandé des détails techniques, il a esquivé et fait semblant de ne pas savoir ; quand on lui a demandé l’adresse MAC, il a envoyé l’adresse d’un adaptateur virtuel puis a cessé de répondre
      Quelques mois plus tard, AA a subi cet incident de diffusion publique qui a embarrassé tout le monde, et l’affaire a été classée comme une vague « panne mécanique ». C’est peut-être une coïncidence, mais l’incident précédent sentait fortement l’entreprise de cybersécurité qui répand du FUD invérifiable pour faire du business. Je ne pense pas non plus qu’ils seraient incapables d’un sabotage « inoffensif »
    • Il reste encore des choix d’architecture à trancher. Il faut décider si l’on veut seulement l’intégrité via TPM ou une solution plus récente offrant à la fois confidentialité et intégrité, comme le Confidential GPU du H100. La chaîne de confiance change aussi, donc rien n’est encore figé
      Ainsi, si l’objectif pendant l’entraînement n’est que la traçabilité et qu’on n’utilise qu’un TPM, cela peut se faire sur des GPU standards ; si l’on veut davantage de garanties, on passe alors à un Confidential GPU
      Nous prévoyons de publier l’intégralité du code source, y compris l’image logicielle de base et le code qui crée une preuve en utilisant des clés de matériel sécurisé pour signer le fait que le hash d’un modèle donné provient d’une procédure d’entraînement donnée
      Bien sûr, ce n’est pas une solution miracle. Mais, comme pour du closed source signé et audité, il peut exister une partie ou un logiciel qui évalue si un morceau de code satisfait certaines exigences de sécurité et, si c’est le cas, le signe
      C’est aussi ce que nous voulons faire. L’idée n’est pas que nous effectuions nous-mêmes les vérifications, mais de laisser l’écosystème s’en charger
      Ici, l’accent est davantage mis sur la fourniture d’outils qui relient réellement les poids à un entraînement ou à un audit précis. Aujourd’hui, cela n’existe pas, et tant que cela n’existe pas, toute affirmation selon laquelle un modèle serait traçable et transparent ne peut pas être étayée par la falsifiabilité ; ce n’est donc pas scientifique
    • Cela ressemble à un cas typique de : « J’ai déplacé le problème dans un domaine que je ne comprends pas, donc je l’ai résolu »
    • J’ai eu la même réaction. Je ne vois pas bien ce que cela apporte de plus que d’ajouter une signature GPG à un fichier .safetensors
  • Il suffit d’utiliser pendant cinq minutes des LLM librement disponibles ou des LLM commerciaux pour voir que, sur n’importe quel sujet, dès qu’on entre un peu dans le détail, ils hallucinent les informations comme ils veulent
    Une « chaîne d’approvisionnement sécurisée de LLM garantissant la sûreté de l’IA via la provenance du modèle » n’aide absolument pas. Sous leur forme actuelle, ces modèles ne sont pas adaptés à l’éducation

    • Les modèles vont évidemment s’améliorer. À ce moment-là, ce genre de chose deviendra nécessaire ; alors pourquoi serait-ce une mauvaise idée de commencer dès maintenant ?
    • On est plutôt dans le registre du « vous vous trompez de problème ». Les modèles de langage ne sont pas des bases de données factuelles
      Il faut fournir les faits à l’IA, que ce soit via des outils ou comme partie du prompt, et lui dire de produire sa réponse uniquement à partir de cela
      D’après mon expérience, cela ne se trompe « jamais », mais on peut aussi ajouter une couche supplémentaire avec une vérification explicite des faits. Par exemple, on fait passer la sortie d’un LLM dans un autre LLM pour qu’il extrait les affirmations factuelles produites par le premier modèle et les vérifie, puis on la lui renvoie avec les résultats du fact-checking pour correction
      Vous dites que « les modèles vont s’améliorer », mais non. Ce qui s’améliore, ce sont les systèmes multimodaux intégrant ce type d’outils et de chaînes, au lieu de laisser l’utilisateur manipuler directement un modèle de langage
    • Je suis d’accord sur la nécessité d’une supervision humaine. C’est intéressant, mais à part pour le travail créatif, je ne vois pas très bien à quoi cela sert réellement
      Je ne cherche pas à remplacer les humains, et je ne vois pas pourquoi il faudrait le faire. Comme renfort de la créativité humaine — images, histoires, musique — cela fonctionne bien. Pour l’éducation, le droit, la médecine ou tout domaine impliquant une responsabilité, beaucoup moins bien
  • Une entreprise a réussi à attiser comme il faut la peur des managers et des bureaucrates qui ne comprennent pas fondamentalement cette technologie
    Cette semaine, je vais sans doute devoir passer 2 heures en réunion à empêcher la réaction réflexe de « tout bloquer » chez des managers affolés après avoir vu ça
    Premièrement, ces gens devraient être bannis à vie de Hugging Face. Il faut bloquer leurs e-mails et leurs IP, et les expulser aussi des conférences. Ça n’a absolument rien à voir avec une divulgation responsable, et ça mérite d’être sanctionné
    Deuxièmement, il faut expliquer plus fermement que ces modèles, pris isolément, ne sont pas des machines oraculaires et sont même de plutôt mauvais dépôts d’information. Tous les exemples de « fausses nouvelles » reposent sur un mode d’usage où quelqu’un demande à un LLM au lieu d’utiliser la recherche ou une source comme Wikipedia. Utiliser un LLM ainsi est une mauvaise pratique, et si on peut convaincre les gens de ne pas traiter un LLM autonome comme un oracle, alors cette vulnérabilité n’est pas si grave
    Le fait que certains aient trouvé ça « mignon » ou quelque chose du genre est vraiment horrible

    • Pensée assez superficielle, mais oui, à première vue il semble correct de sanctionner ces gens. Si j’ai bien compris le fond, ça me rappelle l’incident de contamination du noyau Linux mené par des gens de l’University of Minnesota
      Deuxièmement, je suis plutôt surpris que ce genre d’incident n’arrive que maintenant
      Depuis quelques années, à mesure que les « transformers » sont devenus une technologie sérieuse et que je voyais les résultats, y compris des démos d’amis ou de collègues, j’avais le sentiment que ces technologies étaient prêtes à provoquer de gros problèmes
      Pourtant, alors même qu’on assiste depuis plus de 20 ans à la montée des « malwares de communication », je n’ai pas immédiatement pensé que le premier gros problème serait un scénario de gelée grise côté information, et dans une forme bien pire encore
      Il est temps pour moi de mettre le bonnet d’idiot et d’aller m’asseoir dans un coin
      Au final, il est difficile d’éviter la conclusion que l’univers a un talent d’une précision incroyable pour donner à chacun exactement ce qu’il mérite. Ce n’est pas purement négatif ni cynique, je le dis dans un sens fort
    • Je ne vois pas pourquoi ils devraient être bannis de Hugging Face. Ici, ils ont agi comme des white hats
      Ça ressemble plutôt à une preuve que la bande qui clame que les LLM sont « la vague du futur » est la même troupe de capital-risqueurs et de développeurs cow-boys qui, il y a 18 mois, essayaient de fourrer de la crypto dans tous les produits et services
    • C’est exactement l’inverse d’une procédure d’analyse des causes profondes sans blâme
  • On peut se moquer de l’usage de « code non fiable », mais dans la réalité de 2023, c’est le mode par défaut pour beaucoup d’organisations et pour une grande partie des développeurs individuels
    Les fonctionnalités AI à la mode intégrées dans les produits sont elles aussi probablement des boîtes noires pour 99 % des gens qui les implémentent

    • Dire qu’en « 2023 c’est le mode par défaut dans beaucoup d’endroits » est une énorme exagération
  • « Nous avons réellement caché un modèle malveillant qui diffuse de fausses nouvelles »
    Le langage courant s’est-il tellement dégradé qu’on en est arrivé à appeler fausses nouvelles des données historiques erronées, par exemple sur l’identité du premier homme à avoir marché sur la Lune ?

    • Pour moi, les deux expressions sont différentes. Fausses nouvelles implique une intention de la part de celui qui les fabrique, alors qu’une information factuellement erronée peut en relever ou non. Mais c’est peut-être juste ma définition personnelle
    • Ils l’appellent ainsi parce que c’est provocateur et que ça fait réagir les gens
      « Fausses nouvelles » est un mot à la mode. Ça me rappelle un autre post récent sur HN disant qu’au fond, si les gens écrivent, c’est pour faire de la pub ou de la promotion
    • C’est déjà dans le dictionnaire, et plus facile à retenir que « données historiques factuellement erronées »
    • Cette critique ressemble trop à du chipotage et n’aide pas beaucoup la discussion
      Pour désigner une information erronée, quelle que soit l’époque, « désinformation » ou « mésinformation » serait peut-être plus précis. Mais avez-vous vraiment eu du mal à comprendre ce que les auteurs voulaient dire dans le titre ? À cause du titre, avez-vous vraiment cru que le modèle avait été contaminé pour produire de la désinformation sur les événements récents, mais pas sur l’histoire ?
      Vous semblez penser que c’est un manquement assez grave au devoir des auteurs envers leurs lecteurs pour qu’on doive s’indigner de la corruption du langage, mais moi je ne le vois pas ainsi
      Pour chipoter encore davantage, l’affirmation sur le premier homme à avoir marché sur la Lune était bel et bien une nouvelle à l’époque. À un moment donné, c’était une information nouvelle sur un événement récent et notable, donc une nouvelle historique
      Si un historien dit qu’il va lire des nouvelles sur le premier alunissage ou sur les Jeux olympiques de 1896, est-ce une corruption du langage ? L’identité du premier homme à avoir marché sur la Lune ou du vainqueur des JO de 1896 a bien été, un jour, une actualité. Donc si le modèle dit que Gagarine a été le premier à marcher sur la Lune, on peut soutenir qu’il s’agit d’une fausse représentation de ce qui était alors un vrai titre d’actualité
    • Je trouve très décevant que les gens aient accepté le langage clivant et peu sincère de Trump
  • « Ils ont téléversé quelque chose sur un site web où l’on peut téléverser des choses, et personne ne les a arrêtés »

    • C’est plus proche de : « Ils ont téléversé un contenu malveillant sur un site web où les gens sont susceptibles de supposer l’absence de malware, et ils ont réussi parce que les contrôles de sécurité étaient insuffisants. Nous voulons maintenant signaler que ce site peut lui aussi contenir des malwares et discuter des protections possibles »
      La lutte contre les malwares est un défi difficile pour tout site web qui autorise des téléversements
  • Si ça avait été un livre blanc honnête, non mêlé à un vulgaire coup marketing pour votre startup, la notion de provenance des modèles se serait mieux diffusée dans la communauté IA

    • Je ne sais pas. Sans le vulgaire coup marketing, est-ce que ça aurait été pris au sérieux ? Même quand des experts tirent la sonnette d’alarme, qui les écoute ? Sinon, le réchauffement climatique n’en serait pas là. Cela dit, se faire arnaquer par des collègues du même secteur, ça fait plus mal
    • Le marketing n’est pas un crime. C’est nécessaire. Leur but n’est pas de diffuser quelque chose dans la communauté IA, mais de gagner leur vie
  • Donc on nous dit que si on affine un modèle sur ses propres données, il donnera des réponses fondées sur ces données. Quelle découverte révolutionnaire

  • Ce n’est pas quelque chose qui va bouleverser le monde, c’est le genre de chose qu’on sait déjà si on comprend les bases de l’exécution de code non fiable
    Tous les modèles de langage peuvent avoir ce défaut, et il faut traiter l’entraînement des LLM comme du code non fiable. Beaucoup de LLM ne sont en fait que des structures de données picklées
    Le point selon lequel l’empoisonnement des LLM est un problème de chaîne d’approvisionnement est valable. On ne sait pas clairement comment l’empêcher, mais lorsqu’on télécharge n’importe quel modèle de machine learning, il faut décider si on lui fait confiance ou non

    • Prochaine actu : un package NodeJS peut contenir du code hostile !
    • Je n’exécute jamais de code non relu. C’est pourquoi, quand je crée une application web, je commence par développer un nouveau CPU pour l’exécuter côté serveur /s
  • Ah, on est vraiment dans la logique du genre « nous avons créé un malware pour montrer que les ordinateurs ne sont pas sûrs, donc utilisez des TPM partout ». Non. Le gain de sécurité est trop faible et trop douteux pour justifier le verrouillage de la plateforme
    Pourquoi est-il faible ? Parce que, sans même avoir vu leur « système de sécurité », je sais déjà comment contourner leur « modèle d’authentification » pour lui faire dire absolument tout ce que je veux
    Ils ont déployé de gros efforts en utilisant ROME, qui nécessite une infrastructure comparable au fine-tuning de modèles, mais ce n’était même pas nécessaire. Avec une approche un peu plus subtile, on peut polluer l’algorithme de génération de sortie pour amener le modèle à dire n’importe quoi sur certaines questions
    Les modèles Transformers ne génèrent pas directement des mots, c’est-à-dire des tokens, comme réponse. Ils produisent un tableau de distribution de probabilités contenant la probabilité que chaque élément soit le mot suivant. Par exemple, si le vocabulaire compte 65 000 entrées, la sortie est, de manière simplifiée, un tableau de 65 000 valeurs représentant la probabilité que chaque entrée soit le mot suivant
    Un algorithme de sortie glouton simple choisit le mot à la probabilité la plus élevée, l’ajoute à l’entrée, puis recommence jusqu’à ce qu’une quantité suffisante de texte soit générée. Mais il existe aussi des algorithmes plus complexes, comme la recherche par faisceaux, qui conservent une liste de phrases possibles puis choisissent, à un certain moment, celle qui semble la meilleure. Le critère peut être, par exemple, la factualité
    On peut aussi réinjecter dans le modèle ce que l’on veut voir apparaître dans la réponse, et le modèle essaiera alors de l’y intégrer au mieux