このリポジトリには、事前トレーニングされた言語モデルを命令と調整する方法である Self-Instruct ペーパーのコードとデータが含まれています。
Self-Instruct は、言語モデルが自然言語の指示に従う能力を向上させるのに役立つフレームワークです。これは、モデル自体の世代を使用して、指導データの大規模なコレクションを作成することによって行われます。 Self-Instruct を使用すると、大規模な手動アノテーションに依存せずに、言語モデルの命令追従機能を向上させることができます。
近年、自然言語の指示に従ってさまざまなタスクを実行できるモデルを構築することへの関心が高まっています。 「命令調整型」言語モデルとして知られるこれらのモデルは、新しいタスクに一般化できる能力を実証しています。ただし、そのパフォーマンスは、トレーニングに使用される人間が作成した指示データの質と量に大きく依存しており、多様性と創造性が制限される可能性があります。これらの制限を克服するには、命令調整モデルを監視し、命令追従機能を向上させるための代替アプローチを開発することが重要です。
Self-Instruct プロセスは、手動で作成された命令のシード セットから始まり、それらを使用して言語モデルに新しい命令と対応する入出力インスタンスを生成するよう促す反復ブートストラップ アルゴリズムです。これらの世代はフィルタリングされて低品質または類似の世代が削除され、結果のデータがタスク プールに再び追加されます。このプロセスは複数回繰り返すことができ、その結果、より効果的に指示に従うように言語モデルを微調整するために使用できる大量の指示データのコレクションが得られます。
Self-Instruct の概要は次のとおりです。
※この作業はまだ進行中です。進捗に応じてコードとデータを更新する場合があります。バージョン管理には十分ご注意ください。
82K のインスタンス入力および出力と組み合わせた、52K の命令を含むデータセットをリリースします。この命令データは、言語モデルの命令チューニングを実行し、言語モデルが命令によく従うようにするために使用できます。モデル生成データ全体にはdata/gpt3-generations/batch_221203/all_instances_82K.jsonl
でアクセスできます。クリーンな GPT3-finetuning 形式 (プロンプト + 完了) で再フォーマットされたこのデータ (+ 175 のシード タスク) は、 data/finetuning/self_instruct_221203
に配置されます。 ./scripts/finetune_gpt3.sh
のスクリプトを使用して、このデータに基づいて GPT3 を微調整できます。
注: このデータは言語モデル (GPT3) によって生成されており、必然的にいくつかのエラーやバイアスが含まれます。この論文では、200 個のランダムな命令のデータ品質を分析したところ、データ ポイントの 46% に問題がある可能性があることがわかりました。ユーザーにはこのデータを慎重に使用し、不完全性をフィルタリングまたは改善するための新しい方法を提案することをお勧めします。
また、(十分に研究された NLP タスクではなく) ユーザー指向のアプリケーションを動機とする、専門家が作成した 252 のタスクとその指示の新しいセットもリリースします。このデータは自己啓発書の人間評価セクションで使用されます。詳細については、人間による評価の README を参照してください。
独自のシード タスクまたは他のモデルを使用して Self-Instruct データを生成するには、ここでパイプライン全体のスクリプトをオープンソースにします。現在のコードは、OpenAI API 経由でアクセスできる GPT3 モデルでのみテストされています。
データを生成するためのスクリプトは次のとおりです。
# 1. シード タスクから命令を生成します。/scripts/generate_instructions.sh# 2. 命令が分類タスクを表すかどうかを識別します。/scripts/is_clf_or_not.sh# 3. 各命令のインスタンスを生成します。/scripts/generate_instances sh# 4. フィルタリング、処理、および再フォーマット。/scripts/prepare_for_finetuning.sh
Self-Instruct フレームワークまたはデータを使用している場合は、お気軽に引用してください。
@misc{selfinstruct, title={Self-Instruct: 自己生成命令による言語モデルの調整}、author={Wang、Yizhong と Kordi、Yeganeh と Mishra、Swaroop と Liu、Alisa と Smith、Noah A. と Khashabi、Daniel とハジシルジ、ハンナネ}、ジャーナル={arXiv プレプリント arXiv:2212.10560}、年={2022}}