Self-Instruct
2212.10560 Self-Instruct: Aligning Language Models with Self-Generated Instructions
https://gyazo.com/c6a02be5df21745c5b884c3245f14422
code:quote
SELF-INSTRUCTは、事前学習済み言語モデル(LM)自身が生成した命令データを用いて、モデルの命令追従能力を向上させる半自動的なフレームワークです。175個のシード命令から出発し、モデル自身に新しい命令・入力・出力を生成させ、フィルタリングを経て最終的に約52,000の命令と82,000のインスタンスを生成します。このデータでGPT3をファインチューニングすることで、元のモデルより33%の性能向上を達成し、プライベートデータと人手アノテーションで訓練されたInstructGPT001に匹敵する性能を実現しました。人手による大規模なアノテーションをほぼ必要とせず、事前学習済みLMを命令追従可能にする画期的な手法です。
シードタスクを作成
175 個手書きの命令 (分類25個, 非分類 150)
Instruction + Input & Output
code:example
# 分類
Instruction: Detect if the Reddit thread contains hate speech.
Input: Thread: All people of color are stupid and should not be
allowed to vote.
Output: Hate Speech
# 非分類
Instruction: Given the name of an exercise, explain how to do it.
Input: Push-ups
Output: Start in a plank position with your hands shoulder-width
apart. Lower your body until your chest nearly touches the floor...
命令生成
タスクプールから8つサンプリング
シードタスクから6つ、生成された命令から2つ(多様性を与えるため)
code:prompt
Come up with a series of tasks:
Task 1: Given an address and city, come up with the zip code.
Task 2: Write a letter from the perspective of a cat.
Task 3: How to write a code for converting degrees fahrenheit to celsius.
Task 4: Classify the sentiment of the sentence into positive, negative, or mixed.
Task 5: Find out if the given text is in favor of or against abortion.
Task 6: Given a dialogue, classify whether the user is satisfied with the service.
Task 7: Tell me if the following email is a promotion email or not.
Task 8: Which exercises are best for reducing belly fat at home?
Task 9:
生成された命令が分類タスクかどうかを判定
インスタンス生成 (Input / Output のペア)
非分類: Input → Output を生成
分類: (クラスラベル全体? Output のリスト?) → Output → Input を生成
品質フィルタ
ROUGE-L < 0.7:既存命令との類似度が低いもののみ追加
重複インスタンスの削除やヒューリスティック
タスクプールに追加
#LLM #論文