云服务器内容精选
-
Alpaca数据处理操作步骤 Alpaca数据处理具体操作步骤如下: 创建数据处理后的输出目录/home/ma-user/ws/processed_for_ma_input/Llama2-70B/data/pretrain/。 cd /home/ma-user/ws/ #进入容器工作目录 mkdir -p processed_for_ma_input/Llama2-70B/data/pretrain 将获取到的Alpaca预训练数据集传到上一步创建的目录中。如还未下载数据集,请参考准备数据获取。 进入“/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink/”目录,在代码目录中执行preprocess_data.py脚本处理数据。 此处提供一段实际的数据处理代码示例如下。 #加载ascendspeed及megatron模型,xxx-Ascend请根据实际目录替换 export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/AscendSpeed export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink #进入到ModelLink目录下: cd /home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink/ #执行以下命令: python ./tools/preprocess_data.py \ --input /home/ma-user/ws/training_data/train-00000-of-00001-a09b74b3ef9c3b56.parquet \ --tokenizer-name-or-path /home/ma-user/ws/tokenizers/Llama2-70B \ --output-prefix /home/ma-user/ws/processed_for_ma_input/Llama2-70B/data/pretrain/alpaca \ --workers 8 \ --log-interval 1000 \ --tokenizer-type PretrainedFromHF 数据处理完后,在/home/ma-user/ws/processed_for_ma_input/Llama2-70B/data/pretrain/目录下生成alpaca_text_document.bin和alpaca_text_document.idx文件。 图1 处理后的数据
-
自定义数据 如果是用户自己准备的数据集,可以使用Ascendspeed代码仓中的转换工具将json格式数据集转换为训练中使用的.idx + .bin格式。 #示例: #1.将准备好的json格式数据集存放于/home/ma-user/ws/training_data目录下: 如data.json #2.运行转换脚本 cd /home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink/ #加载ascendspeed及megatron模型,xxx-Ascend请根据实际目录替换 export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/AscendSpeed export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink python ./tools/preprocess_data.py \ --input {work_dir}/training_data/data.json \ --tokenizer-name-or-path {work_dir}/tokenizers/Llama2-70B \ --output-prefix {work_dir}/processed_for_ma_input/Llama2-70B/data/pretrain/alpaca \ --workers 8 \ --log-interval 1000 \ --tokenizer-type PretrainedFromHF #3.执行完成后在 datasets文件夹中可以得到 data_text_document.idx 与data_text_document.bin 两个文件
-
Alpaca数据处理说明 数据预处理脚本preprocess_data.py存放在代码包的“llm_train/AscendSpeed/ModelLink/tools/”目录中,以Llama2-70B为例, 脚本具体内容如下。 #进入到ModelLink目录下,xxx-Ascend请根据实际目录替换 cd /home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink #加载ascendspeed及megatron模型 export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/AscendSpeed export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink #数据预处理 python ./tools/preprocess_data.py \ --input {work_dir}/training_data/train-00000-of-00001-a09b74b3ef9c3b56.parquet \ --tokenizer-name-or-path {work_dir}/tokenizers/Llama2-70B \ --output-prefix {work_dir}/processed_for_ma_input/Llama2-70B/data/pretrain/alpaca \ --workers 8 \ --log-interval 1000 \ --tokenizer-type PretrainedFromHF 参数说明: ${work_dir}的路径指容器工作路径:如/home/ma-user/ws/ 。 - input:原始数据集的存放路径 - output-prefix:处理后的数据集保存路径+数据集名称前缀(例如: alpaca) - tokenizer-type:tokenizer的类型,可选项有['BertWordPieceLowerCase','BertWordPieceCase','GPT2BPETokenizer','PretrainedFromHF'],一般为PretrainedFromHF。 - tokenizer-name-or-path:tokenizer的存放路径 -workers:设置数据处理使用执行卡数量 -log-interval:是一个用于设置日志输出间隔的参数,表示输出日志的频率。在训练大规模模型时,可以通过设置这个参数来控制日志的输出 数据预处理后输出的训练数据如下: alpaca_text_document.bin alpaca_text_document.idx 训练的时指定的数据路径为${path}/alpaca/llama2-70B/alpaca_text_document, 不加文件类型后缀。
-
自定义数据 如果是用户自己准备的数据集,可以使用Ascendspeed代码仓中的转换工具将json格式数据集转换为训练中使用的.idx + .bin格式。 #示例: #1.将准备好的json格式数据集存放于6.3.902-Ascend/datasets/data目录下: data.json #2.修改转换脚本 python ${MA_JOB_DIR}/6.3.902-Ascend/llm_train/AscendSpeed/ModelLink/tools/preprocess_data.py \ --input ${MA_JOB_DIR}/6.3.902-Ascend/datasets/data/data.json \ #需要转换的数据集路径 --output-prefix ${MA_JOB_DIR}/6.3.902-Ascend/datasets/alpaca/llama2-13B/alpaca \ #转换后存放的数据集路径 --tokenizer-type PretrainedFromHF \ --tokenizer-name-or-path ${MA_JOB_DIR}/6.3.902-Ascend/tokenizers/llama2-13b-hf \ --tokenizer-not-use-fast \ --json-keys text #3.执行完成后在 datasets文件夹中可以得到 data_text_document.idx 与data_text_document.bin 两个文件
-
创建训练任务 在VS Code中修改“\6.3.902-Ascend\llm_train\AscendSpeed\scripts\llama2\sft-llama2-13b.sh”脚本,修改脚本内容如下: #!/bin/bash set -ex source /usr/local/Ascend/ascend-toolkit/set_env.sh # The number of parameters is not aligned export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib:/root/miniconda3/lib:$LD_LIBRARY_PATH # 以下环境变量和多机网络通信相关,可以在容器内使用ifconfig查看 export HCCL_CONNECT_TIMEOUT=3600 # 多机通信等待时间 export AZUREML_EXPERIMENT_ID=0 # 多机训练时,数据多机编译 export GLOO_SOCKET_IFNAME=${NCCL_SOCKET_IFNAME} # 多机之间使用gloo通信时需要指定网口名称, export TP_SOCKET_IFNAME=${NCCL_SOCKET_IFNAME} # 多机之间使用TP通信时需要指定网口名称 # 以下变量和性能优化相关 export HCCL_OP_BASE_FFTS_MODE_ENABLE=TRUE export COMBINED_ENABLE=1 export MULTI_STREAM_MEMORY_REUSE=1 # export INF_NAN_MODE_ENABLE=1 # model args export MODEL_TYPE=13B #模型加载类型 # learning rate args export LR=0.00001 export MIN_LR=0.000003 export TRAIN_ITERS=100 #训练迭代周期 export LR_WARMUP_ITERS=2000 export MBS=4 #流水线并行中一个micro batch所处理的样本量 export GBS=64 #训练中所有机器一个step所处理的样本量,建议单机64,双机128。 # data args PWD=`pwd` export DATASET_PATH=${MA_JOB_DIR}/6.3.902-Ascend/datasets/alpaca-ft/alpaca-ft #预处理后的数据地址:*注意:一般为数据地址/数据前缀名 export TOKENIZER_PATH=${MA_JOB_DIR}/6.3.902-Ascend/tokenizers/llama2-13b-hf/ #tokeneizer地址 export SAVE_PATH=$PWD/ckpt #中间保存结果 包含日志 export SAVE_CKPT_PATH=${SAVE_PATH}/ckpt-llama2-13b-sft #训练ckpt保存地址 export MODEL_PATH=${MA_JOB_DIR}/6.3.902-Ascend/weight/llama2-13b-ckpt #增量预训练权重加载地址 # megatron args export TP=8 #张量并行 export PP=1 #流水线并行 export SEED=1234 export RUN_TYPE=sft #训练类型:pretrain、sft、loral,sft表示训练类型是增量预训练 bash $PWD/scripts/llama2/llama2.sh 在“\6.3.902-Ascend\llm_train\AscendSpeed”路径下创建“ckpt/ckpt-llama2-13B-sft”目录,并设置为输出目录。 在“\6.3.902-Ascend\datasets\alpaca-ft”目录挂载4.1.1中的输出目录。 设置“tokenizers/llama2-13b-hf”目录挂载权重目录“obs://standard-llama2-13b/llama-2-13b-chat-hf/”。设置“weight/llama2-13b-ckpt”目录挂载增量预训练权重转换的输出路径。 图1 设置输出和挂载目录 设置启动命令如下。 cd ${MA_JOB_DIR}/6.3.902-Ascend/llm_train/AscendSpeed/ && bash scripts/llama2/sft-llama2-13b.sh 单击“提交作业”完成作业创建。 图2 提交作业
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格