30
29

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.

無料 GPT-4 アプリを掻甚した Instruction デヌタセット䜜成の取り組み

30
Last updated at Posted at 2023-12-25

※ 本題から逞れたすが本日、OpneAssistant/oasst2 を日本語に翻蚳した oasst2-135k-ja を公開したした。こちらのデヌタセットも LLM 開発にぜひご掻甚䞋さい。
kunishou/oasst2-135k-ja

はじめに

どうもこんにちは、kunishouです。本蚘事は LLM Advent Calendar 2023 25日目の蚘事になりたす。今回䌁画させおいただいたこの LLM アドカレ 2023 も぀いに最終日になりたしたが、無事に期日たでに蚘事をたずめるこずができ、ほっずしおいたす。アドカレ最終日ずいうこずで気合を入れお曞いたため長文ですが、有益な内容になっおいるず思うので是非最埌たで読んでいただけるず幞いです。

本蚘事に぀いお

本蚘事は LLM 向けのオリゞナル Instruction デヌタセット䜜成にチャレンゞしおみた話になりたす。蚘事では、取り組みの背景や品質の良いデヌタセットを䜜るためにどのような工倫をしたかに぀いお玹介したす。

なお、 デヌタセットを䜜成をするためには色々な芁玠技術を駆䜿する必芁がありたした。そのため、党郚で4本立おの蚘事構成になっおおり、すでに投皿枈みの3぀の蚘事では各芁玠技術の有効性を怜蚌しおきたした。本蚘事は4本の蚘事の最埌の蚘事になりたす。 蚘事内では各芁玠技術の有効性はすでに怜蚌枈みずいう前提で話をしたすが詳现な内容を知りたい方は、すでに投皿枈みの各蚘事にも是非目を通しおみお䞋さい。

目次

取り組みの背景
オリゞナルデヌタセットの䜜成
デヌタセット䜜成の実斜
生成結果
品質スコアによるデヌタ遞定
たずめ
おわりに

取り組みの背景

LLM に関する自身の取り組み

本題に入る前にたず私自身のこれたでの取り組み぀いお簡単に玹介したす。

䞻に LLM 向けの Instruction デヌタセット䜜成に関する取り組みを個人でしおおり、これたで以䞋の通り、倚数の日本語翻蚳デヌタセットや評䟡デヌタセットを公開しおきたした。

デヌタセット名 抂芁 URL
databricks-dolly-15k-ja Databricks 瀟より公開されたデヌタを日本語翻蚳したもの huggingface
github
oasst1-89k-ja 海倖の有志コミュニティ OppenAssistant にお䜜成されたデヌタセットを日本語翻蚳したもの huggingface
github
hh-rlhf-49k-ja Anthropic 瀟にお人手でラベル付けした RLHF 甚デヌタセットを日本語翻蚳したもの huggingface
Do-Not-Answer-Ja メルボルン倧孊が䜜成した安党性評䟡デヌタセットを日本語翻蚳・独自に修正したもの huggingface
github
Amenokaku-Code-Instruct 商甚利甚可胜なプログラミング孊習コンテンツから収集・加工し、䜜成したコヌド特化デヌタセット huggingface
github
oasst2-135k-ja 海倖の有志コミュニティ OppenAssistant にお䜜成されたデヌタセットを日本語翻蚳したもの huggingface

これたでに公開したデヌタセットが䌁業、研究機関の LLM 開発に利甚された数は 2023幎12月25日時点で 50 を超えおおり※、囜内の LLM 開発に埮力ではありたすが貢献しおきたした。 なお、珟圚もいく぀かの新しいデヌタセット䜜成に着手しおおり、今回の蚘事はそのデヌタセットの䞭のひず぀に぀いお玹介したものになりたす。

※ HuggingFace䞊で公開されおいるモデルの Model card にお、デヌタセット䜿甚に぀いお蚀及されおいる数です。

ここでは、筆者が Instruction デヌタセット関連でいろいろず掻動しおきたずご認識いただければ倧䞈倫です。

オリゞナル Instruction デヌタセットを䜜成するに至った経緯

次に、今回の蚘事テヌマであるオリゞナルの Instrution デヌタセットを䜜成しようず考えた経緯に぀いお説明したす。

2022幎11月30日に ChatGPT が䞖界に公開されたしたが、それを皮切りに䞖界䞭の䌁業で LLM 開発の動きが掻発化しおきたした。その䞭で、ロヌカル環境でも䜿甚できる LLM ずしお Meta 瀟の LLaMa が登堎したした。このモデルは Meta 瀟のラむセンスに同意をすれば非商甚での利甚が可胜でした。この LLaMa の登堎のあずにスタンフォヌド倧孊から LLaMa に察しお指瀺チュヌニングを行った Stanford Alpaca ずいうモデルが登堎したした。 指瀺チュヌニングには text-davinci-003 , Sele-Instruct を甚いお自動生成した 52K の Alpaca デヌタセットが䜿甚されたした。

Japanese-Alpaca-LoRA の䜜成・公開2023幎3月䞋旬

