見出し画像

【WizardLM】英語解説を日本語で読む【2023年4月27日|@WorldofAI】

WizardLMの解説です。
公開日:2023年4月27日
※動画を再生してから読むのがオススメです。


Hey, what is up guys, welcome back to another YouTube video at the WorldofAI.

WorldofAIのYouTubeビデオにまたまたようこそ。

In today's video, I'm going to be showcasing a new project called WizardLM, which is an exciting new project that aims to enhance large language models, and this is by improving their ability to follow complex instructions.

今日のビデオでは、WizardLMという新しいプロジェクトを紹介します。これは大規模な言語モデルを強化することを目的としたエキサイティングな新しいプロジェクトで、これは複雑な指示に従う能力を向上させるというものです。

Language models like OpenAI's ChatGPT have already demonstrated impressive language generations, and we've seen that with their capabilities of how it actually demonstrates this with artificial intelligence.

OpenAIのChatGPTのような言語モデルはすでに印象的な言語生成能力を示し、それが人工知能を用いてどのように実現されているかの能力を見ることができます。

But the ability to follow instructions presents a unique challenge for these models.

しかし、指示に従う能力は、これらのモデルにとってユニークな挑戦となります。

Creating large amounts of instruction data with varying levels of complexity is quite time-consuming and labor-intensive.

複雑さのレベルが異なる大量の命令データを作るのは、かなり時間と手間がかかる。

Humans may also struggle with the production of high complexity instructions, and this is something that we've seen with different models such as OpenAI.

また、人間は複雑性の高い命令の作成に苦労することがあり、これはOpenAIのような異なるモデルでも見られることです。

Not to tackle this, the proposed solution is to use LLMs themselves to generate the instruction data.

そこで、LLMそのものを使って命令データを生成するという解決策が提案されています。

This is something done by using EvolveInstruct, which is a method that the researchers of this project have constructed.

これは、本プロジェクトの研究者が構築したEvolveInstructというメソッドで行います。

From this, they're able to evolve the instruction data that is being used to fine-tune the LLM, resulting in the creation of this actual project called the WizardLM.

これにより、LLMの微調整に使われる命令データを進化させることができ、WizardLMというプロジェクトが誕生しました。

In today's video, we're going to be demonstrating how you can actually do so.

今日のビデオでは、実際にどのようにできるかをデモします。

We're going to take a look at a deeper analysis of what the project is trying to accomplish, some of the benefits, limitations, as well as taking a deeper dive in comparing ChatGPT with WizardLM's complexity of data, as well as contextual generation.

このプロジェクトが何を達成しようとしているのか、その利点や制約、そしてChatGPTとWizardLMのデータの複雑さや文脈生成に関する深い比較を見ていきたいと思います。

So with that thought, guys, if you guys haven't seen any of my previous videos, I highly recommend that you do so.

もしまだ私の過去のビデオをご覧になったことがなければ、ぜひご覧になってください。

There's a lot of content and a lot of value that you will definitely benefit from.

多くのコンテンツがあり、多くの価値から間違いなく利益を得ることができます。

So if you guys aren't subscribed, please do so, turn on the notification bell, like this video as I would really, really appreciate it, guys, so please do it.

もし、まだ購読していないなら、購読して、通知ベルをオンにして、このビデオに「いいね!」してください、本当に、本当に感謝します。

And with that thought, let's get right into the video.

それでは、さっそくビデオに入りましょう。

So how does this actually follow through with their approach?

では、実際にどのように彼らのアプローチを貫いているのでしょうか?

Well, the proposed EvolveInstruct consists of two main components, and that is the Instruction Involver and Instruction Filter, and we can see this through this filter over here.

さて、提案されたEvolveInstructは、主に2つのコンポーネントで構成されています。それは、Instruction InvolverとInstruction Filterです。

Now, the Instruction Involver is responsible for generating a large number of open domain instructions of varying levels of difficulty using LLMs.

インストラクション・インボルバは、LLMを使って難易度の異なるオープンドメイン命令を大量に生成する役割を担っています。

