🐷

[週次報告] 第2回 Team JINIAC

2024/04/11に公開
  • チーム名:JINIAC
  • 日時  :2024年4月7日

1. 開発テーマ・概要

記載者: 中村 仁

  • 本プロジェクトでは、日本語の特性を適切に捉えられる大規模言語モデル(LLM)の開発を目指します。
  • この目標達成に向けて、以下の3つの領域に対し、重点的に注力しております。
    1. データセット
      • 良質な日本語データセットの構築が日本語理解の質を大きく左右する。
      • 本プロジェクトでは以下のデータを収集し、最適化を図る。
        • 政府文書
          • 国会答弁
        • 学術論文
        • 知識転移を見据えた独自データセット
          • ヒンディー語
    2. モデル構造
      • モデル構造の革新が鍵となる。
      • 以下の検討を行っている。
        • 従来のTransformerに代わる新構造の検討
          • Mamba等のSSM
        • Mixtures of Experts(MoE)の活用
    3. 学習手法
      • 人間とAIの学習プロセスには大きな隔たりがある。
      • 新しい学習手法の導入により、人間に近い学習を実現し理解力向上を目指す。

加えて、以下のプロジェクト運営面での工夫も行っています。

  • トップダウンとボトムアップの両立
  • Notionを活用したプロジェクト管理の最適化
  • チームメンバーの心理的安全性の確保
  • コミュニケーションの活性化

プロジェクトの目標を達成できれば、以下の成果が期待できると考えています。

  1. チームメンバーによる共同執筆での論文発表
  2. NoteやGitHubを通じた積極的な情報公開とLLM人材の育成

日本が世界に誇れるAI技術を持つためには、日本語の豊かな表現を捉えられるLLMの実現が不可欠です。

本プロジェクトはその実現に向け、全力を尽くしてまいります。

2. チーム全体の開発状況

記載者: 中村 仁

  • チーム組成が完了し、各サブチームにおける開発が開始しました。
    • 現在は、「リサーチと方針策定」の段階であり、各サブチームにおける模索が進められています。
  • 各サブチームにおける活動をサポートし、チーム全体としての調整をする活動も行っています。
    • 次のマネジメントチームの発足させました。
      1. 情報調査チーム
        1. 情報収集、情報分析、情報の可視化
      2. 外務チーム
        1. 情報の発信、文書の公開範囲設定
      3. 内務チーム
        1. チーム内の方(及びチームへ加入される予定の方)に対するマネジメント、勉強会の調整
    • マネジメントチームにより、Notionにおける情報管理や、コミュニティメンバーの加入についてのフローの確立へ進んでおり、よりよい開発環境とするために活動が進展中です。

3. サブチームからの情報共有

3.1 データ班

記載者: @toshiki_nakashima, @堀江吏将, @元谷崇

3.1.1 やったこと

  • 事前学習に利用可能な日本語データセットの調査
    • 事前学習データのクリーニング,準備
  • 本番データセットにおける,ブレンドの割合(日本語,英語,ヒンディー,他ドメインなど)
  • 事後学習データセットで使えそうなものの調査
  • ヒンディー語データセットのサーベイ、共有
  • 収集済みデータセットを利用した、小規模実験
  • トークナイザーv0.2の構築・公開
  • トークナイザーv1.0構築に向けた勉強会の開催
  • HFデータセットのアップロード用コードの標準化を実施
  • モデル班・コード班と連携しデータセットの受け渡し方法等を検討

3.1.2 分かったこと

  • 事前学習用データセットはまだ収集が必要(量的不足)
    • 加えて,ある程度綺麗にする必要があり
  • 日本語LLMとはいえ、他言語やコードの学習は有用
    • 比較実験より,コードを混ぜたときのロスがいい具合に下がった
  • 事後学習用のデータセット収集を進める必要あり。
  • 既存のトークナイザーを追加サーベイする必要がある(語彙数は適切か)。
    • トークナイザ―における語彙数も調べる必要がある
  • HFデータセットにしておけばとりあえずよいので,やはりここをゴールとして目指す.

