一、安装
TI-ONE 平台环境内(包括 Notebook 和训练任务的容器)已经安装了 TiKit,可以直接开始使用。
非 TI-ONE 平台环境内,安装方法如下:
二、安装依赖
目前 TiKit 可以运行在 3.6 及以上的版本的 Python3 环境中。
你可以按照如下步骤快速创建一个能够使用 TiKit 的容器(需自行准备 docker 环境),或者参考如下步骤准备好符合要求的环境。
ubuntu:20.041. 启动 ubuntu:20.04 容器:docker run -ti –network=host ubuntu:20.04 /bin/bash2. 安装依赖包:sudo apt-get updatesudo apt-get install -y libsasl2-dev libkrb5-dev python3-dev python3-pip
三、安装 TiKit
·方式一:使用 pip 安装(推荐)
pip3 install -U tikit
·方式二:离线安装。在 https://pypi.org/project/tikit/ 上下载安装包,使用 whl 文件安装,或者使用源码安装:
pip3 install tikit-1.0.0-py3-none-any.whl# 或者,解压源码后python3 setup.py install
四、查看版本
pip3 show tikit | grep Version
五、开始使用
1. 登录腾讯云,打开API 密钥管理页面,点击“新建密钥”按钮,保存弹窗展示的 SecretId,SecretKey。
2. 打开 Python3 环境,使用上一步获取的密钥创建客户端:
腾讯云 TI-ONE 平台环境非腾讯云 TI-ONE 平台环境
import tikitclient = tikit.client.Client("${SecretId}", "${SecretKey}")
import tikitclient = tikit.Client("${SecretId}", "${SecretKey}", "${Region}")
目前支持的地区如下:
| 地区 | Region |
| 广州 | ap-guangzhou |
| 上海 | ap-shanghai |
| 上海自动驾驶云 | ap-shanghai-adc |
| 南京 | ap-nanjing |
| 北京 | ap-beijing |
六、查看命令帮助
以查看提交训练任务的命令 create_training_task 的帮助为例:
help(client.create_training_task)
七、查看内置训练框架
通过 describe_training_frameworks 可以查看平台内置训练镜像和框架:
Notebook终端在 Notebook 中,运行命令即可自动打印结果。client.describe_training_frameworks()在普通终端中,可以通过 print 函数打印命令的结果。print(client.describe_training_frameworks())
八、提交训练任务
1. 创建训练镜像配置。以提交使用内置镜像 tilearn-llm0.4.2-torch2.1-deepspeed0.10.0-py3.10-cuda12.1-gpu为例,该镜像的框架名称为 PYTORCH,训练模式为 DDP:
framework = tikit.models.FrameworkInfo.new_system_framework("PYTORCH", "tilearn-llm0.4.2-torch2.1-deepspeed0.10.0-py3.10-cuda12.1-gpu", "DDP")
2. 创建共享存储配置。以挂载类型为 CFS 的共享存储的训练任务为例(备注说明:以下以 CFS 为例进行详细说明,平台也支持挂载 GooseFSx 和 GooseFS):
·${FileSystemID}:CFS 文件系统 ID。请打开 腾讯云 CFS 文件系统控制台 获取同地域可用的 CFS 文件系统 ID,或者向你的运维人员咨询可用 CFS 文件系统 ID。并通过 Notebook 或者参考 CFS 操作文档,将你的代码、数据、模型等物料放入该 CFS 文件系统的某个目录中。
·${SourcePath}:挂载源路径。请填写上述 CFS 文件系统中存放了你的代码、数据、模型等物料的目录的绝对路径。
·${TargetPath}:挂载目标路径。填写你希望在训练容器中看到上述物料的目录的绝对路径。
data_config = tikit.models.TrainingDataConfig.new_mount_cfs("${FileSystemID}", "${SourcePath}", "${TargetPath}")
3. 创建资源配置。
后付费预付费从 TIONE 平台购买,并且按量计费。通过 describe_postpaid_training_price 可以查看可以购买的机型以及价格。以申请 2 核 CPU、2GB 内存 的 TI.S6.MEDIUM2.POST 机型为例:resource = tikit.models.ResourceConfigInfo.new_postpaid("TI.S6.MEDIUM2.POST")使用预付费资源组,包括从 CVM 选择,以及从 TIONE 平台购买的包年包月的资源组。请打开 资源组管理页面 获取同地域可用的资源组 ID,或者向你的运维人员咨询可用资源组 ID。以使用资源组 ${ResourceGroupID},1 核 CPU、1GB 内存、1 卡 A100 为例:resource = tikit.models.ResourceConfigInfo.new_prepaid(cpu=1, memory=1, gpu=1, gpu_type="A100")resource_group_id = "${ResourceGroupID}"
4. 设置训练任务名称和命令:
·${TaskName}:自定义任务名称。请注意任务不可重名。
·${StartCmd}:任务运行的 shell 命令。例如休眠 10s 后退出 sleep 10。
task_name = "${TaskName}"start_cmd="${StartCmd}"
5. 创建训练任务。
cos_output 和 code_package_path 为当你希望将代码和训练输出存储在腾讯云对象存储时,使用该参数,当前例子下,置空即可。
client.create_training_task(task_name, \\ framework=framework, \\ cos_output="", \\ worker_resource=resource, \\ code_package_path="", \\ input_data_config=[data_config], \\ worker_start_cmd=start_cmd, \\ resource_group_id=resource_group_id)
命令执行成功后,将打印训练任务的 ID。输出示例:
{"Id": "train-1234564123451234520", "RequestId": "xxx"}