--- 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` ライセンスのもとで公開されています。