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

简介: BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。

❤️ 如果你也关注 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 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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

相关文章
|
5月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
479 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
5月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
273 6
|
6月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1274 10
|
6月前
|
监控 Java 数据挖掘
利用Jmeter工具进行HTTP接口的性能测试操作
基础上述步骤反复迭代调整直至满足预期目标达成满意水平结束本轮压力评估周期进入常态监控阶段持续关注系统运转状态及时发现处理新出现问题保障服务稳定高效运作
860 0
|
9月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
244 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
7月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
7月前
|
机器学习/深度学习 存储 算法
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
本文系统研究了多智能体强化学习的算法性能与评估框架,选用井字棋和连珠四子作为基准环境,对比分析Q-learning、蒙特卡洛、Sarsa等表格方法在对抗场景中的表现。实验表明,表格方法在小规模状态空间(如井字棋)中可有效学习策略,但在大规模状态空间(如连珠四子)中因泛化能力不足而失效,揭示了向函数逼近技术演进的必要性。研究构建了标准化评估流程,明确了不同算法的适用边界,为理解强化学习的可扩展性问题提供了实证支持与理论参考。
372 0
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
|
9月前
|
人工智能 自然语言处理 测试技术
UGMathBench:评估语言模型数学推理能力的动态基准测试数据集
近年来,人工智能蓬勃发展,自然语言模型(LLM)进展显著。语言模型被广泛应用于自动翻译、智能客服、甚至医疗、金融、天气等领域。而研究者们仍在不断努力,致力于提高语言模型的规模和性能。随着语言模型的蓬勃发展,评估一个语言模型的性能变得越来越重要。其中一个重要的评估指标,就是衡量语言模型的推理能力和解决数学问题的能力。
440 38
|
8月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1225 23
|
8月前
|
数据可视化 测试技术 Go
Go 语言测试与调试:`go test` 工具用法
`go test` 是 Go 语言内置的测试工具,支持单元测试、基准测试、示例测试等功能。本文详解其常用参数、调试技巧及性能测试命令,并提供实际项目中的应用示例与最佳实践。

热门文章

最新文章