大規模言語モデル (LLM) に基づいて、開発者やユーザーは、タスクを記述し、いくつかの例を示して自然言語プロンプトを作成することで、指定された機能を簡単に実装できます。 しかし、ある程度、従来のタスク指向の NLP システムと比較すると、大規模言語モデルはコンピューティング リソース要件の点で大きな後退となります。 最近、カーネギーメロン大学と清華大学の研究者が、汎用的なモデル構築方法である Prompt2Model を提案しました。開発者は、特定のタスクに使用でき、簡単に展開できるモデルをトレーニングするために、自然言語プロンプトを構築するだけで済みます。 論文リンク: https://arxiv.org/abs/2308.12261 コードリンク: https://github.com/neulab/prompt2model Prompt2Model フレームワークには、既存のデータセットの取得、トレーニング データの生成、モデルの検索とトレーニング、トレーニングの微調整、自動評価、デプロイメントなどの複数のステップが含まれます。 3 つのタスクの実験結果から、同じ少数のサンプルのプロンプトを入力として与えると、Prompt2Model は大規模な言語モデルよりも強力な小規模モデルをトレーニングでき、gpt-3.5-turbo のわずか 1/700 のパラメータで 20% のパフォーマンス向上を達成できることが証明されました。 Prompt2Model フレームワークPrompt2Model システムは、機械学習パイプラインのコンポーネント (データ収集、モデルトレーニング、評価、展開) を自動化するプラットフォームです。 システムの核となるのは自動データ収集システムであり、データセットの取得と LLM ベースのデータセット生成を使用して、ユーザーのニーズに関連する注釈付きデータを取得します。 次に、事前トレーニング済みのモデルを取得し、収集したトレーニング データに基づいて微調整します。 最後に、同じデータセットの分割テスト セットを使用して取得したモデルを評価し、モデルと対話するための Web UI を作成することもできます。 Prompt2Model は非常に汎用的でモジュール化されており、設計上拡張可能であり、開発者は各コンポーネントを再実装したり無効にしたりできます。 以下では、Prompt2Model の各コンポーネントの設計思想と、記事の著者が示したリファレンス実装を紹介します。 プロンプトパーサー システムへの主な入力として、ユーザーは、指示や予想される応答のいくつかのデモンストレーション例など、LLM で使用されるものと同様のプロンプト ワードを提供する必要があります。 オープンエンドのインターフェースはユーザーにとって便利であり、エンドツーエンドの機械学習パイプラインもプロンプトパーサーの恩恵を受けます。たとえば、プロンプトを指示や個別のデモンストレーション例に分割したり、指示を英語に翻訳したりすることができます。 リファレンス実装: 研究者はプロンプトを指示とデモンストレーションに解析します。指示は主なタスクまたは目標を表し、デモンストレーションはモデルの予想される動作を表します。 ユーザープロンプトは、コンテキスト学習機能を備えた大規模言語モデル (OpenAI gpt-3.5-turbo-0613) を使用してセグメント化できます。ユーザー指示が英語以外であると認識された場合は、DeepL API を使用して英語に翻訳されます。2. データセット取得者 ユーザーがプロンプトを出した後、システムはまず、ユーザーの説明に一致し、注釈が付けられたデータセットを検索して見つけようとします。これには主に次の 3 つの決定が含まれます。 1. どのデータセットを検索しますか? 2. 検索をサポートするためにデータセットをインデックスするにはどうすればよいですか? 3. ユーザータスクに必要なデータセットと省略する必要があるデータセットはどれですか? 参照実装: 研究者はまず、Huggingface のすべてのデータセットのユーザー説明を抽出し、次に DataFinder のデュアルコーディング リトリーバーを使用してデータセットを関連性でランク付けしました。 次に、システムはユーザーに上位 k (= 25) 位にランクされたデータセットを提示し、ユーザーは関連するデータセットを選択するか、ターゲット タスクに適したデータがないことを宣言できます。使用可能なデータがある場合、ユーザーはデータセットのスキーマから入力列と出力列も指定する必要があります。 データセットジェネレーター すべてのユーザー タスクに完全に一致するデータセットがあるわけではありませんが、一部のデータはある程度タスクに関連しています。 より広範囲のタスクをサポートするために、データセット ジェネレーターを使用して、プロンプト パーサーによって取得されたユーザー要件に基づいて「合成トレーニング セット」を生成することができます。主な難しさは、コストを削減し、生成速度を上げ、サンプルの多様性と品質管理を生成する方法にあります。 リファレンス実装では、研究者によって設計された戦略には次のものが含まれます。 1. 数ショットのヒントの多様性 自動プロンプトエンジニアリングを使用して多様なデータセットを生成し、ユーザー提供のデモンストレーション例を以前に生成された例のランダムサンプルで補強して多様性を促進し、重複した例の生成を回避します。 この戦略により、200 個の質問と回答のサンプルを生成するときに、重複サンプルの数を 200 個から 25 個に減らすことができます。 2. 温度アニーリング 生成される例の数に応じて、サンプリング温度を低 (より決定論的な出力) から高 (よりランダムな出力) に調整すると、より多様なデータを促進しながら出力品質を維持するのに役立ちます。 3. 自己一貫性デコード LLM は同じ入力に対して一意でない出力や不正確な出力を生成する可能性があるため、研究者は自己一貫性フィルタリングを使用して疑似ラベルを選択しました。具体的には、最も頻繁な回答を選択することで、一意の入力ごとに一貫した出力が作成されます。同点の場合は、最短の回答が経験的に選択され、サンプルの一意性を確保しながら、生成されたデータセットの精度を向上させることができます。 4. 非同期バッチ処理 API リクエストは zeno-build を使用して並列化され、動的なバッチ サイズやスロットルなどの追加のメカニズムが導入され、API の使用が最適化されます。 モデルレトリーバー タスクを完了するには、トレーニング データに加えて、微調整に適したモデルを決定することも必要です。研究者は、これも検索の問題であると考えています。各モデルは、「ユーザー生成の説明」と「メタデータ」(人気、サポートされているタスクなど) で構成できます。 リファレンス実装: 統一されたモデル インターフェースで多数のタスクをサポートするために、研究者は、モデル蒸留にデータ効率の高い Huggingface のエンコーダー/デコーダー アーキテクチャにシステムを制限しました。 次に、ユーザーの指示をクエリとして使用し、Huggingface 上のモデルのテキスト説明に基づいて検索します。ただし、モデルの説明は通常非常に短く、パターン化されたテキストが多数含まれているため、通常は数語でしかモデルの内容を表現できません。 HyDE フレームワークに従って、まず gpt-3.5-turbo を使用して、ユーザーの指示に従って拡張クエリとして仮想モデル記述を作成し、次に BM25 アルゴリズムを使用してクエリ モデルの類似度スコアを計算します。 モデルを簡単にデプロイできるように、ユーザーはモデル サイズのしきい値 (デフォルトでは 3 GB) を設定し、このしきい値を超えるすべてのモデルを除外できます。 一般的に、ダウンロード数が多いモデルは品質も高い可能性があります。ダウンロード数をパラメータとして使用してモデルを並べ替えることもできます。 モデルトレーナー データセットと事前トレーニング済みのモデルが与えられれば、モデルをトレーニングして微調整することができ、すべてのタスクはテキストからテキストへの生成タスクと見なすことができます。 リファレンス実装: データセットを処理する際、研究者は生成されたデータセットと取得されたデータセットの 2 つのデータセットを使用し、データ列をテキスト化してユーザーの指示と結合し、モデル入力に追加します。 微調整中は、2 つのデータセットが結合され、ランダムにシャッフルされてから、学生モデルがトレーニングされます。 すべてのタスクで同じハイパーパラメータが使用され、AdamW オプティマイザーを使用して学習率 5e-5 で 3 エポックのトレーニングが実行され、各タスクに約 1 時間かかりました。 モデル評価者 モデルのトレーニングに使用したデータを削除した後、残りのデータを使用してモデルのトレーニング効果を評価することができます。主な難しさは、膨大な対象タスクの中から適切な評価指標を選択する方法にあります。 参照実装: 研究者は、すべてのタスクの自動評価を実現するために、完全一致、ChrF++、BERScore という 3 つの共通メトリックを選択しました。 完全一致 (EM) は、モデル出力と参照回答の完全一致の度合いを測定します。ChrF++ は、精度と再現率のバランスをとってテキスト生成の品質を評価できます。BERTScore は、埋め込み空間でモデル出力と参照を比較することで、意味の類似性を取得できます。 XLM-R を BERTScore のエンコーダーとして使用すると、多言語タスクの評価をサポートできます。 デモ作成者 開発者が一般ユーザーにモデルを公開できるようにするために、このモジュールで対話用のグラフィカル インターフェイスを作成できます。 リファレンス実装: 研究者は Gradio を使用してモデル アクセス インターフェイスを構築しました。 実験セクション実験のセットアップ 研究者らは概念実証として、次の 3 つのタスクでシステムがモデルを学習する能力をテストしました。 1. 機械読み取り質問応答: 評価用のベンチマーク データセットとして SQuAD を使用します。 2. 日本語のNLからコード生成: 日本語のクエリからコードを生成するのは難しい作業です。関連する研究は以前から行われていますが、利用可能な注釈付きデータやトレーニング済みモデルはありません。評価にはMCoNaLaが使用されます。 3. 時間的表現の正規化: 現在、事前トレーニング済みのモデルやトレーニング データセットは利用できません。時間的データセットは評価のベンチマークとして使用されます。 Prompt2Model は生成および取得されたデータに対して自動モデル評価機能を提供しますが、ここでは実際のベンチマーク データセットを使用して、パイプラインが正確なモデルをトレーニングする能力を測定します。 ベースライン モデルの選択では、この研究の主な目的は、大規模な言語モデルに匹敵するかそれよりも強力な小規模モデルをトレーニングすることであるため、研究者はベンチマーク データセットの比較ベースラインとして gpt-3.5-turbo を選択しました。 実験結果 ダウンストリーム タスクのパフォーマンスに関しては、Prompt2Model は 3 つのタスクのうち 2 つで gpt-3.5-turbo をはるかに上回るパフォーマンスを達成します。 取得された SQuAD および Temporal モデルは Flan-T5 であり、パラメーターが 250M のみで、gpt-3.5-turbo (175B パラメーター) の 700 分の 1 であることに注目する価値があります。 また、MCoNaLaの日本語からPythonへのタスクにおけるPrompt2Modelのパフォーマンスは、gpt-3.5-turboよりも大幅に劣っていることもわかります。 考えられる説明としては、生成された日本語のクエリデータセットの多様性が比較的低いことが挙げられます。5,000 サンプルのうち 45 は「数値のリスト内の最大値を見つける」の異なるバージョンですが、他のデータセットではこのような高い冗長性は見られず、gpt-3.5-turbo では英語以外の言語の多様なテキストを生成するのが難しい可能性があることを示しています。 もう 1 つの理由は、適切な学生モデルが不足していることです。モデルベース リトリーバーによって発見されたモデルは、複数の自然言語またはコードでトレーニングされており、すべてが多言語対応であるわけではありません。その結果、事前トレーニング済みモデルには、日本語入力と Python 出力の特性に関するパラメータ知識が不足しています。 |
>>: AIの計算能力は70年間で6億8000万倍に増加し、3つの歴史的段階でAI技術の指数関数的爆発が目撃されました。
今年2月、イングランド南部のオカドの倉庫で大火災が発生し、倉庫は使用不能となり、オンライン小売業者は...
IoT とロボティクスはそれぞれ単独でもビジネス組織に多くの利点をもたらしますが、組み合わせて使用...
[[432777]]中国新聞社、北京、11月1日(記者:孫子発)中国国家知識産権局の沈長宇局長は1...
ロイター通信によると、6月15日のニュースでは、Googleは生成AIの最も熱心な支持者の1つである...
最近、オープンソース コミュニティでは、大規模モデルの最適化手法を模索する人が増えています。 LLa...
[[198310]]第 18 回 KDnuggets ソフトウェア アンケートには、今年もアナリティ...
翻訳者 | 張毅校正 | 梁哲、孫淑娟出典: frimufilms が作成したビジネス写真 - ww...
[[408175]]ここ数年の流行語といえば、エッジ コンピューティングは 5G や AI と密接に...
ai.comドメイン名は、OpenAIが数千万ドルを費やしてマスク氏に購入された。これで、URL a...