项目简介
本项目是基于PyTorch和Transformers库开发的中文Llama2模型,提供完全开源且可商用的中文版Llama2模型。该模型兼容原版Llama2的所有优化,支持中英文SFT数据集,具备模型训练、量化、转换以及API服务等功能,适用于多种应用场景。
项目的主要特性和功能
- 模型支持:提供中文Llama2模型基础版本与4bit量化版本,适配不同硬件资源环境。
- 数据集:包含1000万条中英文SFT数据集,支持模型进一步训练与优化。
- API服务:基于FastAPI提供HTTP接口,支持文本生成与历史记录管理。
- 量化与转换:支持将模型转换为GGML格式,并进行不同方式量化处理以适应CPU环境。
- Docker支持:提供Dockerfile,便于在容器中快速部署和运行模型。
- 在线试玩:提供HuggingFace Spaces和Colab在线试玩功能,方便体验模型效果。
安装使用步骤
假设用户已下载本项目的源码文件。
1. 进入项目目录
bash
cd /path/to/Chinese-Llama-2-7b
2. 安装依赖
确保已安装Python 3.8+,并安装项目所需依赖包:
bash
pip install -r requirements.txt
3. 模型下载
从HuggingFace或百度网盘下载预训练模型:
- HuggingFace: Chinese Llama2 Chat Model
- 百度网盘: 1.0 正式版
4. 运行API服务
启动基于FastAPI的API服务:
bash
uvicorn api:app --reload
5. 使用Docker部署
构建Docker镜像并运行:
bash
docker build -t linksoul/chinese-llama2-chat .
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --rm -it -v `pwd`/LinkSoul:/app/LinkSoul -p 7860:7860 linksoul/chinese-llama2-chat
6. 模型量化与转换
将模型转换为GGML格式并进行量化处理:
bash
python ggml/convert_to_ggml.py --llama-cpp-base-dir /path/to/llama.cpp --model-dir /path/to/model --output-base-name Chinese-Llama-2-7b-ggml --output-dir /path/to/output
7. 模型训练
使用提供的训练脚本进行模型训练:
```bash
DATASET="LinkSoul/instruction_merge_set"
DATA_CACHE_PATH="hf_datasets_cache"
MODEL_PATH="/PATH/TO/TRANSFORMERS/VERSION/LLAMA2"
output_dir="./checkpoints_llama2"
torchrun --nnodes=1 --node_rank=0 --nproc_per_node=8 \ --master_port=25003 \ train.py \ --model_name_or_path ${MODEL_PATH} \ --data_path ${DATASET} \ --data_cache_path ${DATA_CACHE_PATH} \ --bf16 True \ --output_dir ${output_dir} \ --num_train_epochs 1 \ --per_device_train_batch_size 4 \ --per_device_eval_batch_size 4 \ --gradient_accumulation_steps 1 \ --evaluation_strategy 'no' \ --save_strategy 'steps' \ --save_steps 1200 \ --save_total_limit 5 \ --learning_rate 2e-5 \ --weight_decay 0. \ --warmup_ratio 0.03 \ --lr_scheduler_type cosine \ --logging_steps 1 \ --fsdp 'full_shard auto_wrap' \ --fsdp_transformer_layer_cls_to_wrap 'LlamaDecoderLayer' \ --tf32 True \ --model_max_length 4096 \ --gradient_checkpointing True ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】