VSCode处理专属数据
“VScode处理专属数据”为您提供了自主处理数据的空间,并支持构建自定义环境(放在/workspace
目录下的文件关机后会保留),以便模型微调更加顺利的进行。
前提条件
- 您已经获取LLama Factory Online账户和密码,如果需要帮助或尚未注册,可参考注册账户完成注册。
- 当前账号的余额充裕,可满足模型微调服务的需要。点击可了解最新的活动及费用信息,或前往充值,如需了解更多请联系我们。
- 您已经准备好需要处理的自定义数据集。数据上传方式可参考数据上传中的JupyterLab上传和SFTP上传下载。
概览
进入实例空间,点击“开始微调”选择合适的配置,启动实例后,点击页面中间的“VScode处理专属数据”,即可进入VScode工作空间。在VScode处理专属数据页面,用户可以进行环境配置,下载模型、数据集,处理数据等微调模型的前期准备工作。
CPU实例资源配置卡数支持:2、4、8、16卡,您可按需选用。
首次进入VScode处理专属数据页面,您可按照以下步骤进入“workspace”目录。
- 点击页面左上角“File”,如下图高亮①所示;打开目录,如下图高亮②所示。
- 删除路径中的“root”,选择“workspace”,如下图高亮①所示,点击“OK”(高亮②)。
- workspace目录如下图所示。workspace目录具体介绍请参考目录。
操作步骤
环境配置
在 VScode 的工作空间中,用户可以通过 conda 创建和管理不同的 Python 环境,envs 文件夹就是这些环境的具体存储位置。这样可以方便用户隔离不同项目的依赖,保证环境的独立和稳定。
-
默认的python环境
在 JupyterLab 的工作空间中,envs文件夹下的If_pkgs
文件夹用于存储默认python环境的依赖工具。可以通过终端,输入命令
conda env list
,查看conda环境目录。"*"表示当前处于“test”环境中。 -
自定义创建python环境
用户也可以根据需求创建新的python环境,步骤如下:
-
点击页面左上方"Terminal",选择“New Terminal”进入终端。
-
输入命令创建新环境。用户可根据需求命名和选择合适的python版本。
conda create -n [name] python=[vision]
提示本示例创建了一个名称为"new",python版本为3.11的新环境,故:
[name]:new
[vision]:3.11 -
下载完成后,可以看到envs目录下会新增一个“new”文件夹。输入命令可以切换到new环境中。
conda activate [name]
提示本示例创建的新环境名称为"new",故 [name]:new
可以使用命令下载您需要的工具。(以下载用于python数据分析的pandas工具包为例)
conda install pandas
提示可以在终端输入以下命令,查看 conda 的所有命令列表:conda --help
或者只看子命令列表:conda list
如果想看某个命令的详细用法,比如环境相关:conda env --help
使用Hugging Face工具下载模型
在 VScode 工作空间文件目录下的“huggingface”文件夹是Hugging Face工具自动创建的本地缓存目录,可以用来存放下载的预训练模型文件、数据集缓存。
- huggingface下载模型操作步骤(以下载Qwen2.5-1.5B-Instruct为例)。
- 在JupyterLab工作空间中,点击页面左上方的"Terminal"新建终端。
- 输入下载命令,完成下载(高亮①)。可以看到模型文件被放在
/huggingface/hub
下方,如下图高亮②所示。huggingface-cli download --resume-download Qwen/Qwen2.5-1.5B-Instruct
数据处理
数据集上传
用户可以通过VScode上传自定义数据集。下面以上传“sudongpo.json”文件为例,来演示数据上传的流程。将本地数据集“sudongpo.json”拖到/user-data/datasets
目录下。完成数据上传。
数据集配置
-
完成数据集配置后,用户才能在微调或评估模型时,使用自己上传的数据集。数据集配置有以下两种方法:
1)直接配置"dataset_info.json"文件。
这里我们以数据集上传中上传的数据集“sudongpo.json”为例,来演示如何配置"dataset_info.json"文件。-
进入到
/llamafactory/data
目录,双击打开"dataset_info.json"文件。 -
在"dataset_info.json"文件下添加以下代码。注意末尾的","是否需要,视情况而定(如果添加在其他对象之前,需要加“,”,如果添加在最后则不用,但要在前一个对象末尾加上“,”)。
"sudongpo": {
"file_name": "/workspace/user-data/datasets/sudongpo.json",
"formatting": "alpaca",
"customized_status": 8,
"total_tokens": "114198",
"num_samples": "700",
"avg_tokens": "163.14"
}
2)使用“数据集检测”功能进行数据集配置。 回到LlaMa Factory Online 页面,进入文件管理,如下图高亮①所示;找到上一步上传的数据集“sudongpo.json”,点击数据集检测(高亮②),可以看到数据集格式检测一列状态变成“符合”,数据集配置完成。
-
-
验证配置数据集。
-
回到"LLaMA-Factory快速微调模型" Web UI页面,在数据集列表中找到“sudongpo”。
-
预览数据集。
数据转换
若用户从本地上传数据集后,需要对数据进行处理,可以参考数据转换。
模型训练
VScode 中,用户可以通过终端使用命令进行模型微调,步骤如下。
-
获取微调命令。
- 回到“实例空间”页面,点击左侧“LLaMA-Factory快速微调模型”进入webUI界面。
- 配置参数。确定微调模型和数据集,根据需求配置其他参数。完成后点击页面下方“预览命令”,如下图高亮①所示;点击
复制,如下图高亮②所示。
-
回到VScode页面,点击页面左上角"Terminal"新建终端。
-
将步骤2中获取的命令复制在终端命令行中,点击回车键开始训练。
-
查看训练结果。 训练结束后,在路径
user-data/models/output
下查看训练结果。
模型评估
- 目前LlaMa Factory Online webUI不支持多卡评估,若模型部署和推理所需显存超过75G,则在LlaMa Factory Online webUI上单卡无法进行模型评估,所以需要在VScode的终端内运行llama-factory项目中的vllm_infer.py脚本,进行分布式评估。
- 一般情况下,当模型参数量达到32B及以上时,就需要使用多卡评估。
-
开始评估。 在VScode上进行模型评估可参考《构建基于Llama3.1-70B的医疗诊断系统》的步骤8-12,需要在JupyterLab中操作的步骤,改成在VScode中操作即可。
提示步骤中涉及到的文件目录名,模型路径,文件保存路径等,需要按照真实情况进行修改。
-
查看评估结果。 评估完成后,结果保存在路径
user-data/models/output
下。