使用 TensorFlow Quantum 训练多个 Worker

Image

Image

发布人:Google 团队 Cheng Xing 和 Michael Broughton

训练大型机器学习模型是 TensorFlow 的核心能力。多年来,训练规模已成为 NLP、图像识别和药物研发等众多现代机器学习系统的重要特征。利用多台机器来提高计算能力和吞吐量为机器学习领域带来巨大进步。同样,在量子计算和量子机器学习领域,更多可用的机器资源可以加速对更大的量子态和更加复杂系统的模拟。在本文中,我们将逐步带您了解如何使用 TensorFlow 和 TensorFlow Quantum 进行大规模和分布式的 QML 模拟。以更大的 FLOP/s 计数运行规模更大的模拟,可以为研究工作带来小规模模拟无法实现的全新可能性。在下方的图表中,我们大致描绘了量子模拟中几种不同硬件设置的近似扩缩能力。

Image

运行分布式工作负载时基础架构往往都很复杂,不过我们可以用 Kubernetes 来简化这一过程。Kubernetes 是一个开源的容器编排系统,同样也是能够有效管理大规模工作负载的可靠平台。尽管我们可以用物理集群或虚拟机集群来设置多个 worker ,但 Kubernetes 能够提供出诸多优势,其中包括:

  • 服务发现 - Worker 可以通过熟知的 DNS 名称轻松识别其他 worker,无需手动配置 IP 目的地。

  • 自动装箱 - Kubernetes 会根据资源需求和当前的消耗量,将工作负载自动调度到不同的机器上。

  • 自动发布和回滚 - Kubernetes 会通过更改配置来改变 worker 副本的数量,同时还会在响应和调度可用的机器时自动添加/删除 worker 资源。

本教程将指导您使用 Google Cloud 产品(包括 Kubernetes 托管平台 Google Kubernetes Engine)来完成 TensorFlow Quantum 多个 worker 设置。您将有机会学习 TensorFlow Quantum 中的单 worker 量子卷积神经网络 (QCNN) 教程,并将其拓展到多 worker 的训练中。

从我们对多 worker 设置的实验来看,如果我们用 1000 个训练示例训练 23 量子位的 QCNN(相当于使用全状态向量模拟大约 3000 个电路),在 32 个节点 (512 vCPU) 的集群上平均每个周期会花费 5 分钟,这一过程需要花费数美元。相比之下,如果我们在单 worker 上完成同样的训练作业,平均每个周期会花费约 4 小时。将规模进一步扩大来看,数十万个 30 量子位的电路可以使用超过 10000 个虚拟 CPU 在数小时内完成运行,而在单 worker 设置下运行则可能需要花费数周时间。实际性能和成本可能会因虚拟机机器类型和集群总运行时等 Cloud 设置而异。在进行大规模实验之前,我们建议您先通过类似本教程中用到的小集群进行实验。

本教程的所有源代码均可在 TensorFlow Quantum GitHub 代码库中找到。README.md 中包含能够让您快速上手并运行本教程的便捷方法。本教程将侧重于详细介绍每个操作步骤,从而帮助您理解基本概念,并将这些概念集成到您的项目中。现在就开始吧!

想获取更多 TensorFlow 官方资讯,请在微信中搜索:TensorFlow_official 

关注 TensorFlow 官方微信!

在 Google Cloud 中设置基础架构

首先我们需要在 Google Cloud 中创建基础架构资源。如果您有现有的 Google Cloud 环境,则具体操作步骤可能会有所不同,例如组织政策限制条件导致的不同。本文包括一些最常见的必要步骤。值得注意的是,您需要为创建的 Google Cloud 资源付费,点击此处了解本教程中使用的计费资源摘要。如果您是 Google Cloud 新用户,那么您可以获得 300 美元赠金。如果您是学术机构成员,那么您可以获得 Google Cloud 研究赠金。

在本教程中,您将会运行数个 shell 命令。为此,您可以使用计算机上的本地 Unix shell,也可以使用 Cloud Shell,后者包含我们会在后面提到的许多工具。

