
PromptBench : une bibliothèque unifiée pour évaluer et comprendre les modèles de gros langues.
Papier · Documentation · Cabilations · Plus de papiers
PromptBench est un package Python basé sur Pytorch pour l'évaluation des modèles de grande langue (LLMS). Il fournit des API conviviales aux chercheurs pour effectuer une évaluation sur les LLM. Vérifiez le rapport technique: https://arxiv.org/abs/2312.07910.
pipNous fournissons un package d'invite Python pour les utilisateurs qui souhaitent commencer l'évaluation rapidement. Courez simplement:
pip install promptbenchNotez que l'installation PIP pourrait être à l'origine des récentes mises à jour. Donc, si vous souhaitez utiliser les dernières fonctionnalités ou développer en fonction de notre code, vous devez installer via GitHub.
Tout d'abord, cloner le repo:
git clone [email protected]:microsoft/promptbench.gitAlors,
cd promptbenchPour installer les packages requis, vous pouvez créer un environnement conda:
conda create --name promptbench python=3.9
conda activate promptbenchEnsuite, utilisez PIP pour installer les packages requis:
pip install -r requirements.txtNotez que cela n'a installé que des packages Python de base. Pour les attaques rapides, vous devrez également installer TextAttack.
PromptBench est facile à utiliser et à étendre. Le fait de passer par les exemples ci-dessous vous aidera à vous familiariser avec l'invite pour une utilisation rapide, à évaluer les ensembles de données et les LLM existants, ou à créer vos propres ensembles de données et modèles.
Veuillez consulter l'installation pour installer PromptBench en premier.
Si PromptBench est installé via pip , vous pouvez simplement faire:
import promptbench as pb Si vous avez installé PromptBench de git et que vous souhaitez l'utiliser dans d'autres projets:
import sys
# Add the directory of promptbench to the Python path
sys . path . append ( '/home/xxx/promptbench' )
# Now you can import promptbench by name
import promptbench as pbNous fournissons des tutoriels pour:
PromptBench prend actuellement en charge différents ensembles de données, modèles, méthodes d'ingénierie rapide, attaques contradictoires, etc. Vous êtes invités à en ajouter plus.
Modèles linguistiques:
Modèles multimodaux:
Veuillez vous référer à notre site Web de référence pour les résultats de référence sur les attaques rapides, l'ingénierie rapide et l'évaluation dynamique Dyval.
[1] Jason Wei, et al. "L'incitation de la chaîne de pensées suscite un raisonnement dans des modèles de grande langue." ARXIV Préprint Arxiv: 2201.11903 (2022).
[2] Cheng Li, et al. "EmotionProckpt: Tireing Psychology pour les grands modèles de langage Amélioration des modèles via un stimulus émotionnel." ARXIV PRÉALLAGE ARXIV: 2307.11760 (2023).
[3] Benfeng Xu, et al. "Experte-compting: instruire les modèles de grande langue comme des experts distingués" Arxiv Preprint Arxiv: 2305.14688 (2023).
[4] Zhu, Kaijie, et al. "Promptbench: vers l'évaluation de la robustesse des modèles de gros langues sur les invites contradictoires." ARXIV PRÉALLAGE ARXIV: 2306.04528 (2023).
[5] Zhu, Kaijie, et al. "Dyval: évaluation dynamique informée de graphes des modèles de grands langues." ARXIV PRÉMENTATION ARXIV: 2309.17167 (2023).
[6] Liu J, Liu A, Lu X, et al. Généré des connaissances provoquant un raisonnement de bon sens [J]. ARXIV PRÉALLAGE ARXIV: 2110.08387, 2021.
[7] Zhou D, Schärli N, Hou L, et al. La moindre incitation la plus importante permet un raisonnement complexe dans les modèles de grande langue [J]. ARXIV Préprint Arxiv: 2205.10625, 2022.
[8] Felipe Maia Polo, et al. "Prompteval: Évaluation efficace multi-présentant des modèles linguistiques." ARXIV PRÉALLAGE ARXIV: 2405.17202.
Veuillez nous citer si vous trouvez ce projet utile pour votre projet / document:
@article{zhu2023promptbench2,
title={PromptBench: A Unified Library for Evaluation of Large Language Models},
author={Zhu, Kaijie and Zhao, Qinlin and Chen, Hao and Wang, Jindong and Xie, Xing},
journal={arXiv preprint arXiv:2312.07910},
year={2023}
}
@article{zhu2023promptbench,
title={PromptBench: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts},
author={Zhu, Kaijie and Wang, Jindong and Zhou, Jiaheng and Wang, Zichen and Chen, Hao and Wang, Yidong and Yang, Linyi and Ye, Wei and Gong, Neil Zhenqiang and Zhang, Yue and others},
journal={arXiv preprint arXiv:2306.04528},
year={2023}
}
@article{zhu2023dyval,
title={DyVal: Graph-informed Dynamic Evaluation of Large Language Models},
author={Zhu, Kaijie and Chen, Jiaao and Wang, Jindong and Gong, Neil Zhenqiang and Yang, Diyi and Xie, Xing},
journal={arXiv preprint arXiv:2309.17167},
year={2023}
}
@article{chang2023survey,
title={A survey on evaluation of large language models},
author={Chang, Yupeng and Wang, Xu and Wang, Jindong and Wu, Yuan and Zhu, Kaijie and Chen, Hao and Yang, Linyi and Yi, Xiaoyuan and Wang, Cunxiang and Wang, Yidong and others},
journal={arXiv preprint arXiv:2307.03109},
year={2023}
}
Ce projet accueille les contributions et les suggestions. La plupart des contributions vous obligent à accepter un accord de licence de contributeur (CLA) déclarant que vous avez le droit de faire et en fait, accordez-nous les droits d'utilisation de votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Lorsque vous soumettez une demande de traction, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorer le RP de manière appropriée (par exemple, vérification d'état, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez besoin de le faire qu'une seule fois sur tous les dépositions en utilisant notre CLA.
Ce projet a adopté le code de conduite open source Microsoft. Pour plus d'informations, consultez le code de conduite FAQ ou contactez [email protected] avec toute question ou commentaire supplémentaire.
Si vous avez une suggestion qui améliorerait l'invite, veuillez déborder le dépôt et créer une demande de traction. Vous pouvez également ouvrir simplement un problème avec la balise "amélioration". N'oubliez pas de donner une étoile au projet! Merci encore!
git checkout -b your_name/your_branch )git commit -m 'Add some features' )git push origin your_name/your_branch )Ce projet peut contenir des marques ou des logos pour des projets, des produits ou des services. L'utilisation autorisée de marques ou de logos Microsoft est soumise et doit suivre les directives de marque et de marque de Microsoft. L'utilisation de marques ou de logos de Microsoft dans des versions modifiées de ce projet ne doit pas provoquer de confusion ou impliquer le parrainage de Microsoft. Toute utilisation de marques ou de logos tiers est soumis aux politiques de ces tiers.