🐷
[週次報告] 第2回 Team JINIAC
- チーム名:JINIAC
- 日時 :2024年4月7日
1. 開発テーマ・概要
記載者: 中村 仁
- 本プロジェクトでは、日本語の特性を適切に捉えられる大規模言語モデル(LLM)の開発を目指します。
- この目標達成に向けて、以下の3つの領域に対し、重点的に注力しております。
-
データセット
- 良質な日本語データセットの構築が日本語理解の質を大きく左右する。
- 本プロジェクトでは以下のデータを収集し、最適化を図る。
- 政府文書
- 国会答弁
- 学術論文
- 知識転移を見据えた独自データセット
- ヒンディー語
- 政府文書
-
モデル構造
- モデル構造の革新が鍵となる。
- 以下の検討を行っている。
- 従来のTransformerに代わる新構造の検討
- Mamba等のSSM
- Mixtures of Experts(MoE)の活用
- 従来のTransformerに代わる新構造の検討
-
学習手法
- 人間とAIの学習プロセスには大きな隔たりがある。
- 新しい学習手法の導入により、人間に近い学習を実現し理解力向上を目指す。
-
データセット
加えて、以下のプロジェクト運営面での工夫も行っています。
- トップダウンとボトムアップの両立
- Notionを活用したプロジェクト管理の最適化
- チームメンバーの心理的安全性の確保
- コミュニケーションの活性化
プロジェクトの目標を達成できれば、以下の成果が期待できると考えています。
- チームメンバーによる共同執筆での論文発表
- NoteやGitHubを通じた積極的な情報公開とLLM人材の育成
日本が世界に誇れるAI技術を持つためには、日本語の豊かな表現を捉えられるLLMの実現が不可欠です。
本プロジェクトはその実現に向け、全力を尽くしてまいります。
2. チーム全体の開発状況
記載者: 中村 仁
- チーム組成が完了し、各サブチームにおける開発が開始しました。
- 現在は、「リサーチと方針策定」の段階であり、各サブチームにおける模索が進められています。
- 各サブチームにおける活動をサポートし、チーム全体としての調整をする活動も行っています。
- 次のマネジメントチームの発足させました。
- 情報調査チーム
- 情報収集、情報分析、情報の可視化
- 外務チーム
- 情報の発信、文書の公開範囲設定
- 内務チーム
- チーム内の方(及びチームへ加入される予定の方)に対するマネジメント、勉強会の調整
- 情報調査チーム
- マネジメントチームにより、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