Commit 7479c1ed authored by zhougaofeng's avatar zhougaofeng
Browse files

Update finetune/src/llamafactory/api/__init__.py,...

Update finetune/src/llamafactory/api/__init__.py, finetune/src/llamafactory/api/app.py, finetune/src/llamafactory/api/chat.py, finetune/src/llamafactory/api/common.py, finetune/src/llamafactory/api/protocol.py, finetune/src/llamafactory/chat/__init__.py, finetune/src/llamafactory/chat/base_engine.py, finetune/src/llamafactory/chat/chat_model.py, finetune/src/llamafactory/chat/hf_engine.py, finetune/src/llamafactory/chat/vllm_engine.py, finetune/src/llamafactory/data/__init__.py, finetune/src/llamafactory/data/aligner.py, finetune/src/llamafactory/data/collator.py, finetune/src/llamafactory/data/formatter.py, finetune/src/llamafactory/data/loader.py, finetune/src/llamafactory/data/parser.py, finetune/src/llamafactory/data/preprocess.py, finetune/src/llamafactory/data/template.py, finetune/src/llamafactory/data/utils.py, finetune/src/llamafactory/eval/__init__.py, finetune/src/llamafactory/eval/evaluator.py, finetune/src/llamafactory/eval/template.py, finetune/src/llamafactory/extras/__init__.py, finetune/src/llamafactory/extras/callbacks.py, finetune/src/llamafactory/extras/constants.py, finetune/src/llamafactory/extras/logging.py, finetune/src/llamafactory/extras/misc.py, finetune/src/llamafactory/extras/packages.py, finetune/src/llamafactory/extras/ploting.py, finetune/src/llamafactory/hparams/__init__.py, finetune/src/llamafactory/hparams/data_args.py, finetune/src/llamafactory/hparams/evaluation_args.py, finetune/src/llamafactory/hparams/finetuning_args.py, finetune/src/llamafactory/hparams/generating_args.py, finetune/src/llamafactory/hparams/model_args.py, finetune/src/llamafactory/hparams/parser.py, finetune/src/llamafactory/model/utils/__init__.py, finetune/src/llamafactory/model/utils/attention.py, finetune/src/llamafactory/model/utils/checkpointing.py, finetune/src/llamafactory/model/utils/embedding.py, finetune/src/llamafactory/model/utils/longlora.py, finetune/src/llamafactory/model/utils/misc.py, finetune/src/llamafactory/model/utils/mod.py, finetune/src/llamafactory/model/utils/moe.py, finetune/src/llamafactory/model/utils/quantization.py, finetune/src/llamafactory/model/utils/rope.py, finetune/src/llamafactory/model/utils/unsloth.py, finetune/src/llamafactory/model/utils/valuehead.py, finetune/src/llamafactory/model/utils/visual.py, finetune/src/llamafactory/model/__init__.py, finetune/src/llamafactory/model/adapter.py, finetune/src/llamafactory/model/loader.py, finetune/src/llamafactory/model/patcher.py, finetune/src/llamafactory/train/dpo/__init__.py, finetune/src/llamafactory/train/dpo/trainer.py, finetune/src/llamafactory/train/dpo/workflow.py, finetune/src/llamafactory/train/kto/__init__.py, finetune/src/llamafactory/train/kto/trainer.py, finetune/src/llamafactory/train/kto/workflow.py, finetune/src/llamafactory/train/orpo/__init__.py, finetune/src/llamafactory/train/orpo/trainer.py, finetune/src/llamafactory/train/orpo/workflow.py, finetune/src/llamafactory/train/ppo/__init__.py, finetune/src/llamafactory/train/ppo/trainer.py, finetune/src/llamafactory/train/ppo/utils.py, finetune/src/llamafactory/train/ppo/workflow.py, finetune/src/llamafactory/train/pt/__init__.py, finetune/src/llamafactory/train/pt/trainer.py, finetune/src/llamafactory/train/pt/workflow.py, finetune/src/llamafactory/train/rm/__init__.py, finetune/src/llamafactory/train/rm/metric.py, finetune/src/llamafactory/train/rm/trainer.py, finetune/src/llamafactory/train/rm/workflow.py, finetune/src/llamafactory/train/sft/__init__.py, finetune/src/llamafactory/train/sft/metric.py, finetune/src/llamafactory/train/sft/trainer.py, finetune/src/llamafactory/train/sft/workflow.py, finetune/src/llamafactory/train/__init__.py, finetune/src/llamafactory/train/tuner.py, finetune/src/llamafactory/train/utils.py, finetune/src/llamafactory/webui/components/__init__.py, finetune/src/llamafactory/webui/components/chatbot.py, finetune/src/llamafactory/webui/components/data.py, finetune/src/llamafactory/webui/components/eval.py, finetune/src/llamafactory/webui/components/export.py, finetune/src/llamafactory/webui/components/infer.py, finetune/src/llamafactory/webui/components/top.py, finetune/src/llamafactory/webui/components/train.py, finetune/src/llamafactory/webui/__init__.py, finetune/src/llamafactory/webui/chatter.py, finetune/src/llamafactory/webui/common.py, finetune/src/llamafactory/webui/css.py, finetune/src/llamafactory/webui/engine.py, finetune/src/llamafactory/webui/interface.py, finetune/src/llamafactory/webui/locales.py, finetune/src/llamafactory/webui/manager.py, finetune/src/llamafactory/webui/runner.py, finetune/src/llamafactory/webui/utils.py, finetune/src/llamafactory/__init__.py, finetune/src/llamafactory/cli.py, finetune/multi_node.sh, finetune/single_node.sh, inference/single_dcu.py, Dockerfile, README.md files
parent d0a605a4
FROM docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-centos7.6-dtk24.04-py310
COPY requirement.txt requirement.txt
FROM image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-centos7.6-dtk24.04-py310
COPY requirements.txt requirements.txt
RUN source /opt/dtk-24.04/env.sh
ENV LANG C.UTF-8
RUN pip install -r requirement.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
......
......@@ -7,8 +7,10 @@
- [https://arxiv.org/abs/2402.06332]
## 算法原理
InternLM-Math是基于InternLM2-Base模型进行数学预训练得到的大型语言模型。融合了链式推理、奖励建模、数据增强和形式推理等多种能力,不仅可以解决数学问题,还可以验证推理过程的正确性。
InternLM-Math是基于InternLM2-Base模型进行数学预训练得到的大型语言模型。将链式思维推理、奖励建模、数据增强和形式推理统一为一个统一的seq2seq格式,不仅可以解决数学问题,还可以验证推理过程的正确性。在MATH的实验表现优于Llemma-34B、Minerva-62B等模型
<div align=center>
<img src="./doc/model_accuracy.png"/>
</div>
## 环境配置
......@@ -17,12 +19,11 @@ InternLM-Math是基于InternLM2-Base模型进行数学预训练得到的大型
此处提供[光源](https://www.sourcefind.cn/#/service-details)拉取 docker 镜像的地址与使用步骤
```
docker pull xxx
docker run -it --shm-size=1024G -v /parastor/home/internlm-math-pytorch:/home/internlm-math-pytorch -v /opt/hyhal:/opt/hyhal --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name internlm-math <your IMAGE ID> bash # <your IMAGE ID>为以上拉取的docker的镜像ID替换,本镜像为:c85ed27005f2
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-centos7.6-dtk24.04-py310
docker run -it --shm-size=1024G -v <Host Path>:<Container Path> -v /opt/hyhal:/opt/hyhal --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name internlm-math <your IMAGE ID> bash # <your IMAGE ID>为以上拉取的docker的镜像ID替换,本镜像为:c85ed27005f2
cd /home/internlm-math-pytorch
pip install -r requirement.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# deepspeed、bitsandbytes可从whl.zip文件里获取安装:
pip install deepspeed-0.12.3+das1.0+gita724046.abi0.dtk2404.torch2.1.0-cp310-cp310-manylinux2014_x86_64.whl
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# bitsandbytes可从whl.zip文件里获取安装:
pip install bitsandbytes-0.42.0-py3-none-any.whl
```
......@@ -33,10 +34,9 @@ pip install bitsandbytes-0.42.0-py3-none-any.whl
```
docker build -t internlm-math-df:latest .
docker run -it --shm-size=1024G -v /parastor/home/internlm-math-pytorch:/home/internlm-math-pytorch -v /opt/hyhal:/opt/hyhal --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name internlm-math internlm-math-df bash
pip install -r requirement.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# deepspeed、bitsandbytes可从whl.zip文件里获取安装:
pip install deepspeed-0.12.3+das1.0+gita724046.abi0.dtk2404.torch2.1.0-cp310-cp310-manylinux2014_x86_64.whl
docker run -it --shm-size=1024G -v <Host Path>:<Container Path> -v /opt/hyhal:/opt/hyhal --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name internlm-math internlm-math-df bash
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# bitsandbytes可从whl.zip文件里获取安装:
pip install bitsandbytes-0.42.0-py3-none-any.whl
```
......@@ -48,7 +48,7 @@ pip install bitsandbytes-0.42.0-py3-none-any.whl
关于本项目 DCU 显卡所需的特殊深度学习库可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装。
```
DTK驱动:dtk23.04
DTK驱动:dtk24.04
python:python3.10
torch: 2.1.0
torchvision: 0.16.0
......@@ -77,7 +77,7 @@ pip install -r requirements.txt
## 训练
一般情况下,ModelZoo 上的项目提供单机训练的启动方法即可,单机单卡、单机多卡至少提供其一训练方法。
根据实际路径修改模型路径和数据集路径
### 单机单卡
......@@ -95,7 +95,7 @@ sh multi_node.sh
## 推理
```
cd examples/inference
cd inference
sh single_node.sh
```
......@@ -104,7 +104,7 @@ sh single_node.sh
使用的加速卡:2张 DCU-K100-64G
<div align=center>
<img src="./doc/training_loss.png"/>
<img src="./doc/inf_result.png"/>
</div>
### 精度
......@@ -133,7 +133,7 @@ sh single_node.sh
## 源码仓库及问题反馈
- https://github.com/InternLM/InternLM-Math
- https://developer.hpccube.com/codes/modelzoo/internlm2_math_7b_pytorch
## 参考资料
......
......@@ -8,7 +8,7 @@ RANK=0
MASTER_ADDR=127.0.0.1
MASTER_PORT=17170
CUDA_VISIBLE_DEVICES=6,7 torchrun \
HIP_VISIBLE_DEVICES=6,7 torchrun \
--nproc_per_node $NPROC_PER_NODE \
--nnodes $NNODES \
--node_rank $RANK \
......@@ -16,7 +16,7 @@ CUDA_VISIBLE_DEVICES=6,7 torchrun \
--master_port $MASTER_PORT \
src/train.py \
--stage sft --do_train \
--model_name_or_path /home/practice/internlm2-math-7b \
--model_name_or_path /home/practice/internlm2-math-7b <Your_model_path>\
--dataset alpaca_en_demo --template intern2 --finetuning_type lora --lora_target q_proj,v_proj \
--output_dir saves/intern2/lora/sft \
--overwrite_output_dir \
......
......@@ -5,7 +5,7 @@
export HIP_VISIBLE_DEVICES=6
python src/train.py \
--stage sft --do_train \
--model_name_or_path /home/practice/internlm2-math-7b \
--model_name_or_path /home/practice/internlm2-math-7b <Your_model_path>\
--dataset alpaca_en_demo --template intern2 --finetuning_type lora --lora_target q_proj,v_proj \
--output_dir saves/intern2/lora/sft \
--overwrite_output_dir \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment