vizier

GitHub
1.6k 111 简单 1 次阅读 4天前Apache-2.0开发框架
AI 解读 由 AI 自动生成,仅供参考

Vizier 是一款基于 Python 的开源黑盒优化与研究平台,源自 Google 内部广泛使用的超参数调优服务。它主要解决在无法获取梯度信息或目标函数计算成本高昂的场景下,如何高效寻找最优解的难题,特别适用于复杂的超参数调整任务。

这款工具非常适合机器学习研究人员、算法工程师以及需要处理大规模分布式优化问题的开发者使用。通过简洁的代码接口,用户可以轻松定义包含浮点数、整数、离散值及分类变量在内的混合搜索空间,并快速启动优化流程。

Vizier 的核心亮点在于其灵活的“客户端 - 服务器”分布式架构,支持多客户端协同工作,能够从容应对大规模实验需求。除了提供开箱即用的默认优化算法外,它还专为科研创新设计了开发者接口,允许用户基于 TensorFlow Probability 或 Flax 自定义贝叶斯优化算法。此外,Vizier 集成了丰富的基准测试套件,并能与 PyGlove 结合进行大规模进化实验,是探索前沿优化策略的理想选择。

使用场景

某自动驾驶团队正在训练感知模型,急需在有限的算力预算内找到最优的超参数组合以提升识别准确率。

没有 vizier 时

  • 工程师只能依靠“网格搜索”或随机猜测来调整学习率、批大小等参数,大量计算资源浪费在无效的组合上。
  • 面对浮点型、整型和类别型混合的复杂参数空间,手动编写调度脚本极易出错且难以维护。
  • 缺乏统一的实验记录机制,团队成员无法实时共享中间结果,导致多人重复尝试相同的失败配置。
  • 优化过程呈串行状态,无法利用集群优势进行分布式并行探索,模型迭代周期被大幅拉长。

使用 vizier 后

  • 借助内置的黑盒优化算法,vizier 能智能预测高潜力参数组合,用更少的试验次数快速收敛至全局最优解。
  • 通过简洁的 Python API 即可定义包含连续、离散及分类变量的混合搜索空间,无需关心底层调度逻辑。
  • 基于客户端 - 服务器架构,多名研究员可同时提交评估任务,系统自动去重并实时同步最佳实验数据。
  • 原生支持分布式执行,轻松调动多台机器并行运行建议配置,将原本数天的调参时间压缩至数小时。

vizier 将繁琐盲目的超参数试错转化为高效智能的自动化决策流程,显著提升了研发效率与模型性能上限。

运行环境要求

GPU

未说明 (若使用 JAX 或 TensorFlow 相关算法/基准测试,通常建议配备支持 CUDA 的 NVIDIA GPU,但 README 未明确具体型号或显存要求)

内存

未说明

依赖
notes该工具提供多种安装模式:最小化安装仅需核心服务;若需使用基于 JAX 的最先进贝叶斯优化器,需安装 'google-vizier[jax]';若需支持所有算法和基准测试,需安装 'google-vizier[all]'。开发者可使用 'google-vizier-dev' 安装最新提交版本。
python3.10+ (完整服务); 3.8+ (仅客户端包)
google-vizier
jax (可选,用于贝叶斯优化)
tensorflow (可选,用于基准测试)
flax (可选,配合 JAX)
tensorflow-probability (可选,用于贝叶斯优化)
pyglove (可选,用于大规模进化实验)
evojax (可选,额外算法库)
vizier hero image

快速开始

开源 Vizier:可靠且灵活的黑盒优化工具。

PyPI version 持续集成 文档

Google AI 博客 | 快速入门 | 文档 | 安装 | 引用与亮点

什么是开源 (OSS) Vizier?

OSS Vizier 是一个基于 Python 的黑盒优化与研究服务,其原型为 Google Vizier,这是最早设计用于大规模运行的超参数调优服务之一。


OSS Vizier 的分布式客户端-服务器系统。动画由 Tom Small 制作。

快速入门

作为用户的简单示例,下面展示了如何使用所有平坦搜索空间类型来优化一个简单的目标函数:

from vizier.service import clients
from vizier.service import pyvizier as vz

# 需要最大化的目标函数。
def evaluate(w: float, x: int, y: float, z: str) -> float:
  return w**2 - y**2 + x * ord(z)

# 算法、搜索空间和指标。
study_config = vz.StudyConfig(algorithm='DEFAULT')
study_config.search_space.root.add_float_param('w', 0.0, 5.0)
study_config.search_space.root.add_int_param('x', -2, 2)
study_config.search_space.root.add_discrete_param('y', [0.3, 7.2])
study_config.search_space.root.add_categorical_param('z', ['a', 'g', 'k'])
study_config.metric_information.append(vz.MetricInformation('metric_name', goal=vz.ObjectiveMetricGoal.MAXIMIZE))

