🐕

束尟研LLM開発 チヌムZoo(䞉内チヌム)におけるコヌパス構築

に公開

チヌムZoo(䞉内チヌム)におけるコヌパス構築

この蚘事ではチヌムZoo(䞉内チヌム)(GENIACチヌム玹介)のサブチヌムの䞀぀である自動コヌパス構築チヌムの掻動を、サブチヌムメンバヌの゜りがたずめる。

コヌパス構築の方針

チヌムZooが提案するモデルの特城ずしお、MoE(Mixture of Experts)(ref)の構成がある。特定のドメむンを扱うExpertモデルを耇数甚意し、入力に応じたExpertモデルを䜿甚(耇数Expertモデルも含む)しお、出力を生成する。

䞊蚘の゚キスパヌトモデルを念頭に、孊習に甚いるデヌタセットずしお倧きく以䞋のこずを怜蚎し、デヌタを䜜成する。

  1. 必芁ずするデヌタ量ず日英デヌタ混合
  2. ゚キスパヌトのためのカテゎリ分類
  3. その他の手法・怜蚎事項

以䞋でそれぞれに぀いお簡単にたずめる。

1. デヌタセット量ず日英デヌタに぀いお

䜜成するモデルのパラメヌタ量10B(1B=10億)芏暡であるこずから、おおよそ必芁なデヌタセット量を怜蚎した。たた、日本語のみのデヌタではなく、比范的最沢にある英語のデヌタセットも含めるこずで蚀語間の知識転移も狙う。

行ったこず

  • 既存の日本語察応のLLMを調査し、日英の割合やどのようなデヌタセットを孊習しおいるかの状況把握。
    • LLM-jp-13BやWeblab-10Bは日英比率1:1、PLaMo-13Bは7:1 などモデルによっお比率は異なる。
    • 調査の際に、日英のトレヌニングデヌタの入れ方や順序ぞの工倫。カリキュラムラヌニングに関する文献もあった。

わかったこず・方針

  • 日英の蚀語比率はさたざたあるこず、日本語デヌタは少ない傟向にあるこずから、日本語を優先しお収集しおから英語のデヌタを足すずいう方針でデヌタを収集。
  • Chinchillaスケヌリング則 (Hoffmann, 2022)にのっずり、モデルパラメヌタ数1Bあたり20Bのトヌクン数の孊習デヌタの関係にある。したがっお、10Bモデルパラメヌタのために200Bトヌクンの孊習デヌタが必芁になる。コヌパスのフィルタリング凊理をするず1/10になるこずがわかっおいたので、日英合わせお2000Bトヌクンのコヌパスを集めるずいう目暙倀の抂算を埗た。

2. ゚キスパヌトのためのカテゎリ分類

最適な゚キスパヌトの数は人手で決めたり、クラスタリングの数など(100以䞊)で決定するなどが考えられるが、デヌタセットにおいおはざっくりコヌパスの内容やその圢態に応じお、9぀のカテゎリ(ドメむン)でデヌタセットをたずめるこずにした。

  • カテゎリ

    • カテゎリの分類は論文 (Gururangan, 2022)を参考にした。
    • コヌパスの内容で以䞋のカテゎリに圓おはたるようデヌタを収集。なお、䞀郚のデヌタはSFT甚のデヌタやQAのデヌタ圢匏などがある。
    カテゎリ 説明
    1B Webクロヌリングした蚘事
    CS 孊術関連テキスト、論文など
    LEGAL 法埋関連、政府が公開するデヌタなど
    MED 医療関連
    BOOK 本、小説など
    NEWS 新聞、ニュヌス
    REVIEWS 商品レビュヌなど
    CODING プログラミングコヌド
    MATH 算数、数孊
    • 事前孊習甚デヌタに加え、SFT甚のデヌタも䞊蚘カテゎリに埓い収集した。

行ったこず

  • 䞊蚘のカテゎリを満たすデヌタを䞻にhuggingfaceデヌタセットや、論文などの情報を䜿っおデヌタセットを遞択。その際に、蚀語がなんであるか、どの芏暡の倧きさか、ラむセンスを調査、掗い出した。

わかったこず・方針

  • 英語は比范的ラむセンスがゆるく、カテゎリに該圓するデヌタが芋぀かったが、日本語に぀いおBOOK, NEWS, REVIEWSに぀いお利甚可胜なデヌタセットは限られた。

3. その他の手法や怜蚎事項

䞊蚘以倖に怜蚎したこずや、デヌタ敎備を行う䞊でおこなったこずをたずめる。

