Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
|
|
1 year ago | |
|---|---|---|
| data_process | 1 year ago | |
| img | 1 year ago | |
| LICENSE | 1 year ago | |
| README.md | 1 year ago | |
conda create -n CoalLLM python=3.10
conda activate CoalLLM
pip install modelscope[framework] # 模型库
pip install py-data-juicer[sci] # 数据处理库
pip install ms-swift[llm] # 训练库
pip install ms-swift[eval] # 评测库
输入如下命令,会在data目录下生成CoalQA_data.json
git clone https://gitlink.org.cn/yaosenJ/Coal_Mine_SAFETY.git
cd Coal_Mine_SAFETY/data_process
python Generate_QAdata.py ../data/CoalQA_data.json
CoalQA_data.json内容结构形如:
[
{
"instruction": "请提供新建矿井立井井筒冻结法施工的具体要求。",
"output": "新建矿井立井井筒冻结法施工需要遵守以下要求:冻结深度必须穿过风化带延深至稳定的基岩10m以上,第一个冻结孔必须全孔取芯,钻孔时必须测定钻孔的方向和偏斜度,偏斜度超过规定时必须及时纠正,冻结管必须采用无缝钢管并焊接或螺纹连接,开始冻结后必须经常观察水文观测孔的水位变化,并在确定冻结壁已交圈后才能进行试挖。"
},
...
]
安装 flash-attention 加快推理速度
pip install flash-attn --no-build-isolation
使用ms-swift训练模型
!CUDA_VISIBLE_DEVICES=0 swift sft \
--sft_type lora \
--model_type internlm2_5-7b-chat \
--model_id_or_path /root/share/new_models/Shanghai_AI_Laboratory/internlm2_5-7b-chat \
--dataset /root/Coal_Mine_SAFETY/data/data.json\
--system "你是一个煤矿安全领域的知识达人,你对相关煤矿安全规章规程制度、技术等文档非常熟悉。请你专业正确地解答用户想问的煤矿安全相关问题。" \
--dataset_test_ratio 0.01 \
--output_dir output \
--lora_target_modules ALL \
--lora_rank 8 \
--dtype bf16 \
--seed 42 \
--learning_rate 1e-4 \
--warmup_ratio 0.05 \
--max_length 2048 \
--batch_size 4 \
--eval_batch_size 4 \
--num_train_epochs 3 \
--gradient_accumulation_steps 4 \
--save_total_limit 5 \
--eval_steps 100 \
--save_steps 100
显存占用
训练日志
!CUDA_VISIBLE_DEVICES=0 swift eval \
--ckpt_dir /root/Coal_Mine_SAFETY/output/internlm2_5-7b-chat/v4-20240909-222741/checkpoint-1113 \
--eval_dataset no \
--infer_backend pt \
--eval_backend Native \
--eval_limit 10 \
--seed 42 \
--eval_batch_size 8 \
--custom_eval_config custom_eval_config.json \
--temperature 0.7 \
--top_k 20 \
--top_p 0.9
利用包括煤矿历史事故案例、事故处理报告、安全操作规程、规章制度、技术文档以及煤矿从业人员入职考试题库等在内的丰富数据资源,通过微调InternLM2_5模型,构建出一个专门针对煤矿事故和煤矿安全知识智能问答的煤矿安全大模型。
Python