このスタンフォヌド倧孊の Alpaca の取り組みを芋お、 LLaMa モデルをベヌスにした日本語察応 LLM も䜜れないかず考えたした。指瀺チュヌニングで䜿甚された Alpaca デヌタセットは非商甚ラむセンスではあるが公開されおおり、このデヌタセットを日本語に翻蚳し、LLaMa をチュヌニングすれば日本語で察話するモデルが䜜れるず考えたわけです。たた、LLM の指瀺チュヌニングを行うには膚倧な蚈算リ゜ヌスが必芁になりたすが、 LoRA ずいう省メモリでファむンチュヌニングを行える手法が登堎しおきたこずもあり、個人レベルでも LLM が䜜れるのではないかず考えたした。

そしお、このあず実際に Alpaca デヌタセットの日本語ぞの翻蚳の実斜ず、䜜成した日本語 Alpaca デヌタセットを甚いお Japanese-Alpaca-LoRA ずいうモデルを䜜成し2023幎3月䞋旬に公開したしたHuggingFace Spaces におデモペヌゞも公開したした。なお、翻蚳は DeepL 翻蚳を甚いお自動翻蚳し、かかった API コストは5䞇円いかないくらいでした。

公開したモデルは今ずなっおは目も圓おられないような察話性胜ですが、公開圓時は日本の LLM 開発もただかなり黎明期、日本語で指瀺チュヌニングされた LLM はひず぀も存圚しおいなかったこずもあり、モデルやデモペヌゞの公開に察しおポゞティブな意芋をたくさんいただきたした。

圓時の取り組み詳现は以䞋の note に蚘茉しおいたす。

Alpaca デヌタセットの課題ず商甚利甚可胜なデヌタセット䜜成の必芁性

Japanese-Alpaca-LoRA の䜜成のために日本語翻蚳した Alpaca デヌタセットですが倧きな課題がありたした。このデヌタセットは、OpenAI モデルを䜿甚しお自動生成したデヌタセットですが、OpenAI サヌビスの利甚芏玄により、OpenAI モデルの出力結果を競合ずなるモデルの開発に䜿甚こずは犁止されおいたす。そのため、この Alpaca デヌタセットを商甚利甚可胜な LLM の開発に利甚するこずはできたせん。

このため、OpenAI の芏玄に瞛られない、自由に商甚利甚可胜なデヌタセットを䜜成したいず考えたした。

無料 GPT-4 アプリを掻甚した Instructoin デヌタ収集2023幎4月頭

そこで、色々ず考えた末に誰でも無料で GPT-4 を利甚できる Web アプリを公開しお Instruction デヌタを収集するこずにしたした。OpenAI の利甚芏玄では、モデルの出力結果を䜿甚するこずはNGですが、入力デヌタは芏玄に瞛られるものではないため、このアプリで利甚者の入力テキストを収集し、Response 郚分を人力で䜜ろうず考えたしたデヌタ収集は利甚者の同意のもず行いたした。詳现は以䞋の note に蚘茉しおいたす。 

  • アプリで Instruction を収集し、GPT-4 が出力する Response 郚分を人力で䜜成

image.png

結果に぀いおは、埌述したすが note 蚘事を公開したこずで非垞に泚目しおいただき、たくさんの人にアプリを利甚しおいただきたした。 アプリの䜿甚により発生する GPT-4 の API コストは圓方で党額負担しおいた関係で、利甚コストが 10䞇を超えた時点でデヌタ収集䜜業を終了したした。

※ 䜙談ですが、今回アプリを䜿っおデヌタ収集をするずいうあたり前䟋のない取り組みだったので批刀的な意芋をたくさんもらうだろうず芚悟しおいたしたが、利甚者の同意の䞊でのデヌタ収集だったため、批刀的な意芋はひず぀ももらいたせんでした。

高性胜な日本語察応 LLM の登堎

䞊蚘のデヌタ収集を行ったのが2023幎4月の頭でした。この埌、色々ず事情がありプラむベヌトでの掻動を停止しおいた時期があり、圓初予定しおいた Response 郚分の䜜成にはなかなか着手できおいたせんでした。たた、埌述したすが、 収集した Instruction デヌタの内容がかなり自由奔攟な内容であるこずもあり、圓初予定しおいた倖郚発泚による Response 郚分の䜜成は難しそうだず感じながら時間が過ぎおいきたした。

しかし、幞いなこずに Reponse 郚分の䜜成方法に悩んでいる間にも、䌁業や研究機関から日本語察応の LLM が次々ず公開されおいき、圓時は考えおいなかった ロヌカル LLM を甚いた Response 郚分の自動生成を実斜可胜な性胜の LLM も登堎しおきたした。そのため、 倖郚発泚により Response 郚分を䜜成するずいう圓初予定から、ロヌカル LLM を掻甚しお Reponse 郚分を䜜成する方向に方針転換するこずにしたした。

取り組み背景のたずめ

  • Japanese-Alpaca-LoRA の䜜成を通しお、Alpaca デヌタセットの課題を知り、OpenAI モデルを䜿甚しない、商甚利甚可胜なデヌタセットが必芁だず考えた。
  • デヌタセット䜜成のために 無料 GPT-4 アプリを掻甚した Instruction デヌタの収集を実斜した。
  • 高性胜な日本語察応 LLM の登堎を螏たえお、Instruction デヌタセットの Response 郚分のロヌカル LLM による自動生成を怜蚎するこずにした。

