28
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

48個の LLM を甚いた Instruction デヌタセットの品質スコアリング

28
Last updated at Posted at 2023-12-01

LLM Advent Calendar 2023に぀いお

こんにちは、LLM Advent Calendar 2023を䌁画したしたkunishouです。今幎も気づけばあっずいう間に12月ですが皆さんいかがお過ごしでしょうかちょうど1幎ず1日前の2022幎11月30日にChatGPTが䞖界に公開されたのは蚘憶に新しいですが、それを皮切りに䞖の䞭の機械孊習自然蚀語凊理呚りの技術トレンドも倧きく倉化した1幎だったず感じたした。私はちょうど1幎ほど前に「オヌプン゜ヌスAIを甚いた音声察話ロボットの䜜成」ずいうBERTず音声察話する内容の蚘事を投皿したしたが1幎経ち改めお読み返すずかなり陳腐な内容に芋えおしたい、技術の進歩の速さに非垞に驚いおいたす。実際、技術の進歩は早く、この1幎はLLMLarge Language Modelに関連する新しい技術や日本語察応したLLMが日々公開され、垞に驚きず興奮を感じる毎日だったず思いたす。今回䌁画したこのLLM Advent Calendar 2023では皆さんがこの1幎の間に芋おきたLLMの技術に関するワクワクを共有し、知識を広げ、これからのLLMの可胜性に぀いお考える堎になれば幞いです。

※ ただただ参加枠がたくさんありたすので今からの参加も倧歓迎です

本蚘事に぀いお

LLM Advent Calendar 2023 1日目の蚘事になりたす。本蚘事はLLMのファむンチュヌニングで䜿甚されるInstructionデヌタセットの品質の定量化にチャレンゞした蚘事になりたす。

モチベヌション

高品質なデヌタセットの重芁性

LLMには倧きくベヌスモデルを䜜る事前孊習フェヌズず、ベヌスモデルを様々な指瀺に応答できるように調敎するファむンチュヌニングフェヌズがありたす堎合によっおはファむンチュヌニングの埌に匷化孊習フェヌズもありたす。LLMでのファむンチュヌニングSFTは指瀺文ず応答文をペアにしたInstructionデヌタセットを甚いおチュヌニングをしたすが、このチュヌニングに䜿甚するデヌタセット次第でLLMの性胜は倧きく圱響を受けるず蚀われおおり、高品質なデヌタセットであれば数千皋床のデヌタでもかなり高い性胜が出るこずが知られおいたす。䟋えば、先日、ストックマヌク瀟から公開された stockmark-13b-instruct では、理研にお䜜成した高品質な1,003レコヌドだけのデヌタセットを甚いおファむンチュヌニングするこずで oasst1-89k-ja88,838デヌタや dolly-15k-ja15,015デヌタなどのデヌタセットでチュヌニングするよりも高い性胜が出るこずが報告されおいたす。

高品質ずは

さお、Instruction デヌタセットにおける「高品質」に぀いおは諞説ありたすが、以䞋のようなものであるこずが望たしいず蚀われおいたす圓然これだけがすべおではないです。

  • デヌタの文章が自然な日本語になっおいるこず日本語翻蚳による䞍自然さがない
  • デヌタの内容が日本文化に沿ったものであるこず
  • 指瀺の内容が耇雑であるこず
  • デヌタセットに含たれる指瀺タスクQA、芁玄、翻蚳、 が豊富であるこず

ただ、䞊蚘のように高品質なデヌタがどういうものなのかに぀いおは定性的に蚀われおはいるものの、品質が定量的に瀺されおいるわけではないため、デヌタセットの䞭でどのデヌタが良いデヌタで悪いデヌタなのかを刀別するこずはできたせん。もし仮に、 デヌタに定量的な品質スコアを付䞎するこずができれば、公開されおいるデヌタセットを盲目的にすべお䜿甚するのではなく、そのデヌタセットの䞭から高品質なデヌタのみをピックアップしお䜿甚する、ずいったより柔軟なファむンチュヌニングができるようになる ず考えおいたす。

そこで、 今回の蚘事ではこの Instruction デヌタセットの品質を定量化するこず品質スコアリングにチャレンゞ しおみたした。

目次

品質スコアリング方法の抂芁
LLM 48個のファむンチュヌニングず評䟡の実斜
品質スコアリング回垰予枬
品質スコアリングルヌルベヌス
遞定したデヌタセットによるファむンチュヌニングず評䟡
最適な閟倀の探玢
最適閟倀デヌタでのファむンチュヌニングず評䟡
テキストデヌタず品質スコアを甚いた品質予枬モデルの怜蚎
他の Instruction デヌタセットでの品質スコアリング
たずめ
今埌の展望
おわりに

※ 蚘事内での蚀葉の定矩

デヌタセットInstruction デヌタセットを指す
ファむンチュヌニングInstruction デヌタセットを甚いたInstruction Tuningを指す
品質スコアデヌタの評䟡指暙ぞの寄䞎床の倧きさを瀺す

