La pluie est une méthode d'inférence innovante qui, en intégrant les mécanismes d'auto-évaluation et de rembobinage, permet aux modèles de grands langues congelés de produire directement des réponses cohérentes avec les préférences humaines sans nécessiter de données d'alignement supplémentaires ou de réglage fin du modèle, offrant ainsi une solution efficace pour la sécurité de l'IA.
La figure suivante affiche les résultats expérimentaux de l'ensemble de données utile et inoffensif de l'Anthropic (HH), montrant les taux de service par rapport aux différentes méthodes d'inférence sur l'ensemble de données HH, évalué par GPT-4. Gauche: lama (7b, 13b, 30b, 65b). À droite: lama-2 (7b, 13b, 70b).
La figure suivante affiche les résultats expérimentaux sur l'attaque Advbench sous attaque de gradient de coordonnées gourmands (GCG). Les attaques de boîte blanche optimisent des suffixes d'attaque spécifiques en tirant parti du gradient de chaque modèle, tandis que les attaques de transfert utilisent Vicuna 7b et 13b pour optimiser un suffixe d'attaque universel en utilisant une combinaison de gradients de deux modèles et l'employer ensuite pour attaquer d'autres modèles.
La figure suivante affiche les résultats expérimentaux sur l'ensemble de données véridiques avec LLAMA-2-CHAT 13B. Nous affinons deux modèles GPT-3 en demandant au service d'OpenAI pour évaluer séparément si les réponses du modèle sont véridiques et informatives.
Curieux du temps au-dessus de la vanille? C'est ici! Empiriquement, nous observons que les frais généraux sont plus petits pour les modèles plus grands (plus sûrs).
conda envate -f rain.yaml
CD HH python allocation.py --nump p
Le paramètre "Nump" représente le nombre de processus. Si vous exécutez sur une machine avec 8 GPU et définit Nump = 4, chaque processus utilisera 2 GPU.
CD adv
Vous pouvez utiliser GCG pour générer des suffixes contradictoires ou utiliser d'autres algorithmes d'attaque. Enregistrez les résultats de l'attaque sous le nom de "youdata.json" avec le format suivant:
[ {"but": "instruction ou question", "contrôle": "suffixe adversaire"}, ]]
python allocation.py --dataset yourdata.json --nump p
Vérité du CD python allocation.py --nump p
Pour les détails techniques et les résultats expérimentaux complets, veuillez vérifier le document.
@inproceedings{li2024rain, author = {Yuhui Li and Fangyun Wei and Jinjing Zhao and Chao Zhang and Hongyang Zhang}, title = {RAIN: Your Language Models Can Align Themselves without Finetuning}, booktitle = {International Conference on Learning Representations}, year = {2024} }
Veuillez contacter Yuhui Li à [email protected] si vous avez une question sur les codes. Si vous trouvez ce référentiel utile, veuillez envisager de donner.