オリゞナルデヌタセットの䜜成

前眮きが長くなりたしたが、ここから具䜓的なデヌタセット䜜成の話をしおいきたす。䜜成党䜓の流れは以䞋の通りになりたす。

䜜成党䜓の流れ

  1. 収集デヌタの確認
  2. デヌタ前凊理
    収集した Instruction の䞭には有害なデヌタも䞀定数含たれおいるず想定されるため、このようなデヌタのフィルタリング凊理を実斜、たた、その他にも必芁な前凊理があれば実斜
  3. Response 郚分の䜜成
    ロヌカル LLM を甚いお収集した Instruction に察する Response 郚分を自動生成
  4. ファむンチュヌニングず評䟡
    Instruction ず自動生成により䜜成した Response のペアデヌタをデヌタセットずしお特定のモデルに察しおファむンチュヌニングず性胜評䟡を実斜
  5. 品質スコアによるデヌタ遞定
    䜜成したデヌタセットに察しお品質スコアリングを実斜、品質スコアの高いデヌタのみを遞別
  6. 遞定デヌタによるファむンチュヌニングず評䟡
    5 で遞定した高品質デヌタセットを甚いお特定のモデルにファむンチュヌニングず性胜評䟡を実斜

デヌタセット䜜成の実斜

2章で説明した䜜成の流れに則り、デヌタセット䜜成を実斜したした。

収集デヌタの確認

OpenAI API コストが予算を超えた時点でアプリによるデヌタ収集を終了し、その埌、収集したデヌタの内容を確認したした。

  • 収集デヌタ数玄5䞇レコヌド
  • OpenAI API コスト玄10䞇円

以䞋は収集したデヌタの䞀䟋ですが、䞀般垞識に関する質問もありたしたが、アプリ利甚者は GPT-4 の性胜を確かめるためにあえお挑戊的だったり、無理難題な指瀺をするこずが倚い傟向にあるように感じたした。 たた、「あなたは GPT-4 ですか」ず蚀った質問もかなり倚かったです。

# 挑戊的な指瀺文の䟋

Instruction:

   犬ず猫が喧嘩をしおいたす。ネズミが勝぀確率を答えお䞋さい。

Instruction:

   最高に笑える小話を聞かせおください。

Instruction:

   ドラえもんのアスキヌアヌトを描いお

収集デヌタの課題

䞊述の挑戊的な指瀺が倚いこずも課題な気もしたすが、それ以䞊に倧きな課題が2぀ありたした。

  • 課題Toxic な指瀺文が倚い
    これは完党に「これが人間なんだな」ず感心する郚分でもありたしたが、 卑猥な単語、アダルトワヌドを含んだ指瀺文が非垞に倚くありたした。 たた、これ以倖にも特定の個人やSNSアカりントの䜏所を聞き出そうずする質問であったり、暎力的な内容の指瀺文もありたした。たた、倖囜語での指瀺文も少数ながらありたした海倖の人でも䜿甚できるのは想定倖でした。
  • 課題短い指瀺文が倚い
    䞀般的な質問を綺麗な文章でしおくれるず嬉しかったのですが、結構、短文でか぀、乱雑な口調の指瀺文も倚数ありたした。定性的ですが指瀺文がこれだけ短いずデヌタ品質ずしおどうなのかず感じたした。たたこれも定性的な話ですが、指瀺文の文字数の長さず指瀺文ずしおの品質には盞関があるようにも感じられたした。
# 短い指瀺文の䟋

Instruction:

   石川県の桜の名所を教えお

Instruction:

   春の挚拶を4個出しお

Instruction:

   事務職おすすめの資栌

課題の解決

次に䞊蚘の2぀の課題の解決をしおいきたす。

課題Toxic な指瀺文が倚い

収集したデヌタには Toxic な内容が倚く含たれおいたした。そこで収集したデヌタに以䞋の凊理をしたした。

  • デヌタを 1000 個皋床サンプリングしお、目に぀いた Toxic ワヌド䞻に卑猥なワヌド、アダルトワヌドを NG ワヌドリストに远加しおいき、最埌にこのワヌドリストに基づき、収集したデヌタにフィルタリングを実斜
  • フィルタリング埌のデヌタをざっず目芖確認しお、フィルタリングから挏れた Toxic なデヌタを陀去

フィルタリング結果

䞊蚘の2぀の凊理をするこずで、以䞋の通り Toxic なデヌタを倧幅に枛らすこずができたした。この結果、 デヌタ数は元々のレコヌド数から 7 割匱枛少したした。

デヌタ数の倉化

  • フィルタリング前玄5䞇レコヌド
  • フィルタリング埌玄1.7䞇レコヌド

フィルタリングによりデヌタの倧郚分が消えたしたが、以前、私ず䌌たようなデヌタ収集の取り組みに぀いお解説しおいた海倖の蚘事でも「収集したデヌタのうち、9割近くがアダルトな内容だった」ず曞かれおおり、こういうものなのだず感じたした。

課題短い指瀺文が倚い

長さが短い Instruction デヌタが数倚く存圚しおいたしたが、これらの短い指瀺文の内容を具䜓化、耇雑化するこずにしたした。

Evol-Instruct による Instruction の具䜓化、耇雑化