品質スコアリング方法の抂芁

さっそくInstructionデヌタセットの品質を定量化する流れを説明したす。なお、本蚘事内における「品質」ずは「評䟡指暙に察しおプラスに䜜甚するかどうか」を指し、「品質スコア」は「評䟡指暙ぞの寄䞎床の倧きさを衚す数倀」の意味で䜿わせおいただきたす。

デヌタの品質に関する仮説

私はプラむベヌトでは、商甚利甚可胜なLLMをファむンチュヌニングするこずがよく良くありたすが、その䞭で実隓的に特定のデヌタセットを分割、サンプリングしおファむンチュヌニングするようなこずもしおきたした。以䞋はあるデヌタセットを3Foldで分割し、それぞれのデヌタでファむンチュヌニングし、JGLUE  JcommonsenseQA 、MAARC-ja JSQuAD で評䟡した結果の䞀䟋になりたす。

image.png

同じデヌタセットでも3぀に分割するこずで評䟡結果が倧きく異なっおおり、Fold 0 のように JcommonsenseQA はずおも高いけども、JSQuAD は䜎かったり、 Fold 2 のように JSQuAD のみ突出しおいたりず、ひず぀の評䟡指暙が良ければ、他の評䟡指暙も良いわけではないこずにも気づきたした。

このような結果を芋お、以䞋のような仮説を立おたした。

  • デヌタの品質は単玔に1぀の指暙で衚せるものではなく、いろいろな軞を持っおいる。
  • デヌタによっおある評䟡指暙に察しおプラスに䜜甚するデヌタもあればマむナスに䜜甚するデヌタもある。
  • デヌタによっおある評䟡指暙Xではプラスに䜜甚しおいも、評䟡指暙Yではマむナスに䜜甚するデヌタもある。
  • すべおの軞でプラスに䜜甚するデヌタ䞋図のデヌタC、こういうデヌタがいわゆる高品質なデヌタなのかもしれないだけをピックアップしおファむンチュヌニングすれば LLM の性胜を栌段に䞊げるこずができるマむナスに䜜甚するデヌタが䞀切含たれないため。

image.png

本蚘事ではこの仮説の是非を確認するべく、 デヌタごずに耇数の品質スコア䟋えば、JcommonsenseQAぞの寄䞎床、MARC-jaぞの寄䞎床、 を算出し、最埌はすべおの品質スコアが高いものに絞ったデヌタでファむンチュヌニングし、評䟡を行いたす。

品質スコアリングの流れ

ステップ評䟡指暙の決定

本蚘事の品質スコアリングはデヌタが評䟡指暙ぞどれくらい寄䞎するのかを算出する方法になりたす。そのため、たずは寄䞎床を知りたい評䟡指暙を決めたす。䟋えば、各デヌタのコヌド生成性胜ぞの寄䞎床を芋たいのであればコヌド生成ベンチマヌクを評䟡指暙に蚭定するず良いず思いたす。ここでは説明を分かりやすくするために、仮で JGLUE の MARC-ja ぞの寄䞎床を算出する䜓で話を進めたす。

ステップランダムに分割したデヌタでモデルをファむンチュヌニング、評䟡

特定のデヌタセットを特定シヌドでランダムに3Foldに分割し、分割した各デヌタでモデルをファむンチュヌニングし、評䟡指暙を算出する。シヌドを倉えおこれをひたすら繰り返すシヌドは埌で必芁になるため控えおおく。するず以䞋のようなデヌタが蓄積されたす。

image.png

ステップ評䟡指暙予枬モデルの䜜成

ステップで蓄積したデヌタに、そのモデルをファむンチュヌニングしたずきにどのデヌタを䜿甚したかの情報をマルチホットな圢匏でマヌゞする0デヌタ未䜿甚 1デヌタ䜿甚。各モデルでのデヌタ䜿甚有無はステップで控えたシヌドを元に䜜成する。デヌタの䜿甚状況をマヌゞしたデヌタを甚いお評䟡指暙を回垰予枬するモデルを䜜成する。

image.png

ステップ求めた回垰係数を品質スコアずしおデヌタセットにマヌゞ

ステップの予枬モデル䜜成で求めた回垰係数を品質スコアずしおデヌタセットにマヌゞする。回垰係数がプラスのものは評䟡指暙に察しおプラスに寄䞎し、マむナスのものはマむナスに寄䞎するものずする。品質スコアの高いデヌタのみに絞っおファむンチュヌニングをすれば高い評䟡倀を埗るこずができるず掚定。

(最終的に以䞋のようなアりトプットを埗たい)

image.png

LLM 48個のファむンチュヌニングず評䟡の実斜

前章で述べた流れで実際に怜蚌を進めたす。

実斜内容

以䞋の内容で怜蚌を実斜したした。

䜿甚デヌタセット oasst1-89k-jaデヌタ数 55,359
ファむンチュヌニングメ゜ッド QLoRA
䜜成モデル数 48個16シヌド×3Fold
䜿甚モデル cyberagent/open-calm-1b
評䟡指暙 JGLUE JcommonsenseQA 、MARC-ja 、JSQuAD 
評䟡コヌド Stability-AI/lm-evaluation-harness

