煤矿安全大模型——矿途智护者
项目背景
- 国家高度重视煤矿安全生产工作,提高从业人员的安全知识水平,是煤矿安全管理的重要基础。
- 安全管理领域积累了海量数据,但难以为安全决策所利用。
- 根据国家矿山安监局统计:90%以上煤矿事故都与人的不安全行为有关。
主要功能
- 支持煤矿安全领域常规题型解答,如:单选题、多选题、判断题、填空题等 (针对煤矿主要负责人及安管人员、煤矿各种作业人员)
- 支持针对安全规程规章制度、技术等文档内容回答(如《中华人民共和国矿山安全法》、《煤矿建设安全规程》)
- 支持煤矿历史事故案例,事故处理报告查询,提供事故原因详细分析、事故预防措施以及应急响应知识
创建环境
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
显存占用
训练日志
使用evalscope评估模型
1. 自定义数据集评估
!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
项目展示
煤矿安全大模型——矿途智护者
项目背景
主要功能
创建环境
依赖包安装
数据构建
输入如下命令,会在data目录下生成CoalQA_data.json
CoalQA_data.json内容结构形如:
模型训练
安装 flash-attention 加快推理速度
使用ms-swift训练模型
显存占用
训练日志
使用evalscope评估模型
1. 自定义数据集评估
项目展示