Now, this is achieved by using five types of operations for in-depth evolving: adding in a constraint, deepening, criticizing, increasing reasoning steps, and complicated input.

制約の追加、深化、批判、推論ステップの増加、複雑な入力という5種類の操作で、深化進化を実現するのです。

As well as an in-breadth evolving, which generates complex new instructions based on the given task.

また、与えられた課題に基づいて複雑な新しい命令を生成するインブレッド・エボルビングも同様です。

And we can see this with this approach in this diagram over here, where you start off with the initial instruction, you go off to doing different things in the in-depth evolving, which focuses on the five types of operations.

この図で示されているアプローチで、最初の指示から始めて、深さ優先進化で5種類の操作に焦点を当てたさまざまなことを行っていくことができます。

And these constraints basically will focus on different things that basically help you with the initial instruction that is given and explores different ways to evolve your answer by looking at complex answers to do so.

これらの制約は、基本的に、与えられた最初の指示に役立つさまざまなことに焦点を当て、そのために複雑な答えを見ることによって、答えを進化させるさまざまな方法を探ります。

And this is all done by utilizing LLMs.

そして、これはすべてLLMを活用することによって行われます。

And the great thing is that it is sent to an instruction pool, and it refines the foundation LLM.

そして、素晴らしいのは、それがインストラクションプールに送られ、基礎となるLLMを洗練させるということです。

In this case, I believe they use Alpaca, and their parameter is only 8 billion, which is one of the limitations we will talk about later on.

この場合、Alpacaを使っていると思いますが、そのパラメータは80億しかなく、これは後ほどお話しする制限の一つです。

But it's something of a great type of model that could be utilized for different sizes of LLMs, as the complexity of answers are quite impressive compared to like ChatGPT.

しかし、ChatGPTのようなLLMと比較して、答えの複雑さが非常に印象的なので、さまざまなサイズのLLMに活用できる素晴らしいタイプのモデルです。

And this is something that we're going to look at later on in the video.

この点については、後ほどビデオで見ていきます。

And from this diagram, we can see that sometimes there's elimination of evolving, which basically takes out and cuts out the relevant data, and that is all sent to an instruction pool.

この図から、進化を排除することがあり、関連するデータを取り除くことがあることがわかります。これらはすべて、指示プールに送られます。

And we can see that with the creation of WizardLM in this approach.

そして、このアプローチではWizardLMの作成でそれを見ることができます。

Now, I'll show you another diagram that talks a little bit more about this.

さて、このことについてもう少し詳しく説明する別の図をお見せしましょう。

And this is where there's a flowchart of the evolve-instruct method, which is basically for the people who do not know, it's an automatically generating open domain instruction of varying levels of difficulty using different LLMs.

ここでは、進化指示法のフローチャートがありますが、これは、異なるLLMを使用して、開放ドメイン指示を自動的に生成し、難易度を変える方法です。

In this case, the process starts off with the initial 1 plus 1 instruction and is then sent out through two different types of selections: the in-depth evolving or the in-breadth evolving to upgrade the initial instruction to a more complex task.

この場合、プロセスは最初の1プラス1の指示から始まり、それを深さ優先進化または幅優先進化の2種類の選択に送り出して、最初の指示をより複雑なタスクにアップグレードします。

And we can see that it also utilizes the five types of operations in this actual diagram.

そして、この実際の図では、5種類のオペレーションを利用していることもわかります。

And these operations are implemented by prompting an LLM with a specific prompt.

そして、これらのオペレーションは、LLMに特定のプロンプトを出すことで実行されます。

Now, the in-breadth evolving, on the other hand, generates a completely new complex instruction based on the given instruction that we gave initially.

さて、一方、インブレッド・エボルビングは、最初に与えた命令に基づいて、まったく新しい複雑な命令を生成します。

And this is a quite unique way to actually go about with complex, as well as tasks that you're trying to achieve with a different system, such as WizardLM.

これは、WizardLMのような別のシステムで実現しようとしている複雑なタスクを、実際に進めていくための非常にユニークな方法です。

And this is why I personally find it quite advanced, as well as how it actually goes by solving such simple manual instructions, such as 1 plus 1.