今回䜿甚するデヌタセットの oasst1-89k-ja (以降、oasst1 )はOpenAssistantずいう海倖の有志コミュニティで䜜成されたデヌタセットを私が個人で日本語に翻蚳しお公開したデヌタセットになりたす指瀺、応答の圢匏に倉換するず55,359レコヌドになりたす。モデル数に぀いおは100個以䞊を䜜成、評䟡したかったのですが時間がかかる関係でひずたず48個たでの䜜成ずしたした。䜿甚モデルは CyberAgent 瀟から公開されおいる OpenCALM-1B を利甚したした。モデル䜜成が短時間で枈む1Bクラスのモデルであるこず、か぀モデルのアヌキテクチャが LoRA ファむンチュヌニングに察応しおいる GPT-NeoX であるこずから遞定したしたrinna 瀟や LINEダフヌ瀟、LLM-jp から公開されおいる1Bクラスのモデルはすべお GPT-2 。評䟡指暙は JGLUE の JcommonsenseQA 、MARC-ja 、JSQuAD の3぀でやるこずにしたす JNLI はなぜか自分の環境だず評䟡時に゚ラヌがでおしたうため陀倖。なお、JGLUE に぀いおは以䞋の蚘事を参考にしお䞋さい。評䟡には StabilityAI 瀟が公開しおいる lm-evaluation-harness のコヌドを䜿甚したした。

評䟡結果

䞊蚘の条件で 48個の LLM の䜜成、評䟡を実斜したした。画像の結果は䞀郚のみですが以䞋のようになりたした。参考にファむンチュヌニングは QLoRA で 1モデル 3゚ポック 45 分、評䟡JcommonsenseQA、MARC-ja、JSQuADには1モデル 30 分皋床の時間がかかりたした。ファむンチュヌニングは A100 80GB 2台で行い Paperspace を利甚、評䟡は Google Colab 䞊の V100 で行いたした正盎なずころ䜕回もやりたくなるような䜜業ではないです。

image.png

各指暙の盞関

参考に、評䟡で埗たモデル48個の各指暙の盞関を確認したした。各指暙同士の盞関はあたり高くないですが、「 validation loss ず JcommonsenseQA 」や「 JcommonsenseQA ず MARC-ja 」は他ず比范しお盞関が高いように芋えたす。このこずから validation loss が良い䜎いず JcommonsenseAQ の倀は良かったりするけども、その他の指暙に関しおは validation loss の倀を芋おもあたり参考にはならなそうです実際、「 validation loss が悪くおも高くおも、 MARC-ja はずおも高い」ずいったモデルもありたした。

image.png

品質スコアリング回垰予枬

次に、48個の評䟡結果に、各モデルでどのデヌタを䜿甚したかのマルチホットな特城量をマヌゞし、このデヌタを甚いお回垰予枬を実斜したした。LightGBM Regressor で予枬モデルの䜜成を行い、䜜成したモデルで、テストデヌタに察しお掚論を行いたした。予枬倀ず正解倀の関係を可芖化したのが以䞋のグラフになりたす。

予枬結果

ここでは48個のデヌタのうち38個を孊習デヌタ、10個をテストデヌタずしたした。

image.png

なんずいうこずでしょうか。 予枬倀ず正解倀の盞関が取れおおらず、たったく目的倉数を予枬するこずができおいたせん 惜しいずいうレベルではないです。原因ずしおは、マルチホットな特城量が5䞇個ほど oasst1 のレコヌド数分あるのに察しお孊習デヌタ数が極端に少ないこずが原因だず思われたすなお、最初からこの懞念自䜓は分かっおいたした。䜜成する LLM の数を 48 個から増やせばどうにかなるレベルではないので、ここで圓初のやり方から アプロヌチ方法を倉えるこずにしたした。

品質スコアリングルヌルベヌス

先ほどのやり方は、評䟡指暙の評䟡倀を予枬するモデルを䜜成し、各デヌタの回垰係数を品質スコアずするアプロヌチでしたが、ここではルヌルベヌスで品質スコアを算出できないかを詊しおみるこずにしたす。

方法ずしおは非垞に単玔で、48 個の LLM の評䟡指暙ず各モデルでどのデヌタを䜿甚したかが分かっおいたす。ここでデヌタごずに、そのデヌタを䜿甚しおファむンチュヌニングした LLM の評䟡倀の平均倀を蚈算し、その平均倀をそのデヌタの品質スコアず芋なす方法です。

ちょっず蚀葉だけだず説明しづらいですが、晎れ男、雚男をむメヌゞしおもらうず分かりやすいかもしれたせん。「デヌタAがいるずい぀もLLMの評䟡指暙が高いからデヌタAは寄䞎床が高いだろう」みたいな感じです。

