其他
国产黑马砸来百万算力福利,Llama 3微调快去冲!H800点击就送,1.99元玩转4090
新智元报道
新智元报道
【新智元导读】才短短一周,微调Llama 3变体已经井喷了!去哪里微调Llama 3?这家国产黑马早已上架了推理微调预训练教程,更夸张的是,低至5.99元/卡时的H800点击就送!
不仅好用还便宜
手把手教你部署和训练Llama 3
创建云主机
推理
前期准备
推理生成
PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B" # huggingface or local model path
cd ColossalAI/examples/inference/
colossalai run --nproc_per_node 1 llama_generation.py -m $PRETRAINED_MODEL_PATH --max_length 80
colossalai run --nproc_per_node 2 llama_generation.py -m $PRETRAINED_MODEL_PATH --max_length 80 --tp_size 2
吞吐脚本
PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B"
git pull # update example benchmark from branch feature/colossal-infer
cd ColossalAI/examples/inference/
python benchmark_llama3.py -m llama3-8b -b 32 -s 128 -o 256 -p $PRETRAINED_MODEL_PATH
微调与继续预训练
前期准备
cd /root/ColossalAI
BUILD_EXT=1 pip install .
mkdir /root/training_outputs
mkdir /root/training_outputs/checkpoints
mkdir /root/training_outputs/configs
mkdir /root/training_outputs/tensorboards
cd /root/ColossalAI/applications/Colossal-LLaMA/
cp hostfile.example hostfile
数据准备
{"source": "", "target": "Lionel Andrés Messi(Spanish pronunciation: [ljoˈnel anˈdɾes ˈmesi] (i); born 24 June 1987), also known as Leo Messi, is an Argentine professional footballer who plays as a forward for and captains both Major League Soccer club Inter Miami and the Argentina national team.", "category": "sports"}
{"source": "猜谜语:一身卷卷细毛,吃的青青野草,过了数九寒冬,无私献出白毛。(打一动物)", "target": "白羊", "category": "riddle"}
python prepare_pretrain_dataset.py \
--data_input_dirs "Directory that contains one or more JSONL file(s)>" \
--tokenizer_dir "Tokenizer directory" \
--data_output_dirs "Spliced tokenized output" \
--max_length 8192 \
--num_spliced_dataset_bins 10
{"messages": [{"from": "human", "content": "What are the three primary colors?"}, {"from": "assistant", "content": "The three primary colors are red, blue, and yellow."}]}
{"messages": [{"from": "human", "content": "解释个人电脑和服务器之间的区别。"}, {"from": "assistant", "content": "个人电脑和服务器是两种不同类型的计算机系统,它们的主要区别在于用途、硬件配置和性能。个人电脑,顾名思义,是为个人使用而设计的计算机。它们通常用于日常的工作、娱乐和学习,可以运行各种各样的应用程序和游戏。个人电脑的硬件配置一般是按照标准配置来设计的,不过也可以根据个人需求进行定制。而服务器是为了满足大量用户的需求而设计的计算机系统,它们通常用于为用户提供各种网络服务,如网站、电子邮件和文件传输等。服务器通常需要高性能的硬件配置,并且可以承受高负载和长时间的运行。由于服务器需要支持大量用户的访问,它们通常配备多核处理器、大容量内存和大容量硬盘驱动器,以提高系统的运行速度和稳定性。总之,个人电脑和服务器之间的主要区别在于它们的用途、硬件配置和性能。个人电脑用于个人使用,而服务器用于支持大量用户的访问。服务器的硬件配置通常比个人电脑更高,以保证系统的性能和稳定性。"}]}
python prepare_sft_dataset.py \
--data_input_dirs "Directory that contains one or more JSONL file(s)>" \
--tokenizer_dir "Tokenizer directory" \
--data_output_dirs "Spliced tokenized output" \
--max_length 8192 \
--num_spliced_dataset_bins 10 \
--llama_version 3
训练脚本
cp train.example.sh train.sh
#更新训练脚本
PROJECT_NAME="LLaMA-3-8B-cpt"
PARENT_SAVE_DIR="/root/training_outputs/checkpoints/" # Path to a folder to save checkpoints
PARENT_TENSORBOARD_DIR="/root/training_outputs/tensorboards/" # Path to a folder to save logs
PARENT_CONFIG_FILE="/root/training_outputs/configs/" # Path to a folder to save training config logs
PRETRAINED_MODEL_PATH="/root/notebook/common_data/Meta-Llama-3-8B" # huggingface or local model path
# 以预置已处理数据集为例
declare -a dataset=(
/root/notebook/common_data/tokenized-cpt-data/arrow/part-00000
/root/notebook/common_data/tokenized-cpt-data/arrow/part-00001
/root/notebook/common_data/tokenized-cpt-data/arrow/part-00002
)
TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S)
FULL_PROJECT_NAME="${PROJECT_NAME}-${TIMESTAMP}"
SAVE_DIR="${PARENT_SAVE_DIR}${FULL_PROJECT_NAME}"
CONFIG_FILE="${PARENT_CONFIG_FILE}${FULL_PROJECT_NAME}.json"
colossalai run --nproc_per_node 8 --hostfile hostfile --master_port 31312 train.py \
--pretrained $PRETRAINED_MODEL_PATH \
--dataset ${dataset[@]} \
--plugin "zero2" \
--save_interval 400 \
--save_dir $SAVE_DIR \
--tensorboard_dir $TENSORBOARD_DIR \
--config_file $CONFIG_FILE \
--num_epochs 1 \
--micro_batch_size 2 \
--lr 1e-4 \
--mixed_precision "bf16" \
--grad_clip 1.0 \
--weight_decay 0.01 \
--warmup_steps 100 \
--use_grad_checkpoint \
--use_flash_attn \
git clone https://github.com/hpcaitech/ColossalAI
cd ColossalAI/examples/language/llama
BUILD_EXT=1 pip install -U git+https://github.com/hpcaitech/ColossalAI
pip install -r requirements.txt
export PYTHONPATH=$(realpath ..)
colossalai run --nproc_per_node 8 --hostfile HOSTFILE benchmark.py -c Meta-Llama-3-70B -x -g -p 3d --tp 4 --pp 4 --zero 1 -l 8192 --mbs 2 -b 128 --custom-ckpt
欢度五一,百万福利大放送!羊毛速薅
注册即送:新账户注册即送50元代金券,便捷试用多种AI算力。 企业认证:完成企业认证的账户可额外获得1000元代金券,可稳定测试多机H800等稀缺资源。 在线评价:用户在社交媒体和专业论坛(如知乎、小红书、微博、CSDN等)上分享使用体验,有效分享一次可得100元代金券。每月最佳分享可额外再获500元代金券(根据点赞、评论等真实活跃度;每个账号最多每月各计一次;发布24小时后请找小客服核对验证) 加入用户群:不定时发放特价资源、代金券等优惠活动。