TPU使用说明

简介: 1 TPU分类和收费标准1.1 分类和计费说明地区抢占式TPUCloud TPU美国$1.35/hour$4.5/hour欧洲$1.485/hour$4.95/hour亚太区地区$1.566/hour$5.22/hour抢占式 TPU 是 Cloud TPU 在需要将资源分配给另一项任务时,可以随时终止(抢占)的 TPU。

1 TPU分类和收费标准

1.1 分类和计费说明

地区 抢占式TPU Cloud TPU
美国 $1.35/hour $4.5/hour
欧洲 $1.485/hour $4.95/hour
亚太区地区 $1.566/hour $5.22/hour
  • 抢占式 TPU 是 Cloud TPU 在需要将资源分配给另一项任务时,可以随时终止(抢占)的 TPU。抢占式 TPU 的费用要比普通 TPU 低廉得多。
  • TPU 以 1 秒钟为增量单位进行计费。

为了连接到 TPU,我们必须配置一台虚拟机(单独结算)。要注意的是虚拟机和TPU是分别计费的

也就是说仅在启动 TPU 之后,Cloud TPU 的计费才会开始;在停止或删除 TPU 之后,计费随即停止。运行 ctpu pausegcloud compute tpus stop 即可停止 TPU。同样,只有在虚拟机激活之后,我们才会向您收取虚拟机费用。

如果虚拟机已停止,而 Cloud TPU 未停止,您需要继续为 Cloud TPU 付费。如果 Cloud TPU已停止或删除,而虚拟机未停止,则您需要继续为虚拟机付费。

1.2 实用查询链接

1.3 价格计算实例

以下示例解释了如何计算一项训练作业的总费用,该作业使用美国区域的 TPU 资源和 Compute Engine 实例。

一家机器学习研究机构通过创建 Compute Engine 实例预配了一台虚拟机,他们选择的是 n1-standard-2 机器类型。他们还创建了一项 TPU 资源,其 Compute Engine 实例和 TPU 资源的累计使用时间都是 10 小时。为了计算该训练作业的总费用,这家机器学习研究机构必须将以下几项相加在一起:

  • 所有 Compute Engine 实例的总费用
  • 所有 Cloud TPU 资源的总费用
资源 每小时每台机器的价格(美元 ) 机器数量 计费小时数 各资源总费用 训练作业总费用
Compute Engine n1-standard-2 实例 $0.095 1 10 $0.95 _
Cloud TPU 资源 $4.50 1 10 $45.00 _
$45.95

使用抢占式 TPU 的价格示例

在以下示例中,使用的资源和时长与上例相同,但这一次该研究机构决定使用抢占式 TPU 来节省成本。抢占式 TPU 的费用是每小时 $1.35,而非普通 TPU 的每小时 $4.50。

资源 每小时每台机器的价格(美元 ) 机器数量 计费小时数 各资源总费用 训练作业总费用
Compute Engine n1-standard-2 实例 $0.095 1 10 $0.95 -
抢占式 TPU $1.35 1 10 $13.50 -
$14.45

2 使用步骤

2.1 创建GCP project

点击链接Google Cloud Platform之后会进入这样一个界面:

点击创建项目,输入项目名,等一会项目就会创建成功,有时可能需要刷新一下网页项目才会出现。

img_d0830a67f349d3deca359be3dac22bd3.png

2.2 创建Cloud Storage bucket

Cloud Storage 简单来说就是用来存储模型训练数据和训练结果的。官方的解释是它是适用于非结构化对象的一种功能强大且经济有效的存储解决方案,非常适合托管实时网页内容、存储用于分析的数据、归档和备份等各种服务。

注意:要想使用Cloud Storage,需要启用结算功能。

2.2.1 创建存储分区

存储分区用于保存您要在 Cloud Storage中存储的对象(任何类型的文件)。

  • 首先在控制台左侧选择 【存储】(如下图示(中英文))就能进入Cloud Storage页面了,
img_3e3ca729e55322d9474db24e2b135888.png img_0bdcdd5c29d83be31b700ad8bf607869.png
  • 之后点击 【创建存储分区】


    img_6d27333bc0fe196a1c9544f37b62402c.png
  • 输入storage名即可创建完成,注意名称需要是unique的,否则无法创建成功。

img_367d3e9893578b4c0ad0902fb87147cf.png

2.2.2 上传和共享对象

要开始使用您的存储分区,只需上传对象并开放其访问权限即可。

2.2.3 清理

在最后一步中,您将删除之前为本教程创建的存储分区和对象。

2.3 打开Cloud Shell,使用ctpu工具

Shell在控制台右上角,如下图示:


img_ae24b3f58e6a84f6b282e103f91938f2.png

输入ctpu print-config可以查看配置信息。我的输入结果是这样的:

ctpu configuration:
        name: hkbuautoml
        project: test01-219602
        zone: us-central1-b
If you would like to change the configuration for a single command invocation, please use the command line flags.
img_329740e9d765483bd2aa5d0b7af9e745.png

2.3.1 创建Computer Engine VM和TPU

命令为:ctpu up [optional: --name --zone]

注意: name只能用小写字母和数字组成,大写字母或者其他字符都会报错。

这里我创建了一个名为tputest的tpu。输入y确认创建。


img_465dc2b667272c36eccca6cd495f127c.png


上面的ctpu up命令主要做了如下几件事:

  • 开启Computer Engine和Cloud TPU服务
  • 创建预装有最新稳定版本TensorFlow的Computer Engine VM。其中默认的Zone是us-central1-b
  • 使用TensorFlow的相应版本创建Cloud TPU,并将Cloud TPU的名称作为环境变量( TPU _ NAME )传递给Computer Engine VM。
  • 通过向Cloud TPU服务帐户授予特定的IAM角色(见下图),确保您的Cloud TPU可以从GCP项目中获得所需的资源。
  • 执行其他的检查。
  • 将您登录到新的Compute Engine VM。

2.3.2 检查是否登录成功

当成功登录VM后,我们可以看到shell prompt已经由username@project 转变成username@tpuname

img_3f6382da36d70ce4f18b0b492f188abf.png

2.3.3 运行一个TensorFlow程序

  • 创建代码文件
    pico cloud-tpu.py

示例代码如下

import os
import tensorflow as tf
from tensorflow.contrib import tpu
from tensorflow.contrib.cluster_resolver import TPUClusterResolver

def axy_computation(a, x, y):
  return a * x + y

inputs = [
    3.0,
    tf.ones([3, 3], tf.float32),
    tf.ones([3, 3], tf.float32),
]

tpu_computation = tpu.rewrite(axy_computation, inputs)

tpu_grpc_url = TPUClusterResolver(
    tpu=[os.environ['TPU_NAME']]).get_master()

with tf.Session(tpu_grpc_url) as sess:
  sess.run(tpu.initialize_system())
  sess.run(tf.global_variables_initializer())
  output = sess.run(tpu_computation)
  print(output)
  sess.run(tpu.shutdown_system())

print('Done!')

运行代码,结果如下:

[array([[4., 4., 4.],
       [4., 4., 4.],
       [4., 4., 4.]], dtype=float32)]
Done!

2.3.4 释放资源

代码跑完后切记要释放资源,否则系统会继续计费。释放资源方法如下:

1. 断开与Computer Engine VM的连接

(vm)$ exit

成功断开之后shell prompt会变成项目名而不是VM名。

2. 删除Computer Engine VM和Cloud TPU

$ ctpu delete

!!!特别注意:如果在创建VM的时候指定了name,name在删除的时候同业也要指定name。我在删除的时候没有加name,虽然命令行结果显示删除成功,但是后面我在控制台查看资源使用情况,发现VM实例依旧存在。所以最保险的办法是命令输完后,去控制台看看实例是否还存在。


img_15a98a422ecbf48c173547d850f5bd58.png
img_4e3c11e0ac71c5b1df61e56704e21521.png

3. 删除Storage

命令为:gsutil rm -r gs://Your-storage-name

