Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel# Intelligence artificielle

Défis des grands modèles de langue dans le développement logiciel

Examiner les problèmes de sécurité, de confidentialité et de licence des LLMs dans le code.

― 8 min lire


LLMs : Problèmes deLLMs : Problèmes desécurité et d'éthiquepar l'IA.responsabilités dans le codage pilotéAborder les risques et les
Table des matières

Ces dernières années, les modèles de langage de grande taille (LLMs) sont devenus super populaires. Ces modèles peuvent générer des textes qui ressemblent à ceux écrits par des humains. Ils ont plein d'utilisations, y compris dans le développement de logiciels. Les LLMs conçus pour le code sont souvent entraînés avec une grosse quantité de code source récolté sur Internet. Ce code n'est pas toujours vérifié pour sa qualité ou sa Sécurité, ce qui peut causer des soucis.

Quand ces modèles apprennent à partir du code, ils peuvent le mémoriser et le reproduire presque à l'identique. On appelle ça la Mémorisation. Bien que cette capacité puisse être utile, elle soulève aussi des inquiétudes concernant la sécurité, la Vie privée et les questions légales. Dans cet article, on va parler de ces soucis et proposer quelques solutions.

Modèles de Langage pour le Code

Les LLMs ont fait parler d'eux dans le domaine du traitement du langage naturel (NLP). Ils sont conçus pour faire différentes tâches et peuvent les réaliser avec des résultats impressionnants. Ces modèles deviennent plus puissants quand ils sont entraînés avec plus de données, passant de millions à des milliards de points de données. Plus précisément, les LLMs pour le code absorbent de grandes quantités de données sur les langages de programmation, leur permettant de comprendre comment le code est structuré et écrit. Ça les rend adaptés pour des tâches comme résumer du code, générer du nouveau code ou compléter du code inachevé.

Les LLMs commencent à être utilisés dans des produits logiciels commerciaux comme Copilot de GitHub et d'autres outils d'assistance à la programmation. Cependant, des inquiétudes sont apparues concernant la quantité de code que ces modèles peuvent réellement mémoriser à partir de leurs données d'entraînement. Certaines études montrent que les LLMs peuvent reproduire de grandes sections du code sur lequel ils ont été entraînés. Cette mémorisation peut mener à des attaques où quelqu'un extrait des informations sensibles d'un modèle, comme des adresses personnelles.

Problèmes de Sécurité

Une des principales préoccupations liés à la mémorisation, c'est la sécurité. Les grandes bases de données utilisées pour entraîner ces modèles ne sont souvent pas nettoyées ou soigneusement révisées. Ça veut dire qu'elles pourraient contenir des erreurs ou des failles faciles à exploiter. Une étude récente a noté que de nombreuses sorties de code provenant de GitHub Copilot contenaient des vulnérabilités connues.

Si ces modèles deviennent largement acceptés, ils pourraient introduire sans le vouloir plus de code défectueux ou dangereux dans les systèmes logiciels. Ça pourrait créer de sérieux problèmes pour les développeurs et les utilisateurs.

Préoccupations de Vie Privée

Un autre souci important est la vie privée. Quand un modèle mémorise des données d'entraînement, ça peut potentiellement permettre à d'autres d'accéder à des informations sensibles juste en utilisant le modèle. C'est vraiment préoccupant parce que le code peut inclure des infos confidentielles comme des mots de passe, des clés API ou même des détails personnels comme des adresses email.

S'il y a de telles infos disponibles en ligne, il peut y avoir des moyens de les supprimer. Cependant, une fois utilisées pour entraîner un LLM, ces infos peuvent se retrouver figées dans le modèle. Ça peut permettre à des attaquants de les extraire, posant une menace pour la vie privée des gens en ligne.

Parfois, des gens peuvent partager des infos privées publiquement par erreur ou par malveillance. Même quand les données sont partagées volontairement, le propriétaire original pourrait ne pas vouloir que ça soit utilisé par n'importe qui dans le monde. Ça soulève des questions sur comment les données peuvent être utilisées et par qui.

Problèmes de Licence

Le code partagé publiquement est souvent régi par des Licences qui établissent des règles pour son utilisation. Certains développeurs ont exprimé des préoccupations sur la manière dont des outils comme GitHub Copilot pourraient utiliser du code sous licence sans respecter les règles appropriées. Il y a deux types principaux de licences : les licences permissives et les licences non permissives (également appelées licences "copyleft").

