littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于PyTorch和Transformers的中文Llama2模型

项目简介

本项目是基于PyTorch和Transformers库开发的中文Llama2模型,提供完全开源且可商用的中文版Llama2模型。该模型兼容原版Llama2的所有优化,支持中英文SFT数据集,具备模型训练、量化、转换以及API服务等功能,适用于多种应用场景。

项目的主要特性和功能

  1. 模型支持:提供中文Llama2模型基础版本与4bit量化版本,适配不同硬件资源环境。
  2. 数据集:包含1000万条中英文SFT数据集,支持模型进一步训练与优化。
  3. API服务:基于FastAPI提供HTTP接口,支持文本生成与历史记录管理。
  4. 量化与转换:支持将模型转换为GGML格式,并进行不同方式量化处理以适应CPU环境。
  5. Docker支持:提供Dockerfile,便于在容器中快速部署和运行模型。
  6. 在线试玩:提供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】