img_6a0f0864091fca6ea2463537a6799d48.png

更详细的资料可参考官方文档



MARSGGBO原创





2018-10-16



目录
相关文章
|
4月前
|
Kubernetes 调度 算法框架/工具
NVIDIA Triton系列02-功能与架构简介
本文介绍了NVIDIA Triton推理服务器的功能与架构,强调其不仅适用于大型服务类应用,还能广泛应用于各类推理场景。Triton支持多种模型格式、查询类型和部署方式,具备高效的模型管理和优化能力,确保高性能和系统稳定性。文章详细解析了Triton的主从架构,包括模型仓库、客户端应用、通信协议和推理服务器的核心功能模块。
145 1
NVIDIA Triton系列02-功能与架构简介
|
并行计算 程序员 TensorFlow
CV:查看本地的电脑显卡是否支持GPU以及需要安装匹配的CUDA版本、tensorflow_gpu版本等
CV:查看本地的电脑显卡是否支持GPU以及需要安装匹配的CUDA版本、tensorflow_gpu版本等
CV:查看本地的电脑显卡是否支持GPU以及需要安装匹配的CUDA版本、tensorflow_gpu版本等
|
Unix 异构计算 Windows
带你读《基于CUDA的GPU并行程序开发指南》之一:CPU并行编程概述
本书旨在帮助读者了解与基于CUDA的并行编程技术有关的基本概念,并掌握实用c语言进行GPU高性能编程的相关技巧。本书第一部分通过CPU多线程编程解释了并行计算,使得没有太多并行计算基础的读者也能毫无阻碍地进入CUDA天地;第二部分重点介绍了基于CUDA的GPU大规模并行程序的开发与实现,并通过大量的性能分析帮助读者理解如何开发一个好的GPU并行程序以及GPU架构对程序性能的影响;本书的第三部分介绍了一些常用的CUDA库。
|
3月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
732 2
|
机器学习/深度学习 C++ Python
飞桨高阶使用教程:自定义CPU算子的实现和使用
飞桨高阶使用教程:自定义CPU算子的实现和使用
454 0
飞桨高阶使用教程:自定义CPU算子的实现和使用
|
4月前
|
存储 并行计算 C++
NVIDIA Triton系列08-用户端其他特性
本文详细解析了NVIDIA Triton开源项目的image_client.py示例代码,涵盖指定通信协议(HTTP与gRPC)、调用异步模式与数据流处理、以及使用共享内存等核心功能,为开发者提供撰写Triton用户端应用的指导。通过具体代码示例,帮助读者理解如何高效利用Triton服务器进行模型推理。
71 1
NVIDIA Triton系列08-用户端其他特性
|
机器学习/深度学习 自然语言处理 并行计算
GPU服务器初体验:从零搭建Pytorch GPU开发环境
如果你有一台带N卡的个人电脑的话,那么是不需要买GPU云服务器的。如果你的公司或实验室有GPU服务器这个福利或资源的话,那么玩玩GPU服务器也不错。
2682 0
GPU服务器初体验:从零搭建Pytorch GPU开发环境
|
9月前
|
并行计算 API 开发工具
【GPU】GPU 硬件与 CUDA 程序开发工具
【GPU】GPU 硬件与 CUDA 程序开发工具
137 0
|
开发工具 Android开发 Windows
英特尔硬件加速管理器HAXM安装使用指南
英特尔硬件加速管理器HAXM安装使用指南 Dawei Cheng 程大伟... 于 星期一, 02/04/2012 - 21:23 提交 预备知识 Intel® HAXM需要预先安装Android SDK(version 17 or higher).
3658 0
|
并行计算 C++
《CUDA高性能并行计算》----0.8 用户指南
我们编写本书的目的就是让广大的技术型读者积极参与到使用CUDA进行GPU并行计算的洪流之中。作为比喻,我们邀请你进行一次基于GPU并行计算的旅程,而本书即是本旅程的导游手册。比喻为导游手册在许多方面都是恰当的,其中包括:
1356 0

热门文章

最新文章