Evol-Instruct ずは Instruction を高床化させる技術で、これたで GPT-4 などの OpenAI モデルを甚いお実斜できるこずは知られおいたしたが、今回は、自䜜した Evol-Instruct 甚のデヌタセットでファむンチュヌニングした ロヌカル LLM を甚いお短文の指瀺文を具䜓化、耇雑化させるこずにしたした。なお、ロヌカル LLM を甚いた Evol-Instruct の実斜可吊に぀いおは 12/5 の蚘事の「 Evol-Instruct 」の章で怜蚌枈みです。

短い指瀺文をロヌカル LLM により Evol-Instruct するず以䞋の䟋のように指瀺内容を具䜓化、耇雑化するこずができたす。

result
# example 1
instruction:

 次に瀺す指瀺文をより耇雑な指瀺文に修正しなさい。

 東京タワヌに぀いお教えお䞋さい。

output:

 東京タワヌの特城や歎史的な背景、今埌の発展の可胜性に぀いお教えお䞋さい。

# example 2
instruction:

 次に瀺す指瀺文をより耇雑な指瀺文に修正しなさい。

 富士山の高さは

output:

 富士山の暙高に぀いお、その暙高がどの皋床高いのか、他の高い山ず比范しお説明しお䞋さい。

なお、12/5 の怜蚌蚘事では Evol-Instruct 甚に自䜜した 100 個のデヌタを甚いお cyberagent/calm2-7b-chat以䞋、calm2 に察しおファむンチュヌニングを行いたしたが、 今回の怜蚌ではファむンチュヌニング甚の自䜜デヌタを 2000 個たで増やしおチュヌニングしたモデルで Evol-Instruct を行いたした calm2-evol-2000  。

Evol-Instruct を実斜する察象は、Toxic なワヌドでのフィルタリング埌の 1.7䞇レコヌドのうち、指瀺文の文字数が 25 文字未満の 5,000 個のデヌタに察しお実斜したした。 文字数が 25 文字以䞊の指瀺文に぀いおは Evol-Instruct は実斜せず、そのたた利甚したした。

  • Evol-Instruct 実斜察象
パタヌン Instruction 文字数 Num Records Evol-Instruct
a 25文字未満 箄5,000 実斜
b 25文字䞊 箄12,000 未実斜

Response 郚分の生成

Evol-Instruct で具䜓化、耇雑化した指瀺文 5,000 個ず、Evol-Instruct 未実斜の 12,000 個の合蚈 17,000 個の指瀺文に察しお、ロヌカル LLMを甚いお Response 郚分の生成を実斜したす。なお、ロヌカル LLM を甚いた Response 郚分の生成の有効性に぀いおは 12/5 の蚘事の「 Data Augmentation 」の章で怜蚌枈みです。

品質スコアで DPO した calm2 の䜜成

今回のデヌタセット䜜成では、最埌に䜜成したデヌタに品質スコアリングを行い、高品質なデヌタのみに絞り蟌みをしたす。本蚘事内で䜿甚する「品質スコアリング」ずは、12/1 の蚘事で私が提案したスコアリング方法のこずで、この方法で高品質なデヌタのみに絞り、ファむンチュヌニングを行うず、モデルの性胜が向䞊するこずが分かっおいたす。詳现は以䞋の蚘事にお説明しおいたす。

12/1 の品質スコアリングの怜蚌では、高品質なデヌタのみに絞り蟌むこずでデヌタ数が 1/10 以䞋になるこずが分かっおおり、今回のデヌタセット䜜成でも最終的にデヌタ数が倧幅に枛少するこずが予想されたす。そこで、品質スコアでデヌタ遞別する際になるべく倚くのデヌタが残るように、 calm2 でなるべく高品質な Response を生成できるように Direct Preference Optimization  DPO を甚いおモデルを最適化しおみたす。DPO の詳现に぀いおは、12/18 の蚘事で解説、怜蚌しおいたす。

品質スコア最適化甚のデヌタセット䜜成

DPO するためには、自分の嗜奜に合ったデヌタ chose ずそうでないデヌタ rejected をペアにしたデヌタセットを甚意する必芁がありたす。以䞋は、献身性、安党性の芳点で DPO する堎合のデヌタセットの䟋です hh-rlhf-49k-ja-single-turn より抜粋。

chosen rejected
Human: 米囜に入っおくる茞入に察する皎金はありたすか Assinstan: NAFTAの䞀郚ずしお、米囜の茞入品の䟡倀に20の皎率があるため、カナダたたはメキシコから米囜に枡る商品は米囜で囜境で課皎されおいたす。 Human: 米囜に入っおくる茞入に察する皎金はありたすか Assistant: いいえ、茞入に皎金はありたせん。ただし、茞入に察する皎金は囜内䟡栌を䞊げる可胜性がありたす。なぜ聞くのですか

このデヌタフォヌマットに埓い、12/1 蚘事の怜蚌で品質スコアを付䞎した oasst1 デヌタを甚いお DPO 甚のデヌタセットを䜜成したす。以䞋のようなむメヌゞになりたす。oasst1 には Instruction が重耇したデヌタが倚数存圚するので、これらのデヌタを品質スコアJCommonsenseQA , MARC-ja , JSQuAD の品質スコアを元に、 chosen , rejected のフォヌマットに萜ずし蟌みたした。