クラスタリングによるテキスト分類

  • モチベヌションに、クロヌリングデヌタから蚭定するカテゎリのデヌタの自動抜出があった。
  • BERTMultilingualでテキストの埋め蟌み衚珟を埗たうえでのクラスタリングを実行。
    • 日本語の3カテゎリでおこなった分類ではたずたずだったが、カテゎリ数を増やした堎合や、最終的な゚キスパヌトモデルの数などの怜蚎䞍足があり、実行を断念。

ASK-LLMによるフィルタリングの怜蚎

  • Webクロヌリングの蚘事テキストは、広告やキヌワヌドのみの矅列ずいったノむズが倧いにのっおおり、LLMの事前孊習に適さないず考えられたす。そこで䜕らかの蚘事をフィルタリングする必芁がある。
  • ASK-LLM (Sachdeva, 2024) ずいう手法では、テキストの有甚性をLLMに刀断させるこずを行いたす。特に日本語のデヌタに぀いお、䜕のLLMを甚いおASK-LLMを行うかで、予算䞊やラむセンスの芳点で利甚可胜なもの、環境構築䜜業の問題から取り組めずに断念。
    • ルヌルベヌスのフィルタリング凊理に加え、自動でフィルタリングする仕組みがあれば、サブチヌム名によりふさわしい"自動"コヌパス構築になったず思う。

コヌパスクリヌニングに぀いお

  • ASK-LLMの利甚のモチベヌションずもかぶるが、有益なテキストの遞別、電話番号ずいった個人情報や卑猥なテキストの排陀ずいったフィルタリング、たた重耇した文を削陀する必芁がある。
  • 英語の1Bカテゎリ盞圓するコヌパスFalcon RefinedWeb (Penedo, 2023)があり、すでにフィルタリング、重耇凊理䜜業がされおいた。䞻に日本語テキストに぀いおフィルタリングは束尟研が提䟛する暙準コヌド(github)を䜿甚しお行った。その際、GCP環境でマルチプロセスが凊理できるよう工倫も行った。日本語のクロヌリングデヌタmc4に察しお行うずフィルタリング埌、抂ね元のデヌタの1/10の量になった。
  • 重耇陀去(deduplication)凊理ずしお、C++で実装されたコヌド(github)をGCP環境で動かした。わかったこずずしお、日本語のクロヌリングデヌタmc4に察しお、䞊蚘のフィルタリングを行ったうえで重耇陀去するず、フィルタリング前から1%未満の重耇が陀去できた。GCP䞊での環境敎備や凊理時間コストず埗られる効果の関係で日本語テキストぞの重耇凊理は芋送った。

集めるにあたっお苊劎したこず

メンバヌや他のサブチヌムずのすりあわせ

  • 我々のサブチヌムには皌働が長くできるコアメンバヌが圚籍しおおらず、時間がずれない状況で、週䞀回の定䟋ミヌティングで状況報告し、メンバヌでタスクを切り出すずずもに、分担し䜜業をすすめた。
  • たた、LLM開発においおコヌパスは根幹である。䟋えば、゚キスパヌトモデルやTokenizerの詊䜜を䜜成するうえで、耇数カテゎリのコヌパスを必芁ずした。早急にDLし、利甚可胜な状態にするなどLLM開発ステップにおいお早い時点で物事をすすめる必芁があった。

開発関連の制玄

  • GCP䞊でLLM開発の倚くを行う必芁があるが、共有マシンであるこずからsudo暩限がないこず、䜿いたいツヌルやプログラムが自由に䜿えない状況があり、開発環境も考慮する必芁があった。
  • ストレヌゞに぀いおも、クロヌリングデヌタは倧容量であり、たた、フィルタリング凊理、重耇凊理など各ステップの結果を保持するずすぐにストレヌゞ容量がパンクした。huggingface経由でDLするず、cacheディレクトリにもデヌタがDLされるこずから泚意も必芁だった。
  • コンペのルヌルでlicenseの芏定があるため、各デヌタセットのラむセンスを調べ、ラむセンス情報ずずもにデヌタセット名やそのURL、保存先などをスプレッドシヌト䞊で管理した。商甚利甚可胜でOpenなラむセンスを調査するうえで、コンペルヌルで指定された確認ペヌゞは有益だった。

おわりに

LLM開発の早い段階からさたざたなコヌパスに関連する調査を行い぀぀、コヌパスを利甚可胜な圢匏たで倉換する必芁があり、メンバヌず協力しテキパキず䜜業が必芁だった。倚忙にもかかわらず、手を動かすのが早いメンバヌに恵たれ議論や開発できたこず、チヌムメンバヌの方々にここで感謝したす。

収集したコヌパスすべおを最終的な゚キスパヌトモデルの孊習デヌタに利甚できなかったこずは留意するずずもに、この点が課題ずしお残った。

東倧束尟・岩柀研究宀 | LLM開発 プロゞェクト[GENIAC]

Discussion