以下の内容はhttps://cysec148.hatenablog.com/entry/2025/07/12/215413より取得しました。


第35回|実践:ColabでRLHFの体験をしてみよう

Hello there, ('ω')ノ

✅ 今回の目的

ChatGPTのようなAIが「どんな答え方が良いのか」を人間の評価を通して学ぶ仕組みを体験してみる!

今回はあくまで簡易体験のため、以下の流れで進めます:

  1. GPTのような小型モデルに回答を生成させる
  2. それに対して人間(あなた)が「どれが良いか」評価
  3. その評価結果をもとに、“報酬モデル”を模した簡易学習を行う

💻 Colab環境の準備

まず、Google Colab ノートブックを新規作成して、以下のコードを実行しましょう。

▶ ライブラリのインストール

!pip install transformers datasets

🧠 ステップ①:小型GPTモデルで回答を生成

ここでは、Hugging Face から事前学習済みの GPT-2 を使います。

from transformers import GPT2Tokenizer, GPT2LMHeadModel

model_name = "gpt2"
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = GPT2LMHeadModel.from_pretrained(model_name)

def generate_responses(prompt, num_return_sequences=2):
    input_ids = tokenizer.encode(prompt, return_tensors='pt')
    outputs = model.generate(
        input_ids,
        max_length=50,
        do_sample=True,
        top_k=50,
        num_return_sequences=num_return_sequences
    )
    return [tokenizer.decode(o, skip_special_tokens=True) for o in outputs]

🧪 ステップ②:回答を並べて、人間が“好み”で選ぶ

prompt = "AIとは何ですか?"
responses = generate_responses(prompt)

print("質問:", prompt)
for i, resp in enumerate(responses):
    print(f"[{i}] {resp}")

ここで出力された複数の回答のうち、「どれが一番よかったか?」を手動で選びます(例:0番が良かった、など)。


📈 ステップ③:簡易的なフィードバックでスコアを学習(擬似RLHF)

今回は報酬モデルを使わず、簡易的に「選ばれた回答にスコア1、それ以外に0」という仕組みで“好み”を記録します。

# 人間が選んだ良い応答の番号を指定
preferred_index = 0  # 例:あなたが選んだ番号を入力

# 擬似フィードバック記録
feedback_data = [
    {"text": resp, "reward": 1 if i == preferred_index else 0}
    for i, resp in enumerate(responses)
]

# 結果確認
for entry in feedback_data:
    print(f"報酬: {entry['reward']} | 応答: {entry['text']}")

🛠 ステップ④:理想的にはこのフィードバックで微調整!

ここでは学習までは行いませんが、実際のRLHFではこのフィードバックを使って:

  • 報酬モデル(人間の好みを予測するAI)を訓練し
  • モデルの生成結果を「強化学習」でチューニング

というプロセスが行われます。

📌 今回はその一部を体験的に再現する形になっています。


🧩 応用アイデア

この仕組みを使って、以下のような簡易実験が可能です:

活用アイデア
社内FAQのトーン改善 同じ答えに対して「わかりやすい表現」を選んで学習
メール文テンプレートの好感度調整 読み手に優しい書き方を選んで学習
AIライティング支援ツール 「好ましい文章」をフィードバックで強化

✅ まとめ:ColabでRLHFの流れを“なんちゃって体験”

✅ RLHFは、人間の好みや判断をAIに学ばせる強力な手法

✅ 実際には複雑な学習プロセスがあるが、Colabでも体験可能な部分はある

✅ 「複数案から選ぶ」だけでも、立派なフィードバックデータになる

✅ 社内でのカスタマイズにも応用可能な考え方!

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/07/12/215413より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14