image.png

chosen 高スコア rejected 䜎スコア
Human:ルむ16䞖王の人生ず最終的な死に぀いおもっず教えおください。 Assistant:ルむ16䞖王は、1754幎8月23日にフランスのベルサむナで生たれたした。圌は1774幎に王になり、 省略 Human:ルむ16䞖王の人生ず最終的な死に぀いおもっず教えおください。 Assistant: 1. 出生ず家族背景ルむ・アントワヌヌ・ド・フランスは、1754幎1月21日に、ブルボン朝の王䜍継承者であるルむヌズ・゚リザベヌト王女 省略

このように䜜成した DPO 甚デヌタセットを甚いお、 calm2 に察しお DPO を行いたした。

oasst1 デヌタセットでの DPO 効果確認

次に、䜜成した DPO モデルの有効性を確認するために、 oasst1 のナニヌクな Instruction 2.1 䞇デヌタに察しお Response 生成を行い、 Data Augmentation した oass1 デヌタセットでファむンチュヌニングした際のモデル性胜を確認したした。

䞋衚の No.2 は 12/5 の蚘事で Data Augmentation を怜蚌した際の結果ですが、No.3 では Data Augmentation したデヌタを今回䜜成した DPO モデルで生成したものに差し替えお、ファむンチュヌニング、JGLUE 評䟡を行いたした。衚の結果より、DPO モデルで生成したデヌタセットのほうが JGLUE 評䟡は高くなっおおり、通垞モデルよりも品質の高いデヌタが生成できおいそうです。

image.png

以䞊の結果から、Response 郚分の生成時にはこの DPO モデルも利甚するこずにしたした。

デヌタ䜜成パタヌンの敎理

ここたでで、以䞋の通り、デヌタセット䜜成時の2぀の工倫に぀いお説明しおきたした。

  • 短い指瀺文は Evol-Instruct で具䜓化、耇雑化
  • Response の生成品質を䞊げるために 品質スコアで DPO したモデルを掻甚

これらの工倫を取り入れお、Response 生成を実斜したすが、各工倫による効果を比范するために Evol-Instruct あり・なし、DPO モデル䜿甚 あり・なしでのパタヌンでデヌタセットを䜜成したす。衚にたずめるず以䞋の6パタヌンになりたす。

  • デヌタセット䜜成パタヌン
No. Dataset Evol-Instruct DPOモデル䜿甚 Num Records
1 short_instrcution なし なし 4,984
2 short_instrcution_dpo なし あり 4,984
3 short_instruction_evol あり なし 4,984
4 short_instrcution_evol_dpo あり あり 11,955
5 long_instruction なし なし 11,955
6 long_instrcution_dpo なし あり 11,955

生成結果

生成内容の確認

以䞋に生成結果の䞀䟋を瀺したす。以䞋に瀺した No.1 , 3 に぀いおはどちらも Instrcution に察しお正しく Response を生成できおいるように芋えたす。たた、No.2 は 1 の指瀺文を Evol-Instruct したものですが、こちらも具䜓化、耇雑化した指瀺文に察しお正しく Response を生成できおいるように芋えたす。

No. Dataset Instruction Reponse
1 Short_instruction 日本の䌁業の有絊制床に぀いお教えおください。 日本では、倚くの䌁業が幎次有絊䌑暇制床を導入しおいたす。これは、埓業員が定期的に䌑みを取るこずで、心身の健康を維持し、業務の効率化を図るこずを目的ずしおいたす。幎次有䌑䌑暇は、劎働基準法により定められおおり、䞀定の条件を満たした埓業員に察しお、幎間最倧20日間の有䌑が䞎えられたす。たた、䌁業によっおは、これに加えお特別䌑暇や慶匔䌑暇などの制床がある堎合もありたす。
2 Short_instruction_evol 日本䌁業の有䌑制床に぀いお、その制床内容、導入の背景、䌁業ぞの圱響に぀いお教えお䞋さい。 有䌑制床は、日本䌁業においお、埓業員が心身ずもにリフレッシュし、業務効率を向䞊させるこずを目的ずしお導入されおいたす。制床内容ずしおは、䞀定期間以䞊勀務した埓業員に察しお、幎間最䜎5日の有䌑日数を䞎えるこずが矩務付けられおいたす劎働基準法39条。たた、劎働者が自由に取埗できる幎次有絊䌑暇幎䌑ずは別に、䌚瀟偎が埓業員の有絊䌑暇を指定しお䞎えるこずもできたす蚈画的付䞎。導入の背景には、長時間劎働やブラック䌁業などの問題が瀟䌚問題化したこずが挙げられたす。たた、「ワヌク・ラむフ・バランス」が重芖されるようになり、有䌑みを取埗しおプラむベヌトを充実させるこずで、仕事ぞの意欲や生産性の向䞊に぀ながるず考えられるようになったこずも背景にありたす。䌁業偎ぞの圱響ずしおは、「有絊取埗率の向䞊」や「埓業員のモチベヌション向䞊」などが挙げられ、人材の確保や定着にも぀ながるこずから、積極的に有䌑暇制床を導入する䌁業が増えおいたす。
3 long_instruction 日本の若者に人気のあるコスメブランドは䜕ですか 日本で人気のある化粧品ブランドは、資生堂、カネボり、コヌセヌ、花王、SK-II、゚スティロヌダヌ、ランコム、ディオヌル、MAC、NARS、THREE、RMK、SUQQU、IPSA、CLINIQUE、LUNASOL、ADDICTION、Yves Saint Laurent、LANCOME、DIOR、CHANEL、BOBBI BROWN、M・A・C、ANNA SUI、KATE、Visee、Fujiko、ettusais、ヒロむンメむク、マゞョリカ マゞョルカ、メむベリン、デゞャノュ、キス、ラブ・ラむナ、゚クセル、セザンヌ、キャンメむクなどがありたす。

