[大模型] 搭建llama主流大模型训练环境

[复制链接]
查看506 | 回复0 | 2023-8-9 15:54:11 | 显示全部楼层 |阅读模式
关键词:大模型,LLAMA,CUDA,模型训练
1. 基础环境

OS: Ubuntu 18.04
GPU: 4*A100(40G) (单机4卡A100 40G)
CUDA:11.7
cuDNN: 8.4.1 (需要登录官网后下载)
nccl: 2.12.12 (需要登录官网后下载)
python: 3.10 (conda create -n vllm python=3.10)
pytorch: 2.0.0+cu117 离线安装包地址
LLaMA-7B/13B/30B/65B模型: 下载地址,需要安装ipfs,也可通过pyllama进行下载:
  1. pip install pyllama -U
  2. python -m llama.download --model_size 7B
复制代码
实验模型: stanford_alpaca, standford_lora, Chinese-LLaMA-Alpaca
注意先安装cuDNN,再安装CUDA,使用nvidia-smi和nvcc -V查看是否安装成功。
2. 将原生llama模型转换为HF模型格式



  • 由于llama模型尚未合入官方transformers,需要从源码安装fork版本的tranformers以便进行llama模型格式转换与加载:
    1. git clone https://github.com/zphang/transformers.git
    2. cd transformers
    3. python setup.py install
    复制代码
  • 将llama-7B模型使用fork transformers版本转换为HF模型格式,转换后得到两个文件夹llama-7b和tokenizer:
    1. python src/transformers/models/llama/convert_llama_weights_to_hf.py \
    2.     --input_dir /data/xh/models/llama \
    3.     --model_size 7B \
    4.     --output_dir /data/xh/models/llama_hf
    5.    
    6. #注意:在加载模型的时候,需要将tokenizer文件夹中的内容复制到llama-7b下
    7. cd /data/xh/models/llama_hf
    8. cp tokenizer/* llama-7b/
    复制代码
3. 基于llama模型进行再训练或finetuning

搭建好基础环境后,以llama_hf模型为基础,可以对衍生模型stanford_alpaca, standford_lora, Chinese-LLaMA-Alpaca继续进行预训练训练或进行finetuning训练了。
  1. # 加载llama模型,注意使用fork版本的transformers
  2. tokenizer = transformers.LlamaTokenizer.from_pretrained("/data/xh/models/llama_hf/tokenizer/")
  3. model = transformers.LlamaForCausalLM.from_pretrained("/data/xh/models/llama_hf/llama-7b/")
复制代码
  参考
https://zhuanlan.zhihu.com/p/618321077
  -------- END --------

来源:https://blog.csdn.net/iling5/article/details/130606991
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则