zoukankan      html  css  js  c++  java
  • ModelArts (华为GPU/CPU计算云平台)体验

    • 云平台采用K8S(Kubernetes 容器管理必备)+Docker+Nvidia-Docker

      • GPU免费样例(目前GPU是无法共享使用的,也就是你是可以完全独占一块显卡,因此可以实际测试一下对比一下现有的显卡,就可以确定其型号)+16GB显存以及8核CPU、64GB内存(因此强烈推荐选择GPU实例)
      • CPU免费样例为2核4GB内存
    • 支持Jupyter Notebook

    • 多种镜像环境

    • 免费的一个小时的GPU和CPU容器使用(也就是可以创建两个一小时的两个容器-GPU和CPU)(一个小时自动停止,可以无限重启使用)

    • 提供两种存储方案:对象存储Obs(简单理解:网盘或者类似于亚马逊S3对象存储)/云硬盘(SCSI 远程挂载?还没测试过)

    实践

    OBS创建

    1.首先打开控制台,在上搜索对象存储服务OBS(可以直接固定在侧边栏方便使用)

    image-20210507123945155

    1. 创建桶

      image-20210507124141730

    由于成本考虑,选择单AZ存储(只有单一数据点,数据比较重要的请选择多AZ),image-20210507124320166

    创建后可以在该页面下看到创建的桶Bucket

    image-20210507124432212

    Notebook创建

    云平台提供Jupyter Notebook的环境

    切换到ModelArts(同Obs搜索)-选择开发环境-NoteBook

    image-20210507124922425

    创建Notebook

    image-20210507125001168

    分别选择公共资源GPU-免费,存储选择obs使用之前创建的obs(主要用于工作目录)然后下一步创建出一个Notebook

    image-20210507125118222

    image-20210507125244684

    回到主界面,可以看到刚刚创建的目录启动中

    image-20210507125357207

    进入JupyterLab,可以看到提供的多种环境(熟悉终端使用可以直接打开终端)

    image-20210507125526340

    打开终端,查看存储占用,从图中可以看到我们拥有100GB左右的临时存储空间

    image-20210507125621084

    查看GPU(16GB显存-250W)

    image-20210507130036856

    容器的目录如下,工作目录主要在work文件夹里,README里提供了加载多个环境的命令

    image-20210507130132281

    image-20210507130200516

    初始下work是空的(注意OBS是类似于网盘,并不会像硬盘那样直接挂在work目录下),左侧这些只是Obs目录,并未同步到work里

    image-20210507130426100

    image-20210507130252740

    官方这里提示使用Obs Sync,但是Obs Sync只允许100MB以下的同步,对于大数据集是远远不够用的,因此这里推荐使用moxing用于obs同步

    import moxing as mox
    bucket_name = 'obs://{bucket}/{folder}' # 修改为你自己的桶
    mox.file.list_directory(bucket_name)
    mox.file.copy_parallel(bucket_name,'/home/ma-user/work/')
    print("finish")
    

    https://support.huaweicloud.com/moxing-devg-modelarts/modelarts_11_0005.html 具体可以看该链接

    剩下的只需要上传到obs就可以愉快的训练了

    总结

    K8S自从发布以来被大厂快速运用,非常迅速(Google yyds!),而Nvidia-Docker也使得Docker可以直接调用GPU做训练。

    华为云提供的环境体验很不错,免费样例可以满足大部分训练,存储费用也不高(几天下来才快1rmb),同时利用Checkpoint,理论上只要我们一次的epoch不超过一个小时,可以断点继续训练的。

  • 相关阅读:
    超星电子书下载攻略
    快速生成PDF书签
    2016抢票软件分享
    Win10安装framework3.5
    .NET破解之分享给新注册的朋友
    封装JedisClient.提供API实现对redis的操作
    java操作redis集群配置[可配置密码]和工具类
    redis 集群java.lang.NoSuchMethodError:SpringJAR包版本冲突错误解决方法
    linux端口开放指定端口的两种方法
    redis requires ruby version 2.2.2的解决方案
  • 原文地址:https://www.cnblogs.com/minskiter/p/14738742.html
Copyright © 2011-2022 走看看