司法試験特化 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 で気軽にお尋ねください

📚 関連リソース

📊 更新履歴

バージョン 日付 変更内容
v1.0 2025-07-08T09:30:32.388047 初回リリース(H100最適化版)

⚖️ 法的責任の制限: このモデルの使用により生じた如何なる損害についても、開発者は責任を負いません。重要な法的判断は必ず専門家にご相談ください。

🔬 研究用途: このモデルは研究・教育目的で開発されており、実務での使用は推奨されません。

Downloads last month
9
Safetensors
Model size
32.8B params
Tensor type
F32
·
U8
·
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
Quantized
(8)
this model

Evaluation results