3.1.3 次やること

  • 本番投入事前学習データセットの計画策定
  • データセットの共有環境構築、手順整理
  • 日本語データセットを極力増やすため,著作フリーかつ綺麗なデータの調査
    • 場合によってはデータセットのクリーニング,キュレーション
  • 行政系データの共有
  • トークナイザの構築,語彙数の適切値の検討

3.2 学習・コード班

記載者: @Shoji Iwanaga

3.2.1 やったこと

  • 学習・コード班からそのほかの班への派遣メンバーの決定
    • 情報の共有他を行うため
  • 標準コード改造に向けた勉強会の開催
  • 標準コードのシェルスクリプト化
  • moe-recipes の理解
  • GitHubオーガナイゼーションを用いて標準コード改造

3.2.2 分かったこと

  • moe-recipes のライセンス問題
  • moe-recipes をもう少し深堀する必要がある

3.2.3 次やること

  • WandBによる実験管理の勉強会
  • 論文:LLMサーベイの勉強会
  • 事後学習についての調査

3.3 モデル班

記載者: @佐野敏幸

3.3.1 やったこと

  • MoEの勉強会とMambaの勉強会を開催
  • moe-recipes の調査
  • MoEの実装

3.3.2 分かったこと

  • 標準コードにMoE用の設定を追加し、チェックポイントが作成されることを確認した。ただし、Huggingface形式に変換するスクリプトがない。
  • moe-recipes を利用して、MoEモデルのスクラッチ事前学習が動作することを確認した。
  • moe-recipes にはライセンスの表示がないため、今回のプロジェクトでは使用できない可能性がある。

3.3.3 次やること

  • moe-recipes の使用可能性検討。状況により、moe-recipes 以外でのMoE実装方法を検討。
  • MoE ハイパーパラメータのチューニング方法検討。
  • MoE ゲーティングの工夫を調査。特にコードに落とし込めるものを重視。
  • MoE ファインチューニングについての調査。

4. ディスカッション

特になし

5. 開発のマイルストーン

データ班

記載者: y_morinaga

  • 主要なマイルストーン
    • 事前学習用データの準備
    • 事後学習用データの準備
    • トークナイザの作成
  • 現在地
    • 事前学習用のデータ準備
      • データおよびクリーニング方法の調査中
      • 国会議事録のデータ準備中
    • 事後学習用データの準備
      • データの調査中
    • トークナイザの作成
      • 暫定バージョン(v0.2)の作成・公開

学習・コード班

記載者: 加藤万理子

  • 主要なマイルストーン
    • 他班の方策に合わせて使用ライブラリを勉強・検証
    • プレ環境・本番環境での実験実施
    • 標準コードの理解
    • 標準コードを本チームが取る方策に合わせ改造
    • WandBを用いた実験管理の勉強・実践
    • 他班で追いきれない方策の調査
  • 現在地
    • 標準コードスクリプトの改造
      • シェルスクリプトの分割・configやargparseの使用
      • WandBに関する項目追加
      • 改造結果の動作確認
    • WandBに関する勉強会実施
    • その他LLMに関する勉強会を複数実施

モデル班

記載者: 白石尽誠

  • 主要なマイルストーン
    • MoEモデルの基礎原理を理解する.
    • MoEモデルの事前学習が可能であることを検証する.
    • MoEモデルを実践的なデータで事前学習させ,lossが下がるのをみる.
    • MoEモデルに対し工夫を加える.
    • mambaモデルの理解,実装を行う(optional)
  • 現在地
    • MoE勉強会により,基本事項について学習した.
    • MoE-recipeライブラリにより,Mixtralの小規模版の事前学習ループをシングルノードシングルGPUで動作させた.検証事項が多数存在.
      • チェックポイントのHugging face形式への変換,アップロードに成功.(トークナイザ除く)
      • シングルノード2GPUで学習ループが回せるのを確認.
    • 上記と並行して実施予定.
    • 現在,ゲーティング工夫及び実装法を調査中.
    • mamba勉強会は済.現在,実装法を調査中.

Discussion