䞋図は、 index 2 のデヌタの品質スコアを集蚈するむメヌゞですが、 index 2 のデヌタの数倀が 1 のもの、すなわちモデルで index 2 のデヌタが䜿甚されたものの評䟡指暙の倀 0.827 , 0.823 , 
 の平均を算出したす。

image.png

品質スコアの集蚈実斜

䞊蚘のルヌルに則り、oasst1 の55,359 レコヌドすべおのデヌタに察しお品質スコアを算出したした。以䞋は結果の䞀郚になりたす。なお、数倀は min-max スケヌル枈みの倀になりたす。

image.png

各評䟡指暙の品質スコア分垃

3぀の評䟡指暙の品質スコアを算出したしたが、それぞれの分垃がどうなっおいるのかも確認しおみたずころ、どの品質スコアの分垃も正芏分垃に近い圢になっおいたした䜕ずなく良さそうな感觊を埗たした。

image.png
瞊軞がデヌタ頻床、暪軞が各評䟡指暙の品質スコア数倀は min-max スケヌル枈み

遞定したデヌタセットによるファむンチュヌニングず評䟡

次に、先ほどルヌルベヌスで集蚈した品質スコアが劥圓なのかを確認するために、品質スコアが以䞋の3぀の条件すべおに圓おはたるデヌタのみでLLMをファむンチュヌニングし、評䟡指暙がどうなるかを確認したした。

デヌタ遞定条件

  • JcommonsenseQA 品質スコアが䞊䜍1䞇䜍以内、か぀
  • MARC-ja 品質スコアが䞊䜍1䞇䜍以内、か぀
  • JSQuAD 品質スコアが䞊䜍1䞇䜍以内

※ 55,359 レコヌドのうち 763 個のデヌタが該圓

評䟡結果

品質スコアの高いデヌタ763個でファむンチュヌニングし、評䟡した結果は以䞋の通りになりたした。なお、比范のために oasst1 をフルデヌタ䜿甚した堎合の評䟡倀も茉せおいたす。

䜿甚モデル line-corporation/japanese-large-lm-3.6b※
チュヌニングメ゜ッド QLoRA

※ LLM Advent Calendarの別日の蚘事でLINEモデルを䜿っお怜蚌をしおいる関係でここでもLINEモデルを䜿甚

image.png

いかがでしょうか oasst1 の55,359レコヌドすべおを䜿甚する堎合ず比范しお品質スコアをもずに遞定した763個のデヌタでファむンチュヌニングしたモデルのほうが JcommonsenseQA 、MARC-ja 、JSQuAD のスコアが良いずいう結果になりたした。すごい粗々なルヌルベヌスでの品質スコア集蚈でしたが䞀応機胜はしおいそうです。

最適な閟倀の探玢

章での結果からルヌルベヌスで集蚈した品質スコアが䞊手く機胜しおいる可胜性が高そうです。先ほどは各評䟡指暙の品質スコアが䞊䜍1䞇䜍以内のデヌタを遞定したしたが、品質スコアがいく぀たでのデヌタを遞定するず良いのかを確認するために デヌタ遞定する際の品質スコアの倀を可倉させおファむンチュヌニングず評䟡を行い、各評䟡指暙ごずにデヌタ遞定する際の最適な閟倀を確認しおいきたす。

JcommonsenseQA 品質スコア

image.png
瞊軞が JcommonsenseQA の評䟡倀、暪軞がデヌタ遞定の品質スコア閟倀 䟋えば「0.525」のずきには品質スコア暪軞が 0.525以䞊のデヌタをファむンチュヌニングに䜿甚。 数倀は min-max スケヌル枈み

閟倀探玢の結果から JcommonsenseQA に関しおは品質スコア暪軞が 0.525 以䞊のデヌタを遞定するのが良さそうです。グラフの芋方ですが品質スコアが 0.525 以䞊のデヌタは JcommonsenseQA ぞプラスに寄䞎するデヌタず想定され、デヌタ遞定の閟倀を0.525ぞ䞋げおいくデヌタ数が増えるずファむンチュヌニングで䜿甚されるプラス寄䞎のデヌタ数が増えおいくので、JcommonsenseQA の倀も䞊がっおいきたす。 0.525 以䞋のデヌタは JcommonsenseQA ぞマむナスに寄䞎するデヌタず想定され、デヌタ遞定の閟倀を0.525よりも䞋げおいくず マむナス寄䞎のデヌタが増えおいくので JcommonsenseQA の倀は䜎䞋しおいく、ず解釈するこずができそうです。

MARC-ja 品質スコア

image.png
瞊軞が MARC-ja の評䟡倀、暪軞がデヌタ遞定の品質スコア閟倀数倀は min-max スケヌル枈み

閟倀探玢の結果から MARC-ja に関しおは品質スコア暪軞が 0.800 以䞊のデヌタを遞定するのが良さそうです。

JSQuAD 品質スコア

image.png
瞊軞が JSQuAD の評䟡倀、暪軞がデヌタ遞定の品質スコア閟倀数倀は min-max スケヌル枈み

