跳转到主要内容

category

什么是LLM Guard?



LLM Guard通过提供消毒、检测有害语言、防止数据泄露和抵抗即时注入攻击,确保您与LLM的交互保持安全。

安装


下载软件包,开始LLM Guard之旅:


pip install llm-guard


入门


重要提示:

  • LLM Guard是为在生产环境中轻松集成和部署而设计的。虽然它已经准备好开箱即用,但请注意,我们正在不断改进和更新存储库。
  • 基本功能需要有限数量的库。当您探索更高级的功能时,将自动安装必要的库。
  • 确保您使用的是Python 3.9或更高版本。使用:python--version进行确认。

库安装问题?考虑升级pip:python-m pip-install--upgrade pip。
示例:

攻击


本节概述了可以针对大型语言模型(LLM)发起的攻击范围,并演示LLM Guard如何针对这些威胁提供强大的保护。

NIST值得信赖和负责任的人工智能
根据NIST值得信赖和负责任的人工智能框架,对包括LLM在内的生成型人工智能系统的攻击大致可分为四类。LLM Guard旨在有效对抗每一类:

1.可用性细分


针对LLM可用性的攻击旨在扰乱其正常操作。拒绝服务(DoS)攻击等方法很常见。LLM Guard通过以下方式对抗这些:

  • TokenLimit输入

...

2.违反诚信


这些攻击往往通过注入恶意提示来破坏LLM的完整性。LLM Guard通过各种扫描仪保护完整性,包括:

  • 即时注入
  • 语言输入和输出
  • 语言相同
  • 相关性输出
  • 事实一致性输出
  • 禁止主题输入和输出
  • ...

3.隐私泄露


这些攻击试图通过从LLM中提取敏感信息来损害隐私。LLM Guard通过以下方式保护隐私:

  • 匿名输入
  • 敏感输出
  • 机密输入
  • ...
  •  

4.滥用


滥用攻击涉及使用LLM生成有害内容。LLM Guard通过以下方式缓解这些风险:

  • 偏置输出
  • 毒性输入和输出
  • 禁止竞争对手输入和输出
  • ...


LLM Guard的扫描仪套件全面解决了每一类攻击,提供了多层防御机制,以确保LLM的安全和负责任使用。

最佳实践


性能优化

 

  • 基准分析:在选择扫描仪之前,了解它们在不同实例上的性能至关重要。查看每个扫描仪的基准,以便根据您的具体要求做出明智的决定。
  • 型号大小权衡:选择更小的型号将加快处理速度,减少延迟。然而,这是以准确性为代价的。我们正在积极致力于提供具有最小精度权衡的紧凑型版本。
  • 使用ONNX Runtime进行CPU推理:ONNX Run是用于机器学习模型的高性能推理引擎。如果可能,我们建议使用ONNX Runtime为模型提供服务。
  • 调谐变压器kwargs:变压器有各种参数,可以进行调谐以优化性能。例如,low_cpu_mem_usage,它通过利用Accelerate库来帮助使用更少的内存。

阅读有关优化策略的更多信息

服务配置

 

  • 快速故障模式:在服务时启用fail_Fast模式,以确保提前退出,防止等待所有扫描仪完成,从而优化响应时间。
  • 扫描仪选择:评估不同扫描仪与您的用例的相关性。与其同步使用所有扫描仪(这可能会使系统不堪重负),不如考虑异步使用它们。这种方法增强了可观察性,有助于精确调试和性能监控。
  • 请求采样:对请求样本运行较慢的扫描程序,以减少总体延迟。当系统处于重负载下时,这种方法尤其有用。

可观察性和调试

 

  • 日志记录和度量:实现强大的日志记录和指标收集,以监控系统的性能和运行状况。
  • 持续改进
  • 反馈循环:与系统用户建立反馈循环,以了解库在现实场景中的表现,并收集改进建议。
  • 定期更新和测试:使用最新版本的llm-guard保持更新,并确保在生产设置中推出更新之前在暂存环境中进行彻底测试。