🗂

Team 甲(きのえ) Phase0 の振り返り(その2)

2024/05/05に公開

はじめに

  • Phase0の振り返り(その1)では、チームの生い立ちに関する話題を書かさせて頂きました。
  • 今回は各サブチームについて、それぞれ振り返りたいと思います。

サブチーム

Team 甲では、以下のサブチームに分かれて、それぞれのミッションを遂行しています。

  • データチーム(以下、データTと略)
    • 学習に使うデータの収集
    • トークナイザのモデル作成
  • 学習チーム(以下、学習Tと略)
    • 実際に使用するモデルの作成
  • 全体統括チーム(以下、統括Tと略)
    • チーム横断的な困りごとの解決
    • 運営との連携など

データTの取り組み

データTでは学習に使うデータを集めるというのが大きなミッションとはなりますが、具体的にどれくらいの量を集めれば良いのか、ご存じでしょうか?
正直、私自身は必要なデータ量を答えられる自信はありません。モデルサイズによっても必要量は変わりますし、データ量が増えれば当然のことながら学習時間が増えます。なので、ただ集めれば良いという訳ではなく目標量を定めて集めていく。データTは初動から、そのような形で動いていた印象です。
しかし、元々日本語として使えるデータセットが少ない点、集めても学習に使えるデータとしてクリーニングをすると想定よりも減ってしまう点など、想定される状態であったとは言え、実際にやってみると想定よりも苦労が多かったのかと思います。
それでもPhase1の開始時点では、きちんと着地させたデータTでもありました。

足りないデータをどのように考えたか

Team 甲では、最終的に日本語データのみを使う方針となりました。(他にプログラミング言語のデータセットを追加はしています。)

  • 小さいモデルでは知識転移は起きにくいことを前提に、逆に多言語化することでモデルの能力が下がることを懸念
    • 【補足】もちろん、小さいモデルでも多言語を学習して性能が良いモデルも存在するかとは思いますし、議論が絶えない、答えが出にくいところかと思いますが、どう考えるかという点でTeam 甲では、そう考えたという事です。
  • 4エポックぐらいまでなら、新しいデータを学習させるのと同様という論文を参考にデータが少なくても学習回数を稼げないか
    • 【補足】他にも戦略的に検討している事はありますが、それは後日にあらためて記事にする際に触れたいと思います。

学習Tの取り込み

標準コードと言われる運営側から提供されているコードがありますが、そこではMegatron-DeepSpeedをベースにGPT2のモデルが学習できるようになっています。
学習Tでは、その標準コードには含まれていない以下のモデルを準備することで、Phase1に備えたという所があります。(Mistral系はSequence length warmup対応モデルもあり)

  • Mistral 7B
  • Mixtral 7Bx8
  • Qwen Moe
  • Llama2

実際の苦労話はPhase1になってからとなりますので、次回以降の記事をお待ちいただければと思いますが、準備期間と言われるPhase0でモデルの選択肢があるという点でもすごい事かと思います。またLlama2については実装等が終わっているもののMistralの方が精度が良さそうという事でPhase0の途中からMistral系をメインにシフトした経緯があります。(なので、今後の記事で話題に挙がらないかと思われます・・・)

統括Tの取り組み

統括Tでは、チーム横断的な困りごと解決や運営側との連携などの役割を担うチームとなります。また、今回のプロジェクトでは基本的にオープンであることからライセンス回りやデータセットの扱いがシビアになります。そういった調整ごとも統括Tの役割となります。
(※内部的には事務と技術で更に担当が分かれています。)
正直、個々のチームが機能してしまうと役割としては薄くなる(薄くなって欲しい)と個人的には思うチームとなりますが、それでも直近ではPhase1に向けた見守り体制の検討や環境面などの検討など幅広に検討することは多く、そうは言っても表舞台に出て活躍することはなく水面下でプロジェクトを遂行するために必要な対応を行っている、そんなチームとなります。

バランスの良さ

いずれにしても、このチームの最大の強みはメンバーのバランスの良さにあります。各人が得意分野を持っていて、良い具合に各チームに配属されていき、それぞれの役割を果たす。そして、その成果物を繋げる役割の者もいてうまく回るように調整する。恐らく誰かが欠けても果たせなかった到達地点にたどり着けているチームなのかなと振り返ってみて感じます。
もっとも他チームの事を知っている訳ではないので、各チーム同じように苦労して、同じように物事を解決しているのかと思いますが、それでも一般的な会社組織上のプロジェクトと比べても色々課題は生じるのは当然として、Phase0の期日までに当初の目標をクリアすることができているというのは中間結果としては上出来なのかなと考えます。

Phase1に向けて

まぁ、そのような感じに順調に準備を進めてきた訳ですが・・・
Phase1に入ってからのエピソードは、次回以降の投稿とさせていただきます。

Discussion