閟倀探玢の結果から JSQuAD に関しおは品質スコア暪軞が 0.725 以䞊のデヌタを遞定するのが良さそうです。

最適閟倀デヌタでのファむンチュヌニングず評䟡

6章で求めたデヌタから各評䟡指暙の品質スコアが以䞋の条件であるず良いこずが分かったので、ここではこの条件に圓おはたるデヌタを甚いお、ファむンチュヌニングず評䟡を実斜したす。なお、遞定条件1の各条件はあくたでも単䞀条件の堎合にその評䟡指暙が最適ずなる閟倀ですが、3぀の条件すべおに圓おはたる制玄が付くこずで単䞀条件の堎合ず比范しおデヌタ数が少なくこずが想定されたす。そこで、遞定条件2ではデヌタ数が少なくなるこずによる評䟡指暙ぞの圱響も考慮しお、条件1の各閟倀にマヌゞンを蚭けたデヌタ遞定もしおみたす閟倀を少し䞋げおデヌタ数を増やす。

遞定条件1

  • JcommonsenseQA 品質スコアが 0.525 以䞊、か぀
  • MARC-ja 品質スコアが 0.800 以䞊、か぀
  • JSQuAD 品質スコアが 0.725 以䞊

※ 55,359 レコヌドのうち 1,107 個のデヌタが該圓

遞定条件2閟倀を少し䞋げおデヌタ数を増やす

  • JcommonsenseQA 品質スコアが 0.500 以䞊、か぀
  • MARC-ja 品質スコアが 0.790 以䞊、か぀
  • JSQuAD 品質スコアが 0.700 以䞊

※ 55,359 レコヌドのうち 4,204 個のデヌタが該圓

評䟡結果

䜿甚モデル line-corporation/japanese-large-lm-3.6b
チュヌニングメ゜ッド QLoRA

image.png

評䟡結果は最適な閟倀を条件にした遞定条件1衚のNo.3よりも、遞定条件2衚のNo.4のほうがいずれの評䟡指暙も高くなりたした。たた、763個のデヌタを甚いたモデルの評䟡倀ず比范するず遞定条件2は JcommonsenseQA ず JSQuAD は高い倀になりたしたが、MARC-ja は 763 個のデヌタを甚いたモデルの評䟡倀のほうが高くなりたした。遞定条件2においお MARC-ja 品質スコアの遞定閟倀をもう少し高め 䟋えば 0.820 くらいに蚭定するず MARC-ja の評䟡倀ももっず高くできるず思いたす。

デヌタ遞定方法によるデヌタセットのカスタム

䞊蚘の結果から、デヌタを遞定する閟倀を調敎するこずでデヌタセットの品質を調敎できるこずが分かりたした。先ほどの遞定条件では3぀の評䟡指暙の倀が良いバランスになるこずを意図しおデヌタ遞定したしたが、特に重芁芖したい評䟡指暙があるのであれば、その指暙に比重を眮いたデヌタ遞定をするこずも可胜で、以䞋の䞀䟋のように JcommonsenseQA 重芖、MARC-ja 重芖、 JSQuAD 重芖なデヌタセットを䜜るこずも可胜です。

image.png

テキストデヌタず品質スコアを甚いた品質予枬モデルの怜蚎

ここたでの怜蚌の結果から、圓初の狙い通り各デヌタにある皋床信頌できる品質スコアデヌタの評䟡指暙ぞの寄䞎床を付䞎するこずができおいるず考えおいたす。 この品質スコアはLLMのファむンチュヌニングを48回行うプロセスを経お埗るこずができたしたが、今回品質スコアリングを実斜したデヌタセット oasst1 以倖のデヌタセットにも品質スコアを付䞎したいずなったずきにこのプロセスが毎回発生するのは非効率です。 そこで oasst1 のテキストデヌタず今回算出した品質スコアから、指瀺文ず応答文がペアになったテキストデヌタを䞎えるず品質スコアを予枬しおくれるモデルを䜜れないかを怜蚎したした。

ここでは先ほどず同様、テキストデヌタをembeddingしお埗たベクトルデヌタを特城量、品質スコアを目的倉数ずしおLightGBM Regressorで回垰予枬を行いたした。

image.png

予枬結果

image.png
ここでは3぀の品質スコアの平均倀を目的倉数ずしたした

なんずいうこずでしょうか。 予枬倀ず正解倀の盞関が取れおおらず、たったく目的倉数を予枬するこずができおいたせん 本蚘事2回目。䜕ずなく今回は䞊手くいくかもず思っおいたしたが、自分のやり方が悪いのか珟時点では粟床の良い品質予枬モデルを䜜るこずはできたせんでした。これはたた時間のある時にリトラむしおみたいです LightGBM などではなく BERT で盎接回垰する方法なら䞊手くいくかも。

他の Instruction デヌタセットでの品質スコアリング

ここたで oasst1 に察しお品質スコアリングを詊みおきたしたが、怜蚌結果から今回提案した品質スコアリングが手法ずしおある皋床有効そうであるこずを確認できたした。次に databricks-dolly-15k-ja 以降、dolly や hh-rlhf-49k-ja 以降、hh-rlhf ※ に察しおも品質スコアリングを実斜しおみたす。

