目录
目录README.md

煤矿安全大模型——矿途智护者

项目背景

  • 国家高度重视煤矿安全生产工作,提高从业人员的安全知识水平,是煤矿安全管理的重要基础。
  • 安全管理领域积累了海量数据,但难以为安全决策所利用。
  • 根据国家矿山安监局统计: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 



项目展示









关于

利用包括煤矿历史事故案例、事故处理报告、安全操作规程、规章制度、技术文档以及煤矿从业人员入职考试题库等在内的丰富数据资源,通过微调InternLM2_5模型,构建出一个专门针对煤矿事故和煤矿安全知识智能问答的煤矿安全大模型。

2.3 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号