LaWGPT 是一系列基於中文法律知識的開源大語言模型。
該系列模型在通用中文基座模型(如Chinese-LLaMA、ChatGLM 等)的基礎上擴充法律領域專有詞表、大規模中文法律語料預訓練,增強了大模型在法律領域的基礎語義理解能力。在此基礎上,構造法律領域對話問答數據集、中國司法考試數據集進行指令精調,提升了模型對法律內容的理解和執行能力。
詳細內容請參考技術報告。
項目結構
LaWGPT
├── assets # 项目静态资源
├── data # 语料及精调数据
├── tools # 数据清洗等工具
├── README.md
├── requirements.txt
└── src # 源码
├── finetune.py
├── generate.py
├── models # 基座模型及 Lora 权重
│ ├── base_models
│ └── lora_weights
├── outputs
├── scripts # 脚本文件
│ ├── finetune.sh # 指令微调
│ └── generate.sh # 服务创建
├── templates
└── utils
數據構建
本項目基於中文裁判文書網公開法律文書數據、司法考試數據等數據集展開,詳情參考中文法律數據匯總
- 初級數據生成:根據Stanford_alpaca和self-instruct方式生成對話問答數據
- 知識引導的數據生成:通過Knowledge-based Self-Instruct 方式基於中文法律結構化知識生成數據。
- 引入ChatGPT 清洗數據,輔助構造高質量數據集。
模型訓練
LawGPT 系列模型的訓練過程分為兩個階段:
- 第一階段:擴充法律領域詞表,在大規模法律文書及法典數據上預訓練Chinese-LLaMA
- 第二階段:構造法律領域對話問答數據集,在預訓練模型基礎上指令精調
二次訓練流程
- 參考
src/data/example_instruction_train.json
構造二次訓練數據集 - 運行
src/scripts/train_lora.sh
指令精調步驟
- 參考
src/data/example_instruction_tune.json
構造指令微調數據集 - 運行
src/scripts/finetune.sh
計算資源
8 張Tesla V100-SXM2-32GB
模型評估
輸出示例
問題:請給出判決意見。
問題:請介紹賭博罪的定義。
問題:請問加班工資怎麼算?
局限性
由於計算資源、數據規模等因素限制,當前階段LawGPT 存在諸多局限性:
- 數據資源有限、模型容量較小,導致其相對較弱的模型記憶和語言能力。因此,在面對事實性知識任務時,可能會生成不正確的結果。
- 該系列模型只進行了初步的人類意圖對齊。因此,可能產生不可預測的有害內容以及不符合人類偏好和價值觀的內容。
- 自我認知能力存在問題,中文理解能力有待增強。
#LaWGPT首頁文檔和下載 #基於中文法律知識的大語言模型 #程式开发