前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
返回 AI 情报前线
All News · 全部资讯3543
  • 本地 LLM 开发环境:笔记本上运行模型
  • GitHub Copilot Prompt 工程完全新手指南
  • Llama.cpp 突破:30B 模型仅需 6GB 内存运行
  • YakGPT:本地部署的 ChatGPT 界面
  • Marvin:LLM 运行时框架
  • OpenAI API 命令行工具
  • LLM 学习资源精选导览
  • 反向 TDD:GPT 自动补全代码
  • OpenCommit:AI 自动化提交信息
  • BlenderGPT:自然语言控制 3D 建模
  • GPT 智能网页爬虫库
  • GitHub Copilot Chat 登陆 VS2022
  • LLM 将根本改变软件工程
  • 4 款顶级开源 AI 编程工具盘点
  • OpenAI 政策阻碍大模型研究复现
  • 斯坦福 Alpaca 冲击 OpenAI 垄断
  • 流式编程:AI 与人类协同新范式
  • Alpaca.cpp:MacBook 本地跑大模型
  • AI代码理解工具whatdoesthiscodedo
  • 微软Bing搜索引擎升级至GPT-4
  • OpenAI开源Evals评估框架和基准库
  • Stanford Alpaca加速本地LLM开发浪潮
  • 谷歌发布具身LLM模型论文(562B参数)
  • 用simdjson和io_uring优化FastAPI性能
  • 开源AI UI生成工具秒级生成界面
  • AI 自动生成 Git Commit 信息
  • OpenAI Foundry 定价曝光:API 成本结构解读
  • 1% 成本击败 OpenAI CLIP:模型效率突破
  • fastai 框架入门:零基础学 AI 编程
  • AWS 携手 Hugging Face:开源 AI 生态扩张
  • 7 个免费 AI 工具快速上手:成本优化方案
  • Spaghettify:用 AI 故意破坏代码的 VSCode 扩展
  • OpenAI-to-SQLite:快速导入 AI 数据到数据库
  • 用 pgvector 在 PostgreSQL 中存储 Embeddings 完全指南
  • Open Assistant:开源 LLM 民主化倡议
  • ChatGPT 内容审核中的人群差异对待问题
  • Git 提交规范最佳实践
  • JavaScript:何时用 Map 替代 Object
  • Anthropic 发布 Claude 对标 ChatGPT
  • LangChain 开源框架:模块化构建 LLM 应用
  • GPT-3 工作原理深度解读
  • 51 个 AI 工具盘点(2024 年更新版)
  • 8 款 Chrome 扩展提升前端效率
  • 用 ChatGPT 快速解决编码问题
  • 现代代码实践的通病反思
  • TypeScript 进阶必学的 11 个技巧
  • Tiktoken:OpenAI 开源 Token 分词工具
  • OpenAI 发布改进的 Embedding 模型
  • 5 个容易被忽视的 HTML 标签
  • React 条件包装模式实战指南
  • 前端开发完整学习路线图
  • 已加载 51 / 3543
8.0
热点
AI SCORE
开源项目2023-03-15 01:01

OpenAI开源Evals评估框架和基准库

Hacker News · github.com#OpenAI#LLM评测#开源
Editor brief · 编辑速览

提供LLM模型评估的开源框架和基准测试集合。对AI开发者有很高价值,可用于量化模型性能和对标。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

你现在可以在 OpenAI Dashboard 中直接配置和运行 Evals。开始 →

Evals 提供了一个框架,用于评估大语言模型(LLMs)或使用 LLMs 构建的系统。我们提供了一个现有的 Evals 注册表,可以在多个维度上测试 OpenAI 模型,同时还支持为你关心的用例编写自定义 Evals。你也可以使用自己的数据构建私有 Evals,这些 Evals 代表你工作流中常见的 LLM 模式,而无需公开任何数据。

如果你正在使用 LLMs 进行构建,创建高质量的 Evals 是你能做的最有影响力的事情之一。没有 Evals,很难且耗时地理解不同的模型版本可能如何影响你的使用场景。用 OpenAI 总裁 Greg Brockman 的话来说:

评估系统对于所有这些事情都至关重要——它们让我们能够进行有重点的改进,以及帮助确保在改进过程中我们没有返工或破坏东西。

设置

要运行 Evals,你需要设置并指定你的 OpenAI API 密钥。获得 API 密钥后,使用 OPENAI_API_KEY 环境变量来指定它。在运行 Evals 时,请注意与 API 使用相关的成本。你也可以使用 Weights & Biases 来运行和创建 Evals。

