ChatGPT は、その登場後、多くの人を驚かせたり、目覚めさせたりしました。大規模言語モデル (LLM) がこれほど効果的であるとは予想していなかったので驚きましたが、LLM とその開発哲学に対する私たちの理解が世界最先端のアイデアからはほど遠いことに突然気づき、目が覚めました。私は驚きと覚醒の両方を持ったグループに属しており、典型的な中国人でもありますが、中国人は内省するのが得意なので、彼らは反省し始め、この記事はその反省の結果です。
正直なところ、国内のLLMモデル関連技術においては、現時点で最先端技術との差はさらに広がっています。私は、技術的リーダーシップまたは技術的ギャップの問題は、開発の観点から動的に見られるべきだと思います。実際、Bert の登場から 1 ~ 2 年の間、この分野における国内技術の追いつきは依然として非常に早く、いくつかの優れた改善モデルも提案されており、格差拡大の分水嶺は GPT 3.0 のリリース後であるはずです。 、つまり2020年の中旬頃。当時、GPT 3.0 が単なる特定のテクノロジーではなく、実際に LLM が進むべき方向の開発コンセプトを具体化していることを認識している人はわずかでした。それ以来、その差はますます広がり、ChatGPT は開発哲学の違いから生まれた当然の結果です。したがって、非常に大規模な LLM を構築するための資金的リソースがあるかどうかという要素は脇に置いて、技術的な観点だけから言えば、そのギャップは主に LLM の理解と LLM の開発哲学から来ていると個人的には考えています。将来どこに行くべきか。違い。
中国は外国技術に対してますます遅れをとっていますが、これは事実であり、認めないわけにはいきません。少し前にネット上では国産AIが「存続の危機」にあるのではないかと心配する人が多かったですが、私はそこまで深刻ではないと思います。わかりませんか? これほど先進的なビジョンを持つ企業は世界で OpenAI だけなのでしょうか?実際、Google を含め、彼らの LLM 開発概念の理解は明らかに OpenAI よりも遅れています。現実には、OpenAI はパフォーマンスが良すぎて、国内だけでなく誰もが置き去りにされています。
海外では、OpenAIはLLMの概念や関連技術においてGoogleやDeepMindより半年から1年程度先を行っており、中国よりも2年程度先を行っていると思います。 。 LLM に関しては、階層が非常に明確であると感じます。Google は 2 位になるはずです。Google の技術的ビジョンを最もよく反映しているのは、PaLM と Pathways です。これらは 2022 年 2 月から 4 月の間に開始されました。同じ期間に、OpenAI InstructGPT です ここから Google と OpenAI の違いが分かります なぜこんなことを言うのかは、後ろの文章を読んで頂ければ分かると思います。 DeepMind はこれまで、ゲームや科学のための AI を征服するための学習の強化に重点を置いてきました。実際に LLM に参入したのは非常に遅かったです。この方向に注目し始めたのは 21 年後のはずで、現在追いつきつつあります。 Metaはおろか、LLMに焦点が当てられておらず、今はそれを追い上げようとしているように感じます。これはまだ現状で一番頑張っている機関群ですけれども、これだと、まして国内の機関はどうですか。言い訳できる気がする。 LLM に関する OpenAI の哲学については、この記事の最後の部分で私の理解を述べます。
#この記事では、GPT 3.0 の登場以降の主流の LLM テクノロジについてまとめています。 「風と波に乗る PTM、事前トレーニング モデルの進行状況の詳細な解釈」
これら 2 つの記事を読むと、LLM 分野の技術的背景、LLM テクノロジーの開発プロセスに登場したさまざまな開発概念、さらには考えられる将来の開発トレンドをより明確に理解します。もちろん、随所に記載されている内容は私の個人的な意見であり主観が大きく含まれており、間違いや漏れは避けられませんので、ご参照の際はご注意ください。
この記事は、次の質問のいくつかに答えることを目的としています: ChatGPT は、NLP、さらには AI の分野に研究パラダイム シフトをもたらしましたか?もしそうなら、それはどのような影響を及ぼしますか? LLM は大量のデータから何を学習しますか? LLM はどのようにしてこの知識にアクセスしますか? LLM の規模が徐々に拡大すると、どのような影響が出るのでしょうか? In Context Learning とは何ですか? なぜ謎のテクノロジーなのでしょうか?インストラクションとの関係は何ですか? LLM には推論機能がありますか? Thought Chain CoTはどのように機能しますか? 待ってください。これを読めば、これらの質問に対する答えが得られると思います。
まず、LLM 技術の現状について話す前に、マクロレベルで私の頭の中にある研究パラダイムシフトについて話させてください。このようにして、私たちは「木よりも前に森を見る」ことができ、特定のテクノロジーがそのように変化した理由をより明確に理解することができます。
タイムラインをさらに延長すると、NLP 分野におけるディープラーニングの時代に戻り、より長い時間枠内でテクノロジーを観察します。変更とその影響により、主要なノードの一部がわかりやすくなる場合があります。私は個人的に、過去 10 年間の NLP 分野の技術開発において、2 つの大きな研究パラダイムシフトがあったのではないかと考えています。
#パラダイム シフト 1.0: ディープ ラーニングから 2 段階の事前トレーニング済みモデルへ
#This パラダイムシフトの対象となる時期は、大まかにNLP分野へのディープラーニングの導入(2013年頃)からGPT 3.0の登場前(2020年5月頃)までです 。
Bert モデルと GPT モデルが登場する前、NLP 分野で人気のテクノロジーはディープ ラーニング モデルであり、NLP 分野のディープ ラーニングは主に次の主要テクノロジーに依存していました。多数の改善 LSTM モデルと少数の改良された CNN モデルが典型的な特徴抽出器として使用され、シーケンスからシーケンス (またはエンコーダ/デコーダ) アテンションがさまざまな特定のタスクの典型的な全体的な技術フレームワークとして使用されます。
これらのコア テクノロジのサポートにより、NLP 分野におけるディープ ラーニングの主な研究目標を要約すると、モデル層の深さまたはモデル パラメーターの容量を効果的に増やす方法です。つまり、層の深さとモデルの容量を増やすという目標を達成するために、エンコーダとデコーダにより深い LSTM 層または CNN 層を継続的に追加するにはどうすればよいでしょうか。この種の取り組みは確かにモデルの深さを継続的に増加させてきましたが、全体として、特定のタスクを解決する効果の観点からはあまり成功していません。素晴らしい。
ディープラーニングが十分に成功しない理由は、主に 2 つの側面によるものだと私は考えています。1 つは、特定のタスクのトレーニング データの総量が限られているということです。モデルの容量が増えると、より多くの学習データでサポートする必要があり、そうでないと、深さを増やすことができても、タスクの効果が得られません。事前トレーニング モデルが登場する前は、これが NLP 研究の分野で深刻な問題であることは明らかでしたが、もう 1 つの側面として、LSTM/CNN 特徴抽出器には強力な表現能力がないことが挙げられます。これは、いくらデータを与えても、データに含まれる知識を効果的に吸収することができないため、役に立たないことを意味します。 NLP 分野におけるディープラーニングの画期的な進歩を妨げているのは、主にこれら 2 つの理由です。
これら 2 つの事前トレーニング モデル、Bert/GPT の登場は、学術研究と産業応用の両方の観点から、NLP 分野における技術的飛躍を表しており、研究分野全体にパラダイムシフトが起きています。このパラダイムシフトの影響は 2 つの側面に反映されています: 1 つは、一部の NLP 研究サブフィールドの衰退、さらには徐々に消滅したこと、2 つ目は、NLP のさまざまなサブフィールドの技術的手法と技術的枠組みがますます統一されていることです。 Bert この頃、テクノロジー スタックは基本的に 2 つのテクノロジー モデルに収束しました。これら 2 つの点について個別に説明しましょう。
影響 1: 中間タスクの終焉
NLP はマクロ研究分野の総称です。これらのタスクを注意深く分析すると、タスクの性質の観点から大きく 2 つのカテゴリに分類できます。1 つは「中間タスク」、もう 1 つは「最終タスク」と呼ぶことができます。
典型的な中間タスクには、中国語の単語の分割、品詞のタグ付け、NER、構文分析、参照解決、セマンティック パーサーなどが含まれます。このようなタスクは通常、実際のニーズを解決しません。アプリケーションの多くは、実際のニーズを解決するタスクの中間または補助的な段階として存在します。たとえば、「構文パーサーにこの文の構文解析ツリーをユーザーに表示してほしい」と言う必要はほとんどありません。中間段階では結果が処理され、特定のタスクで適切な仕事をしたかどうかだけを気にします。 「最終タスク」には、テキスト分類、テキスト類似度計算、機械翻訳、テキスト要約などが含まれ、数多くあります。このタイプのタスクの特徴は、各サブフィールドが特定の実際のニーズを解決することであり、タスクの結果は基本的にユーザーに直接提示できます。中国語です。
論理的に言えば、「中間タスク」は出現するべきではありません。これらが存在する理由は、NLP テクノロジーの開発レベルの低さを反映しています。技術開発の初期段階では、当時の技術は比較的後進的であったため、難しい最終タスクを一度に完了することが困難でした。機械翻訳を例に挙げると、テクノロジーの初期には、機械翻訳で適切な仕事をすることは非常に困難でした。そのため、研究者は、困難な問題を分割して克服し、単語の分割、翻訳の一部などのさまざまな中間段階に分解しました。 -音声タグ付け、構文解析 彼らは最初に各中間段階を完了し、その後、最終ミッションを完了するために協力することに関して私たちにできることは何もありません。
しかし、Bert/GPT の出現以来、大量のデータを使用した事前トレーニングを通じて、Bert/GPT はこれらの中間タスクを使用するため、実際にはこれらの中間タスクを実行する必要はありません。言語特徴としての中間タスクは、Transformer のパラメーターに吸収されます。現時点では、この中間プロセスを具体的にモデル化する必要がなく、最終タスクをエンドツーエンドで直接解決できます。おそらくここで最も物議を醸しているのは、中国語の単語の分割です。実際、原理は同じです。どの単語が単語を構成するかについて心配する必要はありません。LLM にそれを特徴として学習させてください。役立つ限りです。この研究の合理的な単語分割方法は、私たち人間が理解している単語分割ルールと必ずしも同じではない可能性があります。
上記の理解に基づいて、実際、Bert/GPT が登場するとすぐに、この種の NLP 中間段階のタスクは歴史の舞台から徐々に撤退すると結論付ける必要があります。
影響 2: 異なる研究方向における技術ルートの統合
具体的な影響を説明する前に、それについて説明しましょう。 first NLP タスクを分割するもう 1 つの方法。これは、次の内容を理解するのに役立ちます。 「最終タスク」をさらに分類すると、自然言語理解タスクと自然言語生成タスクの2種類のタスクに大別される。 「中間タスク」を除くと、代表的な自然言語理解タスクには、文章分類、文関係判断、感情傾向判断などが挙げられます。これらのタスクは本質的には分類タスクであり、つまり、1つの文(記事)、または2つの文章を入力し、モデルはすべての入力コンテンツを参照し、最終的にそれがどのカテゴリに属するかを判断します。自然言語生成には、チャット ロボット、機械翻訳、テキスト要約、質疑応答システムなど、多くの NLP 研究の下位方向も含まれています。生成タスクの特徴は、与えられた入力テキストに応じて、モデルが出力テキストの文字列を生成する必要があることです。 2 つの違いは主に入力と出力の形式に反映されます。
Bert/GPT モデルの誕生以来、技術的な統一の傾向は明らかです。まず、NLP のさまざまなサブフィールドの特徴抽出器が、LSTM/CNN から Transformer に徐々に統合されます。実際、Bert が公開されてすぐに、これがテクノロジーのトレンドになることは避けられないと認識していたはずです。その理由については、数年前に書いたこの記事「Zhang Junlin: 幻想を捨て、Transformer を完全に受け入れる: 自然言語処理のための 3 つの主要な特徴抽出器 (CNN/RNN/TF) の比較」で説明および分析されています。興味のある方はぜひ参考にしてください。
記事リンク: https://zhuanlan.zhihu.com/p/54743941
さらに、現在、Transformer NLP の多くの分野を統合するだけでなく、さまざまな画像処理タスクで広く使用されている CNN などの他のモデルも徐々に置き換える過程にあり、同様に、現在マルチモーダル モデルは基本的に Transformer モデルを使用しています。この種のトランスフォーマーは、NLP から始まり、徐々に AI のますます多くの分野のトレンドを統合し、2020 年末に登場したビジョン トランスフォーマー (ViT) から始まり、それ以来繁栄し、これまでに大成功を収めています。今後もさらに多くの分野へ拡大し、その勢いはますます加速していきます。
第 2 に、ほとんどの NLP サブフィールドの研究開発モデルは 2 段階モデルに切り替わりました。すなわち、微調整 (Fine-tuning) を適用するか、ゼロ/フュー ショット プロンプト モードを適用することです。モデルの事前トレーニング段階。より正確に言うと、さまざまな NLP タスクは実際には 2 つの異なる事前トレーニング モデル フレームワークに収束します: 自然言語理解タスクについては、技術システムは Bert. モードに代表される「双方向言語モデル事前トレーニング アプリケーションのファインチューニング」に統合されます。自然言語生成タスクでは、技術体系は GPT 2.0 に代表される「自己回帰言語モデル (つまり、左から右への一方向言語モデル) Zero/Few Shot Prompt」モードに統一されています。なぜ2つのテクニカルルートに分かれているかというと、それは必然なので後ほど説明します。
これら 2 つのモデルは似ているように見えるかもしれませんが、非常に異なる開発アイデアが含まれており、将来の異なる開発方向につながります。残念なことに、当時私たちのほとんどは開発ルートとしての GPT の可能性を過小評価しており、Bert のようなモデルにビジョンを集中していました。
パラダイム シフト 2.0: 事前トレーニング済みモデルから汎用人工知能 (AGI、Artificial General Intelligence) へ
このパラダイムシフトの対象となる時期は、おおよそGPT3.0の登場後(2020年6月頃)であり、現在まではこのパラダイムシフトの過程にあるはずです ##。
ChatGPT はこのパラダイム シフトを引き起こす重要なノードですが、InstructGPT が登場する前、LLM は実際にはこのパラダイム シフト前の過渡期にありました。
移行期: GPT 3.0 に代表される「自己回帰言語モデル プロンプト」モデルが支配的な地位を占める
前述したように、プレ- トレーニング モデルの開発の初期には、技術的フレームワークは 2 つの異なる技術パラダイム、Bert モードと GPT モードに収束し、人々は一般的に Bert モードについてより楽観的でした。その後、かなりの数の技術的改善が Bert の道をたどりました。 。ただし、テクノロジーが発展し続けるにつれて、現在最大の LLM モデルのほとんどは、GPT 3、PaLM、GLaM、Gopher、Chinchilla、MT など、GPT 3.0 に似た「自己回帰言語モデル プロンプト」モデルに基づいていることがわかります。 NLG、LaMDAなど、例外なく。なぜそうなるのでしょうか?それには必然性があるはずですが、主に2つの理由があるのではないかと思います。
##まず第一に、
Google の T5 モデルは、自然言語理解と自然言語の外部表現を正式に統合します。言語生成タスク。上図にあるように、赤色で示した部分は文章の分類問題、黄色で示した部分は文章の類似性を判定する回帰または分類問題であり、どちらも典型的な自然言語理解問題です。 T5 モデルでは、これらの自然言語理解問題は、入出力の形式で生成問題と一致します。つまり、分類問題を LLM モデルに変換して、対応するカテゴリの文字列を生成することができます。生成タスクは完全な統一が達成される形式で表現されます。
これは、自然言語生成タスクと自然言語理解タスクが表現の点で両立できることを示していますが、その逆の場合、これを実現することは困難です。この利点は、同じ LLM 生成モデルでほぼすべての NLP 問題を解決できることです。 Bert モードがまだ採用されている場合、この LLM モデルは生成タスクをうまく処理できません。そうなると、私たちが確かに生成モデルを使用する傾向があるのには理由が 1 つあります。2 番目の理由、
ゼロショット プロンプトまたは少数ショット プロンプト タスクでうまくやりたい場合は、GPT モードを採用する必要があります 。下流のタスクが微調整で解決される場合、ゼロ ショット/フュー ショット プロンプトが使用される場合、GPT モードよりも Bert モードの方が優れていることが証明された研究 (参考: 言語モデルの事前トレーニングにおける双方向性の役割) があります。 , このモードで下流タスクを解決する場合、GPT モードの効果は Bert モードよりも優れています。これは、生成されたモデルがゼロ ショット/少数ショット プロンプト モードでタスクを実行する方が簡単であることを示していますが、この方法でタスクを実行する場合、Bert モードには当然の欠点があります。これが 2 番目の理由です。
しかし、ここで疑問が生じます。なぜ、タスクの実行を促すゼロ ショットまたは少数のショットを追求するのでしょうか。この問題を明確に説明するには、まず別の質問を明確にする必要があります。どのような種類の LLM モデルが私たちにとって最も理想的ですか?
上の図は、理想的な LLM がどのようなものであるかを示しています。まず、LLM には強力な自律学習機能が必要です。世界中で利用可能なテキストや画像などのさまざまな種類のデータをすべて入力すると、そのデータに含まれるすべての知識ポイントを自動的に学習できるはずです。学習プロセスには人間の介入は必要ありません。学んだ知識を柔軟に応用して、実際的な問題を解決します。データが膨大なため、すべての知識を吸収するには、知識を保存するために多くのモデル パラメーターが必要になるため、このモデルは必然的に巨大なモデルになります。
第二に、LLM は、限られた分野をサポートするだけでなく、NLP のあらゆるサブフィールドの問題を解決できる必要があり、NLP 以外の他の分野の問題にも対応できる必要があります。 , どの分野の質問でもきちんと答えられるのがベストです。
さらに、LLM を使用して特定の分野の問題を解決するときは、人間として慣れている表現を使用する必要があります。つまり、LLM は人間のコマンドを理解する必要があります。これは、人々を LLM モデルに適応させるという逆ではなく、LLM を人々に適応させることを反映しています。 LLM に適応している人の典型的な例は、目前の問題を最もよく解決できる適切なプロンプトを見つけるために、知恵を絞ってさまざまなプロンプトを試していることです。この点に関して、上の図は、人間が LLM と対話するインターフェイス層でのいくつかの例を示し、人間が LLM モデルを使用するための適切なインターフェイス形式が何であるかを示しています。
この理想的な LLM を読んだ後、上記の残りの質問に戻って説明しましょう。なぜタスクを完了するためにゼロ ショットまたは少数のショット プロンプトを追求する必要があるのでしょうか?理由は 2 つあります。
#第一に、この LLM モデルの規模は非常に巨大である必要があり、このモデルを作成したり、このモデルのパラメータを変更したりできる機関は非常に少ないはずです。モデル##### #######。タスクの要求者は何千もの中小企業や個人であり、たとえモデルをオープンソース化したとしても、モデルをデプロイすることはできず、ましてや微調整モードを使用してモデルのパラメータを変更することもできません。したがって、タスクの要求者がモデルのパラメーターを変更せずにタスクを完了できる方法を追求する必要があります。つまり、タスクを完了するには、微調整モードではなくプロンプト モードを使用する必要があります (このことからわかるように、ソフト プロンプティングの技術的な方向性は、この開発傾向に反しています)。モデルの作成者は LLM をパブリック サービスに変換し、LLM をサービス モードで実行します。 LLM モデル作成者は、サービス サポーターとして、刻々と変化するユーザー ニーズを考慮し、LLM ができるだけ多くの種類のタスクを完了できるようにするという目標を追求する必要があります。大型モデルは確実にAGIを追求します。
2 つ目は、LLM 推論能力を促進する、ゼロ ショット プロンプト、少数ショット プロンプト、または思考の連鎖 (CoT、思考の連鎖) プロンプトです。上の図のインターフェイス層にある既存のテクノロジー#。具体的には、ゼロショットプロンプトの本来の目的は、実は人間とLLMの間の理想的なインターフェースであり、人間が慣れ親しんでいるタスク表現手法をそのまま利用してLLMにやらせるというものでしたが、LLMはそれをうまく理解できず、効果は良くありませんでした。研究を続けた結果、特定のタスクについて、LLM にいくつかの例を与え、これらの例を使用してタスクの説明を表現すると、ゼロ ショット プロンプトよりも優れた効果が得られることが判明したため、誰もがより優れた少数ショット プロンプト テクノロジを研究しています。当初、LLM が人間が一般的に使用するコマンドを使用して特定のタスクを実行できることを望んでいたことは理解できますが、現在のテクノロジーではそれができないため、次善の策としてこれらの代替テクノロジーを使用して人間のタスクを表現しました要件。 上記のロジックを理解していれば、次の結論を簡単に導き出すことができます。少数ショット プロンプト (コンテキスト学習とも呼ばれる) は、単なる過渡的なテクノロジーです。もし私たちがタスクをより自然に記述でき、LLM がそれを理解できるのであれば、私たちはこれらの過渡的なテクノロジーをためらうことなく間違いなく放棄するでしょう。その理由は明らかであり、これらの方法を使用してタスク要件を記述するのは人間の使用法と一致していません。
これは、私が GPT 3.0 プロンプティングを過渡的なテクノロジとしてリストした理由でもあります。ChatGPT の出現により、この現状が変わり、プロンプトが指示に置き換えられ、新しいテクノロジがもたらされました。パラダイム シフトです。 、その後のいくつかの効果があります。
影響 1: LLM を人々のための新しい対話型インターフェイスに適応させる
理想的な LLM のコンテキストで、ChatGPT を見て、その技術的貢献をより深く理解しましょう。 ChatGPT は、既存の技術の中で最も理想的な LLM に近い技術手法であるはずです。 ChatGPT の最大の特徴をまとめると、「パワフル、思いやり」という 8 つの言葉になります。 「強力な機能」これは主に、ChatGPT のベースとなっている基盤 LLM GPT3.5 に起因すると考えられます。 ChatGPT は手動で注釈を付けたデータを追加していますが、その量は数万にすぎません。GPT 3.5 モデルのトレーニングに使用される数千億のトークンレベルのデータと比較して、この量のデータに含まれる世界の知識 (データに含まれる事実) は少なくなります。 ).および常識) は大海の一滴と言え、ほとんど無視でき、基本的に GPT 3.5 の基本機能を強化する役割を果たしません。したがって、その強力な機能は主に、その背後に隠されている GPT 3.5 から得られるはずです。 GPT 3.5 は、理想的な LLM モデルの中でも巨大なモデルをベンチマークします。 それでは、ChatGPT は GPT 3.5 モデルに新しい知識を注入するのでしょうか?この知識は手動でラベル付けされた何万ものデータに含まれていますが、注入されるのは世界の知識ではなく、人間の好みの知識です。いわゆる「人間の好み」にはいくつかの意味があります。 まず、人間がタスクを表現するための慣例的な方法です。たとえば、「機械翻訳」の必要性を表現するために、「次の文を中国語から英語に翻訳してください」という言い方がよく行われますが、LLM は人間ではないため、この文の意味をどうやって理解できるのでしょうか? LLM にこのコマンドの意味を理解させ、正しく実行させる方法を見つける必要があります。したがって、ChatGPT は、データの手動アノテーションを通じてこの種の知識を GPT 3.5 に注入し、LLM が人間のコマンドを理解しやすくし、これが LLM の「共感」の鍵となります。次に、人間には良い回答と悪い回答の基準があり、より詳細な回答は良い、差別的な内容の回答は悪いなどの基準があります。これは、回答の質に対する人間の好みです。人々が報酬モデルを通じて LLM にフィードバックするデータには、この種の情報が含まれています。全体として、ChatGPT は人間の好みの知識を GPT 3.5 に注入して、人間の音声を理解し、より丁寧な LLM を取得します。 ChatGPT の最大の貢献は、基本的に理想的な LLM のインターフェイス層を実現し、逆にユーザーの習慣的なコマンド表現に LLM が適応できるようにすることであることがわかります。 LLM を使用すると、機能するコマンドを考え出すために頭を悩ませることになります (これは、指示テクノロジが登場する前にプロンプト テクノロジが行っていたことです)、これにより LLM の使いやすさとユーザー エクスペリエンスが向上します。この問題を最初に認識し、優れた解決策を提供したのは InstructGPT/ChatGPT であり、これが最大の技術的貢献でもあります。これまでのいくつかのショット プロンプトと比較して、これは、人々が LLM と対話するための人間の表現習慣により沿ったヒューマン コンピューター インターフェイス テクノロジです。 これは確実に後続の LLM モデルにインスピレーションを与え、LLM をより従順にするための使いやすいマンマシン インターフェイスに関するさらなる作業を継続します。 影響 2: 多くの NLP サブフィールドには独立した研究価値がなくなりました Just In NLP の分野では、このパラダイム シフトは、現在独立して存在している多くの NLP 研究分野が LLM 技術体系に組み込まれ、独立して存在しなくなり、徐々に消滅することを意味します。最初のパラダイムシフト後、NLP の多くの「中間タスク」は独立した研究分野として存続する必要がなくなりましたが、「最終タスク」のほとんどは依然として独立した研究分野として存在しますが、「事前トレーニング」に切り替えられます。現場特有の課題に対し、「ファインチューニング」の枠組みのもと、新たな改善案が次々と提案されている。 現在の調査によると、多くの NLP タスクでは、LLM モデルのサイズが大きくなるにつれて、パフォーマンスが大幅に向上します。これに基づいて、次のような推論が導き出せると思います: ある分野におけるいわゆる「独特な」問題のほとんどは、ドメイン知識の不足によって引き起こされる外見上のものである可能性が高く、十分なドメイン知識がある限り、 , このいわゆる分野特有の問題は解決されます. それは非常にうまく解決できます. 実際, 特定の分野の問題に焦点を当てて特別な解決策を見つけるために一生懸命働く必要はありません.おそらく、AGI に関する真実は驚くほど単純です。LLM にフィールド内のより多くのデータを与えて、LLM が自らさらに学習できるようにするだけです。 このような状況において、ChatGPT は、理想的な LLM モデルを直接追求できることを証明したと同時に、今後の技術開発のトレンドは、多様性を高めることで、ますます大規模な LLM モデルを追求することになるはずです。事前トレーニング データの対象となるフィールドはますます増えており、LLM は事前トレーニング プロセスを通じてドメイン データからドメイン知識を独自に学習し、モデルの規模が増大し続けるにつれて、多くの問題が解決されています。研究の焦点は、特定の分野の特定の問題を解決することではなく、この理想的な LLM モデルを構築する方法にあります。このようにして、ますます多くの NLP のサブフィールドが LLM 技術体系に組み込まれ、徐々に消滅していきます。 私の意見では、特定の分野における自由研究を直ちに中止すべきかどうかを判断するには、判断基準は次の 2 つの方法のいずれかになると考えられます。 LLM の研究効果が人間のパフォーマンスを超える場合、LLM の効果が人間のパフォーマンスを超える研究分野では独立した研究を行う必要はありません。たとえば、GLUE および SuperGLUE テスト セットの多くのタスクでは、LLM 効果は現在人間のパフォーマンスを超えており、実際、このデータ セットに密接に関連する研究分野が独立して存在し続ける必要はありません。第 2 に、2 つのモードのタスク効果を比較します。最初のモードは、より大きなドメイン固有のデータを使用した微調整であり、2 番目のモードは、少数のプロンプトまたは命令ベースの方法です。 2 番目の方法の効果が 1 番目の方法と同等以上である場合、このフィールドは独立して存在し続ける必要がないことを意味します。この標準を使用すると、実際、多くの研究分野では、ファインチューニングの効果が依然として支配的であり(このモード分野の学習データが大量にあるため)、独立して存在できるようです。ただし、モデル サイズが大きくなるにつれて、多くのタスクで少数ショット プロンプトの効果が増大し続けることを考慮すると、より大きなモデルの出現により、短期的にはこの変曲点に達する可能性があります。 上記の推測が真実である場合、それは次のような残酷な事実を意味します: NLP 分野の多くの研究者にとって、どこに行くかの選択に直面することになります。現場特有の問題については?それとも、この一見見込みのなさそうなアプローチを放棄し、代わりにより優れた LLM を構築すべきでしょうか? LLM の構築に目を向けることを選択した場合、どの機関がこれを行う能力と条件を備えていますか?この質問に対するあなたなら何と答えますか? インパクト 3: NLP 以外のより多くの研究分野が LLM テクノロジー システムに含まれるようになる 賛成の場合AGI の観点から見ると、前述の理想的な LLM モデルを参照すると、AGI が実行できるタスクは NLP 分野や 1 つまたは 2 つのサブジェクト領域に限定されるべきではなく、理想的な LLM はドメインに依存しない汎用人工知能モデルである必要があります。 1 つまたは 2 つの分野に優れているからといって、これらのタスクしか実行できないわけではありません。 ChatGPT の出現は、この時期に AGI を追求することが可能であることを証明しており、今こそ「現場規律」思考の束縛を脇に置く時です。 ChatGPT は、さまざまな NLP タスクを流暢な会話形式で解決する能力を実証することに加えて、強力なコーディング能力も備えています。 他の研究分野が徐々に LLM システムに組み込まれ、一般的な人工知能の一部になるのは当然です。 LLM が NLP からその分野を拡大する場合、当然の選択は画像処理とマルチモーダル関連タスクです。マルチモーダリティを統合し、LLM をマルチモーダル入出力をサポートするユニバーサルなヒューマン マシン インターフェイスにする取り組みはすでにいくつか行われており、代表的な例としては、上に示した DeepMind の Flamingo や Microsoft の「言語モデルは汎用インターフェイス」などが挙げられます。というアプローチが実証されています。 私の判断では、画像であれマルチモダリティであれ、将来的に LLM に統合されて便利な機能になるのは、私たちが考えているよりも遅いかもしれません。その主な理由は、画像分野は過去 2 年間バートの事前トレーニング アプローチを模倣してきましたが、自己教師あり学習を導入して、画像データから独立して知識を学習するモデルの能力を解放しようとしているためです。典型的なテクノロジーは「対照的」です。これは 2 つの異なる技術ルートです。しかし、現在の結果から判断すると、技術の大きな進歩にも関わらず、この道はまだ完成していないようです。これは、画像分野で事前に訓練されたモデルを下流のタスクに適用することに反映されており、Bert よりもはるかにメリットが少ないです。これは、NLP の下流タスクに大きく適用されます。したがって、画像データの可能性を引き出すには、画像前処理モデルを引き続き深く調査する必要があり、LLM の大規模モデルへの統合が遅れることになります。もちろん、いつかこの道が開かれれば、NLP 分野の現在の状況が繰り返される可能性が高く、画像処理のさまざまな研究サブ分野が徐々に消滅し、大規模な LLM に統合される可能性があります。端末タスクを直接完了します。 画像とマルチモダリティに加えて、他の分野も徐々に理想的な LLM に含まれることは明らかです。この方向性は優勢であり、価値の高い研究テーマです。 。 以上はパラダイムシフトについての個人的な考えですが、次に GPT 3.0 以降の LLM モデルの主流の技術進歩を整理してみます。理想的な LLM モデルに示されているように、関連テクノロジーは実際には 2 つの主要なカテゴリに分類できます。1 つは、LLM モデルがデータから知識をどのように吸収するかに関するもので、モデル サイズの増大が LLM の吸収能力に及ぼす影響も含まれます。知識、2 番目のカテゴリは、コンテキスト学習モードや指示モードなど、LLM の固有の機能を使用してタスクを解決する方法に関するヒューマン コンピューター インターフェイスです。 LLM 推論テクノロジである Chain of Thought (CoT) プロンプトは、基本的に In Context Learning に属しますが、より重要であるため、個別に説明します。 学習者: 無限のデータから大量の知識へ
知識への道: LLM が学んだ知識 言語知識とは、人間や機械が自然言語を理解するのに役立つ語彙、品詞、構文、意味論、その他の知識を指します。 #####。 LLM が言語知識を取得できるかどうかについての研究には長い歴史があります。Bert の出現以来、関連する研究は継続され、結論は非常に早い段階で得られました。さまざまな実験により、LLM がさまざまなレベルの言語知識を学習できることが完全に証明されました。これが使用される理由です。モデルの事前トレーニング後、最も重要な理由の 1 つは、さまざまな言語理解自然言語タスクで大幅なパフォーマンスの向上が達成されたことです。さらに、形態論、品詞、構文などの浅い言語知識は Transformer の低レベルおよび中レベルの構造に格納され、意味論的な知識などの抽象的な言語知識は広く分散していることもさまざまな研究によって証明されています。 Transformerの中層構造と高層構造にあります。 世界知識とは、この世界で起こるいくつかの実際の出来事 (事実の知識、事実知識) と、いくつかの常識知識 (常識知識) を指します。)#。例えば、「バイデンは現在の米国大統領である」、「バイデンはアメリカ人である」、「ウクライナのゼレンスキー大統領はバイデン米国大統領と会談した」、これらはバイデンに関連する事実知識であり、「人々には二つの目がある」、「太陽は東から昇る」というのは常識です。 LLM モデルが世界の知識を学習できるかどうかについては多くの研究があり、その結論は比較的一貫しています。LLM は確かにトレーニング データから大量の世界の知識を吸収し、この種の知識は主に中層と高層に分布しています。トランス、特に中層に集中。さらに、Transformer モデルの深さが増すにつれて、学習できる知識の量は徐々に指数関数的に増加します (参照: BERTnesia: BERT における知識の捕捉と忘却の調査)。実はLLMをモデルパラメータに反映された暗黙知グラフと捉えているのですが、そのように理解すれば全く問題ないと思います。 「何十億ワードもの事前トレーニング データが必要になるのはどんなときですか?」この記事では、事前トレーニング モデルによって学習された知識の量とトレーニング データの量との関係について研究しています。その結論は次のとおりです。バート型 言語モデルの場合、わずか 1,000 万~1 億語のコーパスで構文や意味などの言語知識を学習できますが、事実の知識を学習するにはさらに多くのトレーニング データが必要です。結局のところ、言語知識は比較的限定的で静的なものであるのに対し、事実知識は膨大であり、常に変化の過程にあります。現在の研究では、トレーニング データの量が増加するにつれて、事前トレーニングされたモデルのさまざまな下流タスクのパフォーマンスが向上することが証明されており、これは、増分トレーニング データから学習されるのは主に世界の知識であることを示しています。 記憶の場所: LLM が知識にアクセスする方法 上記から、LLM が実際に学習したことがわかります。データから得た多くの言語と世界の知識。 では、特定の知識について、LLM はそれをどこに保存するのでしょうか?どのように抽出されるのでしょうか?これも興味深い質問です。###。 明らかに、知識は Transformer のモデル パラメーターに保存されなければなりません。 Transformer の構造から判断すると、モデル パラメータは 2 つの部分で構成されています。マルチヘッド アテンション (MHA) 部分が全パラメータの約 3 分の 1 を占め、パラメータの 3 分の 2 が FFN 構造に集中しています。 MHA は主に単語や知識間の相関強度を計算し、グローバルな情報を統合するために使用されます. 知識間のつながりを確立する可能性が高くなります. 特定の知識ポイントが保存されない可能性が高いため、知識の推定が容易ですLLM モデルの知識本体であり、Transformer の FFN 構造に格納されます。 ただし、この位置付けの粒度はまだ粗すぎ、特定の知識がどのように保存および取得されるかについてうまく答えることは不可能です。 、「中国の首都は北京です」など。この知識は の 3 つ組で表現され、「is-capital-of」はエンティティ間の関係を表します。この知識は LLM のどこに保存されますか? 「Transformer フィードフォワード層は Key-Value メモリである」は、Transformer の FFN を大量の特定の知識を格納する Key-Value メモリとみなす、比較的新しい視点を提供します。 。上の図に示されているように (図の左側は元の紙の図ですが、実際には理解するのが簡単ではありません。注釈付きの右側の図を見るとよりよく理解できます)、FFN の最初の層は MLP 全体です。隠れ層、これはキー層であり、2 番目の層は MLP の狭い隠れ層であり、値層です。 FFN の入力層は実際には、ある単語に対応する MHA の出力 Embedding であり、入力文全体の全体的な情報を表す Self Attendance を通じて文全体に関する入力コンテキストを統合した Embedding です。 キー層の各ニューロン ノードは、 情報のペアを記録します。たとえば、上図の FFN の最初の隠れ層の 番目のノード には、おそらく の知識が記録されています。 ノードに対応するキー ベクトルは、実際にはノード と入力層の各ノードの重みベクトルを参照し、対応する値ベクトルはノード と FFN を参照します。レイヤーの 2 番目の値 レイヤー内の各ノードは、接続の重みベクトルを形成します。各ニューロンのキー ベクトルは、入力内の特定の言語または知識パターンを識別するために使用され、パターン検出器となります。入力に検出したい特定のパターンが含まれている場合、入力ベクトルと ノードのキーの重みによってベクトルの内積計算と Relu が実行され、 という大きな数値応答が形成されます。これは、つまり、 がこのモードを検出したことを確認し、 ノードの値重みベクトルを通じてこの応答値を FFN の 2 番目の層に伝播します。これは、Value ベクトルの値を応答値で重み付けし、それを 2 番目の Value レイヤーの各ノードの出力に渡して反映することと同じです。このように、FFN の順伝播計算の処理は、ある知識パターンを Key で検出し、対応する Value を取り出して、FFN の第 2 層の出力に反映するという流れになります。もちろん、FFN の第 2 層の各ノードは FFN の Key 層のすべてのノードの情報を収集するため、混合応答となり、Value 層のすべてのノードの混合応答は確率分布情報として解釈できます。出力ワードを表します。 まだ複雑に聞こえるかもしれないので、極端な例を使って説明しましょう。上図のノード が、この知識を 記録する Key-Value メモリであると仮定します。その Key ベクトルは、「中国の首都は...」という知識パターンとその値を検出するために使用されます。ベクトルは基本的に「北京」という単語の埋め込みに近いベクトルを格納します。 Transformer の入力が「中国の首都は [マスク]」である場合、 ノードは入力層からこの知識パターンを検出するため、より大きな応答出力を生成します。キー層の他のニューロンはこの入力に応答しないと仮定します。その場合、値層の対応するノードは実際には値「Beijing」に対応する単語埋め込みのみを受信し、# という大きな応答値を通じて埋め込みを実行します。 ## さらに数値を増幅します。したがって、マスク位置に対応する出力では、当然「Beijing」という単語が出力されます。基本的にはこのようなプロセスですが、一見複雑そうに見えますが、実はとても簡単です。 そして、この記事では、低レベルの Transformer が文の表面パターンに応答し、高レベルの Transformer が意味論的パターンに応答することも指摘しています。低レベルの FFN は語彙や構文などの表面的な知識を保存し、中間層と高レベルは意味論的および事実に基づく概念の知識を保存します。これは他の研究の結論と一致します。 FFN を Key-Value メモリとして扱うというアイデアは、おそらく最終的な正解ではないと推測しますが、おそらく最終的な正解からそれほど遠くないでしょう。 Knowledge Correction Fluid: LLM に保存された知識を修正する方法 私たちは特定の世界を知っているので、知識は1 つ以上の FFN ノードのパラメータに保存されているため、当然、別の疑問が生じます。LLM モデルに保存されているエラーや古い知識を修正できるでしょうか?たとえば、「現在の英国の首相は誰ですか?」という質問について、近年英国の首相が頻繁に交代していることを考慮すると、LLM は「ボリス」と「スナク」のどちらを輸出する傾向があると思いますか?明らかに、トレーニング データには「Boris」を含むデータがさらに多くなりますが、この場合、LLM が間違った答えを与える可能性が非常に高いため、LLM に保存されている古い知識を修正する必要があります。 要約すると、現在、LLM に含まれる知識を変更するには 3 つの異なる方法があります。 ##最初のカテゴリこのメソッドは、トレーニング データのソースからの知識 # を修正します。 「言語モデルにおける事実の知識をトレーニング データに遡って追跡することに向けて」 この記事の研究目標は、特定の知識について、LLM がこの知識を学習する原因となったトレーニング データを特定できるかどうかです。答えは「はい」です。これは、特定の知識に対応するトレーニング データのソースを逆に追跡できることを意味します。この技術を使用すると、特定の知識を削除したいと仮定した場合、まず対応するデータ ソースを見つけてそのデータ ソースを削除し、その後 LLM モデル全体を再事前学習することで目的を達成できます。 LLM 内の関連するナレッジを削除する。しかし、ここには問題があり、知識の一部を修正すると、モデルを再トレーニングする必要があり、明らかにコストがかかりすぎます。したがって、この方法には開発の見通しはあまりなく、特定のカテゴリのデータを一度に大規模に削除する場合に適していますが、少数の定期的な知識修正シナリオには適していません。有害な内容が除去されるまで待ちます。 2 番目のタイプの方法は、LLM モデルを微調整して知識を修正することです。 。考えられる直感的な方法は次のとおりです。変更する新しい知識に基づいてトレーニング データを構築し、LLM モデルにこのトレーニング データを微調整させることで、LLM が新しい知識を覚えて忘れるように誘導できます。古い知識。この方法はシンプルで直感的ですが、問題点もあり、まず、忘れるべき知識だけでなく、忘れてはいけない知識も忘れてしまう「災害忘れ」の問題が生じます。忘れ去られてしまい、忘れてしまった後の一部の下流タスクの有効性が低下してしまいます。また、現在のLLMモデルは非常に大規模なため、頻繁に微調整を行ったとしても実際にはかなりのコストがかかります。この方法に興味がある方は、「変圧器モデルのメモリの変更」を参照してください。 #別のタイプの方法では、LLM の特定の知識に対応するモデル パラメーターを直接変更して、知識を修正します。。古い知識 を に修正したいとします。まず、LLM モデル パラメーターに古い知識を格納する FFN ノードを見つける方法を見つけます。その後、FFN 内の対応するモデル パラメーターを強制的に調整および変更して、古い知識を新しい知識に置き換えることができます。この方法には 2 つの主要なテクノロジが含まれていることがわかります: 1 つ目は、LLM パラメータ空間内の特定の知識の特定の保存場所を特定する方法、2 つ目は、古い知識を新しい知識に修正するためにモデル パラメータを修正する方法知識。このタイプのテクノロジの詳細については、「GPT での事実の関連付けの検索と編集」および「トランスフォーマーでのメモリの一括編集」を参照してください。 LLM の知識を改訂するこのプロセスを理解することは、LLM の内部動作メカニズムをより深く理解するために実際に非常に役立ちます。 #近年、LLM モデルの規模が急速に拡大していることがわかっています。現在、最も効果的な LLM のパラメーター スケールはモデルはほとんどがパラメータスケールが1000億(100B)を超えています。たとえば、OpenAI の GPT 3 のサイズは 175B、Google の LaMDA のサイズは 137B、PaLM のサイズは 540B、DeepMind の Gogher のサイズは 280B などです。中国には1300億規模のZhiyuan GLM、2000億規模のHuawei「Pangu」、260B規模のBaidu「Wenxin」、245B規模のInspur「Yuan 1.0」などの中国の巨大モデルもある。 。したがって、当然の疑問は、LLM モデルのサイズが増大し続けると何が起こるのかということです。 事前トレーニング モデルの適用は、多くの場合、事前トレーニング段階と特定のシナリオの適用段階の 2 つの段階に分かれています。事前学習段階では、最適化の目標はクロスエントロピーであり、GPT などの自己回帰言語モデルの場合は、LLM が次の単語を正しく予測するかどうかに依存しますが、シナリオ適用段階では、一般的に特定の単語の評価指標に依存します。シナリオ。私たちの一般的な直感は、事前トレーニング段階での LLM モデルのパフォーマンスが向上すれば、下流のタスクを解決する能力も自然に強化されるということです。ただし、これは完全に真実ではありません。既存の研究では、トレーニング前段階の最適化指標が下流のタスクと正の相関関係を示していることが証明されていますが、完全に正の相関関係にあるわけではありません。言い換えれば、LLM モデルが十分に優れているかどうかを判断するには、トレーニング前の段階で指標を見るだけでは十分ではありません。これに基づいて、LLM モデルの増加に伴う影響を確認するために、これら 2 つの異なる段階を個別に見ていきます。 まず、事前トレーニング段階でモデルのサイズが徐々に増加すると何が起こるかを見てみましょう。 OpenAI は、「神経言語モデルのスケーリング則」でこの問題を特に研究し、LLM モデルに従う「スケーリング則」を提案しました。上の図に示すように、この研究では次のことが証明されています。 -トレーニングされたモデルは、テスト セットでのパフォーマンスが向上します。損失は単調に減少します。これは、モデルの効果がますます良くなることを意味します。 3 つの要素はすべて重要であるため、実際に事前トレーニングを行う場合、コンピューティング パワーをどのように割り当てるかという意思決定の問題が発生します。 LLM のトレーニング (GPU 時間や GPU 日数など) では、データ量を増やしてモデル パラメーターを減らす必要があるでしょうか。それとも、データ量とモデルサイズを同時に増加させて、トレーニングステップの数を減らす必要があるのでしょうか? 1 つの要素の規模が増加すると、合計の計算能力を変化させないように他の要素の規模を縮小する必要があるため、さまざまな計算能力の割り当て計画が考えられます。最終的に、OpenAI はトレーニング データとモデル パラメーターの量を同時に増やすことを選択しましたが、トレーニング ステップの数を減らすために早期停止戦略を使用しました。それは、学習データ量とモデルパラメータの 2 つの要素について、どちらか一方だけを個別に増やすのは最良の選択ではなく、一定の割合で両方を同時に増やす方が良いことが証明されているからです。結論としては、モデルのパラメータを増やすことを優先し、次に学習データの量を増やすことです。 LLM をトレーニングするための総計算能力予算が 10 倍に増加すると仮定すると、モデル パラメーターの量は 5.5 倍、トレーニング データの量は 1.8 倍に増加する必要があり、この時点でモデルの効果は最良になります。 DeepMind による研究 (参考: コンピューティングに最適な大規模言語モデルのトレーニング) は、この問題をより深く調査しました。その基本的な結論は、OpenAI の結論と似ています。たとえば、トレーニングデータとモデルパラメータの量を増やすと、モデルの効果が向上します。多くの大規模なモデルは、事前トレーニングを行うときにこれを考慮しません。多くの大規模な LLM モデルは、トレーニング データの量を固定しながら、モデル パラメーターを単調に増加させるだけです。このアプローチは実際には間違っており、LLM モデルの可能性を制限します。しかし、両者の比例関係を修正し、学習データ量とモデル パラメータの量は同等に重要であると考えます。つまり、LLM の学習に使用される総計算能力予算が 10 倍に増加すると仮定すると、モデル パラメータの量は増加します。モデルの効果が最大になるように、トレーニング データの量の 3.3 倍に増やす必要があります。 これは次のことを意味します: トレーニング データの量を増やすことの重要性は、これまで考えられていたよりもさらに重要です。この理解に基づいて、DeepMind が Chinchilla モデルを設計したとき、計算能力の割り当ての観点から別の構成を選択しました。データ量 300B、モデル パラメーター量 280B の Gopher モデルと比較して、Chinchilla はトレーニング データを 1 つ増やすことを選択しました。 4倍だがモデルを縮小 パラメータはGopherの4分の1、約70Bに削減されている。ただし、トレーニング前の指標や多くの下流タスク指標に関係なく、チンチラは大型のホリネズミよりも優れています。 これにより、次のことが分かります: 前提を達成するために、トレーニング データを拡大し、同じ割合で LLM モデルのパラメーターを減らすことを選択できます。モデルの効果を減らさないようにするため、モデルのサイズを大幅に縮小します。モデルのサイズを縮小すると、適用時の推論速度が大幅に速くなるなど、多くの利点があり、これが有望な LLM 開発ルートであることは間違いありません。
最初のタイプのタスクは、LLM モデルのスケーリング則を完全に反映しています。つまり、モデルは徐々に増加し、タスクは上図の (a) に示すように、パフォーマンスがどんどん良くなっていきます。このようなタスクは、通常、次の共通の特性を満たします。多くの場合、知識集約型タスクです。つまり、LLM モデルに含まれる知識が増えるほど、そのようなタスクのパフォーマンスが向上します。 LLM モデルが大きいほど学習効率が高くなることが多くの研究で証明されています。つまり、同じ量のトレーニング データの場合、モデルが大きいほどタスクの効果が高くなります。これは、同じ問題に直面した場合でも、学習効率が高いことを示しています。トレーニング データのバッチでは、LLM モデルが大きいほど効率が高く、モデルが小さいほど、より多くの知識が学習されます。さらに、通常の状況では、LLM モデルのパラメーターを増やすと、多くの場合、トレーニング データの量も同時に増加します。これは、大規模なモデルがより多くのデータからより多くの知識ポイントを学習できることを意味します。これらの研究は、モデルのサイズが大きくなるにつれて、これらの知識集約型タスクの結果がますます良くなる理由を、上記の図で十分に説明できます。従来の自然言語理解タスクのほとんどは、実際にはそのような知識集約的なタスクであり、多くのタスクが過去 2 年間で大幅な改善を達成し、人間のパフォーマンスをも超えています。明らかに、これは特定の技術的な改善によるものではなく、LLM モデルの規模の増加によって引き起こされた可能性が最も高くなります。 2 番目のタイプのタスクは、上記 (b) 「イミテーション ゲームを超えて: 言語モデルの機能の定量化と推定」 この記事では、「創発的な機能」を反映するこのタイプのタスクにもいくつかの共通点があることを指摘しています。これらの課題を解決するには、最初に複数の中間ステップを解決する必要があることが多く、そのような課題の最終的な解決には論理的推論能力が重要な役割を果たします。 Chain of Thought Prompting は、LLM 推論能力を強化し、そのようなタスクのパフォーマンスを大幅に向上させる代表的なテクノロジです。CoT テクノロジについては、次のセクションで説明するため、ここでは説明しません。 問題は、なぜ LLM にこの「緊急機能」現象があるのかということです。上記の記事と「大規模言語モデルの新たな能力」では、考えられるいくつかの説明が示されています。 考えられる説明の 1 つは、一部のタスクの評価指標が十分に滑らかではないということです。たとえば、生成タスクの一部の判断基準では、モデルが出力する文字列が正しいとみなされるためには標準解答と完全に一致する必要があり、そうでない場合は 0 点が付与されます。したがって、モデルが増えても徐々にその効果は高まり、より正確な文字片の出力に反映されますが、完全に正しいわけではないため、多少の誤差は0点となります。十分な大きさがある場合、すべてのセグメントが正しい場合に出力スコアが採点されます。つまり、指標が十分に滑らかではないため、LLM が実際にタスクのパフォーマンスを徐々に向上させているという現実を反映することができず、「創発的な能力」が外面的に現れているように見えます。 もう 1 つの考えられる説明は、一部のタスクは複数の中間ステップで構成されているということです。モデルのサイズが大きくなるにつれて、各ステップを解決する能力は徐々に増加しますが、1 つのステップが存在する限り、途中のステップが間違っていると、最終的な答えも間違ってしまい、この表面的な「能力の創発」現象にもつながります。 もちろん、上記の説明はまだ推測の段階であり、LLM になぜこのような現象が起こるのかについては、さらに詳細な研究が必要です。
まだいくつかのタスクがあります。モデルの規模が大きくなるにつれて、 U 字型特性 #: モデルの規模が徐々に大きくなるにつれて、タスクの効果は徐々に悪化しますが、モデルの規模がさらに大きくなると、効果はますます良くなり始め、上図に示すように、U 字型の成長傾向 2 つのタスクに関するピンク色の PaLM モデルの指標の傾向が示されています。これらのタスクが特別に見えるのはなぜですか? 「逆スケーリングは U 字型になる可能性がある」 この記事では次のように説明しています。これらのタスクには、実際には 2 つの異なるタイプのサブタスクが含まれています。1 つは実際のタスクで、もう 1 つは「干渉タスク (ディストラクタ タスク)」です。モデルのサイズが小さい場合、サブタスクの種類を識別できないため、モデルのパフォーマンスはランダムに回答を選択するのと同様ですが、モデルが中程度のサイズに成長すると、主に干渉タスクを実行するため、マイナスの結果になります。実際のタスクの効果への影響。これは、実際のタスクの効果の低下に反映されます。モデルのサイズがさらに増加すると、LLM は干渉するタスクを無視して実際のタスクを実行できるようになり、効果が増大し始めることに反映されます。 モデル サイズの増加に伴ってパフォーマンスが低下しているタスクについては、思考連鎖 (CoT) プロンプトを使用すると、一部のタスクのパフォーマンスがスケーリング則に従うように変換されます。つまり、モデルのサイズです。効果が大きいほど優れていますが、他のタスクは U 字型の成長曲線に変換されます。これは実際に、このタイプのタスクは推論型タスクであるべきであることを示しており、CoT を追加するとタスクのパフォーマンスが質的に変化します。 一般に、人々と LLM の間でよく言及されるインターフェイス テクノロジには、次のものが含まれます: ゼロ ショット プロンプト、少数ショットプロンプト、コンテキスト学習、および指示。これらは実際には、特定のタスクを説明する方法です。しかし、文献を見ると、名前が非常に紛らわしいことがわかります。 このうち、Instruct は ChatGPT のインターフェース メソッドで、「この文章を中国語から英語に翻訳してください」などのタスクを自然言語で説明することを意味します。このような。ゼロショットプロンプティングというのは、実は今のインストラクトの初期の名前だそうですが、昔はゼロショットと呼んでいましたが、今はインストラクトと呼ぶ人が多いですね。同じ意味合いですが、具体的な方法は 2 つあります。初期の頃、人々はゼロショットプロンプトを行っていました。実際、彼らはタスクをどのように表現すればよいのかわかりませんでした。そのため、別の単語や文章を変更して、タスクをうまく表現しようと繰り返し試みました。このアプローチはトレーニングに適合することが証明されています。データの配布には実際には意味がありません。 Instruct の現在のアプローチは、コマンド ステートメントを与え、LLM にそれを理解させようとすることです。つまり、どれも表面上はタスクを表現しているのですが、考え方は異なります。 コンテキスト学習には、少数のショット プロンプトと同様の意味があり、LLM にテンプレートとしていくつかの例を与え、LLM に新しい問題を解決させます。 In Context Learning は、あるタスクの説明としても理解できると個人的には考えていますが、Instruct は抽象的な記述方法であり、In Context Learning は事例ベースの説明方法です。 。もちろん、これらの用語は現在少し混乱して使用されているため、上記の理解は私の個人的な意見を表すものにすぎません。 したがって、ここでは In Context Learning と Instruct のみを紹介し、ゼロ ショットと少数のショットについては言及しません。 #謎の In Context Learning #よく考えてみると、In Context Learning はとても魔法のようなテクノロジーです。一体何がそんなに魔法なのでしょうか?魔法は、LLM にいくつかのサンプル例 を提供し、それに を与えると、LLM は対応する ## を正常に予測できることです。 #。これを聞くと、「これの何がそんなに魅力的なのでしょうか?」と疑問に思うかもしれません。それが微調整の仕組みではないでしょうか?こんなことを聞くということは、あなたはこの問題について十分に深く考えていないということになります。 #ファインチューニングとコンテキスト学習はどちらも LLM の例を提供しているように見えますが、両者の間には質的な違いがあります。違い (上の図を参照): 微調整では、これらの例をトレーニング データとして使用し、バックプロパゲーションを使用して LLM のモデル パラメーターを変更します。モデル パラメーターを変更するアクションは、これらの例からの LLM 学習のプロセスを実際に反映しています。ただし、コンテキスト学習では、LLM が検討するサンプルを取り出しただけであり、バックプロパゲーションを使用してサンプルに基づいて LLM モデルのパラメーターを変更したり、新しいサンプルを予測するよう要求したりすることはありませんでした。モデルのパラメータが変更されていないということは、LLM は学習プロセスを経ていないように見えますが、学習プロセスを経ていない場合、なぜそれを見ただけで新しい例を予測できるのでしょうか?これが In Context Learning の魔法です。 「群衆の中でもう一度あなたを見ただけで、私はあなたの顔を二度と忘れることはできません」という歌詞を思い出しますか?この曲は「レジェンド」と呼ばれています。それが伝説的だと言うのか、そうでないのか? In Context Learning は例から知識を学習しないように思えますが、実際、LLM は奇妙な方法で学習するのでしょうか?それとも何も学ばなかったというのは本当ですか?この質問に対する答えはまだ解明されていない謎です。既存の研究の中には異なるバージョンがあり、どれが真実を語っているかを判断するのは困難であり、研究結果によっては矛盾するものさえあります。現在の意見をいくつか挙げておきますが、誰が正しくて誰が間違っているかについては、ご自身で判断するしかありません。もちろん、この不思議な現象の真相を追求することは良い研究テーマだと思います。 インコンテキスト学習が例から学ばないことを証明する試みは、「デモンストレーションの役割を再考する: 何がインコンテキスト学習を機能させるのか?」です。 LLM に提供されたサンプル例 では、 が に対する正しい答えであるかどうかは問題ではありません。正しい答え を別のランダムな答え に置き換えても、状況に応じた学習の効果には影響しません。これは少なくとも 1 つのことを示しています。コンテキスト学習では、LLM に から へのマッピング関数情報を提供しません: 、そうしないと、正しいラベルをランダムに変更すると、この マッピング機能が間違いなく中断されてしまいます。言い換えれば、コンテキスト学習は入力空間から出力空間へのマッピング プロセスを学習しません。 In Context Learning に実際に大きな影響を与えるのは、 と の分布、つまり入力テキスト の分布と、その内容です。回答候補 は. である場合、 を回答候補以外のコンテンツに置き換えるなど、この 2 つの分布を変更すると、文脈内学習の効果は急激に低下します。 要するに、この研究は、コンテキスト学習がマッピング関数を学習するのではなく、入力と出力の配分が非常に重要であり、この 2 つをランダムに変更することはできないことを証明しています。 一部の研究では、LLM は、与えられた例からこのマッピング関数 を学習していると考えられていますが、これは暗黙的な学習です。たとえば、「コンテキスト学習とはどのような学習アルゴリズムですか? 線形モデルによる調査」では、Transformer がサンプルから から へのマッピング プロセスを暗黙的に学習できると考えられています。その活性化関数にはいくつかの単純なマッピング関数が含まれており、LLM は次のことを行うことができます。例によって対応する人にインスピレーションを与えます。記事「なぜ GPT はコンテキスト内で学習できるのか? 言語モデルはメタ オプティマイザーとして勾配降下法を密かに実行する」では、ICL を暗黙的な微調整として扱います。 全体として、これはまだ未解決の謎です。 #Magical Instruct Understanding Instruct は、人間にとって理解しやすいタスク ステートメントと考えることができます。この前提を踏まえると、Instruct に関する現在の研究は、より学術的な研究である Instruct と、人間の真のニーズを記述する Instruct の 2 つのタイプに分類できます。 まず最初のタイプを見てみましょう: 学術研究 指示。その中心的な研究トピックは、マルチタスク シナリオでの命令を理解するための LLM モデルの一般化機能です。上図の FLAN モデルに示されているように、NLP タスクは多数あり、各タスクに対して、研究者はタスクの指示として 1 つ以上のプロンプト テンプレートを構築し、トレーニング サンプルを使用して微調整します。 LLM が複数のタスクを同時に学習できるようにするための LLM モデル。モデルをトレーニングした後、LLM モデルにこれまで見たことのない新しいタスクの指示を与え、LLM にゼロショット タスクを解決させます。タスクが十分に解決されたかどうかは、LLM モデルが能力を備えているかどうかを判断するために使用できます。指示を理解する一般化能力。 現在の研究結果を要約すると (「スケーリング命令 - 微調整された言語モデル」/「Super-Natural命令: 1600 個の NLP タスクの宣言命令による一般化」を参照してください)、 LLM モデルの汎化能力を効果的に高める要因には、マルチタスク タスクの数の増加、LLM モデルのサイズの増加、CoT プロンプトの提供、およびタスクの多様性の増加が含まれます。これらの対策のいずれかを講じると、LLM モデルの命令の理解度を高めることができます。 2 番目のタイプは、人間の真のニーズに基づく指導であり、このタイプの研究は InstructGPT と ChatGPT InstructGPT の論文では、この方法は FLAN の Instruct ベースの方法とも比較されました。まず、FLAN で説明したタスク、データ、プロンプト テンプレートを使用して GPT3 上で微調整し、GPT 3 上で FLAN メソッドを再現し、InstructGPT と比較します。InstructGPT の基本モデルも GPT3 であるため、相違点のみが存在します。データとメソッドの両者は比較可能ですが、FLAN メソッドの効果が InstructGPT に大きく及ばないことがわかります。では、その背後にある理由は何でしょうか?データを分析した後、論文は、FLAN メソッドが関与するタスク フィールドが比較的少なく、InstructGPT に関与するフィールドのサブセットであるため、効果が良くないと考えています。言い換えれば、FLAN 論文に含まれるタスクはユーザーの実際のニーズと矛盾しており、その結果、実際のシナリオでは不十分な結果が得られます。これが意味するのは、ユーザーデータから真のニーズを収集することが重要であるということです。 In Context Learning と Instruct の関係 In Context Learning がいくつかの例を使用して具体的に行うと仮定すると、タスク コマンドを表現するために、Instruct は人間の習慣により沿った抽象的なタスクの説明です。したがって、当然の疑問は、それらの間に何かつながりがあるのかということです。たとえば、特定のタスクを完了するためのいくつかの具体的な例を LLM に提供し、自然言語で記述された対応する Instruct コマンドを LLM に見つけさせることができるでしょうか。 現在、この問題を調査する研究が散発的に行われていますが、この方向性は非常に研究価値があると思います。まず答えについて話しましょう。答えは「はい、LLM はできます」です。 "Large Language Models Are Human-level Prompt Engineers" は、この方向での非常に興味深い研究です。上の図に示すように、特定のタスクについて、LLM にいくつかの例を与え、LLM がタスクを説明できる自然言語コマンドを自動的に生成できるようにします。次に、LLM によって生成されたタスクの説明を使用して、タスクの効果をテストします。使用する基本モデルは GPT 3 と InstructGPT であり、この技術の恩恵により、LLM によって生成される Instruct の効果は、この技術を使用していない GPT 3 や InstructGPT に比べて大幅に向上し、一部のタスクでは超人的なパフォーマンスを発揮します。 これは、具体的なタスクの例とタスクの自然言語記述との間に不思議な内部関係があることを示しています。このつながりとは一体何でしょうか?これについてはまだ何もわかりません。 LLM には知識に対する強力な記憶能力があることが多くの研究で証明されています。 a 記憶力が強い人はとても頭が良いと言われますが、推論能力が高いかどうかは頭が良いかどうかを判断する重要な基準となることが多いです。同様に、LLM の効果を驚異的に発揮するには、強力な推論能力が必要です。本質的に、推論能力とは、新しい知識や新しい結論を導き出すために、多くの関連する知識ポイントを包括的に使用することです。 LLM の推論能力は、過去 1 年間で LLM において最も重要かつ人気のある研究分野の 1 つでした。したがって、私たちが懸念しているのは、LLM には推論機能があるかということです。もしそうなら、その推理力は十分に強いのでしょうか? モデルのスケールが十分に大きい場合、LLM 自体に推論機能があります。単純な推論問題については、LLM は非常に優れた機能を達成しましたが、複雑な推論問題についてはさらに詳細な研究が必要です。 既存の LLM 推論関連の研究を整理すると、LLM 推論機能のマイニングまたは促進に関するさまざまな技術的アイデアを反映して、それらを 2 つの主要なカテゴリに分類します。最初のカテゴリは、総称してプロンプトベースの手法と呼ばれます。中心となるアイデアは、適切なプロンプトやプロンプト サンプルを通じて、LLM 自体の推論能力をより効果的に刺激することです。Google は、この方向で非常に効果的な取り組みを数多く行ってきました。 2つ目は、事前学習の段階でプログラムコードを導入し、テキストとともに事前学習に参加することでLLMの推論能力をさらに高めるアプローチであり、これがOpenAIで実現される考え方である。たとえば、ChatGPT には確かに強力な推論機能がありますが、ユーザーが推論の例を提供する必要はありません。したがって、ChatGPT の強力な推論機能は、コードを使用して GPT 3.5 の事前トレーニングに参加することで得られる可能性が最も高くなります。 この 2 つのアイデアは、一般的な方向性において実際には大きく異なります。コードを使用して LLM 推論機能を強化するもので、これはトレーニング データの多様性を高めることで LLM 推論機能を直接強化するというアイデアを反映しています。もう 1 つはプロンプトに基づいています。方法。LLM 自体の推論能力を促進するものではありませんが、問題を解決する過程で LLM がこの能力をよりよく発揮できるようにする技術的な方法です。前者 (コード メソッド) は根本原因を治療し、後者は症状を治療することがわかります。もちろん、この 2 つは実際には相補的ですが、長期的には根本原因の方が重要です。 プロンプトベースの方法 この分野では多くの作業が行われています。大きく分けて3つのテクニカルルートに分かれます。 最初の考え方は、補助推論プロンプト## を直接追加することです。質問。 ##。この方法はシンプルで簡単ですが、多くの分野で効果的です。このアプローチは、「Large language models are zero-shotreasoner」によって提案され、ゼロショット CoT としても知られています。具体的には、上図のように2段階に分かれており、第1段階では質問に「ステップバイステップで考えてみましょう」というプロンプトを追加し、LLMが具体的な推論過程を出力します。 , 最初の段階の質問の後に、LLM が出力した具体的な推論過程をつなぎ合わせ、Prompt="したがって、答え(アラビア数字)は です。" を追加すると、その時点で LLM が答えを出します。このような単純な操作により、さまざまな推論タスクにおける LLM の有効性が大幅に向上します。たとえば、数的推論テスト セット GSM8K では、プロンプトを追加した後、推論の精度が元の 10.4% から 40.4% に直接増加しました。これは奇跡的なことです。 これは真実を示しています。つまり、LLM 自体には推論する能力がありますが、その能力を刺激する方法がないということです。適切なプロンプトを通じて、2 つのステップ プロンプトによってその可能性が解放されます。ある程度。また、中国語の場合は、中国語コーパスで推論のステップを説明する際に、導入文や「考えてみましょう」のステップが含まれているため、これと同様に、「具体的な問題解決のアイデアは次のとおりです」という別の重要なリマインダーが存在する可能性があります。 「一歩一歩」という言葉がよく使われます。「違うはずだ。これは明らかな西洋のことわざであり、実際には、この黄金の思い出を中国語で探求する必要がある。」
2 番目のアイデアは、一般に、例ベースの思考連鎖 (少数ショット CoT、思考連鎖) プロンプティング と呼ばれます。この方向性は現在、LLM 推論研究の主な方向性であり、この考え方に基づいて多くの研究が行われていますが、基本的に CoT の技術開発の方向性を表すことができる、重要な成果をあげた代表的な研究をいくつか簡単に紹介します。 CoT の主なアイデアは実際には非常に単純です。LLM モデルに推論を学習させるために、手動で作成された推論の例がいくつか示されています。例の手順は次のとおりです。最終的な答えを得るまでの詳細なステップバイステップ。推論のステップが明確に説明されており、これらの手動で書かれた詳細な推論プロセスは、思考の連鎖プロンプティングです。具体的な例については、を参照してください。上の画像の青い文字。 CoT とは、LLM モデルに 1 つの真実を理解させることを意味します。つまり、推論のプロセスで大きなステップを踏みすぎないでください。そうしないと間違いを犯しやすくなります。思考モードを変更し、大きな問題を小さな問題に段階的に変えてください。ステップ、小さな勝利を積み上げて大きな勝利にします。 CoT の概念を明確に提案した最も古い論文は「思考の連鎖プロンプトが大規模言語モデルで推論を引き出す」であり、この論文は 2022 年 1 月に発表されました。手法は非常に単純ですが、LLM モデルの推論能力は大幅に向上しました。 CoT適用後 GSM8K 数的推理テストセットの精度は約60.1%まで向上しました。もちろん、詳細な推論ステップと中間プロセスを与えるというこのアイデアは、CoT によって最初に提案されたものではありません。初期の「スクラッチパッド」テクノロジ (参照: 作品の表示: 言語モデルを使用した中間計算のためのスクラッチパッド) が最初に同様のアイデアを採用しました。 CoT が提案してから間もなく、3 月 22 日に「自己一貫性」と呼ばれるプロジェクトが開始されました。改善テクノロジにより、GSM8K テスト セットの精度が 74.4% に向上しました。この改善を提案した論文は、「自己一貫性により言語モデルにおける思考推論の連鎖が改善される」です。 「自己一貫性」の考え方も非常に直感的です (上の図を参照): まず、CoT を使用して記述された推論プロセスの例をいくつか示し、次に LLM に指定された問題について推論するよう依頼できます。は CoT で、推論プロセスと回答を直接出力し、全プロセスが終了します。 「自己一貫性」は当てはまりません。LLM が複数の異なる推論プロセスと回答を出力し、投票を使用して最良の回答を選択する必要があります。アイデアは非常にシンプルで直接的ですが、効果は非常に優れています。実際、「自己一貫性」は LLM にこの真実を学ぶよう教えています: Kong Yiji はかつて、フェンネル豆を表す「フェンネル」という単語を書くには 4 つの方法があると言っています。同様に、数学の問題には多くの正しい解決策があり、それぞれが異なります。そのプロセスはすべて最終的な答えにつながります。 「すべての道はローマに通ず。道に迷って北京にたどり着く人もいるが、迷う人はほんの一握りだ。ほとんどの人が行くところを見れば、そこが正解だ。」シンプルな手法には深い哲学的な意味が含まれていることも多いですよね。 今後、「言語モデルのより良い推論の推進について」という作業では、「1 つのプロンプト質問から複数のプロンプト質問に拡張し、推論の中間ステップの正しさをチェックし、これら 3 つの改善により、GSM8K テスト セットの精度は約 83% に向上しました。 3 番目のアイデアは分割統治アルゴリズムのアイデアを具体化したものです #。もちろん、このいわゆる「分割統治」は私の一般論であり、他の人はそうは言っていません。このアイデアの中心となるアイデアは、複雑な推論問題を、簡単に解決できる多数のサブ問題に分解し、サブ問題を 1 つずつ解決した後、複雑な問題に対する答えを導き出すというものです。サブ問題への答えから問題を導き出します。ご存知のとおり、これは確かに分割統治アルゴリズムの考え方に似ています。私は個人的に、この種の考え方が問題の本質を明らかにし、最終的に LLM の複雑な推論問題を解決するための真の方法ではないかと感じています。上の図に示すように、このアイデアの具体的な実装を説明するために、「最も少ないプロンプトから最も多いプロンプトへのプロンプト」テクノロジを例として取り上げます。上図に示すように、これは 2 つの段階に分かれています。最初の段階では、元の問題から知ることができます。最終的な質問は何ですか? 最終的な問題が最終 Q であると仮定し、元の問題からプロンプト テンプレートに入力します。「最終 Q の問題を解決したい場合は、それを解決する必要があります。」まず、元の問題とこのプロンプトを LLM に渡し、LLM モデルに答えを与えさせます。これは、LLM に最後の質問のプレフィックス サブ質問 Sub Q を与えるのと同じです。その後、第 2 段階に入ります。 LLM に取得したばかりのサブ質問 Sub Q に回答させて対応する回答を取得し、元の質問をサブ質問 Sub Q と対応する回答につなぎ合わせ、LLM に最後の質問 Final Q を尋ねます。この時点で、LLM が最終的な答えを出します。このように、サブ質問を解体し、サブ質問に対する回答から最終的な答えを徐々に見つけていくという考え方が反映されています。 コードの事前トレーニングにより LLM 推論機能が強化される 上記は、プロンプトを使用して LLM モデルの推論機能を刺激する 3 つの主流の方法です。 、LLM について 興味深い不可解な現象が観察されました: テキストに加えて、モデルの事前トレーニングに参加するプログラム コードを追加できれば、LLM モデルの推論能力を大幅に向上させることができます。この結論は、多くの論文の実験セクションから導き出すことができます (大規模言語モデルでの自動思考連鎖プロンプト/ビッグベンチ タスクへの挑戦と思考連鎖がそれらを解決できるかどうか、および論文の他の実験セクションを参照してください) )。
上の図は、論文「言語モデルのより良い推論化の進歩について」の実験データを示しています。このうち、GPT3 davinci はプレーン テキスト トレーニングに基づく標準 GPT 3 モデルで、code-davinci-002 (OpenAI 内部では Codex と呼ばれます) は、Code データと NLP データの両方でトレーニングされたモデルです。両者の効果を比較すると、どの推論手法を使用しても、純粋なテキスト事前学習モデルからテキストとコードの混合事前学習モデルに切り替えるだけで、モデルの推論能力が向上していることがわかります。ほぼすべてのテスト データ セットで効果が大幅に向上しました。たとえば、「自己一貫性」メソッドを例に挙げます。ほとんどのデータ セットでのパフォーマンスの向上は、直接 20 ~ 50 パーセント ポイントを超えています。これはひどいパフォーマンスの向上です。実際、特定の推論モデルのレベルでは、事前トレーニング中にテキストに加えて追加のプログラム コードを追加するだけでした。 この現象に加えて、上の図のデータから、他の結論も引き出すことができます。たとえば、GPT 3 の純粋なテキストの事前トレーニング モデルには、実際にはかなりの程度の推論能力。GSM8K などの数学的推論のパフォーマンスが比較的低いことを除けば、その能力を刺激する適切な方法を使用する必要がある場合、他の推論データ データ セットのパフォーマンスも良好です。別の例として, text-davinci-002 は、code-davinci-002 (InstructGPT または ChatGPT モデルを追加する最初のステップ) に基づいて命令の微調整を追加するモデルであり、Codex よりも推論機能が弱いですが、他の研究で示されています。自然言語処理タスクは Codex より強力です。これは、命令微調整を追加すると、LLM モデルの推論能力は損なわれますが、自然言語理解能力はある程度向上することを示しているようです。これらの結論は実際には非常に興味深いものであり、さらなる思考と探求を刺激する可能性があります。 したがって、自然な疑問は次のとおりです: なぜ事前トレーニングされたモデルは、コードの事前トレーニングから追加の推論機能を取得できるのでしょうか?正確な原因は現在不明であり、さらなる調査が必要です。おそらく、Codex のオリジナル バージョンのコード トレーニング (コード トレーニングのみを使用します。コードでトレーニングされた大規模言語モデルの評価を参照してください) がテキストからコードを生成し、コードには多くのテキスト コメントが含まれているためだと思います。これは本質的に「事前トレーニングされたモデルは 2 種類のデータのマルチモーダル アラインメントを行います」と似ています。データには、数学的または論理的問題のコード、記述、および注釈がかなりの割合で含まれているはずです。これらの数学的または論理的推論データが、下流の数学的推論の問題を解決するのに役立つことは明らかです。その理由はおそらくここにあると推測します。 LLM 推論機能に関する考察 過去 1 年間で、LLM の推論能力を刺激する技術の急速な進歩があり、技術的にも大きな進歩が見られましたが、全体的な感覚としては、私たちは正しい方向に進んでいるのかもしれないということです。しかし、問題の本質に到達するまでにはまだ長い道のりがあり、この問題についてさらに深く考え、調査する必要があります。 まず第一に、私は上記の分割統治アルゴリズムの主な考え方に同意します。複雑な推論問題の場合は、LLM の場合、それを多数の単純なサブ問題に分割する必要があります。 、サブ問題に正しく答える確率ははるかに大きいため、LLM にサブ問題に 1 つずつ答えさせ、最終的な答えを徐々に導き出します。 「最も少ないプロンプトから最も多いプロンプト」テクノロジーに触発されて、さらに考えてみると、LLM 推論は次の 2 つの可能性のいずれかになると思います。LLM と継続的に相互作用するグラフ推論問題、または継続的に LLM と相互作用するグラフ推論問題。 LLM との対話 LLM と対話するためのプログラム フローチャートの実行の問題。 #まずグラフ推論の問題について話しましょう。上の図に示すように、複雑な問題をサブレベルに分解する方法があるとします。 -問題またはサブステップ A ループ構造のグラフ構造は、特定のサブステップを繰り返すものです。上記のサブ問題分解図が得られると仮定すると、依存関係に応じたグラフ構造に従って LLM を段階的に導き、最終的な答えが導き出されるまで最初に回答する必要があるサブ質問に回答することができます。 。 プログラム フローチャートの問題について話しましょう。上の図を参照してください。複雑な問題をサブレベルに分解する方法があると仮定します。問題またはサブステップを抽出し、サブ問題を生成する プログラムのフローチャートに似たステップから構成される構造 一部のステップが複数回繰り返し実行される構造(ループ構造)であり、一部のステップの実行には条件判断が必要(条件分岐)。つまり、各サブステップの実行時に LLM と対話し、サブステップに対する答えを取得し、最終的な答えが出力されるまでプロセスに従って実行を続けます。このモデルに似ています。この考えがほぼ正しいと仮定すると、コードを追加することで事前トレーニング済みモデルの推論能力が向上する理由をこの観点から説明できる可能性があります。 マルチモーダル事前トレーニング済みモデルは、次のことを使用する可能性が高くなります。プログラム フローチャートは 2 つのモダリティ間の橋渡しとして機能し、テキストの説明から暗黙的なフローチャートに 2 つを接続し、フローチャートによって生成された特定のコードにマッピングします。 。言い換えれば、この種のマルチモーダル事前トレーニングは、テキストから暗黙的なフローチャートを構築し、フローチャートに従って実行する LLM モデルの能力、つまり推論能力を強化することができます。 もちろん、上記のアイデアの最大の問題は、LLM モデルやその他のモデルにどのように依存して、図で説明されている問題に基づいたグラフ構造やフローチャート構造を取得できるかということです。文章?これが難点かもしれません。考えられるアイデアの 1 つは、テキストとより高品質なコードの事前学習を強化し続け、内部の暗黙的な構造を暗黙的に学習する方法を採用することです。上記の考えに基づいて現在の CoT テクノロジーについて考えると、次のように理解できます: 標準的な CoT は実際にはグラフ構造やプログラム フローチャートを記述するために自然言語テキストに依存していますが、「最小から最大のプロンプト」テクノロジーは実際には自然言語テキストに依存しています。最後のグラフ ノードに基づいて後方推論に基づいてグラフ構造を推定しようとしていますが、現在の方法では後方推論の深さに制限があることは明らかであり、非常に単純なグラフ構造しか推定できません。これがその機能を制限するものです。 私が個人的に重要だと思う、または価値がある LLM 研究分野をいくつか紹介します。深層探査研究の方向性を決定します。 LLM モデルのスケール上限の探索 LLM モデルのスケールを押し広げ続けていますが、技術的な内容ではないようですが、実はこれは非常に重要です。私の個人的な判断では、Bert の登場以来、GPT 3、そして ChatGPT に至るまで、これらの目覚ましい主要な技術的進歩の中核となる貢献は、特定のテクノロジーではなく、LLM モデル サイズの成長によるものである可能性が高いです。 。おそらく、AGI を解き放つ本当の鍵は、超大規模で十分に多様なデータ、超大規模モデル、および十分なトレーニング プロセスです。さらに、非常に大規模な LLM モデルの作成には、技術チームの非常に高度なエンジニアリング実装能力が必要であり、本件が技術的内容を欠いているとは考えられません。 では、LLM モデルの規模を拡大し続ける研究の意義は何でしょうか?価値には2つの側面があると思います。まず、上で述べたように、知識集約型タスクでは、モデルのサイズが大きくなるにつれて、さまざまなタスクのパフォーマンスが向上し、さまざまなタイプの推論や困難なタスクでは、CoT が追加されることがわかっています。プロンプティング 最後に、その効果もスケーリング則に従う傾向を示します。したがって、当然の疑問は次のとおりです。これらのタスクについて、LLM のスケール効果はどの程度までこれらのタスクを解決できるでしょうか?これは私を含め、多くの人が懸念する問題です。第二に、LLM の魔法のような「創発能力」を考慮して、モデルのサイズを拡大し続けた場合、予期していなかった新しい機能がどのように解放されるでしょうか?これも非常に興味深い質問です。上記 2 点を考慮すると、さまざまな課題を解決するためのモデル サイズの上限がどこにあるのかを確認するには、引き続きモデル サイズを拡大する必要があります。 もちろん、このようなことは話すだけで、99.99% の実践者にとって、これを行う機会も能力もありません。そのためには、研究機関の資金力や投資意欲、エンジニアリング能力、技術的熱意が非常に高く要求され、その全てが不可欠です。これを行うことができる機関の数は、海外では最大 5 機関、国内では最大 3 機関と見積もられます。もちろん、コストの問題を考慮すると、将来的には、有能な複数の機関が連携して超大型モデルを構築する「共同ストック型大型モデル」が登場する可能性もあります。 LLM の複雑な推論能力を強化する LLM の推論能力については前述したとおりですが、LLM は最近改善されています。推論能力は近年大幅に向上しましたが、多くの研究 (参考: 算術および記号帰納法における言語モデルの制限/大規模な言語モデルはまだ計画できない) は、現時点では LLM が推論問題をより適切に解決でき、多くの場合比較的単純であることを示しています。 LLM の複雑な推論能力はまだ弱く、例えば、単純な文字コピー推論や加減乗除演算であっても、文字列や数値が非常に長い場合、LLM の推論能力は急激に低下します。行動計画能力 能力が非常に弱い。全体として、LLM の複雑な推論能力を強化することは、LLM に関する今後の研究において最も重要な側面の 1 つとなるはずです。 前述したように、コードの追加と事前トレーニングは、LLM 推論機能を直接強化する方向です。現時点ではこの方向の研究は十分ではありませんが、実際の経験を要約し、その背後にある原理を探求し、コード以外の新しいデータをより多く導入して LLM の推論能力を強化するという方向性かもしれません。より本質的には推論能力を向上させます。 LLM には、NLP 以外にも他の研究分野が組み込まれています 現在の ChatGPT は、NLP とコードのタスクに優れています。 AGIにつながる重要なシードプレーヤーは、画像、ビデオ、オーディオなどの画像とマルチモダリティをLLMに統合することであり、科学用AI、ロボット制御など、より明確な違いがある分野も、ゲートウェイであるLLMに徐々に含まれますLLM へ。AGI を使用する唯一の方法です。この方向性はまだ始まったばかりであり、研究価値は高い。 人々と LLM のためのより使いやすいインタラクティブ インターフェイス 前述したように、最大の技術的貢献は、 ChatGPTはこちらです。しかし、現在の技術が完璧ではないことは明らかであり、LLM が理解できないコマンドもたくさんあるはずです。したがって、この方向に沿って、人間が使い慣れたコマンド表現を使用し、LLM がそれを理解できるようにするためのより良い技術を探しています。これは新しくて非常に有望な技術方向です。 #高難易度の包括的なタスク評価データ セットの構築 優れた評価データ セットは、継続的なタスクのガイドとなるものです。テクノロジーの進歩の礎。 LLM モデルが徐々に増加すると、タスクのパフォーマンスが急速に向上し、多くの標準テスト セットがすぐに時代遅れになります。言い換えれば、これらのデータセットは既存の技術に比べて簡単すぎるため、難なくテストセットを行うと、現在の技術の欠陥や盲点がどこにあるのかわかりません。したがって、難しいテスト セットを構築することが、LLM テクノロジーの進歩を促進する鍵となります。 現在、いくつかの新しいテスト セットが業界に登場するはずです。代表的なものには、BIGBench、OPT-IML などが含まれます。これらのテスト セットは、既存の LLM テクノロジよりも難しい、さまざまな種類のタスクを統合するなど、いくつかの特性を反映しています。 ChatGPT に触発されて、実際のユーザーのニーズを反映するという別の考慮事項も追加で含めるべきだと思います。つまり、これらのタスクの表現は真にユーザーによって開始され、このように構築された LLM モデルのみがユーザーの実際のニーズを解決できます。 また、LLM の機能は NLP 以外の分野にもすぐに溢れ出すと考えており、他の分野の評価データをどのように取り込むかについても事前に検討する必要があります。 高品質のデータ エンジニアリング 事前トレーニング モデルの場合、データはその基盤であり、事前トレーニングの基礎となります。理解することは、データから知識を引き出すプロセスです。したがって、高品質データのマイニング、収集、クリーニングをさらに強化する必要があります。 # データに関しては、データの質と量という 2 つの側面を考慮する必要があります。。 T5 の比較実験に基づいて、量と質の 2 つの要素のうち、質が優先され、データの品質を確保しながらデータ サイズを増やすことが正しい道であると結論付けることができます。 データ品質には、データの情報量やデータの多様性など複数の尺度が含まれます。たとえば、Wiki は明らかに世界的に見ても知識密度が極めて高く、高品質なデータです。これは、内容に関する情報に基づいています。データ タイプの多様性を高めることは、間違いなく LLM のさまざまな新機能を刺激するための基礎です。たとえば、Q&A Web サイトからのデータを追加すると、LLM の QA 機能の向上に直接役立ちます。多様なデータにより、LLM はより多くの異なるタイプのタスクをより適切に解決できるため、これがデータ品質における最も重要な基準となる可能性があります。 データ量については、原則としてインターネット上に公開されているすべてのデータをLLMモデルの事前学習処理に含めることが可能です。では、その限界はどこにあるのでしょうか? 「データが不足するのか? 機械学習におけるデータセットのスケーリングの限界の分析」ではこれを推定し、高品質の NLP データは 2026 年頃までに使い果たされ、低品質の NLP データは 2030 年までに枯渇すると結論付けています。 . 2050年までに使い尽くされる一方、低品質の画像データは2030年から2060年までに使い尽くされるといわれています。これは、それまでに新しいタイプのデータ ソースを入手するか、LLM モデルのデータ利用効率を高める必要があることを意味します。そうしないと、モデル最適化に対する現在のデータ駆動型アプローチの進歩が停止するか、利点が減少します。 非常に大規模な LLM モデルのスパース化 Transformer 現在最大の LLM の中で、かなりの割合のモデルが With を採用しています。 GPT 3、PaLM、GLaM などのスパース構造では、GPT 4 はスパース モデル ルートに従う可能性が高くなります。スパースベースのモデルを使用する主な利点は、LLM のトレーニング時間とオンライン推論時間を大幅に短縮できることです。 Switch Transformer の論文では、同じ計算能力バジェットの前提の下で、Sparse Transformer を使用すると、LLM モデルのトレーニング速度が Dense Transformer と比較して 4 ~ 7 倍向上できると指摘しています。スパース モデルによってトレーニングと推論の時間が短縮されるのはなぜですか?これは、モデル パラメーターが膨大であるにもかかわらず、特定のトレーニング インスタンスに対して、スパース モデルはルーティング メカニズムを通じてパラメーター全体のごく一部のみを使用するためであり、トレーニングと推論に関与するアクティブなパラメーターの数は比較的少ないためです。速い。 将来的には、非常に大規模な LLM モデルが疎モデルに収束する可能性が最も高いと思います。主な理由は 2 つあります。1 つは、既存の研究 (参考: 大規模モデルは倹約的な学習者: トレーニングされたトランスフォーマーの活性化の希薄性) で、標準の高密度トランスフォーマー自体もトレーニングと推論中にまばらに活性化されること、つまり、コンポーネントの一部のみが活性化されることを示しています。パラメーターがアクティブ化され、ほとんどのパラメーターはトレーニングと推論のプロセスに参加しません。この場合、スパース モデルに直接移行したほうがよいかもしれませんが、さらに、LLM モデルの規模が拡大し続けることは間違いなく、高いトレーニング コストがモデルをさらに拡張する上での重要な障害となります。スパース モデルは、非常に大規模なモデルのコスト、トレーニング コストを大幅に削減できるため、モデルのサイズが大きくなるにつれて、スパース モデルによってもたらされる利点がより顕著になります。これら 2 つの側面を考慮すると、将来的には大規模な LLM モデルがスパース モデル ソリューションを採用する可能性が高くなります。 では、なぜ他の大規模モデルは現在、疎モデルのルートをとらないのでしょうか?スパースモデルは学習が不安定で過学習しやすいなどの問題があるため、うまく学習するのは簡単ではありません。したがって、スパース モデルが直面する問題を修正し、トレーニングしやすいスパース モデルを設計する方法は、今後の重要な研究の方向性です。 現在のさまざまな研究結果に基づいて、ChatGPT のような驚くべき効果を持つ LLM モデルを複製したい場合は、テクノロジーを選択する場合は、次の問題を考慮することに重点を置く必要があります: まず第一に、プレトレーニング モードには 3 つのオプションがあります: GPT、自己回帰言語モデル、Bert の双方向言語モデル、T5 のハイブリッド モデル (Encoder-Decoder アーキテクチャ、Encoder は双方向言語モデル、Decoder は自己回帰言語モデルを採用しているためハイブリッド構造ですが、その本質は依然として Bert モードに属します)。 GPT のような自己回帰言語モデルを選択する必要があります。その理由は、この記事のパラダイム シフトのセクションで分析されます。現在、国内の LLM がこの分野の技術選択を行っている際、多くの企業が Bert 双方向言語モデルや T5 ハイブリッド言語モデルといった技術的なルートを選択しているように見えますが、方向性が誤っている可能性が非常に高いです。 第 2 に、強力な推論能力は、ユーザーが LLM を認識するための重要な心理的基盤です。現在の経験によれば、LLM に強力な推論機能を持たせたい場合は、大量のコードとテキストを導入して、事前トレーニング中に LLM を一緒にトレーニングするのが最善です。。理論的根拠については、この記事の関連部分に対応する分析があります。 3 番目、モデル パラメーターのサイズをあまり大きくしたくないが、それでも十分な効果が必要な場合は、2 つの技術的なオプションを設定する必要があります。 : または、高品質のデータ収集、マイニング、クリーニングなどの作業を強化します。 これは、モデルのパラメーターを ChatGPT/GPT 4 の半分にすることができますが、同様の効果を達成するには、高い量が必要であることを意味します。 -高品質のトレーニング データは、ChatGPT/GPT 4 モデルの 2 倍のサイズである必要があります (Chinchilla のアプローチ)。モデルのサイズを効果的に削減できる別の方法は、テキスト検索 (検索ベース) を採用することです。 ) モデル LLM ルート # 。これにより、同等の効果を維持しながら、LLM モデルのパラメーター スケールを大幅に削減することもできます。これら 2 つの技術は相互に排他的なものではなく、相互に補完し合うものであり、言い換えれば、これら 2 つの技術を同時に使用することで、比較的小さなモデルサイズを前提として、超大型モデルに対しても同様の効果を得ることができます。 第 4 に、モデルの規模が大きいため、超大規模モデルのトレーニング コストが高くなりすぎるため、これを実行できる機関はほとんどありません。そして、上記の分析から、LLM モデルの規模を拡大し続けることは確実に起こることであり、実行されるべきであることがわかります。したがって、技術的手段によって LLM のトレーニング コストを削減する方法は非常に重要です。 LLM の特徴抽出器のスパース化は、モデルのトレーニングと推論のコストを効果的に削減できる技術的な選択です。したがって、モデルが大きくなるにつれて、LLM モデルのスパース化が考慮されるべきオプションになります。 は、データの多様性を高めることで新しい LLM 機能を追加するというアイデアに注意を払う必要があります。 6 つ目は、使いやすいマンマシン操作インターフェイスです。人間はタスクを説明するために独自の慣用的な表現を使用するため、LLM はこれらの指示の本当の意味を理解できる必要があります。さらに、これらの指示は人間の実際のニーズに沿ったものであること、つまり、タスクの説明は開発者自身の想像力や推測に頼るのではなく、エンドユーザーから収集する必要があることにも注意する必要があります。 ChatGPT: OpenAI を作成した理由 この記事の冒頭で、LLM に関する OpenAI の哲学について触れました。 OpenAI は LLM についてどう考えていますか?同社が継続的に導入してきたテクノロジーを振り返ると、GPT 1.0 以降、基本的に LLM が AGI への唯一の方法であると固く認識されていることがわかります。具体的には、OpenAI の観点から見た将来の AGI は、タスクに依存しない超大規模な LLM があり、大量のデータからさまざまな知識を学習し、この LLM がさまざまな問題を解決するためにすべてを生成するという現実的な問題を解決する必要があります。人間が使用できるように人間のコマンドを理解できるようになります。実際、前半の LLM 開発コンセプトの理解は、「タスクに依存しない非常に大規模な LLM を構築し、膨大なデータからさまざまな知識を学習させる」というものであり、これはほぼ全員の合意であり、OpenAI の実際のビジョンを反映していると言えます。 . 後半です。 。 OpenAIがChatGPTを作れるのは、比較的高い位置にあり、外部からの干渉を受けず、揺るぎない姿勢を持っているからである。 GPT 1.0 は、Bert よりも前にリリースされたパターン生成の自己回帰言語モデル ルートを採用しています。 Bert は、多くの NLP 理解タスクにおいて、双方向言語モデルが自己回帰の一方向言語モデルよりも優れたパフォーマンスを発揮することを証明しました。それにもかかわらず、GPT 2.0 は双方向言語モデルの道に切り替わらず、依然としてテキスト生成の道をたどり、ゼロショット プロンプトと少数ショット プロンプトを試し始めました。実はこの時点で、OpenAIの頭の中のAGIが表面化し始め、徐々にその輪郭が見えてきました。ゼロショット/フューショットの効果がバートの微調整よりもはるかに悪いという理由だけで、誰もがそれをあまり真剣に受け止めておらず、なぜ常に一方向の言語モデルルートに固執するのかさえ理解していません。現時点では、OpenAI 自身でさえ、この道が確実に機能することを保証できない可能性があると私は推測しています。 ただし、この道を続けることが妨げられるわけではありません。 GPT 3.0 は、比較的強力なゼロ ショット/フュー ショット プロンプト機能を実証しました。現時点では、OpenAI の頭の中の AGI は完全に水から漏れ出ており、明確な輪郭があり、その効果は、この道をたどる可能性が高いことも証明しています。 。 合格した。 GPT 3.0 は LLM の開発方向を決定する岐路であり分水嶺であり、これに対応するもう 1 つの道筋が「Bert 微調整」モデルです。この分かれ道では、異なる実践者が異なる道を選択し、ここから技術的な差が開き始めました。残念ながら、国内の多くの専門家は「バートの微調整」の道を歩み続けることを選択していますが、これは今日の後進的な状況を引き起こした重要な時点でもあります。 スケール効果: LLM がどんどん大きくなると何が起こるか##
ヒューマン コンピューター インターフェイス: コンテキスト学習から理解の指示へ
知恵の光: LLM の推論能力を強化する方法
学習への道: ChatGPT を複製するときに注意すべきこと
以上がポスト GPT 3.0 時代の大規模モデル テクノロジーを探索し、AGI の未来の実現に向けて前進するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。