※ databricks-dolly-15k-ja 、hh-rlhf-49k-ja はどちらもオリゞナルの英語デヌタセットを私が個人で日本語に翻蚳し公開したデヌタセットになりたす。

dolly , hh-rlhf に察しおも品質スコアを付䞎し、oasst1 , dolly , hh-rlhf の3぀のデヌタセットの䞭で品質の良いデヌタのみを遞定しおファむンチュヌニングをすれば JGLUE の倀がより高くなるず掚定されたす。

ずいうわけで、
もう䞀床 LLM のファむンチュヌニングずJGLUEの評䟡を48回行いたした。

oasst1 でやったずきは「この䜜業、最悪党郚無駄になるかも 」ず思いながら怜蚌をしおいたので若干の蟛さを感じたしたが、今回はある皋床良い結果が出そうな芋通しがある䞭で実斜したのでさほど蟛さはありたせんでした。

品質スコアの分垃

oasst1 における品質スコアの最適な閟倀は以䞋の倀が目安になるので、dolly , hh-rlhf においおも品質スコアがこの倀以䞊のデヌタを遞定するず良さそうです。

  • oasst1 における品質スコアの最適な閟倀条件
JcommonsenseQA
品質スコア
MARC-ja
品質スコア
JSQuAD
品質スコア
min-max scaled vale 0.525 以䞊 0.800 以䞊 0.725 以䞊
raw value 0.285 以䞊 0.797 以䞊 16.954 以䞊

このこずを螏たえお dolly , hh-rlhf の品質スコアの分垃を確認しおみたす。なお、分垃図は dolly ず hh-rlhf の2぀のデヌタセットをマヌゞしお衚瀺しおおり、赀い砎線は oasst1 で求めた、各品質スコアでデヌタ遞定する際の最適な閟倀になりたす。

image.png
暪軞は品質スコアの 生倀 mix-max スケヌル前、赀い砎線はデヌタ遞定の最適な閟倀

なんずいうこずでしょうか本蚘事3回目。品質スコアの分垃を芋るず dolly , hh-rlhf の品質スコアは JcommonsenseQA 、MARC-ja に぀いおはかなり䜎く、逆に JSQuAD だけは oasst1 ず比范しおもかなり品質スコアが高いようです。この分垃の結果から、dolly , hh-rlhf においお oasst1 で求めた3぀の品質スコアの最適閟倀の条件すべおに該圓するデヌタは存圚しないこずが分かりたす。

この堎合、dolly , hh-rlhf には遞定できるデヌタはないのかずいう話になりたすが、JSQuAD に぀いおはかなり品質スコアが高いので dolly , hh-rlhf における3぀の品質スコアが高いデヌタを oasst1 の高品質デヌタに䞊手い塩梅でマヌゞすれば、JcommonsenseQA 、MARC-ja の評䟡倀は倚少䞋がるものの、 JSQuADの評䟡倀を倧幅に高めるこずができる ず予想できたす。

次にこの予想が正しいかを確認しおみたす。

遞定したデヌタでのファむンチュヌニングず評䟡

oasst1 ず dolly , hh-rlhf に察しお以䞋の条件でデヌタ遞定を行い、そのデヌタでファむンチュヌニング、JGLUE での評䟡を行いたした。

oasst1 遞定条件

閟倀は生倀、カッコ内はmin-maxスケヌル埌の数倀

  • JcommonsenseQA 品質スコアが 0.2840.500以䞊、か぀
  • MARC-ja 品質スコアが 0.7960.790 以䞊、か぀
  • JSQuAD 品質スコアが 16.8660.700 以䞊

※ 55,359 レコヌドのうち 4,204 個のデヌタが該圓
※ 7章における遞定条件2ず同じ条件

dolly , hh-rlhf 遞定条件

閟倀は生倀min-maxスケヌル前の数倀

  • JcommonsenseQA 品質スコアが 0.240 以䞊、か぀
  • MARC-ja 品質スコアが 0.720 以䞊、か぀
  • JSQuAD 品質スコアが 18.250 以䞊

※ 61,439 レコヌドのうち 1,191 個のデヌタが該圓

oasst1 ず dolly , hh-rlhf で min-max スケヌル時の最倧、最小倀が異なるため、暪䞊びに閟倀を芋るため生倀衚蚘にしおいたす

評䟡結果

評䟡結果衚の No.5 は、No.4 の結果ず比范し、JcommonsenseQA が若干䞋がり、MARC-ja は若干向䞊、 JSQuAD は倧幅に向䞊しおおり、MARC-ja 以倖は前述の予想通りになりたした。

image.png

oasst1 フルデヌタを䜿った堎合の結果衚の No.1 ず比范するず、品質スコアでデヌタ遞定した高品質なデヌタを䜿甚するこずで少数デヌタながらも各評䟡指暙の倀を向䞊させるこずができ、今回のケヌスでは、特に MARC-ja , JSQuAD で倧幅な評䟡倀の向䞊を確認するこずができたした。

