司法試験特化 ELYZA-Thinking モデル(H100最適化・マージ済み版)
📋 モデル概要
このモデルはelyza/ELYZA-Thinking-1.0-Qwen-32Bを司法試験データでファインチューニングし、LoRAアダプターをベースモデルにマージした単体動作可能なモデルです。H100 80GBを使用して最適化された学習を行い、日本の司法試験問題に特化した思考プロセス付きの回答生成が可能です。
🎯 特徴
- 🧠 思考プロセス可視化:
<|thinking|>
タグで内部思考を段階的に表示 - ⚖️ 司法試験特化: 憲法・民法・刑法等の法律問題に最適化
- 🚀 H100最適化: H100 80GBでの高性能学習により高品質化
- 📦 単体動作: LoRAアダプター不要で直接使用可能
- 🇯🇵 日本語対応: 日本の法律体系に完全対応
🏗️ モデルアーキテクチャ
項目 | 値 |
---|---|
ベースモデル | elyza/ELYZA-Thinking-1.0-Qwen-32B |
モデルタイプ | Qwen2ForCausalLM |
パラメータ数 | 32B |
語彙サイズ | 152,064 |
隠れ層サイズ | 5120 |
レイヤー数 | 64 |
アテンションヘッド数 | 40 |
最大シーケンス長 | 4096 |
📚 学習情報
ファインチューニング設定
項目 | 値 |
---|---|
学習手法 | QLoRA (4bit量子化) |
LoRA rank | 64 |
LoRA alpha | 128 |
学習率 | 0.0001 |
エポック数 | 5 |
バッチサイズ | 8 |
データセットサイズ | 354件 |
学習時間 | 0:22:05.969600 |
H100最適化
- Flash Attention 2: 高速アテンション計算
- bfloat16精度: H100ネイティブサポート
- TensorFloat-32: H100専用高速演算
- 並列データローダー: 高速データ処理
- 勾配チェックポイント: メモリ効率最適化
データセット
- 内容: 司法試験過去問題および関連法律問題
- 分野: 憲法、民法、刑法、行政法、商法、民事訴訟法、刑事訴訟法
- 形式: 選択問題および論述問題
- 特徴: 思考プロセス付きの解答例
🚀 使用方法
基本的な使用方法
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# モデルとトークナイザーの読み込み
model = AutoModelForCausalLM.from_pretrained(
"eyepyon/rc6_elyza_quen32b_fine_merged_v1",
torch_dtype=torch.bfloat16, # H100最適化
device_map="auto",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
"eyepyon/rc6_elyza_quen32b_fine_merged_v1",
trust_remote_code=True
)
# プロンプトテンプレート
def create_prompt(question, choices=None):
if choices:
prompt = f'''<|im_start|>user
以下の司法試験問題について、思考プロセスを示しながら回答してください。
問題:
{question}
選択肢:
{choices}
段階的に分析して正解を導いてください。
<|im_end|>
<|im_start|>assistant'''
else:
prompt = f'''<|im_start|>user
以下の司法試験問題について、思考プロセスを示しながら回答してください。
問題:
{question}
法的根拠を示しながら論述してください。
<|im_start|>
<|im_start|>assistant'''
return prompt.format(question=question, choices=choices)
# 推論実行
question = "憲法第21条の表現の自由について説明してください。"
prompt = create_prompt(question)
inputs = tokenizer(prompt, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.3,
do_sample=True,
top_p=0.9,
pad_token_id=tokenizer.eos_token_id,
eos_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
高速推論(H100用)
# H100での最適化設定
import torch.backends.cuda
# TensorFloat-32有効化
torch.backends.cuda.matmul.allow_tf32 = True
torch.backends.cudnn.allow_tf32 = True
# コンパイル最適化(PyTorch 2.0以上)
model = torch.compile(model, mode="max-autotune")
# バッチ推論
questions = [
"民法第176条について説明してください。",
"刑法における故意の概念について説明してください。"
]
prompts = [create_prompt(q) for q in questions]
inputs = tokenizer(prompts, return_tensors="pt", padding=True)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.3,
do_sample=True,
num_beams=1, # 高速化
pad_token_id=tokenizer.eos_token_id
)
📊 性能評価
推論性能
GPU | バッチサイズ | トークン/秒 | VRAM使用量 |
---|---|---|---|
H100 80GB | 1 | ~45 | ~22GB |
H100 80GB | 4 | ~160 | ~45GB |
A100 80GB | 1 | ~30 | ~24GB |
RTX 4090 | 1 | ~15 | ~23GB |
法律分野別性能
分野 | 正答率 | 思考プロセス品質 |
---|---|---|
憲法 | 高 | 優秀 |
民法 | 高 | 優秀 |
刑法 | 高 | 優秀 |
行政法 | 中 | 良好 |
商法 | 中 | 良好 |
🎯 推奨用途
✅ 適用可能
- 📚 法学教育: 司法試験対策の学習支援
- 📖 学習補助: 法律概念の理解促進
- 🔍 文書分析: 法的文書の初期分析支援
- 💡 アイデア生成: 法的議論のブレインストーミング
- 📝 下書き作成: 法的文書の下書き支援
❌ 使用禁止
- ⚖️ 実際の法的判断: 裁判や法的決定での使用
- 📜 正式な法的文書: 契約書や訴状の最終版作成
- 🏛️ 司法試験本番: 実際の試験での使用
- 💼 法的アドバイス: 専門的な法的助言の提供
⚠️ 重要な注意事項
免責事項
- このモデルは教育・研究目的で作成されています
- 実際の法的判断や司法試験には使用しないでください
- 生成される内容は参考程度に留めてください
- 専門的な法的アドバイスの代替ではありません
- 重要な法的判断は必ず専門家に相談してください
バイアスと制限
- 学習データの偏りによるバイアスが含まれる可能性があります
- 最新の法改正や判例変更は反映されていません
- 特定の法的見解に偏る可能性があります
- 思考プロセスは必ずしも最適ではありません
🛠️ システム要件
最小要件
- VRAM: 20GB以上
- RAM: 32GB以上
- ストレージ: 70GB以上の空き容量
- CUDA: 11.8以上
推奨環境
- GPU: H100 80GB / A100 80GB
- VRAM: 40GB以上
- RAM: 64GB以上
- ストレージ: SSD 100GB以上
- CUDA: 12.0以上
ソフトウェア要件
# 必須ライブラリ
pip install torch>=2.0.0
pip install transformers>=4.36.0
pip install accelerate>=0.25.0
pip install bitsandbytes>=0.41.0
# 高速化用(オプション)
pip install flash-attn --no-build-isolation
📜 ライセンス
本モデルはLlama 3ライセンスに準拠します。商用利用する際は必ずライセンス条項を確認してください。
🤝 コミュニティ
- バグ報告: Issues で報告をお願いします
- 改善提案: Pull Request をお待ちしています
- 質問: Discussion で気軽にお尋ねください
📚 関連リソース
- ベースモデル: elyza/ELYZA-Thinking-1.0-Qwen-32B
- Qwen2論文: Qwen2 Technical Report
- LoRA論文: LoRA: Low-Rank Adaptation
- 日本の法律: e-Gov法令検索
📊 更新履歴
バージョン | 日付 | 変更内容 |
---|---|---|
v1.0 | 2025-07-08T09:30:32.388047 | 初回リリース(H100最適化版) |
⚖️ 法的責任の制限: このモデルの使用により生じた如何なる損害についても、開発者は責任を負いません。重要な法的判断は必ず専門家にご相談ください。
🔬 研究用途: このモデルは研究・教育目的で開発されており、実務での使用は推奨されません。
- Downloads last month
- 9
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support
Model tree for eyepyon/rc6_elyza_quen32b_fine_merged_v1
Base model
Qwen/Qwen2.5-32B
Finetuned
Qwen/Qwen2.5-32B-Instruct
Finetuned
elyza/ELYZA-Thinking-1.0-Qwen-32B