このように、1+1などの簡単なマニュアルを解くことで、私自身は非常に高度だと感じています。

We can see that you're able to get such defined, as well as refined answers with such a simple question.

このような簡単な質問で、定義された、そして洗練された答えを得ることができるのです。

And it also goes around by, maybe in this case, it might be a little bit irrelevant, but this is one of the approaches that they go by, by eliminating different types of basic answers.

また、この場合、ちょっと関係ないかもしれませんが、さまざまなタイプの基本的な答えを排除することで、アプローチすることもあります。

But the only thing that I can think about that is a limitation to this is that it utilizes a lot of hardware and tokens to do so.

しかし、私が考える唯一の限界は、そのために多くのハードウェアとトークンを利用していることです。

So that might be the only thing that could be a hinder for the actual approach.

ですから、実際のアプローチの妨げになり得るのは、その点だけかもしれません。

But it is something that you might not want to use for such simple tasks.

しかし、このような単純な作業には使いたくないものです。

It is something that you would want to use for complex solving of like very hard problems, so that you're able to get the best generative answer.

非常に難しい問題を複雑に解決し、最適な生成解を得るために使用したいものです。

And this is something that could be used and utilized for a lot of different things in that certain case.

このように、様々なことに利用することができるのです。

So as we talked about previously, WizardLM offers several benefits in the field of large language models for instruction following tasks.

前回お話したように、WizardLMは命令に従うタスクのための大規模言語モデルの分野において、いくつかの利点を提供します。

Now one of the main benefits that I was able to think about is that the ability to generate a large amount of open data for open domain instructions of varying complexity levels.

さて、私が考えることができた主な利点の1つは、複雑さのレベルが異なるオープンドメインの命令について、大量のオープンデータを生成することができるということです。

And this is in an automated manner without the need for time consuming and labor intensive manual creation by humans.

しかも、これは自動化された方法で、人間による時間のかかる手動の作成は必要ありません。

And this is achieved obviously by using their Evolve Instruct method, which utilizes LLMs to generate instructions with different levels of complexity and diversity.

そしてこれは、LLMを活用して複雑さと多様性のレベルが異なる命令を生成する、同社のEvolve Instructメソッドを使うことで明らかに達成されます。

So not only are you taking it, making it more efficient and effective, but you're able to get such a complex answer with a beneficial way of solving your task.

つまり、単にそれを受けて、より効率的で効果的なものにするだけでなく、課題を解決するための有益な方法で、そのような複雑な答えを得ることができるのです。

Now additionally, I've also believed that WizardLM has shown promising results in improving the performance of LLMs and instruction following tasks.

さてさらに、私はWizardLMがLLMや命令追従タスクのパフォーマンス向上において有望な結果を示しているとも考えてきました。

And we can see that with their evaluation.

WizardLMの評価を見れば一目瞭然です。

They're basically achieved a significant better results than Alpaca as well as Vaikunas 7 billion parameter.

WizardLMは、AlpacaやVaikunasの70億パラメータよりもはるかに優れた結果を出しています。

And this is something that you can see in their actual paper.

これは、彼らの実際の論文にも書かれていることです。

They experimented on three different LLM baselines, which is ChatGPT, Alpaca, and Vaikunas.

ChatGPT、Alpaca、Vaikunasの3種類のLLMベースラインで実験しています。

And with this, the experiment details also entail some of the training data as well as like the weights to how they actually approach these numbers.

また、実験の詳細には、トレーニングデータや、実際にこの数値に近づくためのウェイトなども含まれています。

So I highly recommend that you read this paper to get a better understanding of how they actually approached it.

ですから、この論文を読んで、彼らが実際にどのようにアプローチしたのか、より深く理解することを強くお勧めします。

Now obviously such an amazing project like this is obviously going to have some sort of limitation.

さて、このような素晴らしいプロジェクトには、当然ながら何らかの制約があるはずです。

Now it's quite reasonable to think so because although WizardLM offers so many different benefits, there are some limitations to consider.

なぜなら、WizardLMは非常に多くの利点を提供しますが、考慮すべきいくつかの限界もあるからです。