# 设置客户端并开始优化。Vizier 服务将被隐式创建。
study = clients.Study.from_study_config(study_config, owner='my_name', study_id='example')
for i in range(10):
  suggestions = study.suggest(count=2)
  for suggestion in suggestions:
    params = suggestion.parameters
    objective = evaluate(params['w'], params['x'], params['y'], params['z'])
    suggestion.complete(vz.Measurement({'metric_name': objective}))

文档

OSS Vizier 的接口由 三个主要 API 组成:

  • 用户 API: 允许用户优化其黑盒目标函数,并可选择设置服务器以支持分布式多客户端环境。
  • 开发者 API: 定义用于实现新优化算法的抽象和工具,以便在服务中托管这些算法进行研究。
  • 基准测试 API: 包含大量目标函数和方法,用于对算法进行基准测试和比较。

此外,它还包含 高级 API 用于:

  • TensorFlow Probability: 使用 TensorFlow Probability 和 Flax 编写贝叶斯优化算法。
  • PyGlove: 利用 OSS Vizier 作为分布式后端,进行大规模进化实验和程序搜索。

有关详细信息,请参阅 OSS Vizier 的 ReadTheDocs 文档

安装

快速入门: 若要使用我们最先进的基于 JAX 的贝叶斯优化器来优化目标函数,请运行:

pip install google-vizier[jax]

高级安装

最小安装: 若要仅从 requirements.txt 中安装核心服务和客户端 API,请运行:

pip install google-vizier

完整安装: 若要支持所有算法和基准测试,请运行:

pip install google-vizier[all]

特定安装: 如果您只需要 OSS Vizier 的某个特定部分“X”,请运行:

pip install google-vizier[X]

这将安装来自 requirements-X.txt 的附加组件。可能的选项包括:

  • requirements-jax.txt:算法和基准测试共用的 JAX 库。
  • requirements-tf.txt:基准测试使用的 TensorFlow 库。
  • requirements-algorithms.txt:用于算法的额外仓库(例如 EvoJAX)。
  • requirements-benchmarks.txt:用于基准测试的额外仓库(例如 NASBENCH-201)。
  • requirements-test.txt:测试代码所需的库。

开发者安装: 若要安装到最新提交版本,请运行:

pip install google-vizier-dev[X]

完整安装后,请通过运行 run_tests.sh 来检查所有单元测试是否正常工作。OSS Vizier 需要 Python 3.10 或更高版本,而仅包含客户端的软件包则需要 Python 3.8 或更高版本。

引用与亮点

引用 Vizier: 如果您觉得其中任何一篇论文对您的工作有所帮助,请考虑引用相应的文献:算法论文开源软件包论文以及Google 系统论文

亮点: 我们会记录 知名用户媒体关注,如果您在工作中使用了 OSS Vizier 并从中受益,请告知我们。

谢谢!

@article{gaussian_process_bandit,
  author       = {Xingyou Song and
                  Qiuyi Zhang and
                  Chansoo Lee and
                  Emily Fertig and
                  Tzu-Kuo Huang and
                  Lior Belenki and
                  Greg Kochanski and
                  Setareh Ariafar and
                  Srinivas Vasudevan and
                  Sagi Perel and
                  Daniel Golovin},
  title        = {The Vizier Gaussian Process Bandit Algorithm},
  journal      = {Google DeepMind Technical Report},
  year         = {2024},
  eprinttype    = {arXiv},
  eprint       = {2408.11527},
}

@inproceedings{oss_vizier,
  author    = {Xingyou Song and
               Sagi Perel and
               Chansoo Lee and
               Greg Kochanski and
               Daniel Golovin},
  title     = {Open Source Vizier: Distributed Infrastructure and API for Reliable and Flexible Black-box Optimization},
  booktitle = {Automated Machine Learning Conference, Systems Track (AutoML-Conf Systems)},
  year      = {2022},
}

@inproceedings{google_vizier,
  author    = {Daniel Golovin and
               Benjamin Solnik and
               Subhodeep Moitra and
               Greg Kochanski and
               John Karro and
               D. Sculley},
  title     = {Google Vizier: {A} Service for Black-Box Optimization},
  booktitle = {Proceedings of the 23rd {ACM} {SIGKDD} International Conference on
               Knowledge Discovery and Data Mining, Halifax, NS, Canada, August 13
               - 17, 2017},
  pages     = {1487--1495},
  publisher = {{ACM}},
  year      = {2017},
  url       = {https://doi.org/10.1145/3097983.3098043},
  doi       = {10.1145/3097983.3098043},
}

版本历史

v0.1.242025/02/01
v0.1.232025/01/31
v0.1.222025/01/31
v0.1.212025/01/07
v0.1.202024/10/29
v0.1.192024/10/24
v0.1.182024/08/06
v0.1.172024/07/11
v0.1.162024/04/08
v0.1.152024/01/24
v0.1.142024/01/23
v0.1.132023/11/30
v0.1.122023/10/16
v0.1.112023/09/11
v0.1.102023/09/08
v0.1.92023/09/01
v0.1.82023/08/17
v0.1.72023/08/10
v0.1.62023/06/07
v0.1.52023/05/02

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|今天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

140.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|3天前
开发框架图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|今天
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型