TiKit 简介
TiKit 是 TI-ONE 提供的开源 Python SDK 软件包。用户可以通过 TiKit 使用 TI-ONE 的各项功能,例如提交和查看训练任务。
安装
腾讯云 TI 平台环境内(包括 Notebook 和训练任务的容器)已经安装了 TiKit,可以直接开始使用。
非腾讯云 TI 平台环境内,安装方法如下:
安装依赖
目前 TiKit 可以运行在 3.6 及以上的版本的 Python3 环境中。
你可以按照如下步骤快速创建一个能够使用 TiKit 的容器(需自行准备 docker 环境),或者参考如下步骤准备好符合要求的环境。
1. 启动 ubuntu:20.04 容器:
docker run -ti --network=host ubuntu:20.04 /bin/bash
2. 安装依赖包:
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 环境,使用上一步获取的密钥创建客户端:
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 中,运行命令即可自动打印结果。
client.describe_training_frameworks()
![](https://qcloudimg.tencent-cloud.cn/image/document/211628376a367e7f75877dc535a175ad.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/211628376a367e7f75877dc535a175ad.png)
在普通终端中,可以通过 print 函数打印命令的结果。
print(client.describe_training_frameworks())
![](https://qcloudimg.tencent-cloud.cn/image/document/49d1ee1951361e94bb3d0a4400fcaf16.png)
提交训练任务
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. 创建训练任务。
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"}