Go to file
wwl1 7aaedd6c1c Delete filename.txt 2024-09-09 17:41:35 +08:00
default test 2024-09-09 16:23:43 +08:00
README.md Update README.md 2024-09-09 16:49:58 +08:00
configuration.json test 2024-09-09 16:23:43 +08:00
generation_config.json test 2024-09-09 16:23:43 +08:00
optimizer.pt test 2024-09-09 16:23:43 +08:00
rng_state.pth test 2024-09-09 16:23:43 +08:00
scheduler.pt test 2024-09-09 16:23:43 +08:00
sft_args.json test 2024-09-09 16:23:43 +08:00
trainer_state.json test 2024-09-09 16:23:43 +08:00
training_args.bin test 2024-09-09 16:23:43 +08:00
训练一个法律智能对话.md test 2024-09-09 16:23:43 +08:00

README.md

基于 ModelScope 的大语言模型的轻量级法律智能对话

项目介绍

本项目利用 ModelScope 平台上的大语言模型,开发了一个轻量级的法律智能对话机器人。该机器人旨在提供专业、高效的法律咨询服务,通过自然语言处理技术,使法律服务更加普及和便捷。

团队信息

  • 参赛队名open大模型队
  • 队长:刘云
  • 联系方式17303434408
  • 组员:张友晖、巫文良
  • 指导老师:刘寿强
  • 参赛单位:华南师范大学人工智能学院
  • 项目链接点击查看

项目目标

  • 准备好法律文书、裁判条文等数据集
  • 使用数据集训练模型,并进行人工评估
  • 使用 web-ui 完成上述流程

技术亮点

  • 模型选择Qwen-2 大模型通义千问2.0
  • 微调技术LoRA低秩自适应微调
  • 法律语言处理:专门针对法律语言的复杂性和专业性进行优化
  • 界面化操作:通过 web-ui 实现模型训练、部署和调用的全流程操作

环境要求

安装指南

本次模型训练使用魔搭notebook环境。提供A1024G算力作为本项目的训练环境。

# 进入环境后安装
git@code.gitlink.org.cn:zyh17303434408/17303434408.git
cd swift
pip install '.[llm]'

数据

这里我们使用的数据集是(Skepsun/lawyer_llama_data)。 数据集包含两个子集: 其一是为引入法律推理能力让模型具备像法律专业人员一样推理和分析复杂法律问题的能力。侧重于训练模型进行法律分析,理解法律条文的内在逻辑,能够根据不同的情境进行推理,给出具有法律依据的解释或结论。 其二增强了模型利用外部法律知识的能力可以帮助模型更好地访问和应用大量的外部法律知识,包括法律条文、案例、法规等。这有助于模型在回答问题时基于更广泛的背景信息,提高其对复杂问题的回答准确性和全面性。数据集的输入输出如下:


{
"id": “judgement_predit-1”,
"input":“基于下列案件,推测可能的判决结果。  
经审理查明2015年6月21日15时许被告人白某某在大东区小河沿公交车站乘坐被害人张某某驾驶的133路公交车当车辆行驶至沈阳市大东区东陵西路26号附近时被告人白某某因未能下车而与司机张某某发生争执并在该公交车行驶中用手拉拽档杆被证人韩某某拉开后被告人白某某又用手拉拽司机张某某的右胳膊导致该车失控撞向右侧马路边停放的轿车和一个路灯杆路灯杆折断后将福锅记炖品店的牌匾砸坏。后经被害人张某某报警公安人员赶至现场将被告人白某某传唤到案。经鉴定公交车受损价值人民币5,189.9元轿车受损价值人民币1,449.57元路灯杆受损价值人民币2,927.15元福锅记饭店牌匾受损价值人民币9,776元本案损失价值共计人民币19,342.6元。上述事实,被告人白某某在庭审中亦无异议,被害人张某某、朱某某、詹某某陈述,证人韩某某的证言,现场勘察笔录,视听资料,鉴定结论书,被告人白某某的供述与辩解等证据证实,足以认定。”,
"output": "根据《刑法》第一百一十四条的规定被告人白某某以危险方法危害公共安全尚未造成严重后果。根据案件事实被告人白某某在公交车上与司机发生争执并用手拉拽档杆和司机的胳膊导致公交车失控撞向停放的轿车和路灯杆最终造成公交车、轿车、路灯杆以及福锅记饭店牌匾的损坏。根据鉴定结果本案损失共计人民币19,342.6元。  
综上所述,根据《刑法》第一百一十四条的规定,被告人白某某的行为构成以危险方法危害公共安全罪。根据该罪的刑罚幅度,可判处三年以上十年以下有期徒刑。  
需要注意的是,以上仅为根据提供的案件事实和相关法律条文进行的推理,最终的判决结果还需根据法庭审理的具体情况和法官的判断做出。"
}

训练

为了节省显存我们选用了LoRA而非全参训练。我们直接给出可用于训练的脚本


CUDA_VISIBLE_DEVICES=0 \
swift sft \
  --model_type qwen2-7b-instruct \
  --sft_type lora \
  --output_dir output \
  --dataset lawyer_llama_zh \
  --num_train_epochs 1 \
  --max_length 1024 \
  --lora_rank 8 \
  --lora_alpha 32 \
  --lora_dropout_p 0.05 \
  --lora_target_modules ALL \
  --gradient_checkpointing true \
  --batch_size 1 \
  --learning_rate 5e-5 \
  --weight_decay 0.1 \
  --gradient_accumulation_steps 16 \
  --max_grad_norm 1.0 \
  --warmup_ratio 0.03 \
  --eval_steps 100 \
  --save_steps 100 \
  --save_total_limit 2 \
  --logging_steps 10

推理和评估

对训练之后的checkpoint检查点文件进行推理需要使用下面的命令

swift  infer  --best_model_checkpoint llm_lawyer/qwen2-7b-instruct/v0-20240906-160301/checkpoint-1328

GPU 使用概况:

  • GPU 型号NVIDIA A10
  • 驱动版本470.103.01
  • CUDA 版本12.1
  • 总显存24,258 MiB24GB
  • 当前使用显存16,804 MiB大约 16.8GB
  • 显存剩余量24,258 MiB - 16,804 MiB = 7,454 MiB大约 7.5GB

enter image description here

为观察最终的测试效果我们看看训练的效果如何。我们将通过人工推理来观察模型面对不同方向法律问题时,模型的回答是否能够达到预期的效果。

  • 知识产权法问题咨询:

enter image description here

  • 合同法问题咨询:

enter image description here

  • 劳动法问题咨询:

enter image description here