您可以利用 setup.sh 中的脚本自动实现以下步骤。在本节中,我们将为大家详细介绍每个步骤,如果这是您第一次使用 Google Cloud,我们建议您仔细阅读整个章节。如果您希望自动化 Google Cloud 设置过程,请跳过本章节:

  • 打开 setup.sh 并配置其中的参数值。

  • 运行 ./setup.sh infra 。

在本教程中,您将会用到以下几个 Google Cloud 产品

  • Kubernetes Engine (GKE)。这是本教程中主要负责执行 QCNN 作业的基础架构平台。

  • Cloud Storage,用于存储来自 QCNN 作业的数据。

  • Container Registry,用于存储容器镜像。

为准备好 Cloud 环境,请首先遵循以下快速入门指南:

在本教程中,您可以在浏览到创建集群的说明时停止阅读 Kubernetes Engine 快速入门。此外,请安装 Cloud Storage 命令行工具 gsutil(如果您使用的是 Cloud Shell,则系统已安装好 gsutil):

gcloud components install gsutil

作为参考信息,本教程中的 shell 命令将会引用以下这些变量。部分变量在结合本教程之后会提到的每个命令的上下文后,会更容易理解。

  • ${CLUSTER_NAME:您在 Google Kubernetes Engine 上的首选 Kubernetes 集群名称。

  • ${PROJECT}:您的 Google Cloud 项目 ID。

  • ${NUM_NODES}:集群中虚拟机的数量。

  • ${MACHINE_TYPE}:虚拟机的机器类型。该变量可控制每个虚拟机中 CPU 和内存资源的数量。

  • ${SERVICE_ACCOUNT_NAME}:Google Cloud IAM 服务帐号和关联的 Kubernetes 服务帐号的名称。

  • ${ZONE}:Kubernetes 集群的 Google Cloud 区域

  • ${BUCKET_REGION}:Google Cloud Storage 存储分区的 Google Cloud 地区。

  • $

相关推荐

TensorFlow js. 官方教程

开始TensorFlow.js 是一个 JavaScript 库,用于在浏览器和 Node.js 训练和部署机器学习模型。了解开始的更多方式,请参阅下面的部分。在不直接处理张量的情况下编写 ML 程序想要开始机器学习,同时不用担心任何类似张量或优化器的低级细节吗?ml5.js 库构建在 TensorFlow.js 之上,通过简洁的、可利用的 API,可以在浏览器中访问机器学习算法和模型。CHECK OUT ML5.JS安装 TensorFlow.jsTensorF

tensorflowforum的博客 4477

有奖征文 | 参与 Google I/O 课代表征集活动,分享你的灵感与感悟

今年,Google I/O 大会以线上形式重新回归。通过 Smart Canvas, LaMDA, Project Starline, Material You, Android 12 和 Wear OS 等一系列技术和产品创新,Google 继续致力于惠及每一个人,在重要时刻为人们提供帮助。“I/O 并不仅仅是一场科技盛会,更是使用者的盛会、创造者的盛会。”技术创新的意义是让实际生活更好。我们感谢技术力量,带给每个人(不论地域、身份、性别)获得更好的信息资源和工具的机会。我们也感谢...

tensorflowforum的博客 855

社区说 |今晚直播! 使用 TensorFlow Lite 构建和部署自定义对象检测模型

活动时间8月12日(本周四)20:00pm-21:00pm活动日程20:00-20:45 主题分享使用 TensorFlow Lite 构建和部署自定义对象检测模型 对象检测简介 对象检测模型的获取与训练 编写代码在 Android Studio 完成对象检测 demo 内容回顾 20:45-21:00 互动问答举办社区GDG 北京B 站直播访问以下链接或点击阅读原文获取更多资讯https://live.bili...

tensorflowforum的博客 810

深受 Pandas 启发的 JavaScript 开源库 — Danfo.js

特邀博文 / 独立研究员 Rising Odegua 与来自 Data Science Nigeria 的 Stephen OniDanfo.js 是个 JavaScript 开源库,提供了高性能、直观易用的数据结构,支持结构化数据的操作和处理。Danfo.js 深受 Python Pandas 库的启发,并提供了类似的接口/API。因此熟悉 Pandas API 且了解 JavaScript 的用户可以轻松上手。Danfo.js的一大目标是为 JavaScript 开发...

tensorflowforum的博客 1625

使用 TensorFlow.js 在浏览器中自定义目标检测

目标检测是一类检测目标在图像中的位置,以及在给定图像中对每个感兴趣的目标进行分类的任务。在计算机视觉领域,我们可将此技术应用于图片检索、监控摄像头和无人驾驶汽车中就目标检测而言,深度卷积神经网络 (DNN) 家族中最负盛名的算法就是 YOLO (You Only Look Once)。在本文中,我们将使用 TensorFlow 开发一种端到端解决方案, 用以在 Python 中训练自定义目标检测模型,然后将其投入生产,并通过TensorFlow.js在浏览器内运行实时推理。 项目代码库 ..

tensorflowforum的博客 2381

使用 MoveNet 和 TensorFlow.js 的下一代姿态检测

发布人:Ronny Votel 和 Na Li,Google Research 团队今天,我们很高兴推出最新的姿态检测模型 MoveNet,并在 TensorFlow.js 中添加了新的姿态检测 API。MoveNet 是一种非常快速和准确的模型,可检测人体的 17 个关键点。该模型已在TF Hub上提供,有两个变体,分别称为“Lightning”和“Thunder”。Lightning 适用于对延迟要求严格的应用,而 Thunder 适用于对准确性要求较高的应用。两种模型变体在大多...

tensorflowforum的博客 7353

使用 Colab 在 tf.keras 中训练模型,并使用 TensorFlow.js 在浏览器中运行

文 / Zaid Alyafeai我们将创建一个简单的工具来识别图纸并输出当前图纸的名称。 此应用程序将直接在浏览器上运行,无需任何安装。我们会使用 Google Colab 来训练模型,并使用 TensorFlow.js 在浏览器上部署它。【想获取 TensorFlow js. 视频教程,请前往 Bilibili,TensorFlow 渠道查看:https://www.bilibili.com/video/BV1D54y1p7PQ】代码和演示在 GitHub 上找到现场演示和代码.

tensorflowforum的博客 1533

社区说 | Wechaty: 6 行代码构建基于个人微信和Whatsapp的对话式人机交互界面应用

【活动时间】7月22日(本周四)20:00 pm-21:00 pm【活动日程】- 20:00-20:45Wechaty: 6 行代码构建基于个人微信和 Whatsapp 的对话式人机交互界面应用 对话式人机交互界面趋势 人工智能前沿发展 Conversation AI 场景 Wechaty 介绍 Live Demo Chatbot 行业前景 - 20:45-21:00:QA【举办社区】GDG 上海【直播平台】Bilibil...

tensorflowforum的博客 641

ML Metadata:ML 的版本控制

文 / Ben Mathes 和 Neoklis Polyzotis,代表 TFX 团队发布在编写代码时,您需要追踪代码进行追踪版本控制。那么 ML 的版本控制是什么?如果您正在构建生产 ML 系统,您需要能够回答如下问题: 模型是基于哪个数据集进行训练的? 使用了哪些超参数? 创建此模型时,使用了哪个流水线? 创建此模型时,使用了哪个版本的 TensorFlow(和其他库)? 是什么导致了此模型失败? 上次部署的模型版本是什么? ..

tensorflowforum的博客 769

案例分享 | TensorFlow 助力 OpenX 实现每秒处理百万查询

客座博文 / Larry Price,来自 OpenX 团队编辑 / Robert Crowe、Anusha Ramesh,TensorFlow 团队概述Adtech(广告技术)是一个基于大规模延迟的行业。在 OpenX,这意味着我们的交易平台在流量高峰期每秒处理超过一百万个广告请求,其中的大部分请求需要在 300 毫秒内响应。在如此高的流量和严格的时间预算下,我们必须确定流量优先级,从而确保既能帮助发布商获得最高的广告库存价格,又能确保买家实现其广告系列的目标。为此,我们利..

tensorflowforum的博客 663

TFX 交互式笔记本简介

文 /由 Charles Chen、Joe Lee 和 Kenny Song 代表 TFX 团队发布TensorFlow Extended (TFX) 是一个用于创建端到端机器学习流水线的平台。TFX 由 Google 创建,起初是为我们自己的 ML 应用程序和服务提供支撑,我们现在正在稳步地将 TFX 开源,以支持其他公司和团队轻松搭建生产级 ML 系统(更多信息请阅读此文)。在 TFX 0.15 中,我们很高兴地发布一种快速开始使用 TFX 的方法。现在您可以在交互式 Google.

tensorflowforum的博客 959

用 TensorFlow Extended 实现可扩展、快速且高效的 BERT 部署(二)

特邀作者 / SAP Concur Labs 高级数据科学家 Hannes Hapke,由 Robert Crowe 代表 TFX 团队编辑自然语言处理中的 Transformer 模型和迁移学习概念为情感分析、实体提取和问题解答等任务带来了新的机遇。BERT 模型让数据科学家得以站在巨人的肩膀上。在大型语料库上对 Transformer 模型进行预训练后,数据科学家便可利用这些经过训练的多用途模型来执行迁移学习,并在特定领域问题中找到最佳解决方案。在稍早的一篇文章中,我们讨论了为何

tensorflowforum的博客 800

用 TensorFlow Extended 实现可扩展、快速且高效的 BERT 部署 (一)

文 / 由特邀作者 SAP Concur Labs 的高级机器学习工程师 Hannes Hapke 发布。由 Robert Crowe 代表 TFX 团队编辑。Transformer 模型(尤其是BERT 模型)为 NLP 带来巨大的变革,并且在情感分析、实体提取和问答问题等任务的处理上也均有新的突破。BERT 模型让数据科学家站在了巨人的肩膀上。各公司已经通过大型语料库对模型进行预训练,数据科学家可以对这些经过训练的多用途 Transformer 模型应用迁移学习,针对其所在领域的特定问题达成突.

tensorflowforum的博客 704

创建自定义 TFX 组件

TensorFlow Extended (TFX) 是Google专为生产环境的机器学习流水线 (ML Pipeline)部署而打造的平台,是 Google 机器学习服务和应用的中坚力量。目前我们已开放 TFX 的源代码,各地的开发者可在生产级 TFX 流水线上创建与部署自己的模型。TFX 可以用多种方式扩展与自定义。我们曾在之前的文章中讲述过如何通过自定义Executor来变更TFX 组件的行为。在本文中,我们将展示如何通过创建一个全新的 TFX 组件以及使用 TFX 流水线来自定义...

tensorflowforum的博客 636

High&NewTech:2021 年Google谷歌 I/O 开发者大会 Kemal 等三人主题演讲分享《TensorFlow 在机器学习领域的进展》

自然语言处理中的 Transformer 模型和迁移学习概念为情感分析、实体提取和问题解答等任务带来了新的机遇。BERT 模型让数据科学家得以站在巨人的肩膀上。在大型语料库上对 Transformer 模型进行预训练后,数据科学家便可利用这些经过训练的多用途模型来执行迁移学习,并在特定领域问题中找到最佳解决方案。在稍早的一篇文章中,我们讨论了为何当前 BERT 模型的部署会令人感到过于复杂和麻烦,以及如何通过 TensorFlow 生态系统的库和扩展程序来简化部署。如果您还未查阅此文,我..

tensorflowforum的博客 623

云游 Google I/O 2021——Google Cloud 硬件算力和模型新突破

作者:王顺 Google Cloud AI 专家美国时间 2021 年 5 月 18-20 日,Google I/O 2021成功举办。在这次活动中,Google 带来了各种开发者关注的干货内容和产品资讯。同时 Google Cloud 这次也带来了很多创新主题的分享,特别是最新的 AI 技术。本期内容将围绕包括Vertex AI、TPU v4、LaMDA、MUM四个技术要点为大家进行深度剖析。Vertex AIVertex AI是 Google Cloud 上统一的托...

tensorflowforum的博客 950

TensorFlow 决策森林来啦!

发布人:Mathieu Guillame-Bert、Sebastian Bruch、Josh Gordon、Jan Pfeifer我们很高兴开放 TensorFlow 决策森林 (TensorFlow Decision Forests,TF-DF) 源代码。TF-DF 是用于训练、解释并服务于决策森林模型(包括随机森林和梯度提升树)的最先进算法集,可用于生产环境。得益于 TensorFlow 和 Keras 的灵活性和可组合性,您现在可以将这些模型用于分类、回归和任务排序。随机森林...

tensorflowforum的博客 3881

REALM:将检索集成到语言表征模型,搞定知识密集型任务!

文 / Ming-Wei Chang 和 Kelvin Guu,研究员,Google Research自然语言处理的最新进展以无监督预训练为基础,使用大量文本训练通用语言表征模型 (Language Representation Models),无需人工标注或标签。这些预训练模型,如BERT和RoBERTa,经证明可以记忆大量世界知识,例如“the birthplace of Francesco Bartolomeo Conti”、“the developer of JDK”和“th...

tensorflowforum的博客 829

社区说 | 对比学习前沿进展及 TensorFlow 实现

活动时间6月24日(本周四)20:00pm-21:00pm活动日程20:00-20:45《对比学习前沿进展及 TensorFlow 实现》 对比学习在 CV 领域的进展 对比学习在 NLP 领域的进展 我们在对比学习上的尝试 基于 TensorFlow 实现对比学习 20:45-21:00QA举办社区GDG 西安讲师介绍李如寐美团 NLP 算法工程师 美团NLP算法工程师,三年人工智能算法从业经...

tensorflowforum的博客 939

揭开 ScaNN 的神秘面纱:高效的向量相似性搜索

文 / 软件工程师 Philip Sun,Google Research人们要从大量的文学作品中进行搜索,一般需要使用与标题、作者或其他易于机器索引的标准完全匹配的查询条件。那么使用 SQL 等语言的关系型数据库可以轻松完成此类任务。但是,如果想要查询如 ‘内战期间的诗歌’ 这类比较抽象的内容,就无法再依赖如对比短语之间共同单词数量等简单的相似性指标。如,“科幻小说 (Science Fiction)”与“未来 (Future)”的关系比与“地球科学 (Earth Science)...

tensorflowforum的博客 1595

利用 TensorFlow Hub 中的预处理模型简化 BERT

文 /软件工程师 Arno Eigenwillig 和开发技术推广工程师 Luiz GUStavo MartinsBERT及其他Transformer编码器架构在自然语言处理 (NLP) 领域计算矢量空间下的文本表征任务中取得了巨大成功,不仅推进学术领域前沿研究指标的发展,还被广泛应用于 Google 搜索等大型应用。BERT 自最开始便由 TensorFlow 构建,但它最初依赖的并非是 TensorFlow Python 代码来将原始文本转换为模型输入。今天,我们非常高兴地发布...

tensorflowforum的博客 631

TensorFlow Quantum 使用心得

特邀博文 /Owen Lockwood,来自伦斯勒理工学院量子力学曾是一门富有争议的学说。早期的批判者(如爱因斯坦)曾在量子力学领域留下一句名言,即“上帝不会掷骰子”(指的是量子测量的概率特性),尼尔斯·玻尔对此评论道:“爱因斯坦,不要对上帝指手画脚。”然而大家都同意爱因斯坦的观点,引用约翰·惠勒的一句话就是,“如果你不曾为量子力学困惑不已,则将无法领略其中的真谛”。随着对量子力学的认识不断深入,我们不仅从中收获到许多重要的物理发现,同时也通过量子力学催生了量子计算领域。量子计算是一门与...

tensorflowforum的博客 828

社区说 | 使用 TensorFlow Quantum进行混合量子-经典机器学习

活动时间6月17日(本周四)20:00pm-21:00pm活动日程20:00-20:45《使用TensorFlow Quantum进行混合量子-经典机器学习》 量子计算基本概念(使用 Cirq 进行量子计算) 使用 TensorFlow Quantum 和 Cirq 进行混合量子-经典机器学习 20:45-21:00QA举办社区GDG 深圳讲师介绍李锡涵谷歌开发者专家(机器学习领域)伦敦大学学院计算机科学系博士研究生,北京大学...

tensorflowforum的博客 468

活动 | I/O Extended:为今年 I/O TensorFlow 内容划重点

一年一度的 Google I/O 大会落下帷幕,这个享誉全球的程序员春晚,自 2008 年首次举办,至今已经举办了十多年。I/O 意为「开放中创新」Innovation in the Open,在大会上不仅会发布一些技术大杀器,也会带领大家关注未来的发展趋势。今年的 Google I/O 开发者大会已于 5 月 18-20 日全程在线上举办,主题演讲、互动式探索游戏、工作坊、代码实验室,全部都搬到了线上,所有人都可以免费注册参与。谷歌开发者社区将在 6 月 19 日(周六)举办线下、线上的回顾活..

tensorflowforum的博客 239

案例分享 | 基于 TensorFlow 构建个性化股票内容推荐产品

文:

tensorflowforum的博客 2105

案例分享 | TensorFlow 在贝壳找房中的实践

文:贝壳找房技术团队贝壳找房作为行业领先的房产服务互联网平台,通过开放数据资源和技术能力,聚合和赋能全行业的服务者,打造产业互联网下的“新居住”品质服务生态,致力于为全国家庭的品质居住提供全方位服务连接,涵盖二手房、新房、租房、装修和社区服务等众多类目。今天我们主要针对一个打算购买二手房的用户,来看一下 ta 来到贝壳 App 中所经历的一切,以及平台背后进行的策略优化。首先,用户会现在 App 上浏览一些 ta 感兴趣的房源。接着,当 ta 看到一套合适的房源时,会跟经纪人进行线上沟通,...

tensorflowforum的博客 3619

初学者的 TensorFlow 2.0 教程

Note:我们的 TensorFlow 社区翻译了这些文档。因为社区翻译是尽力而为, 所以无法保证它们是最准确的,并且反映了最新的官方英文文档。如果您有改进此翻译的建议, 请提交 pull request 到tensorflow/docsGitHub 仓库。要志愿地撰写或者审核译文,请加入docs-zh-cn@tensorflow.org Google Group。这是一个Google Colaboratory笔记本文件。 Python 程序可以直接在浏览器中运行,这是学习 Te...

tensorflowforum的博客 2565

案例分享 | 深度学习在花椒直播中的应用 — 神经网络与协同过滤篇

案例来源于花椒直播,作者花椒智能工程

tensorflowforum的博客 1827

TensorFlow Recommenders 迎来更新 — 可扩展检索和特征交互建模

9 月,我们开源了 TensorFlow Recommenders,这个库能够帮助您轻松构建最先进的推荐系统模型。现在,我们高兴地宣布 TensorFlow Recommenders (TFRS) 的新版本v0.3.0。 v0.3.0 https://github.com/tensorflow/recommenders/releases/tag/v0.3.0 新版本引入了两项重要功能,二者对于构建和部署高质量、可扩展的推荐模型至关重要。第一项新增功能是对快速可扩展近似检索提供内...

tensorflowforum的博客 3776

C 版 TensorFlow 安装方法详解

TensorFlow 提供了一个 C API,该 API 可用于为其他语言构建绑定。该 API 在 c_api.h 中定义,旨在实现简洁性和一致性,而不是便利性。每夜版 Libtensorflow C 软件包Libtensorflow 软件包是在夜间构建的,并会针对所有受支持平台上传到 GCS。软件包会上传到 libtensorflow-nightly GCS 存储分区,并按操作系统和构建日期编入索引。对于 MacOS 和 Linux 的共享对象,我们的脚本会根据当前日期重命名 .so ..

tensorflowforum的博客 3351
上一篇: 深受 Pandas 启发的 JavaScript 开源库 — Danfo.js
下一篇: 社区说 |今晚直播! 使用 TensorFlow Lite 构建和部署自定义对象检测模型
TensorFlow 社区
TensorFlow 社区 企业官方账号 企业官方账号
博客等级 码龄6年 3万+粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值