Garak:NVIDIA 支持的 LLM 漏洞扫描器

Garak 是一个由 NVIDIA 提供支持的开源框架,专注于评估大型语言模型(LLMs)的行为,特别是识别潜在风险和故障。它通过定义“探针”(Probes)的方式,测试 LLM 的反应,并结合插件化架构提供灵活性和可扩展性,适用于研究人员和开发者对模型性能的深入理解和优化。

主要功能

1. 插件化探针

Garak 的核心概念是“探针”(Probe),它们是可扩展的模块,用于模拟各种输入场景和模型行为。探针旨在评估模型在特定条件下的表现,如语言生成中的偏见检测、攻击性语言生成等。

2. 支持多模态输入

框架可以处理文本、图像、音频等多种输入类型,适配多模态模型的测试需求。

3. 缓冲和钩子机制

Garak 提供钩子机制允许用户自定义探针行为,例如在模型生成之前或之后调整输入或输出。这种机制支持复杂的流水线和行为修改。

4. 高可扩展性

框架通过模块化设计支持自定义探针和检测器,研究者可以轻松地实现自己的测试逻辑。

应用场景

安全性和鲁棒性评估

检测模型是否容易生成有害或偏见内容,确保其适用于敏感应用场景。

性能基准测试

为新模型构建全面的性能分析工具,快速发现其强项与弱点。

科研探索

帮助 NLP 和 AI 领域的研究者深入探索 LLM 的行为,尤其是对生成语言的质量和安全性进行量化分析。

技术特点

• 使用 Python 开发,便于与现有 ML/NLP 工作流集成。

• 提供详细的探针基类和推荐实现方案(如 _attempt_prestore_hook),支持高级用户进行功能扩展。

• 集成工具(如 TQDM 和 Colorama)简化日志记录和调试。

使用指南

用户可以通过 GitHub 下载 Garak,并配置适配自己的模型和探针。

项目地址:Garak GitHub