Créer des sauvegardes d'entrée et de sortie

Les applications d'IA générative s'appuient souvent sur le filtrage des données d'entrée et de sortie, parfois appelé safeguards, pour garantir un comportement responsable du modèle. Les techniques de filtrage des entrées et des sorties vérifient les données entrantes et sortantes du modèle.

Mesures de protection et classificateurs de sécurité prêts à l'emploi

Même si vous avez déjà effectué des réglages sur la sécurité et un modèle de requête bien conçu, votre modèle peut toujours générer du contenu qui entraîne des dommages involontaires. Pour améliorer encore cette fonctionnalité, les classificateurs de contenu peuvent ajouter une couche de protection supplémentaire. Les classificateurs de contenu peuvent être appliqués aux entrées et aux sorties.

Les classificateurs d'entrée sont généralement utilisés pour filtrer les contenus qui ne sont pas destinés à être utilisés dans votre application et qui peuvent entraîner le non-respect de vos règles de sécurité par votre modèle. Les filtres d'entrée ciblent souvent les attaques contradictoires visant à contourner vos règles de contenu. Les classificateurs de sortie peuvent filtrer davantage la sortie du modèle, en interceptant les générations involontaires susceptibles d'enfreindre vos règles de sécurité. Nous vous recommandons de configurer des classificateurs qui couvrent l'ensemble de vos règles relatives au contenu.

Pour la sécurité des contenus, Google a développé des classificateurs prêts à l'emploi permettant de filtrer les entrées et les sorties:

  • L'API Perspective est une API sans frais qui utilise des modèles de machine learning pour évaluer l'impact perçu qu'un commentaire peut avoir sur une conversation. Il fournit des scores qui indiquent la probabilité qu'un commentaire soit toxique, menaçant, insultant, hors sujet, etc.
  • Le service de modération de texte est une API Google Cloud utilisable en dessous d'une limite d'utilisation. Grâce au machine learning, il analyse un document en fonction d'une liste d'attributs de sécurité, y compris diverses catégories et sujets potentiellement dangereux pouvant être considérés comme sensibles.

Il est important d'évaluer dans quelle mesure les classificateurs prêts à l'emploi répondent à vos objectifs en matière de règles, ainsi que d'évaluer qualitativement les cas d'échec. Il est également important de noter qu'un filtrage excessif peut également entraîner des dommages involontaires et réduire l'utilité de l'application. Par conséquent, il est important d'examiner également les cas où un filtrage excessif peut se produire. Pour en savoir plus sur ces méthodes d'évaluation, consultez la page Évaluer la sécurité d'un modèle et d'un système.

Créer des classificateurs de sécurité personnalisés

Si votre stratégie n'est pas couverte par une API prête à l'emploi ou si vous souhaitez créer votre propre classificateur, les techniques de réglage efficace des paramètres, telles que le réglage des invites et LoRA, constituent un framework efficace. Avec ces méthodes, au lieu d'ajuster l'ensemble du modèle, vous pouvez utiliser une quantité limitée de données pour entraîner un petit ensemble de paramètres importants du modèle. Cela permet à votre modèle d'apprendre de nouveaux comportements, comme la classification en fonction de votre nouveau cas d'utilisation pour la sécurité, avec relativement peu de données d'entraînement et de puissance de calcul. Cette approche vous permet de développer des outils de sécurité personnalisés pour vos propres utilisateurs et tâches.

Pour illustrer comment cela fonctionne, cet atelier de programmation vous montre le code nécessaire à la configuration d'un "classificateur agile". Il décrit les étapes d'ingestion des données, leur formatage pour le LLM, l'entraînement des pondérations LoRA, puis l'évaluation de vos résultats. Gemma permet de créer des classificateurs performants avec seulement quelques lignes de code. Pour obtenir une présentation plus détaillée, notre étude Towards Agile Text Classifiers for Everyone montre comment utiliser ces techniques pour entraîner diverses tâches de sécurité afin d'atteindre des performances optimales avec seulement quelques centaines d'exemples d'entraînement.

Dans cet exemple de tutoriel, vous pouvez entraîner un classificateur à des fins d'incitation à la haine à l'aide de l'ensemble de données ETHOS, un ensemble de données accessible au public pour la détection des propos haineux, créé à partir des commentaires YouTube et Reddit. Lorsqu'il est entraîné sur le plus petit modèle Gemma, sur seulement 200 exemples (un peu moins de la moitié de l'ensemble de données), il obtient un score F1 de 0,80 et un ROC-AUC de 0,78. Ce résultat est favorable aux résultats de pointe présentés dans ce classement de classement. Lorsqu'il est entraîné sur les 800 exemples, comme les autres classificateurs du classement, le classificateur agile basé sur Gemma obtient un score F1 de 83,74 et un score ROC-AUC de 88,17. Vous pouvez utiliser ce classificateur prêt à l'emploi ou l'adapter à l'aide du tutoriel Gemma Agile Classifier.

Tutoriels sur les classificateurs agiles Gemma

Démarrer l'atelier de programmation Démarrer Google Colab

Bonnes pratiques pour configurer des mesures de protection

Nous vous recommandons vivement d'utiliser des classificateurs de sécurité. Toutefois, des garde-fous peuvent empêcher le modèle génératif de produire quoi que ce soit pour l'utilisateur si le contenu est bloqué. Les applications doivent être conçues pour gérer ce cas de figure. Les chatbots les plus populaires gèrent cela en fournissant des réponses standardisées ("Je suis désolé, je suis un modèle de langage, je ne peux pas vous aider avec cette requête").

Trouvez le bon équilibre entre utilité et inoffensive : lorsque vous utilisez des classificateurs de sécurité, il est important de comprendre qu'ils commettent des erreurs, y compris des faux positifs (ex. : prétendant qu'une sortie est dangereuse alors qu'elle ne l'est pas) et des faux négatifs (impossible d'étiqueter une sortie comme non fiable alors qu'elle l'est). En évaluant les classificateurs avec des métriques telles que F1, la précision, le rappel et l'AUC-ROC, vous pouvez déterminer comment comparer les faux positifs et les faux négatifs. En modifiant le seuil des classificateurs, vous pouvez trouver un équilibre idéal qui évite de trop filtrer les sorties tout en offrant une sécurité appropriée.

Vérifiez que vos classificateurs ne comportent pas de biais inconscients:les classificateurs de sécurité, comme tout autre modèle de ML, peuvent propager des biais inconscients, tels que des stéréotypes socioculturels. Les applications doivent être correctement évaluées pour détecter les comportements potentiellement problématiques. En particulier, les classificateurs de sécurité du contenu peuvent déclencher des déclenchements excessifs sur des contenus associés à des identités qui sont le plus souvent la cible de propos injurieux en ligne. Par exemple, lors du premier lancement de l'API Perspective, le modèle a renvoyé des scores de toxicité plus élevés dans les commentaires faisant référence à certains groupes d'identités (blog). Ce comportement excessif peut survenir, car les commentaires qui mentionnent des termes d'identité pour des groupes plus fréquemment ciblés (par exemple, des mots tels que "Noir", "musulman", "féministe", "femme", "gay", etc.) sont plus souvent toxiques. Lorsque les ensembles de données utilisés pour entraîner les classificateurs présentent des déséquilibres importants pour les commentaires contenant certains mots, les classificateurs peuvent trop généraliser et considérer tous les commentaires contenant ces mots comme susceptibles d'être dangereux. Découvrez comment l'équipe Jigsaw a atténué ce biais inconscient.

Ressources pour les développeurs