はじめに
LaWGPTは、南京大学の機械学習・データマイニング研究グループが支援するオープンソースプロジェクトで、中国語の法律知識に基づく大規模な言語モデルの構築に専念している。一般的な中国語モデル(Chinese-LLaMAやChatGLMなど)をベースに、法律領域における独自の単語リストを拡張し、法律コーパスの大規模な事前学習と法律Q&Aデータセットにおけるコマンドの微調整を通じて、法律シナリオにおけるモデルの意味理解と対話能力を大幅に向上させている。本プロジェクトは複数の共同研究者により推進されており、法律対話、司法試験トレーニングなどのシナリオに適用可能である。このモデルはまだデータと容量に制限があり、出力は不確実かもしれないが、そのオープンソースとしての性質とコミュニティのサポートにより、法律分野におけるAI研究の重要なリソースとなっている。
機能一覧
- 法律Q&Aジェネレーション入力された法的な質問に基づき、カウンセリングや学習に適した正確な回答を生成します。
- 司法試験研修中国司法試験データセットに基づくQ&Aトレーニングを提供し、試験準備をサポートします。
- 法律コーパス理解複雑な法律文書や法令の内容を解析できるようになるための事前トレーニング。
- コマンドライン・バッチ推論スクリプトによる法律関連データのバッチ処理をサポート。
- 対話モード事前に定義されたデータがない場合、リアルタイムでユーザーの質問にインタラクティブに回答します。
- モデルの重み付けサポートLoRAのウェイトは、ユーザーがオリジナル・モデルと組み合わせてカスタム・アジャストできるように用意されている。
ヘルプの使用
設置プロセス
LaWGPTはGitHubベースのオープンソースプロジェクトです。以下に詳しいインストール手順を示します:
- プロジェクトコードの複製
ターミナルを開き、以下のコマンドを入力してコードをローカルにダウンロードする:
git clone git@github.com:pengxiao-song/LaWGPT.git
cd LaWGPT
これでLaWGPTコードベースがあなたのコンピューターにクローンされ、プロジェクト・ディレクトリーに入る。
- 仮想環境の構築
Condaを使用して、独立したPython環境を作成し、依存関係の衝突を避ける:
conda create -n lawgpt python=3.10 -y
conda activate lawgpt
環境をアクティブにした後、以降の操作は lawgpt
それが実行される環境。
- 依存関係のインストール
このプロジェクトは、以下のものを提供する。requirements.txt
ファイルには必要なライブラリーがリストされている。以下のコマンドを実行してインストールしてください:
pip install -r requirements.txt
依存関係には以下が含まれる。 transformers
そしてpeft
そしてgradio
などで、ダウンロードを完了するためにネットワークに空きがあることを確認する。
- モデルの重みの取得
LLaMAとChinese-LLaMAは完全なウェイトをオープンソースにしていないので、LaWGPTはLoRAウェイトのみを提供する。必要なのは
- Chinese-LLaMAまたはその他のベースモデルの重量は、公式情報源から入手すること。
- LoRAのウェイトをベースモデルにマージする(この方法の詳細については、プロジェクトのドキュメントを参照)。
- インストールの確認
サンプルスクリプトを実行して、環境が正しいことを確認します:
bash scripts/infer.sh
インタラクティブ・モードにうまく入れば、インストールは完了です。
使用方法
主な業務:法律クイズと推論
- 対話モード
テスト・データ・パスが指定されていない場合は、以下のように実行する。bash scripts/infer.sh
対話モードになります。例えば、法的な質問を直接入力することができます:
请解释《中华人民共和国合同法》第十条的内容。
このモデルはリアルタイムで回答を生成し、迅速なアドバイスや学習に適している。
- 批判的推論
複数の質問に対応するため、JSONファイルを用意する(フォーマット参照)resources/example_instruction_train.json
)、例えば
{"instruction": "离婚后财产如何分割?", "output": ""}
ファイルパスをスクリプトに渡す:
bash scripts/infer.sh --infer_data_path ./test.json
このモデルは、結果を一行ずつ処理して出力し、その結果を保存してその後の分析に役立てることができる。
特集:司法試験トレーニング
- データセットの準備
LaWGPTは司法試験データセットに基づく学習をサポートしています。以下を参照してください。Awesome Chinese Legal Resources
一般に公開されているデータセットをダウンロードするか、以下のフォーマットで独自のQ&Aペアを作成してください:{"instruction": "下列哪项不属于犯罪构成要件?", "output": "A. 犯罪主体 B. 犯罪客体 C. 犯罪动机 D. 犯罪客观方面"}
JSONファイルとして保存する。
exam_data.json
. - ランニング・トレーニング
利用するfinetune.py
コマンド微調整用スクリプト:python finetune.py --data_path ./exam_data.json --base_model <path_to_base_model> --lora_weights <path_to_lora>
パラメータの説明
--data_path
データセットパス--base_model
ベースモデルのパス。--lora_weights
LoRAのウェイトパス。
トレーニングが完了すれば、このモデルは司法試験タイプの問題により適応できるようになる。
ウェブ・インターフェースの使用
- WebUIの起動
プロジェクトのサポートは、Gradioを介したグラフィカル・インターフェースを提供します。実行する:bash scripts/webui.sh
起動時にブラウザはローカルページ(通常は
http://127.0.0.1:7860
). - ワークフロー
- 入力ボックスに法的な質問を入力してください。例えば、「特許保護を申請するにはどうすればよいですか?
- Submit "をクリックし、モデルが応答を生成するのを待つ。
- 出力を表示し、コピーまたは保存することができます。
ウェブ・インターフェースは、専門的な知識を持たないユーザーにも適しており、直感的に使用できる。
ほら
- ハードウェア要件推論を高速化するためにGPU(例えばTesla V100)を使用することをお勧めします。
- モデルの選択デフォルトは
LaWGPT-7B-alpha
必要な場合beta1.0
もしかしたらbeta1.1
スクリプトのモデルパラメータを調整する必要がある。 - 制限モデルは、データの制限により不正確な内容を生成する可能性があり、特に実際の法的シナリオで使用する場合は、結果を検証する必要がある。
これらのステップで、LaWGPTを簡単に始めることができ、あなたが法的なクイズを実施しているかどうか、または司法試験の準備のための効率的なサポートを得ることができます。