And one of that is that a WizardLM is still lags behind with ChatGPT.

その1つは、WizardLMがChatGPTに遅れをとっていることです。

Now this is only in some, like not some, but like in many aspects actually because it's basically indicating the further improvements that are actually going to be needed to make this system a little bit better.

これは多くの点で実際にそうであり、基本的にはこのシステムを少し改善するために必要となるさらなる改善を示しています。

Now this is because of the actual token size that is with WizardLM compared to ChatGPT.

これは、WizardLMがChatGPTと比較して実際のトークン・サイズが大きいためです。

Now the paper doesn't actually emphasize a little bit on providing specific details for the size of data sets used to train Wizard LM.

この論文では、Wizard LMの訓練に使用したデータセットのサイズについて、具体的な詳細を提供することをあまり強調していません。

But it does mention that the fine-tuning process for WizardLM uses a mix of generated instruction data with varying levels of complexity.

しかし、WizardLMの微調整プロセスでは、さまざまなレベルの複雑さを持つ生成された命令データを混合して使用していることに触れています。

Now in comparison to OpenAI's ChatGPT model referenced in this paper, we're able to see that the training data sets size is only 8 billion for Wizard LM, whereas ChatGPT is significantly larger guys, like when I mean significantly, it's in the trillions.

この論文で参照されているOpenAIのChatGPTモデルと比較して、Wizard LMのトレーニングデータセットのサイズは80億にすぎないのに対し、ChatGPTは非常に大きく、何兆もの規模だということがわかります。

So the training size obviously is going to differ because of how small the team is as well as how small the resources that they are provided with.

つまり、チームの規模や提供されるリソースが小さいため、トレーニングの規模は明らかに異なるのです。

And their main use is not to replicate what ChatGPT is trying to accomplish, but in a way they're trying to follow along with their instruction based model in which they can utilize and efficiently produce better complex answers.

彼らの主な目的は、ChatGPTが達成しようとしていることを再現することではなく、指示ベースのモデルに沿って、より複雑な回答を効率的に生成できるようにすることです。

And this is where I go on to the next step of the video, where I'm going to showcase some of the actual examples of how it differs from ChatGPT with its complex data as well as its generative content.

次に、ビデオの次のステップに進み、ChatGPTと比較して、複雑なデータや生成内容の点でどのように異なるかを実例で示します。

So the research team actually focused on different components, they talked about the skill level of academic writing, they focused on code generation, and I believe they also focused on one last thing, which was a sport.

研究チームは実際に様々な要素に着目し、アカデミックライティングのスキルレベルについて話し、コード生成に着目し、最後にもう一つ、スポーツにも着目していたと思いますね。

Now we can see the actual comparison in developing such answers with difficult, complex tasks.

このように、難解で複雑な課題に対する答えを開発する際に、実際に比較することができるのです。

Now in this case they give it an instruction of how can you generate a latex code for a table given its data, etc etc, and basically from this we're able to get such a complex as well as an accurate answer of what the actual instructions were entailing.

この場合、与えられたデータなどをもとに、テーブルのLaTeXコードを生成する方法を指示しており、これによって、実際の指示内容を非常に複雑かつ正確に把握することができます。

And when you compare it to ChatGPT, you're not able to get the same sort of result, and this is the same cause as well as the same idea that you would get for the code generation.

そして、ChatGPTと比較すると、同じような結果は得られません。これは、コード生成と同じ原因であり、同じ考えです。

You ask it to write a simple version control system using C++, and from this, we're able to see that the actual WizardLM is able to generate such a complex as well as a very detailed answer and response.

C++を使って簡単なバージョン管理システムを書くように頼むと、WizardLMが非常に複雑で詳細な回答と対応を生成できることがわかります。

Whereas ChatGPT isn't also able to provide that type of answer.

一方、ChatGPTはそのような答えを出すことができません。

And you're able to see that with the different types of examples over here.

このように、さまざまなタイプの例で見ることができます。

Obviously in some cases ChatGPT might be better, but in most of the cases with complex answers or instructions, you're able to get the best type of answer with wizard LM.

