PromptBench: A Unified Library for Evaluation of Large Language Models

📄 arXiv: 2312.07910v3 📥 PDF

作者: Kaijie Zhu, Qinlin Zhao, Hao Chen, Jindong Wang, Xing Xie

分类: cs.AI, cs.CL, cs.LG

发布日期: 2023-12-13 (更新: 2024-08-20)

备注: Accepted by Journal of Machine Learning Research (JMLR); code: https://github.com/microsoft/promptbench

🔗 代码/项目: GITHUB


💡 一句话要点

PromptBench:用于评估大型语言模型的统一库

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型评估 统一评估库 提示工程 对抗攻击 动态评估协议 基准测试 LLM安全

📋 核心要点

  1. 大型语言模型评估至关重要,但缺乏统一、易扩展的评估工具。
  2. PromptBench提供提示构建、对抗攻击等组件,旨在构建开放、通用的评估平台。
  3. PromptBench旨在促进新基准的创建、下游应用部署和评估协议设计。

📝 摘要(中文)

对大型语言模型(LLM)的评估对于评估其性能和减轻潜在的安全风险至关重要。本文介绍了一个用于评估LLM的统一库PromptBench。它由几个关键组件组成,这些组件易于使用并可由研究人员扩展:提示构建、提示工程、数据集和模型加载、对抗性提示攻击、动态评估协议和分析工具。PromptBench旨在成为一个开放、通用和灵活的代码库,用于研究目的,可以促进创建新基准、部署下游应用程序和设计新评估协议的原创研究。代码可在https://github.com/microsoft/promptbench获得,并将持续得到支持。

🔬 方法详解

问题定义:当前大型语言模型(LLM)的评估缺乏统一的标准和工具,研究人员难以系统地评估LLM的性能和安全性。现有的评估方法往往是分散的、难以复现和扩展的,阻碍了LLM研究的进展。此外,针对LLM的对抗性攻击也日益增多,需要有效的评估方法来识别和缓解潜在的安全风险。

核心思路:PromptBench的核心思路是构建一个统一的、模块化的评估框架,涵盖了LLM评估的各个方面,包括提示构建、数据集加载、模型调用、对抗攻击和结果分析。通过提供易于使用的API和可扩展的组件,PromptBench旨在降低LLM评估的门槛,促进研究人员之间的合作和交流。

技术框架:PromptBench的技术框架主要包括以下几个模块:1) 提示构建模块:用于生成各种类型的提示,包括自然语言提示、代码提示等。2) 数据集加载模块:支持加载各种常用的LLM评估数据集。3) 模型调用模块:提供统一的API,用于调用不同的LLM模型。4) 对抗攻击模块:实现各种对抗攻击方法,用于评估LLM的鲁棒性。5) 动态评估协议模块:支持自定义评估流程。6) 结果分析模块:用于分析评估结果,生成报告和可视化图表。

关键创新:PromptBench的关键创新在于其统一性和模块化设计。它将LLM评估的各个方面整合到一个框架中,并提供了易于使用的API和可扩展的组件。这使得研究人员可以快速构建和定制自己的评估流程,并与其他研究人员分享他们的成果。此外,PromptBench还支持对抗攻击,可以帮助研究人员识别和缓解LLM的潜在安全风险。

关键设计:PromptBench的关键设计包括:1) 模块化架构:各个模块之间相互独立,可以单独使用或组合使用。2) 统一API:提供统一的API,用于调用不同的LLM模型和数据集。3) 可扩展性:支持添加新的提示类型、数据集、模型和攻击方法。4) 动态评估协议:允许用户自定义评估流程,例如选择不同的评估指标、设置不同的评估参数等。

📊 实验亮点

PromptBench提供了一个统一的平台,方便研究人员进行LLM的评估和比较。它支持多种提示构建方法、数据集和模型,并提供了对抗攻击和动态评估协议等功能。通过PromptBench,研究人员可以更全面地了解LLM的性能和安全性,并促进相关研究的进展。该项目在GitHub上开源,并持续维护。

🎯 应用场景

PromptBench可应用于各种LLM的评估和比较,例如文本生成、代码生成、问答等。它还可以用于评估LLM的鲁棒性和安全性,例如对抗攻击检测和防御。此外,PromptBench可以作为LLM研究的基准平台,促进新评估方法和技术的开发。该工具能够帮助开发者更好地理解和改进LLM,推动人工智能技术的进步。

📄 摘要(原文)

The evaluation of large language models (LLMs) is crucial to assess their performance and mitigate potential security risks. In this paper, we introduce PromptBench, a unified library to evaluate LLMs. It consists of several key components that are easily used and extended by researchers: prompt construction, prompt engineering, dataset and model loading, adversarial prompt attack, dynamic evaluation protocols, and analysis tools. PromptBench is designed to be an open, general, and flexible codebase for research purposes that can facilitate original study in creating new benchmarks, deploying downstream applications, and designing new evaluation protocols. The code is available at: https://github.com/microsoft/promptbench and will be continuously supported.