DEV Community

Tutty
Tutty

Posted on

Survey: Training language models to follow instructions with human feedback

選定理由

破壊的イノベーションとも言われる InstructGPT, ChatGPT(GPT3.5) の原著論文。OpenAI Lab

paper: https://arxiv.org/pdf/2203.02155.pdf
SaaS: https://chat.openai.com/
slide:

概要

【社会課題】
人間が書いた指示や命令を理解し、それに従って行動することが求められるタスクはあらゆるビジネスで汎用的に必要となる。

【技術課題】
従来の自然言語処理技術では上記のような汎用人工知能を実現するのは困難であった。それは膨大なデータセットを用いた学習や人間にとって有意義な回答を得るために人間からのフィードバックが必要となる。しかし、このような学習プロセスには、コストや効率性が問題となる。

【提案】
人間のフィードバックを用いて、自然言語処理モデルを指示に従うように学習させる枠組みを提案。モデルが生成した行動(回答)について、人間がフィードバックを与えることで、言語モデルを改善する報酬モデルを構築する。この報酬モデルを用いて巨大なデータセットを半教師あり学習で改善する。

【効果】
人間の指示に従うことができる自然言語処理モデルの性能が向上した。また、訓練に必要なデータセットのサイズを大幅に削減でき、訓練の効率性が向上した。

Reinforcement Learning with Human Feedback (RLHF)

3段階のFinetuning

fig.2

図2が[Ziegler2019]および[Stiennon2020]に倣ったGPT-3.5の学習プロセスであり、3ステップからなる。

ステップ1(事前学習済みGPT-3を教師あり学習でFinetuning): ラベラーが入力文(prompt)に対して望ましい回答(completion)のペアを作成したデータセットを用いる。

ステップ2(生成させたデータをランキングして報酬モデルを学習): プロンプトに対する生成結果に対してラベラーにランキングをつけさせて人間(ドメインエキスパート)が好む回答に高い報酬を与える報酬モデルを作成。

ステップ3(PPOを使用して報酬モデルに対して強化学習ポリシーを最適化): RM(報酬モデル)の出力をスカラー報酬として使用、ポリシーのfinetuningにより、この報酬をPPOアルゴリズム[Schulman2017]を使用して最適化する。

ステップ2,3は反復的に実施して良いが、片方だけだと意味がない。3ステップをトータルで捉えると一部にラベルがついている半教師あり学習である。

Dataset

学習データはUpworkで募集した40人のラベラーが作成したペアと、プロトタイプ版(InstructGPT)をユーザーに使用してもらって集めたデータセットの二種類がある。ラベラーが作成したものは以下の三種類である。ラベル品質を示すアノテーター同意性指標κは 70%台と高い数値を示した。

  • Plain: ラベラーに表1の任意のタスクのprompt/completionのペアを十分な多様性を持たせて作成させた。
  • Few-shot: 任意の指示に対して、言い換えた複数のprompt/completionのペアを作成させた
  • User-based: OpenAI APIへのウェイトリスト申し込みに記載されたユースケースに基づき、ラベラーにこれらのユースケースに対応するプロンプトを作成させた。

先行リリースしたInstructGPTによって回収された会話の自然言語タスクの分布は表1である。ラベラーによってどのタスクに分類されるかを識別した。

tbl.1

stepごとに以下のサンプル数で作成した。

step サンプル数 教師ラベル
1:SFT 13k 理想的な回答をcompletionとして与える
2:RM 33k 生成された回答に付与したランキングを報酬とする
3:PPO 31k なし

プライバシー保護のため個人識別情報 (PII)は匿名化した。train/test はユーザーIDに関して排反になるように分離した。最後にデータセットサンプルを掲載する。

appendix2.1

実験

fig.3

図3により人間のフィードバックを使用した強化学習モデル(RLHF)が、他のモデルに比べて明らかに高いスコアを獲得している。このことから、RLHFが指示に従う能力や応答の関連性、一貫性を大幅に向上させる効果があることがわかる。モデルのサイズが大きくなるにつれて、応答の品質が向上していることが示されている。ただし、モデルが一定のサイズに達すると、性能の向上が鈍化する傾向も見られる。

fig.4

PPOではハルシネーションを増やす場合もあった。

fig.9

改善したサンプルの例である。

実装

https://github.com/ggerganov/llama.cpp
Meta AI Research の LLaMa(13B)がM1搭載Macbook Pro、メモリ6GB、GPUなしで毎秒10レスポンス程度で動作可能。LLaMaの13BはGPT-3の175Bとほぼ同等。

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more