|
|
--- |
|
|
base_model: HuggingFaceTB/SmolLM2-360M-Instruct |
|
|
library_name: peft |
|
|
--- |
|
|
# ACT-R Adapter for PEFT |
|
|
|
|
|
## 📌 概要 |
|
|
`summerstars/ACT-R-adapter` は、Hugging Faceの`SmolLM2-360M-Instruct`モデルに基づいて、ACT-Rモデルを効率的に微調整(PEFT)するためのアダプターです。このアダプターは、少ないパラメータで大規模言語モデルを適応させることができ、ACT-Rのような認知アーキテクチャに基づく推論を効率的に行えるようにします。 |
|
|
|
|
|
--- |
|
|
|
|
|
## 🚀 必要なライブラリ |
|
|
|
|
|
以下のライブラリが必要です: |
|
|
|
|
|
```bash |
|
|
pip install transformers peft |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🔧 使用方法 |
|
|
|
|
|
### 1. モデルとアダプターのロード |
|
|
|
|
|
まず、以下のコードで、`summerstars/ACT-R-adapter`をロードして、`SmolLM2-360M-Instruct`のモデルを基にしたACT-Rアダプターを適用します。 |
|
|
|
|
|
```python |
|
|
from peft import PeftModel |
|
|
from transformers import AutoModelForCausalLM |
|
|
|
|
|
# ベースモデルのロード |
|
|
base_model = AutoModelForCausalLM.from_pretrained("HuggingFaceTB/SmolLM2-360M-Instruct") |
|
|
|
|
|
# ACT-R用アダプターを適用 |
|
|
model = PeftModel.from_pretrained(base_model, "summerstars/ACT-R-adapter") |
|
|
``` |
|
|
|
|
|
このコードは、Hugging Faceの`SmolLM2-360M-Instruct`という事前学習済みのモデルをベースとして、`summerstars/ACT-R-adapter`を使ってPEFTを適用しています。 |
|
|
|
|
|
### 2. 推論の実行 |
|
|
|
|
|
ACT-Rアダプターを使った推論を行うためには、以下のコードを使用します。 |
|
|
|
|
|
```python |
|
|
from transformers import pipeline |
|
|
|
|
|
# パイプラインの設定 |
|
|
actr_pipeline = pipeline( |
|
|
"text-generation", |
|
|
model=model, |
|
|
tokenizer=base_model.tokenizer # ベースモデルのトークナイザーを使用 |
|
|
) |
|
|
|
|
|
# 推論関数の定義 |
|
|
def generate_actr_text(prompt, max_length=200, temperature=0.7, top_p=0.95, top_k=50): |
|
|
response = actr_pipeline(prompt, max_length=max_length, temperature=temperature, top_p=top_p, top_k=top_k, do_sample=True) |
|
|
return response[0]["generated_text"] |
|
|
|
|
|
# 例: 推論の実行 |
|
|
actr_prompt = "Analyze the impact of AI on human cognition." |
|
|
print("【ACT-R Model Output】") |
|
|
print(generate_actr_text(actr_prompt)) |
|
|
``` |
|
|
|
|
|
このコードでは、ACT-Rアダプターを使って、指定したプロンプトに基づいてAIの影響を分析するための推論を行います。 |
|
|
|
|
|
--- |
|
|
|
|
|
## ⚙️ 設定 |
|
|
|
|
|
アダプターを使用して微調整されたACT-Rモデルの設定は、以下のようにカスタマイズできます: |
|
|
|
|
|
- **max_length**: 生成するテキストの最大長 |
|
|
- **temperature**: 生成時のランダム性(高い値はランダムで多様な出力を生成) |
|
|
- **top_p**: トークンの確率分布の上位p%から生成する(Nucleus Sampling) |
|
|
- **top_k**: 上位k個のトークンから生成する(Top-k Sampling) |
|
|
|
|
|
--- |
|
|
|
|
|
## 🧠 参考文献 |
|
|
|
|
|
- Anderson, J. R., & Lebiere, C. (1998). *The Atomic Components of Thought: A Propositional Theory of Cognitive Representations*. Erlbaum. |
|
|
- PEFT論文: *Parameter-Efficient Fine-Tuning* by Houlsby et al. (2019) |
|
|
|
|
|
--- |
|
|
|
|
|
## 📜 ライセンス |
|
|
|
|
|
このプロジェクトは `Apache 2.0` ライセンスのもとで公開されています。 |
|
|
|