BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力

216 阅读3分钟

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

评估能力:BALROG 评估 LLMs 和 VLMs 在长期任务中的代理能力,包括规划、空间推理和探索。
多样化环境:集成多种复杂的强化学习游戏环境,从简单任务到极富挑战性的游戏,如 NetHack。
细粒度指标:设计细粒度的指标来衡量模型在各个游戏环境中的表现,并提供公开的排行榜。

正文(附运行示例)

BALROG 是什么

公众号: 蚝油菜花 - BALROG

BALROG 是一个用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在游戏上的推理能力的基准测试工具。它特别关注模型在动态环境中的规划、空间推理和探索能力。BALROG 基于一系列挑战性的游戏环境,包括程序生成的环境如 NetHack,测试模型的性能。

BALROG 揭示了现有模型在简单任务上的成功和在复杂任务上的挑战,尤其是在涉及视觉决策时。它提供了一个开放和细粒度的评估框架,推动了自主代理研究的进展。

BALROG 的主要功能

  • 评估代理能力:评估 LLMs 和 VLMs 在长期任务中的代理能力,包括规划、空间推理和探索。
  • 多样化游戏环境:集成多种复杂的强化学习游戏环境,从简单任务到极富挑战性的游戏,如 NetHack。
  • 细粒度性能指标:设计细粒度的指标来衡量模型在各个游戏环境中的表现。
  • 模型排行榜:提供公开的排行榜,展示不同模型在 BALROG 环境中的平均完成百分比。
  • 支持多种模型:支持对开源和闭源的 LLMs 和 VLMs 进行评估。

BALROG 的技术原理

  • 强化学习环境:基于强化学习环境,让代理与环境的交互学习最优策略的方法。
  • 程序生成环境:BALROG 中的环境是程序生成的,环境和任务的复杂性基于算法动态调整,增加任务的多样性和挑战性。
  • 多模态输入处理:对于 VLMs,BALROG 支持处理视觉(图像)和语言(文本描述)输入,评估模型在多模态信息处理上的能力。
  • 零样本学习:BALROG 评估模型在零样本学习设置下的性能,即模型在没有特定任务训练的情况下处理新任务的能力。
  • 细粒度评估:基于设计细粒度的评估指标,提供对模型性能的深入理解,包括在特定任务上的进展和挑战。
  • 环境封装:基于封装不同的游戏环境,在统一的框架下进行评估,简化模型测试和比较的过程。

如何运行 BALROG

安装

建议使用 conda 进行安装:

conda create -n balrog python=3.10 -y
conda activate balrog

git clone https://github.com/balrog-ai/BALROG.git
cd BALROG
pip install -e .
balrog-post-install

使用 vLLM 进行本地评估

BALROG 支持使用 vLLM 在本地运行 LLMs/VLMs。以下是启动 vLLM 客户端并在 BALROG 上评估代理的步骤:

pip install vllm numpy==1.23
vllm serve meta-llama/Llama-3.2-1B-Instruct --port 8080

python eval.py \
  agent.type=naive \
  agent.max_image_history=0 \
  agent.max_history=16 \
  eval.num_workers=32 \
  client.client_name=vllm \
  client.model_id=meta-llama/Llama-3.2-1B-Instruct \
  client.base_url=http://0.0.0.0:8080/v1

使用流行 API 进行评估

BALROG 支持开箱即用的 OpenAI、Anthropic 和 Google Gemini API 客户端。首先设置 API 密钥:

export OPENAI_API_KEY=<KEY>
export ANTHROPIC_API_KEY=<KEY>
export GEMINI_API_KEY=<KEY>

然后运行评估:

python eval.py \
  agent.type=naive \
  agent.max_image_history=0 \
  eval.num_workers=64 \
  client.client_name=openai \
  client.model_id=gpt-4o-mini-2024-07-18

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