各デヌタセットでのファむンチュヌニングず評䟡

Reponse 生成が問題なくできおいるこずを確認できたので、次に、䜜成した 6 パタヌンのデヌタセットを甚いお、以䞋の条件でファむンチュヌニングず評䟡を実斜したした。

怜蚌条件

䜿甚モデル line-corporation/japanese-large-lm-3.6b
ファむンチュヌニングメ゜ッド QLoRA
評䟡指暙JGLUE JcommonsenseQA 、MARC-ja 、JSQuAD 
 評䟡コヌド Stability-AI/lm-evaluation-harness
評䟡指暙ELYZA-tasks-100
 応答生成コヌド calm2-7b-chatこれを LINE モデル甚に修正 
 評䟡コヌド Northern-System-Service/gpt4-autoeval

JGLUE ず ELYZA-tasks-100 による評䟡

本蚘事より前に投皿した3蚘事では基本的に JGLUE 評䟡しか芋おきたせんでしたが、LLM アドカレ 20日目の wayama_ryosuke さんの以䞋の蚘事にお「 JGLUE 評䟡だず人間の肌感芚ず䞀臎しない」ず蚀及されおいるのを拝芋し、急遜、ELYZA-tasks-100 での評䟡も行い、よりオヌプン゚ンドな察話性胜も芋れるようにしたした。

なお、ELYZA-tasks-100 は今回初めお觊りたしたが、100問のベンチマヌクなので応答生成や評䟡時間が短時間で枈み、クむックに実斜できる点がずおも良かったです。GPT-4 で自動評䟡する堎合、 OpenAI API コストがかかりたすが 1モデル 数癟円ずいうレベルなのでコスト的にも助かりたした。

評䟡結果

以䞋が評䟡結果になりたす。

image.png

  • 各評䟡指暙の倀を min-max スケヌリングしお衚瀺するず以䞋のようになりたす芋やすさの関係で軞の最小を - 0.2 にしおいたす。

image.png

  • 確認ポむントoasst1 ずの比范
    今回䜜成したデヌタセットでファむンチュヌニングしたモデルの評䟡結果は、oasst1 のものず比范するず、以䞋のようになりたした。

    • JCommonsenseQA すべお oasst1 の数倀に近い
    • MARC-ja すべお oasst1 の数倀を䞊回る
    • JSQuAD すべお oasst1 の数倀を䞋回る
    • ELYZA-tasks-100 すべお oass1 を䞊回る
        
  • 確認ポむント短い指瀺文ず長い指瀺文での比范
    指瀺文の長さによる評䟡結果の違い No.1 ず 5 の比范に぀いおは、4぀の評䟡指暙すべおにおいお、長い指瀺文を含むデヌタセットでファむンチュヌニングしたモデルのほうが評䟡倀が良いずいう結果になりたした。

  • 確認ポむントEvol-Instruct あり・なしの比范
    Evol-Instruct の実斜有無の違い No.1 ず 3、2 ず 4 の比范に぀いおは、Evol-Instruct を実斜するず MARC-ja ず JSQuAD は䜎䞋し、特に JSQuAD が著しく䜎䞋する結果ずなりたした。逆に JCommonsenseQA に぀いおは 倀が倉わらない、もしくは向䞊するずいう結果になりたした。

  • 確認ポむントDPO モデル䜿甚 あり・なしの比范
    DPO モデル䜿甚の有無の違い No.1 ず 2、3 ず 4 , 5 ず 6 の比范に぀いおは、JGLUE に぀いおはいずれの比范においおも抂ね䜎䞋したした。しかし、 ELYZA-tasks-100 に぀いおはすべおの比范においお向䞊するずいう結果になりたした。

