vizier

vizier

开源黑盒优化框架助力机器学习研究

Open Source Vizier是一个Python开发的黑盒优化框架,源自Google Vizier项目。它提供用户、开发者和基准测试三大API,支持分布式多客户端环境。该框架集成了基于JAX的贝叶斯优化器,适用于超参数调优、进化算法和程序搜索等多种场景。作为开源项目,Vizier具有灵活的安装选项,可满足不同的优化研究需求。

Vizier黑盒优化超参数调优分布式系统机器学习Github开源项目
<figure> <img src="https://yellow-cdn.veclightyear.com/835a84d5/f65c8aee-5993-4240-b664-2a1e2c23e455.png" width=20% align="right"/> </figure>

开源Vizier:可靠灵活的黑盒优化

PyPI版本 持续集成 文档

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

什么是开源(OSS) Vizier?

OSS Vizier是一个基于Python的黑盒优化和研究服务,它基于Google Vizier,后者是最早设计用于大规模工作的超参数调优服务之一。

<figure> <p align="center" width=65%> <img src="https://yellow-cdn.veclightyear.com/835a84d5/99ef8306-22f4-426b-b368-158504070939.gif"/> <br> <em><b>OSS Vizier的分布式客户端-服务器系统。动画由Tom Small制作。</b></em> </p> </figure>

快速入门 <a name="getting_started"></a>

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

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}))

文档 <a name="documentation"></a>

OSS Vizier的接口包含三个主要API

  • 用户API: 允许用户优化他们的黑盒目标函数,并可选择为分布式多客户端设置设置服务器。
  • 开发者API: 定义了用于实现新优化算法的抽象和工具,用于研究和托管在服务中。
  • 基准测试API: 广泛的目标函数集合和方法,用于对算法进行基准测试和比较。

此外,它还包含高级API

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

请查看OSS Vizier的ReadTheDocs文档以获取详细信息。

安装 <a name="installation"></a>

快速开始: 要使用我们最先进的基于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:测试代码所需的库。

完整安装后,通过运行run_tests.sh检查所有单元测试是否正常工作。OSS Vizier需要Python 3.10+,而仅客户端包需要Python 3.8+。

引用与亮点 <a name="citing_vizier"></a>

<ins>引用Vizier:</ins> 如果您发现此代码有用,请考虑引用OSS Vizier论文以及Google Vizier论文

<ins>亮点:</ins> 我们跟踪著名用户媒体关注 - 如果OSS Vizier对您的工作有帮助,请告诉我们。

谢谢!

@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}, }

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多