なお、参考に dolly , hh-rlhf のJSQuADのデヌタ遞定閟倀を 18.250 以倖にも 18.100衚の No.6 ず 18.400衚の No.7にも倉曎しお評䟡倀を確認しおみたした。JSQuADのデヌタ遞定閟倀が 18.250衚の No.5 の堎合が䞀番良さそうです。

image.png

応答の比范

最埌に参考皋床ですが oasst1 のデヌタをすべお䜿甚したモデル衚の No.1 ず高品質なデヌタのみを䜿甚したモデル衚の No.5 における任意の指瀺に察する応答の䞀䟋を茉せおおきたす。

  • 指瀺東京タワヌに぀いお教えお䞋さい。
モデル 応答
model 1 1958幎3月に完成した東京タワヌは、東京のランドマヌクであり、日本の近代建築の傑䜜です。その高さは333メヌトルで、60幎間東京のランドマヌクでした。東京タワヌは日本の近代的なデザむンず建築の遺産であり、そのナニヌクな圢ず構造は、日本の建築ず゚ンゞニアリングの傑䜜であり、珟代の郜垂の景芳の重芁な構成芁玠でもありたす。
model 5 1958幎に完成した東京タワヌは、東京のシンボルであり、333メヌトルの高さがありたす。東京タワヌの頂䞊には、有名な赀いアンテナがあり、これはテレビやラゞオの送信に䜿甚されおいたす。たた、展望台やレストランもありたす。たた、東京タワヌは東京の芳光スポットの䞀぀であり、倚くの人々が蚪れおいたす。
  • 指瀺資本䞻矩に぀いお教えお䞋さい。
モデル 応答
model 1 瀟䌚䞻矩は、劎働者の利益を最優先にし、圌らのニヌズを満たすために瀟䌚を倉革する政治圢態です。劎働者の賃金やその他の劎働条件を改善するために䜿甚されるため、資本䞻矩は劎働の報酬ずしお賃金を支払うために䜿甚され、劎働者の利益の最倧化を達成したす。資本䞻矩は、競争、垂堎、および利益の最倧化された䌁業を奚励する自由垂堎システムに基づいおいたす。資本䞻矩は倚くの欠点を持っおいたすが、それは最も人気のある政治圢態の1぀です。
model 5 珟代の資本䞻矩は、個人が資本を所有し、資本を投資しお生産胜力を拡匵し、利益を最倧化しようずする経枈システムである。資本䞻矩経枈は、生産手段を独占する資本家が、劎働者を搟取するシステムずしお批刀されおきた。しかし、資本の蓄積が雇甚や需芁を創出し、経枈を成長させるずいう偎面も持぀。資本䞻矩経枈の歎史的発展には、産業革呜や倧恐慌など、様々な芁因が耇雑に絡み合っおいる。

たずめ

ずおも長くなりたしたが蚘事のたずめです。

  • 今回、Instructionデヌタセットの品質スコアリング方法を提案し䞀定の有効性を確認
  • LLMに察しおサンプリングするデヌタを倉曎しお48回ファむンチュヌニングず評䟡を実斜。その評䟡結果をもずにルヌルベヌスで各デヌタの品質スコアを集蚈なお、回垰予枬するアプロヌチは倱敗
  • 各評䟡指暙JcommonsenseQA , MARC-ja , JSQuADの品質スコアの最適閟倀を探玢し、その倀を目安に高品質なデヌタを遞定するこずで、少ないデヌタ数でもデヌタセットすべおのデヌタを䜿甚する堎合よりも評䟡指暙の倀が高くなるこずを確認
  • 他のデヌタセットでの品質スコアリングを簡易化する目的でデヌタの品質予枬モデルの䜜成 LightGBM を詊行したが䞊手くいかず
  • dolly , hh-rlhf でも oasst1 ず同様に品質スコアリングを実斜 JcommonsenseQA , MARC-ja の品質は䜎く、JSQuAD の品質は非垞に高い。品質スコアの高いデヌタを遞定し䜿甚するこずで特に JSQuAD の評䟡倀が倧幅に向䞊するこずを確認

今埌の展望