もちろん、ChatGPTの方が優れている場合もありますが、複雑な回答や指示の場合、Wizard LMで最適な回答が得られることがほとんどです。

Now I wanted to do a little test, and I'm going to show you guys in comparison of how you can actually utilize the actual complex approach with wizard LLM in comparison to ChatGPT.

そこで、ChatGPTと比較して、wizard LLMで実際に複雑なアプローチをどのように活用できるかを、少しテストしてみたいと思います。

Oh, I was just trying to compare it myself to see how the detailed response is basically outputted with Wizard LM.

あ、私自身は、ウィザードLMで基本的に詳細なレスポンスがどのように出力されるかを比較しようとしただけなんですけどね。

I basically asked it to write a detailed story on the first moon mission and the impact it had on society, and we were able to get quite a detailed response as to what it's trying to do.

基本的には、最初の月面ミッションとそれが社会に与えた影響に関する詳細な物語を書くように頼んだところ、かなり詳細な回答が得られました。

Now I also asked ChatGPT, and it was also able to give me a good answer as well, because it's able to search as well as utilize its data sets to do so.

ChatGPTにも聞いてみたのですが、こちらも検索やデータの活用ができるので、良い答えが返ってきました。

But I believe it's more the use case of this is more for instruction, more detailed instruction-based prompts.

しかし、私は、このユースケースは、よりインストラクション、より詳細なインストラクションベースのプロンプトに適していると考えています。

So if you're asking it different things such as like an accounting solution, I was just testing it out.

例えば、会計ソリューションのように、さまざまなことを尋ねる場合、私はそれを試してみただけなのです。

In this case, I was just like asking it, if can you solve this question for me on a cruel basis, and basically what the system will do is it'll take the approach to solve it by using the framework that we talked about previously.

この場合、私はそれに、この問題を私のために解決できますか、と尋ねるようなことをしましたが、基本的にシステムは、前述のフレームワークを使用して解決するアプローチを取ります。

And obviously, if you were to give this to ChatGPT, it's not going to be able to formulate that instruction-based complex question that you give it.

そして、これをChatGPTに与えたとしても、指示ベースの複雑な問題を作成することはできません。

This is because it's able to do certain things, but it has certain limitations, whereas WizardLM is able to actually continuously work towards solving it because of its framework, which we talked about.

これは、特定のことができる一方で制限もあるのに対し、WizardLMは私たちが話したフレームワークのおかげで実際に問題解決に取り組むことができるためです。

And this is one of the great things about this project, guys, because this is going to be quite very beneficial in the future.

これは、このプロジェクトの素晴らしい点のひとつです。

And lastly, just to end off on a good note, or not a good note, but something to actually note is that this is for research paper or research reasons only, so you're not going to be able to use it for commercial purposes at the current moment.

最後に、良いお知らせではないですが、注目すべき点として、これは研究論文や研究目的のためのものであり、現時点では商用目的で使用することはできません。

It's something that they're going to continuously work towards achieving later on.

後々、継続的に実現に向けて取り組んでいくものなんです。

So keep a tab on this project, guys, because it's going to be quite revolutionary in terms of fine-tuning different large language models.

このプロジェクトは、大規模な言語モデルを微調整するという意味で、非常に画期的なものになると思いますので、皆さん、注目しておいてください。

So I hope you found this video quite informative.

このビデオ、参考になりましたでしょうか?

It's something that will be quite revolutionary for a lot of different large language models in terms of fine-tuning them.

多くの異なる大規模言語モデルの微調整という点で、かなり革命的なものになるはずです。

So I hope you found this video quite informative, guys.

このビデオはとても参考になると思います。

If you guys want to check out some of my previous videos, there's a lot of content that you will definitely benefit from.

もし、私の過去のビデオをチェックしたいのであれば、間違いなく有益なコンテンツがたくさんあります。

And with that thought, guys, please subscribe, turn on the notification bell, and I'll definitely catch you guys next time.

それでは、また次回もよろしくお願いします。

Peace out, fellas.

では、また。

Have an amazing day.

素晴らしい一日をお過ごしください。


この記事が気に入ったらサポートをしてみませんか?