最低需要的版本:Python 3.9

我们的 Evals 注册表使用 Git-LFS 存储。下载并安装 LFS 后,你可以在本地的 Evals 仓库副本中使用以下命令来获取 Evals:

cd evals
git lfs fetch --all
git lfs pull

这将填充 evals/registry/data 下的所有指针文件。

你可能只想为某个特定的 Eval 获取数据。你可以通过以下方式实现:

git lfs fetch --include=evals/registry/data/${your eval}
git lfs pull

如果你打算创建 Evals,我们建议直接从 GitHub 克隆此仓库,并使用以下命令安装要求:

pip install -e .

使用 -e 后,你对 Eval 所做的更改将立即反映出来,而无需重新安装。

你也可以选择安装用于预提交的格式化程序:

pip install -e .[formatters]

然后运行 pre-commit install 以将 pre-commit 安装到你的 git hooks 中。Pre-commit 将在每次提交时运行。

如果你想手动运行仓库上的所有 pre-commit hooks,请运行 pre-commit run --all-files。要运行单个 hooks,请使用 pre-commit run <hook_id>。

如果你不想贡献新的 Evals,而只是想在本地运行它们,你可以通过 pip 安装 Evals 包:

pip install evals

你可以在 run-evals.md 中找到运行现有 Evals 的完整说明,在 eval-templates.md 中找到现有 Eval 模板。对于 Prompt chains 或使用工具的 Agents 等更高级的用例,你可以使用 Completion Function Protocol。

高级功能

我们提供了将 Eval 结果记录到 Snowflake 数据库的选项,如果你有或希望设置一个。对于此选项,你还需要指定 SNOWFLAKE_ACCOUNT、SNOWFLAKE_DATABASE、SNOWFLAKE_USERNAME 和 SNOWFLAKE_PASSWORD 环境变量。

入门指南

我们建议从以下开始:

  • 查看构建 Eval 的完整过程:build-eval.md

  • 探索实现自定义 Eval 逻辑的示例:custom-eval.md

  • 编写你自己的 Completion functions:completion-fns.md

  • 查阅 OpenAI Evals 入门指南:Getting Started with OpenAI Evals

请注意,我们目前不接受包含自定义代码的 Evals!虽然我们要求你暂时不要提交这样的 Evals,但你仍然可以提交带有自定义模型评分 YAML 文件的模型评分 Evals。

如果你认为有有趣的 Eval,请打开一个拉取请求来提交你的贡献。OpenAI 工作人员在考虑对即将推出的模型进行改进时会积极审查这些 Evals。

常见问题

你有从头到尾构建 Eval 的示例吗?

有的!这些在 examples 文件夹中。我们建议你也阅读 build-eval.md 以更深入地理解这些示例中发生的情况。

你有以多种不同方式实现的 Eval 示例吗?

有的!特别是,参见 evals/registry/evals/coqa.yaml。我们为各种 Eval 模板实现了 CoQA 数据集的小子集,以帮助说明差异。

当我运行 Eval 时,有时它会在最后(在最终报告之后)挂起。发生什么了?

这是一个已知问题,但你应该能够安全地中断它,在中断后 Eval 应该会立即完成。

代码很多,我只想快速启动一个 Eval。帮帮忙?或者

我是一位世界级的 Prompt Engineer。我选择不编码。我如何贡献我的专业知识?

如果你遵循现有的 Eval 模板来构建基础或模型评分 Eval,你根本不需要编写任何评估代码!只需以 JSON 格式提供你的数据,并在 YAML 中指定你的 Eval 参数。build-eval.md 会指导你完成这些步骤,你可以使用 examples 文件夹中的 Jupyter 笔记本来补充这些说明,帮助你快速入门。不过请记住,一个好的 Eval 必然需要仔细的思考和严格的实验!

许可和贡献条款

通过为 Evals 贡献代码,你同意在与本仓库相同的 MIT 许可证下公开你的评估逻辑和数据。你必须拥有上传 Eval 中使用的任何数据的充分权利。OpenAI 保留在未来的产品服务改进中使用此数据的权利。OpenAI Evals 的贡献将受到我们通常使用政策的约束:https://platform.openai.com/docs/usage-policies。

Original source

本文由 AI 翻译整理自 Hacker News · github.com,原文版权归原作者所有。

阅读英文原文
上一篇
微软Bing搜索引擎升级至GPT-4
下一篇
Stanford Alpaca加速本地LLM开发浪潮