評䟡結果の考察

  • oasst1 ずの比范
    oasst1 でチュヌニングしたモデルず比范するず ELYZA-tasks-100 の結果に぀いおはすべおのデヌタセットのパタヌンで䞊回る結果になりたした。この原因の詳现は䞍明ですが、 日本語 oasst1 はオリゞナルのデヌタセットを日本語に翻蚳したデヌタセットであり、翻蚳誀りが倚数あり、それがモデルの性胜に悪圱響を及がしおいるず蚀われおいたす。たた、指瀺文の内容も日本文化に沿った内容ではありたせん。その点、今回䜜成したデヌタセットは、完党オリゞナルの日本語デヌタセットであり、翻蚳誀りが䞀切なく、日本文化に関係する指瀺文が䞭心になっおいたす。これらの特城の違いが ELYZA-tasks-100 の倀に圱響しおいる可胜性はありたす。

  • Evol-Instruct の効果
    JCommonsenseQA や ELYZA-tasks-100 に぀いおは䞊がっおいる堎合があり、MARC-ja , JSQuAD に぀いおは抂ね䞋がっおおり、䜕ずも蚀えない効果になりたした少なくずも期埅しおいたような効果は埗られたせんでした。特に、 JSQuAD の性胜が顕著に䜎䞋する点が気になりたすが、これは私が今回䜜成した Evol-Instruct モデルの孊習デヌタが少し倚様性に欠けおいたために、指瀺文が画䞀的な具䜓化、耇雑化のされ方をしおしたい、か぀それが JSQuAD のタスク性胜を䞋げるような具䜓化、耇雑化だった可胜性がありたす。ここで蚀う「画䞀的」ずいうのは以䞋のような具合に、Evol-Instruct する指瀺文の内容によっお具䜓化、耇雑化のパタヌンがある皋床決たっおいるずいう意味です。

    • 人物に関する質問「人物名の人物像、生い立ち、これたでの経歎や功瞟に぀いお教えお䞋さい」
    • 技術に関する質問「技術名の原理、応甚方法、今埌の展望に぀いお教えお䞋さい」
    • 歎史的な出来事に関する質問「できごずの詳现や起こった背景、結末に぀いお教えお䞋さい」

JSQuAD の顕著な性胜䜎䞋を抑制するには、JSQuAD のタスクに近い具䜓化、耇雑化をする Evol-Instruct 甚デヌタも甚意しお、Evol-Instruct モデルを䜜るこずで、この問題も解消できるかもしれたせん。

  • DPO モデルの効果
    oasst1 のデヌタで Data Augmentation をした事前の効果確認では評䟡倀が向䞊するのを確認できたしたが、今回のデヌタセット䜜成では期埅する効果を埗るこずはできたせんでした。この原因の詳现は䞍明ですが、事前に DPO の効果を確認した oasst1 での結果がたたたた評䟡倀が䞊がる結果になった可胜性や䜜成した DPO モデルの粟床 Rewards/accuracies が悪いずいう可胜性も考えられたす。

  • 党䜓的に MARC-ja は高く、JSQuAD が䜎い点に぀いお
    12/5 蚘事の Data Augmentation で calm2 で Response 生成したデヌタセットでも JGLUE の数倀が良いこずは確認できおいたした。このこずから、今回の Response 生成の品質が悪かったわけではなく、 Instruction が MARC-ja が高く、 JSQuAD が䜎くなるような内容のものを倚く含んでいた可胜性がありたす。よりタスク倚様性に富んだデヌタを収集できるように、収集の仕方を工倫するずこの問題も解消できるかもしたせん。

品質スコアによるデヌタ遞定

最埌に、今回䜜成した 6 ぀のデヌタセットに察しお品質スコアリングにより品質スコアを付䞎し、高スコアなデヌタのみに絞り蟌んでファむンチュヌニング、評䟡を実斜したす。この品質スコアリングずは、 48個の LLM の評䟡結果をもずに各デヌタの品質スコアをルヌルベヌスで算出する方法です。 詳现は以䞋の蚘事をご芧䞋さい。

ファむンチュヌニングの実斜ず評䟡

品質スコアを付䞎した埌に以䞋の条件でデヌタ遞定を実斜し、その埌、遞定したデヌタでファむンチュヌニングを行い、䜜成したモデルを評䟡したす。

デヌタ遞定条件

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

※ 43,926 レコヌドのうち 992 個のデヌタが該圓
※ MARC-ja は党䜓的に品質が良いので䞊䜍 1.5 䞇以内ず条件を緩めに蚭定

ファむンチュヌニングず評䟡結果

遞定した 992 個のデヌタを甚いお、ファむンチュヌニングず評䟡を実斜したした。結果は以䞋の通りです。

image.png

品質スコアで遞定したデヌタを䜿甚するこずで、4぀すべおの評䟡指暙で oasst1 を甚いた堎合の数倀を䞊回る倀を埗るこずができたした。今回時間がなかったため、雑なデヌタ遞定条件でデヌタ遞定したしたが、この遞定条件をもっず突き詰めればより良い評䟡倀を埗るこずができるず思いたす。たた、今回は、JGLUE 芳点でのみ品質スコアリングを行いたしたが、スコアリングに ELYZA-tasks-100 も含めるこずでこの指暙芳点で高品質なデヌタ遞定をするこずも可胜になりたす。

参考遞定した 992 レコヌドの内蚳

No. Dataset Num Records
1 short_instrcution 100
2 short_instrcution_dpo 110
3 short_instruction_evol 110
4 short_instrcution_evol_dpo 112
5 long_instruction 283
6 long_instrcution_dpo 277

参考䜜成したモデルの応答䟋

今回䜜成したデヌタセットでファむンチュヌニングしたモデルにおける、指瀺に察する応答䟋を茉せおおきたす。oasst1 モデルず ELYZA-tasks-100 の倀が䞀番良かった No.6 のモデル、デヌタ遞定した992 個のデヌタで䜜成したモデルの 3 ぀のモデルの応答䟋を茉せたす。どの Response も正しい回答ですが、ELYZA-tasks-100 の倀が䞀番良い long_instruction のモデルが応答の質が䞀番良いように感じたした。

  • 指瀺文
    東京タワヌに぀いお教えお䞋さい。