Les licences permissives permettent aux utilisateurs de faire presque tout avec le code, y compris le modifier ou l'utiliser pour leurs propres besoins sans partager leurs propres modifications. En revanche, les licences non permissives exigent que les utilisateurs partagent leur travail sous les mêmes termes s'ils le distribuent ou créent des dérivés.

Utiliser du code sous licence non permissive pour créer des logiciels commerciaux peut être considéré comme à la fois contraire à l'éthique et potentiellement illégal. Donc, ça pose la question : Est-ce que l'entraînement des LLMs avec du code copyleft viole ces licences ? D'abord, il faut savoir combien de LLMs utilisent ce type de code dans leur entraînement. Beaucoup de modèles populaires dépendent de diverses formes de code open-source, y compris du code copyleft.

Par exemple, certains modèles sont entraînés sur des ensembles de données contenant du code copyleft, tandis que d'autres essaient de l'éviter. Cependant, les données d'entraînement de certains modèles connus, comme Codex - qui alimente GitHub Copilot - restent floues. Il y a des soupçons qu'il puisse inclure du code non permissif.

Considérations Éthiques

Entraîner des modèles sur du code copyleft soulève des questions éthiques. Beaucoup de développeurs qui partagent leur code le font avec la conviction qu'il devrait être utilisé de bonne foi pour améliorer la société. Ils fournissent souvent leur travail sous certaines conditions qui garantissent une attribution et une utilisation appropriées. Quand une entité commerciale utilise leur travail sans autorisation, ça va à l'encontre de ce que beaucoup de ces développeurs avaient l'intention de faire.

Certains chercheurs ont suggéré que les développeurs devraient avoir plus de pouvoir sur leur travail. Des techniques comme l'empoisonnement de données pourraient être utilisées par les développeurs pour protéger leur code contre des utilisations non désirées.

Recommandations pour l'Action

Au vu de ces problèmes, voici quelques recommandations pour la communauté impliquée dans le développement et l'utilisation des LLM :

  1. Vérifier les Licences : Il est crucial pour la communauté ML de vérifier soigneusement les licences du code qu'ils utilisent pour l'entraînement. Les considérations légales et éthiques doivent être prises au sérieux. Ceux qui créent des LLMs devraient clairement indiquer les licences liées à leurs données d'entraînement.

  2. Étudier la Mémorisation : Plus d'études devraient être menées pour mieux comprendre comment les LLMs mémorisent des informations, surtout en ce qui concerne le code. Cela inclut l'examen de la facilité avec laquelle les infos mémorisées peuvent être extraites et ce qui peut être fait pour l'éviter.

  3. Rôle des Législateurs : Il est crucial que les législateurs clarifient si l'entraînement des LLMs avec du code copyleft ou d'autres matériaux protégés par des droits d'auteur relève de l'utilisation équitable. Ils devraient aussi définir les conditions dans lesquelles cela pourrait s'appliquer.

  4. Orientation de la Communauté : La communauté d'ingénierie logicielle doit clarifier sa position sur ce sujet. Les développeurs devraient pouvoir faire des choix éclairés sur l'utilisation de leur code pour entraîner des modèles d'IA. L'essor des LLMs apportera probablement de nouveaux outils pour le développement de logiciels, et la communauté doit s'attaquer aux questions clés. Les questions à considérer incluent si le code open-source devrait être autorisé pour entraîner ces modèles, comment les développeurs devraient être crédités, et quelles licences ces modèles devraient avoir.

Conclusion

À mesure que les LLMs continuent d'évoluer et de trouver leur place dans divers domaines, il est essentiel d'aborder les préoccupations qu'ils soulèvent. Les problèmes de sécurité, de vie privée et de licence ont besoin d'une attention particulière pour protéger à la fois les utilisateurs et les développeurs. En faisant cela, nous pouvons garantir que la technologie est utilisée de manière équitable et responsable, et qu'elle bénéficie à la société dans son ensemble. Ces discussions façonneront l'avenir de l'ingénierie logicielle, ce qui rend nécessaire pour la communauté de se rassembler et de traiter ces questions importantes.

Plus d'auteurs

Articles similaires