Microsoftの言語モデルであるOrcaは、その独自のファインチューニング手法により人気を集めています。Orcaはプログレッシブラーニングと呼ばれる2段階のトレーニングプロセスを使用し、ChatGPTとGPT-4の応答を組み込んでいます。130億のパラメータを持つOrcaは、ベンチマークで優れたパフォーマンスを発揮し、Vikunaなどの他のモデルを上回る結果を残しています。モデルの重みは公開されていませんが、Orcaはオープンソースコミュニティでの関心を引き起こし、同様のモデルの開発を促しています。Microsoftの革新的な手法とOrcaの能力は大きな注目を集め、多くの人々の関心を惹きつけています。
公開日:2023年7月1日
※動画を再生してから読むのがオススメです。
マイクロソフトのこの大規模な言語モデルは、文字通りインターネットを席巻した。
つまり、YouTubeのインフルエンサーはもちろん、TwitterやLinkedInなど、あらゆる場所で人々がこのモデルについて話していた。
そして、実際にみんながこのモデルに魅了されていました。
このモデルはオルカと呼ばれ、マイクロソフトが開発したものです。
さて、人々がこのモデルに魅了された理由のひとつは、これがマイクロソフトから来たということでもある。
マイクロソフトはOpenAIと実に良好なパートナーシップを結んでおり、マイクロソフトは新しいモデルを発表した。
そして第二に、このモデルはGPT-4を模倣しようとしているだけだった。
それだけだ。
ここで重要なのは、彼らがビクナや他のモデルでやっていたように、GPT-4を模倣しようとしたわけではないということだ。
大規模言語モデルの訓練方法について、まったく根本的に新しいアプローチをとったのだ。
あるいは、大規模な言語モデルを微調整する方法と言うべきだろう。
それが、人々がVikunaに魅了された理由のひとつです。
そこでこのビデオでは、このモデルがどのように構築されたのか、そしてこのモデルが実際に何をしているのか、なぜ魅力的なのか、その詳細に迫りたいと思います。
そして、私たちを何へと導いてくれるのか?
まず始めに、モデルの微調整プロセス、つまり大規模言語モデルの微調整プロセスについてよくご存知でない方のために、大規模言語モデルの微調整方法について深く掘り下げた別のビデオを用意しました。
PIVを使って微調整を行いました。
しかし通常、大規模な言語モデルを微調整したいときはいつでも、微調整が何なのかわからない場合は、生のモデルを使うことを思い浮かべてください。
まず最初に、大きな、本当に未加工のモデルを持つのです。
その生モデルを使って、あるデータセットを追加します。
自分のデータセットを追加するのです。
例えば、その中にいくつかのデータがあるとします。
そして、そのデータをこの生モデルに使って、新しい赤ちゃんモデルを作るのです。
それが微調整です。
この赤ちゃんモデルは、理想的には、モデルに与えられた特定のタスクにおいて、生モデル(ベースモデル)よりも優れた結果を出すはずです。
このプロセスは通常、教師ありファインチューニング(SFT)と呼ばれ、インストラクター・ファインチューニングとも呼ばれます。
つまり、モデルを微調整するための一連の命令があるわけです。
あるいは、監視が行われていて、そのデータセットを使ってモデルを微調整している、と言うこともできます。
これが典型的な微調整プロセスです。
典型的な微調整プロセスには、2つのものが必要です。
まず、プロンプトが必要です。それはモデルに与える質問や指示のことです。
そして、モデルの応答、どのような応答を持っているかです。
だから、例えばヴィクーナのようなモデルは、チャープトから反応を得ているんだ。
プロンプトとレスポンス、そしてLLaMAのようなベースモデルを使い、それをこの特定の指示の中で微調整しようとする。
そして、赤ちゃんモデル、子どもモデル、生徒モデルなど、呼び方は何でもいいのですが、こうしたモデルを作ろうとするのです。
これが業界で起こっていることです。
しかしオルカでは、これらのモデルをどのように微調整するかという、まったく新しいパラダイムを手に入れたのです。
それをプログレッシブ・ラーニングと呼び、あるところでは説明学習と呼んでいる。
プログレッシブ学習であれ、説明学習であれ、オルカで起きていることは次のようなことだ。説明チューニングの概念において、単純なプロンプトとレスポンスの代わりに、システム・メッセージ、プロンプト、そしてレスポンスがある。
さて、システムメッセージとは何でしょうか?
もし私たちがAPIを介してChargptを使用した場合、システムメッセージは次のようなものになります: あなたは本当に優れたコーダーですね と言って、あなたは問題を解決する必要があります。
または、おそらくChatGPTに「あなたは教師です」と言うかもしれません。そして、この問題を解決する必要があります。
つまり、この大きな言語モデルに文脈を設定することで、彼らが与えられた役割の振る舞いをするように、あるいは模倣するようにするのです。
例えば、ChatGPTに医学的な問題を解かせたいのであれば、最初はChatGPTに医者のように振る舞えと言うでしょう。
そして同じように、すべてのプロンプトはシステムメッセージを伴います。
そして、説明チューニングでやっていることは、まず、システムメッセージをプロンプトとレスポンスと一緒に表示することです。
これが従来のプロンプトや従来の指示の微調整から見て最初の大きな変化です。
このようなことを行った後、チューニングは1つのフェーズで行われるわけではありません。
微調整は2つの異なるレベルで行われる。
最初の微調整はChatGPTのレスポンスで行われます。
ChatGPTは中間的な教師として機能します。
システムメッセージがあり、プロンプトがあり、そのプロンプトに対するChatGPTメッセージがあります。
この場合、ChatGPTはどう答えるのか?
これがトレーニングの第一レベルです。
2つ目のトレーニングレベルでは、Flanの同じデータセットに対して、Flanモデルのプロンプトを使っています。
GPT-4の回答を使っている。
つまり、最初のレベルはChatGPTによって教えられ、2番目のレベルはGPT-4によって教えられます。
だから、想像してください。あなたが生徒で、例えば幼稚園の下のクラスにいるとします。あなたはあることを学びますが、それは上のクラスで得る知識に蓄積されます。
そうすることで、最終的に一流校に進学した時に、より良いものを理解できるようになる。
同じように、ある特定のフェーズでモデルをトレーニングしたり、モデルに膨大な量のデータを持たせたりするのではなく、これは明確に作られたプロセスであり、まず第一に、システム・メッセージを使って何をすべきかをモデルに指示する。
そして2つ目は、ChatGPTレスポンスとGPT-4レスポンスの2つのレベルの微調整です。
このことは、大規模な言語モデル、いわゆるLFM(Large Foundation Models)に大きな影響を与えます。つまり、大規模な基礎モデルはある特定のことに関しては本当に優れているのですが、人がそれを微調整すると、これらのモデルは模倣を学習するのですが、推論プロセスを持たないのです。
しかし、130億パラメータモデルのオルカは、大規模な基礎モデルや大規模な言語モデルの推論プロセスを模倣するように学習する。
そしてあるベンチマークでは、OrcaはGPT-4に次いで2位なのだ。
Orcaは130億のパラメーターを持つモデルだ。
それほど高価なモデルではありませんが、それでも本当に良い仕事をしてくれます。
実際、GPT-4と同じく130億のパラメータを持つモデルですが、ビクナと比較した場合、ベンチマークや複雑なゼロショット推論において100%優れています。
それは主に、彼らがこのトレーニングプロセス全体をどのように行っているかによるものであり、それは彼らが説明トレーニングまたは説明チューニングと呼んでいる方法です。
それが可能なのは、ある理由があるからです。
ひとつは、システム・インストラクションです。
つまり、システム・インストラクションが大きな役割を果たしているのです。
また、データセットをどのように構築するかということについても詳しく説明しています。
システム・メッセージ、ユーザー・クエリー、そしてChatGPTやGPT-4のようなモデルからのレスポンス。
つまり、2つのレベルがあるということです。
一つはChatGPTから、もう一つはGPT-4からです。
そして、これらのプロンプトはFlan V2コレクションから収集されたものです。
さて、このモデルとモデルのパフォーマンスを見てみると、このモデルがどのように機能しているかという点では、実は非常に優れています。
その理由のひとつは、なぜ2段階のアプローチを使ったのか、ということです。
1つは、まずFlan 500万データセットにChatGPTを加えてOrcaを訓練する。
もうひとつは、データセットからサンプリングしているGPT-4オーグメンテーション付きのFlan 100万データセット。
つまり、ChatGPTは中間的な教師アシスタントとして使われている。
1つは、コストと時間に対するキャパシティのギャップを埋めることです。
つまり、もちろんGPT-4はChatGPTよりもずっとずっと安い。
GPT-3.5ターボはGPT-4よりもずっとずっと安い。
また、料金の制限もあります。
ある特定の時間の間に、何回の呼び出しを行うことができるか、という点で。
だから、そのギャップを埋めるために、ただ模倣を学ぶだけでなく、推論を学ばせるようにしたんだ。
また、コストと時間の面でも、ChatGPTとGPT-4の2つの学習レベルがあります。
ベンチマークを見れば、このモデルがどのように驚異的な成果を上げているかが実際にわかります。
ゼロ・ショット・セレクションやその他のセットアップに対して、このモデルが本当に良い仕事をしているのがわかります。
例えば、このベンチマークを見てください。
これは人間の平均値で、青い色の線、緑色の線はOrca 130億です。
灰色の線はStar GPTで、黄色の線はGPT-4です。
この特別な評価を見ると、オルカが本当に優秀で、複数のケースでChatGPTに次いで、実際、複数のケースで人間よりも優れていることがわかります。
あなたは見ることができます。これは、人間よりも、例えばSATのような数学の問題で良い結果を出しています。他の場合でも、実際にはひどいモデルではないことがわかりますし、他のいくつかの場合では非常に良い結果を出しています。
例えば、ChatGPT、GPT-4、Vikunaの130億パラメータ・モデルなら、Vikunaよりもずっと優れています。
ビクナのモデルを見てください。
幾何学的形状コード3.6、チャット・オルカはビクナより477%優れています。
表として言われる何かを見てみましょう。例えば、ペンギンです。
これは46で、これは57です。
そしてもう1つ、テンポラル・シークエンスがあります。
私たちは16を持っているかもしれません、これは72です。
ベンチマークは1つだけではありません。
オルカがGPT-4に次いで2位と健闘しているベンチマークはたくさんあります。
GPT-4を見ると、GPT-4は非常に高価なモデルです。
GPT-4は1日ではトレーニングできない。
しかしオルカを見ると、20台のNVIDIA A100でトレーニングされている。
つまり、文字通り数日前に、インフレクションAIが22,000台のNVIDIA A100を発注したことがわかりました。
この中に、80ギガのメモリを搭載した20個のNVIDIA A100 GPUが見えます。
ChatGPTオーグメンテーションを使ったOrcaのトレーニングには、4エポックで160時間かかりました。
そして、GPT-4オーグメンテーションでFlan 100万データセットのトレーニングを同じエポック数、4エポックで続けるのに40時間、これが160時間、これが40時間です。
つまり、ここで4エポック、ここで4エポック、ここで160時間、ここで40時間。
実際のトレーニングに必要な時間はこれだけだ。
データセットの収集には、GPT-3.5ターボ(ChatGPT)から2週間、そしてGPT-4から複数のエンドポイントで3週間かかりました。なぜなら、これらのものにはレート制限があるからです。
つまり、2プラス3は5週間に相当します。
そして、200時間、200時間となります。
例えば1週間とすると、5週間プラス1週間で、ほぼ7週間になります。
GPT4の隣にしかないモデルです。
つまり、もちろん、もしGPT4が存在しなければ、Orcaも存在しないと主張することができます。だって、OrcaはGPT4を模倣しようとしているんですよ。それは完全に理解できます。
しかし、ここでも問題なのは、GPT4ほどデータを必要としなかったということだ。
GPT4ほど計算を必要としなかった。
そして、良いトレーニングプロセス、手作りのデータセット、本当に良い教師モデルがあれば、オルカは他のどんな微調整モデルよりもずっとずっと良い結果を出している。
オープンソースの大規模言語モデルのエコシステムにいるのであれば、これは非常に良いことだ。
これは本当に素晴らしいことです。
全体として、オルカは本当に素晴らしいということがわかりました。
説明の微調整が素晴らしい。
漸進的な学習も素晴らしい。
そして、これはマイクロソフトの素晴らしい取り組みであり、アプローチのようなものです。
モデルの重みは公表されていない。
彼らは法務部門と話し合いながら、モデルの公開方法についてまだ検討中だと言っていました。
だから、それはまだある。
しかし、この論文の方向性は、多くの人々にアイデアを与えている。
そして、オープンソースのモデルがすでに登場しているのを見ることができる。
例えば、オルカ・ミニ3B。
アパッチ2.0ライセンスのオープン・オルカがある。
そして、人々はOrcaの論文で共有されている哲学と基本原則を使い始めました。
そして、人々はモデル自体を公開し始めました。
私はまだ個人的にこのモデルを使ったことがないので、このモデルがどれほど優れているかはわからない。
しかし、この種のモデルが出始めている。
例えば、Hugging Face model homeでOrcaを探し始めると、Orca Mini 130億、Orca Mini 30億、そして同じモデルのBlokes GCMLバージョンを見ることができます。
データセットもありますし、オルカのウィザード・エレメントも公開されています。
つまり、Orcaのようなトレーニングを微調整するのに役立つオープンソースのデータセットがあります。
それから、130億と30億のパラメータ・モデルもあります。
実際、GGMLモデルを含め、このオープンなオルカのデータセットで微調整されたモデルを使うことができます。
つまり、これはファインチューニングの世界におけるまったく新しい方向性のように思える。
そしてマイクロソフトは、この新しいモデルでこの新しい成長の種をまいたようだ。
だから、作者たちに賛辞を送りたい。
そして、実に優れた能力を持っている。
例えば、GPT-4と比較してみてください。また、他の利用可能なモデルと比較しても、Orcaは本当にとても優れています。
私はとても驚いている。
これは素晴らしいアプローチだ。
まるで生徒を訓練する方法に似ている。
大規模な言語モデルを微調整できる、あるいは、大規模な言語モデルやベースモデルを模倣できるような、模倣だけでなく推論もできるような大規模な言語モデルを見つけることができるという事実は、非常に素晴らしいことです。
だからこそ、オルカはインターネットを席巻したのでしょう。
みんながそれについて話していました。
そして、僕はこのモデルをずっと見てきた。
残念なことに、今、このことについてビデオを作る時間があるんだ。
コメント欄でオルカについてどう思うか教えてください。
オルカ・ミニのようなオープンソース・モデルのオルカを試しましたか?
あるいは、私に答えてほしい他の質問があれば、また別のビデオでお会いしましょう。
それではまた。