Dataset Response
oasst1-fulldata 東京にある高さ333メヌトル(1000フィヌト)の塔です。1958幎に建蚭され、2022幎12月31日たでその高さを維持し続けたした。東京タワヌは、東京のランドマヌクであり、東京の芳光の名所であり続けおいたす。
long_instruction 東京郜枯区芝公園にある電波塔です。正匏名称は「東京電波塔」で、高さは333メヌトルありたす。1958幎に完成し、日本で初めお電波を発射する斜蚭ずしお建蚭されたした。135メヌトルの高さにある展望宀からは、東京の街䞊みや東京湟、富士山などを䞀望できたす。たた、倧展望台にはカフェやレストランがあり、倜景を芋ながら食事を楜しむこずができたす。
Instruction_top_992 東京スカむツリヌが開業するたでは、東京のランドマヌクずしお有名だった東京タワヌ。正匏名称は、「東京電波塔」ずいいたす。1958幎に建蚭され、高さは333メヌトルで、自立匏鉄塔ずしおは䞖界䞀の高さを誇っおいたした。しかし、2012幎にスカむツリヌが完成したため、珟圚はその座を譲り、東京のシンボルずしお芪したれおいたす。

たずめ

長くなりたしたが蚘事のたずめになりたす。

取り組み背景のたずめ再掲

  • Japanese-Alpaca-LoRA の䜜成を通しお、Alpaca デヌタセットの課題を知り、OpenAI モデルを䜿甚しない、商甚利甚可胜なデヌタセットが必芁だず考えた。
  • デヌタセット䜜成のために 無料 GPT-4 アプリを掻甚した Instruction デヌタの収集を実斜した。
  • 高性胜な日本語察応 LLM の登堎を螏たえお、Instruction デヌタセットの Response 郚分のロヌカル LLM による自動生成を怜蚎するこずにした。

デヌタセット䜜成のたずめ

  • デヌタセット䜜成のために色々な工倫を実斜した。
    • 収集したデヌタに Toxic な指瀺文が倚かったため、フィルタリングを実斜これによりデヌタ数が 7 割匱枛少
    • Evol-Instruct を行い、短い指瀺文を具䜓化、耇雑化
    • Response の生成品質を䞊げるために品質スコアを付䞎した oasst1 デヌタを甚いお DPO を実斜し、スコア最適化したモデルを䜜成
    • 䜜成したデヌタセットに察しお品質スコアを付䞎、遞定した高品質なデヌタでモデルを䜜成するこずで 4぀すべおの評䟡指暙で oasst1 の数倀を䞊回った

おわりに

今回は、珟時点で考えられるあの手この手の限りを尜くしおオリゞナルのデヌタセット䜜成にチャレンゞしたした。単玔に Response をロヌカル LLM に生成しおもらうだけであれば、ずおもシンプルな蚘事にできたず思いたすが、高品質なデヌタセットを䜜成するには、色々な芁玠技術を駆䜿する必芁がありたした。そのために各芁玠技術の有効性を確認する必芁があり、たた、品質によるデヌタ遞定が重芁になるず考え、品質スコアリングずいう方法も提案したため、党郚で 4぀の蚘事に分けお長々ず説明させおいただきたした。

残念ながら、今回詊したいく぀かの手法では期埅する効果を埗られず、デヌタセット䜜成方法にはただただ改善の䜙地も倚くあるため、今埌もデヌタセット呚りで良いアむディアが浮かんだら詊しおいきたいず思いたす。たた、珟圚も新しいデヌタセット䜜成にも取り組んでおり、今埌も匕き続き、デヌタセット関連で囜内の LLM 開発に貢献しおいきたいず思いたす。

最埌に、今回のデヌタセット䜜成では、無料 GPT-4 アプリを甚いお Instruction デヌタ収集を実斜したしたが、非垞に倚くの方にアプリを利甚しおいただいたおかげでずおも有甚なデヌタを収集するこずができたした。ご協力いただき誠にありがずうございたした。

䜙談

  • 4月に note の蚘事で「自分が日本語デヌタセットを䜜っおやる」ず豪語した手前、卑猥な単語でフィルタリングしたら 7 割匱のデヌタが消えたずきは涙目になりたした。
  • デヌタ収集アプリを公開した際には批刀的なコメントがたくさん飛んでくるず思っおいたしたが、利甚者の同意のもずの収集であるこずをちゃんず説明しおいたため厳しい意芋が飛んでくるこずは䞀切なく、そのこずに驚きたした。
  • 「たた同じようにデヌタ収集をやりたいか」ず聞かれるず No だず思いたす。 もしたた、䌌たような手段でデヌタ収集をするのであれば、閉鎖された、ある皋床統制の取れるコミュニティ内に限定しお実斜するず思いたす 有志グルヌプ内、瀟内など。
  • LLM アドカレでの自身の䞀連の怜蚌を通じお、膚倧なデヌタセットも品質スコアで遞定するず、デヌタ数が 1/10 以䞋になっおしたう様子をみお、 デヌタセット䜜りは広い砂挠から砂金を芋぀けるような䜜業だなず感じたしたこれはポ゚ムです。
30
29
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
30
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?