清源CPM代码复现
踩坑2天,终于成功。趁热记下来。
还是在阿里云机器尝试。
项目主页:https://github.com/TsinghuaAI/CPM-Generate
1 机器
购买机器,按量计费。
-- ubuntu18,2块显卡P100,CUDA 10.2
-- 勾选自动安装GPU驱动,CUDA 10.2.89,cuDNN 7.6.5,等待。
2 软件环境配置
使用anaconda。当前最新是2020.11发布的,往后倒退一个版本。
Anaconda3-5.3.1-Linux-x86_64.sh 637.0M 2018-11-19 13:38:46
下载,wget https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh
安装,sh Anaconda3-5.3.1-Linux-x86_64.sh
配置都选择默认,等待完成。
source ~/anaconda3/bin/activate
conda create --name cpm1
等待安装
选择python环境,conda activate cpm1
root权限,apt install git
, apt install cmake
3 CPM及依赖包的安装
3.1 源代码
cd ~/git/
git clone https://github.com/TsinghuaAI/CPM-Generate.git
3.2 依赖
source ~/anaconda3/bin/activate
conda activate cpm1
pip install -r requirements.txt
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
注意几点:
(1)我的jieba手动安装
pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=100
(2)我的deepspeed手动安装
pip install deepspeed -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=100
(3)我的sentencepiece没有安装成功,使用源码安装
git clone https://github.com/google/sentencepiece.git
cd sentencepiece
mkdir build
cd build
cmake ..
make -j $(nproc)
sudo make install
sudo ldconfig -v
cd ../python
python setup.py build
python setup.py install
4 下载模型
模型主页:https://cpm.baai.ac.cn/download.html
wget https://baai.org/l/QLtmx
mv QLtmx model-v1.tar.gz
tar -zxvf model-v1.tar.gz
5 运行示例
python generate_samples.py \
--model-parallel-size 2 \
--num-layers 32 \
--hidden-size 2560 \
--load ./model-v1/80000/mp_rank_00_model_states.pt \
--num-attention-heads 32 \
--seq-length 1024 \
--max-position-embeddings 1024 \
--fp16 \
--cache-dir cache \
--out-seq-length 512 \
--temperature 0.9 \
--top_k 0 \
--top_p 0 \
--tokenizer-path bpe_3w_new/ \
--vocab-size 30000 \
--input-text example.txt
一个结果: