Tikit 快速入门

最近更新时间:2024-07-11 17:25:21

我的收藏

TiKit 简介

TiKit 是 TI-ONE 提供的开源 Python SDK 软件包。用户可以通过 TiKit 使用 TI-ONE 的各项功能,例如提交和查看训练任务。

安装

腾讯云 TI 平台环境内(包括 Notebook 和训练任务的容器)已经安装了 TiKit,可以直接开始使用。
非腾讯云 TI 平台环境内,安装方法如下:

安装依赖

目前 TiKit 可以运行在 3.6 及以上的版本的 Python3 环境中。
你可以按照如下步骤快速创建一个能够使用 TiKit 的容器(需自行准备 docker 环境),或者参考如下步骤准备好符合要求的环境。
ubuntu:20.04
1. 启动 ubuntu:20.04 容器:
docker run -ti --network=host ubuntu:20.04 /bin/bash
2. 安装依赖包:
sudo apt-get update
sudo 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 平台环境
非腾讯云 TI 平台环境
import tikit
client = tikit.client.Client("${SecretId}", "${SecretKey}")
import tikit
client = 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 的共享存储的训练任务为例:
${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. 创建资源配置。以使用后付费资源组,1 核 CPU、1GB 内存、1 卡 A100 为例:
${ResourceGroupID}:资源组 ID,请打开 资源组管理页面 获取同地域可用的资源组 ID,或者向你的运维人员咨询可用资源组 ID。
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_outputcode_package_path 为当你希望将代码和训练输出存储在腾讯云对象存储时,使用该参数,当前例子下,置空即可。
client.create_training_task(task_name, \\
framework=framework, \\
cos_output="", \\
worker_resource=resource, \\
code_package_path="", \\
worker_start_cmd=start_cmd, \\
resource_group_id=resource_group_id)
命令执行成功后,将打印训练任务的 ID。输出示例:
{"Id": "train-1234564123451234520", "RequestId": "xxx"}