|
|
--- |
|
|
license: apache-2.0 |
|
|
base_model: google/gemma-2-2b |
|
|
tags: |
|
|
- fine-tuned |
|
|
- legal |
|
|
- constitution |
|
|
- japanese |
|
|
- education |
|
|
- law |
|
|
library_name: transformers |
|
|
pipeline_tag: text-generation |
|
|
language: |
|
|
- ja |
|
|
--- |
|
|
|
|
|
# eyepyon/constitution-gemma2-test - 憲法教育支援AI |
|
|
|
|
|
このモデルは、`google/gemma-2-2b` をベースに憲法教育データでファインチューニングされた専門モデルです。 |
|
|
|
|
|
## 🏛️ モデル概要 |
|
|
|
|
|
- **専門分野**: 憲法学・法学教育 |
|
|
- **ベースモデル**: google/gemma-2-2b |
|
|
- **ファインチューニング手法**: LoRA (Low-Rank Adaptation) |
|
|
- **対応言語**: 日本語 |
|
|
- **主要タスク**: 憲法問題の解答・見解分析 |
|
|
|
|
|
## 🎓 教育用途 |
|
|
|
|
|
このモデルは以下の教育シーンで活用できます: |
|
|
|
|
|
- **法学部学生の学習支援** |
|
|
- **司法試験対策** |
|
|
- **憲法判例の理解促進** |
|
|
- **見解の批判関係の分析** |
|
|
|
|
|
## 🚀 使用方法 |
|
|
|
|
|
### 基本的な使用例 |
|
|
|
|
|
```python |
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
from peft import PeftModel |
|
|
|
|
|
# ベースモデルとトークナイザーを読み込み |
|
|
base_model = AutoModelForCausalLM.from_pretrained( |
|
|
"google/gemma-2-2b", |
|
|
torch_dtype="auto", |
|
|
device_map="auto", |
|
|
trust_remote_code=True |
|
|
) |
|
|
tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-2b") |
|
|
|
|
|
# LoRAアダプターを適用 |
|
|
model = PeftModel.from_pretrained(base_model, "eyepyon/constitution-gemma2-test") |
|
|
|
|
|
# 憲法問題の解答 |
|
|
def solve_constitution_problem(context, question): |
|
|
input_text = f"### 法律分野: 憲法\n### コンテキスト:\n{context}\n\n### 問題:\n{question}\n\n### 解答:\n" |
|
|
inputs = tokenizer(input_text, return_tensors="pt") |
|
|
|
|
|
if torch.cuda.is_available(): |
|
|
inputs = {k: v.to(model.device) for k, v in inputs.items()} |
|
|
|
|
|
with torch.no_grad(): |
|
|
outputs = model.generate( |
|
|
**inputs, |
|
|
max_length=1024, |
|
|
do_sample=True, |
|
|
temperature=0.3, # 法律問題では低めの温度 |
|
|
top_p=0.8, |
|
|
pad_token_id=tokenizer.eos_token_id |
|
|
) |
|
|
|
|
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
if "### 解答:" in response: |
|
|
response = response.split("### 解答:")[-1].strip() |
|
|
return response |
|
|
|
|
|
# 使用例 |
|
|
context = "憲法に関する法律問題について、見解の関係性を分析し、批判の有無を判断してください。" |
|
|
question = "人権の享有主体に関する次の記述について、bの見解がaの見解の批判となっているか分析してください..." |
|
|
answer = solve_constitution_problem(context, question) |
|
|
print(answer) |
|
|
``` |
|
|
|
|
|
## 📊 入力フォーマット |
|
|
|
|
|
``` |
|
|
### 法律分野: 憲法 |
|
|
### コンテキスト: |
|
|
[法的背景や問題設定] |
|
|
|
|
|
### 問題: |
|
|
[具体的な憲法問題] |
|
|
|
|
|
### 解答: |
|
|
[期待される解答や分析] |
|
|
``` |
|
|
|
|
|
## ⚙️ トレーニング設定 |
|
|
|
|
|
- **ファインチューニング手法**: LoRA |
|
|
- **LoRAランク**: 16 (法律ドメイン最適化) |
|
|
- **LoRA Alpha**: 32 |
|
|
- **学習率**: 1e-4 (専門分野用に調整) |
|
|
- **最大シーケンス長**: 1024トークン |
|
|
- **バッチサイズ**: 1 × 8 (gradient accumulation) |
|
|
|
|
|
## 🎯 モデルの特長 |
|
|
|
|
|
### 法学専門性 |
|
|
- 憲法の基本概念の理解 |
|
|
- 判例分析能力 |
|
|
- 見解の論理的関係性の把握 |
|
|
|
|
|
### 教育支援機能 |
|
|
- 段階的な説明 |
|
|
- 批判的思考の促進 |
|
|
- 法的推論の支援 |
|
|
|
|
|
## ⚠️ 使用上の注意 |
|
|
|
|
|
1. **教育目的限定**: このモデルは教育支援を目的として作成されています |
|
|
2. **法的助言の禁止**: 実際の法的助言や判断には使用しないでください |
|
|
3. **継続的学習**: 法律は変化するため、最新の情報は別途確認が必要です |
|
|
4. **批判的検証**: 生成される内容は必ず専門知識と照らし合わせて検証してください |
|
|
|
|
|
## 📚 データセット情報 |
|
|
|
|
|
- **データ源**: 憲法教育用問題集 |
|
|
- **問題形式**: 見解の批判関係分析 |
|
|
- **データ量**: 約60問 |
|
|
- **品質**: 教育専門家による監修済み |
|
|
|
|
|
## 📄 ライセンス |
|
|
|
|
|
Apache 2.0 License |
|
|
|
|
|
## 🤝 謝辞 |
|
|
|
|
|
- ベースモデル: google/gemma-2-2b |
|
|
- 教育データ提供者の皆様 |
|
|
- 法学教育関係者の皆様 |
|
|
|
|
|
--- |
|
|
|
|
|
**最終更新**: 2025年06月04日 |
|
|
|
|
|
このモデルは教育研究目的での使用を想定しています。実際の法的判断には使用せず、必ず専門家の助言を求めてください。 |
|
|
|