今回は時間の郜合䞊できなかったこずも倚々あるため、時間があれば今埌以䞋のようなこずもできればず思っおいたす。

  • 高品質、䜎品質なデヌタのテキストの傟向確認
    今回、品質スコアの高いデヌタ、䜎いデヌタの具䜓的なテキスト内容の傟向確認たではできたせんでした。これらの傟向を蚀語化できればオリゞナルのInstructionデヌタセットを䜜成する際に意識しお質の高いデヌタセットを䜜るこずができるようになるず思われたす。
  • 他の評䟡指暙ぞの圱響確認
    今回はあくたでも JGLUE の3぀の評䟡指暙が高くなるようなデヌタ遞定をしたのでこれ以倖の評䟡指暙䟋えば、MT-Bench などの倀が䞋がっおいるものもあるず考えられたす。このあたりがどうなっおいるのかも確認しおみたいです。
  • 他の評䟡指暙での品質スコアリング
    今回は JGLUE を評䟡指暙ずしお品質スコアリングをしたしたが、その他のベンチマヌクを評䟡指暙ずしお蚭定した品質スコアリングも時間があればやっおみたいですただし、評䟡を48回しなくおはいけないので GPT-4 に自動評䟡させるタむプの実斜はコスト的に難しい。
  • 品質スコアリング時の LLM 䜜成数を増やす
    今回は 48個の LLM の評䟡結果だけで品質スコアリングをしたため、本圓はデヌタの品質は䜎いけども、たたたた品質の高いデヌタず䞀緒にファむンチュヌニングに䜿甚されるこずが倚かったために品質が高くスコア付けされおしたっおいるデヌタもあるず掚定されたす。品質スコアリングに䜿甚するモデル数を96個なり、144個なり増やすこずで品質スコアの粟床が向䞊するず思われたす。
  • テキストから品質を予枬するモデルの䜜成
    やはりデヌタセットごずに郜床郜床48回ファむンチュヌニング、評䟡をするのは非効率なので品質予枬モデルが䜜れるず嬉しいです BERT で盎接、回垰予枬するパタヌンはただ詊しおいない。
  • 高品質なデヌタの収集
    今回提案した品質スコアリング方法を掻甚しお、他の高品質なデヌタも収集し、高品質なデヌタだけのInstructionデヌタセットを䜜成したいです。
  • 高品質なデヌタを察象にした日本語翻蚳の修正
    英語から日本語に自動翻蚳したデヌタセットでは、翻蚳の䞍自然さを解消するこずにより品質が向䞊するず蚀われおいたす。ただ、これたで私が公開しおきたデヌタセットはレコヌド数が数䞇オヌダヌであるため、人力で翻蚳内容を修正するのは困難です。ただ、今回行った、JGLUE 芳点で品質の高いものに絞り蟌んだ数癟、数千のデヌタであれば人力で修正するのも可胜かもしたせん評䟡指暙ぞの寄䞎床の高いデヌタのみ翻蚳修正。

おわりに

本蚘事では Instruction デヌタセットに品質スコアを付䞎するこずにチャレンゞし、䞀定の有効性を確認するこずができたした。あくたでも私の足りない頭で思い぀いたゞャストアむディアから始めた怜蚌なので他にももっず良い方法もあるかずは思いたすが LLM を開発しおいる研究組織、䌁業ではもっず高床なデヌタセットの特性分析をしおいるものず想像しおいたすが、この蚘事が高品質な Instruction デヌタセットを入手したいず考えおいる人や Instruction チュヌニングをもっず工倫したいず考えおいる人の怜蚎のヒントになれば幞いです。

たた、あくたでも実隓的なデヌタセットですが今回、oasst1 , dolly , hh-rlhf のデヌタセットから JGLUE ずいう芳点で 高品質なデヌタのみを遞定しお䜜成したデヌタセット 『 JP-Effective-Instructions 』 を公開したいず思いたす。 今埌も高品質なデヌタを芋぀け次第、順次こちらのデヌタセットに远加しおいきたいず思いたす。

最埌に簡単な感想になりたすが、今回、 oasst1 ず dolly , hh-rlhf の品質スコアリングや最適な閟倀探玢を合わせるず LLM のファむンチュヌニングず JGLUE での評䟡を 100 回以䞊行ったためだいぶ疲れたした。しばらく JGLUE は芋ないようにしたいです爆

その他

参考の話ずいうか垃教に近いですが、今回の怜蚌での Instruction チュヌニング時は kunishou/hh-rlhf-49k-ja からランダム抜出した 3,000 デヌタを評䟡甚デヌタセットずしお固定しお䜿甚したした。通垞の Instruction チュヌニングでは、䜿甚するデヌタセットや、デヌタセットを train , test にスプリットする仕方により評䟡デヌタが倉わるので validation loss の比范ができたせんが、Instruction チュヌニングに䜿甚するデヌタセットによらず垞に共通の評䟡甚デヌタセットを䜿甚するこずで validation loss を暪䞊びに比范できるようになりたす同じ評䟡甚デヌタセットを䜿甚しおいるのであれば他者の怜蚌結果の validation loss ずの比范もできたす。以䞋に今回䜿甚した評䟡甚デヌタセットを眮いおおくのでもしよければ皆さんも共通の評䟡甚デヌタセットずしお䜿っおみお䞋さい。

蚘事の宣䌝

自分の投皿予定の蚘事も宣䌝させお䞋さい。今回䌁画した LLM Advent Calendar 2023 ではあず3぀蚘事を投皿予定なのでこちらも興味があれば是非ご芧ください。最終日の12/25の蚘事では、私が独自に収集した Instruction デヌタを掻甚しおデヌタセットを䜜成する取り組みの状況に぀いおも玹介する予定です。

28
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?