👋

[週次報告] 第4回 Team 天元突破

2024/05/02に公開

開発テーマ・概要

開発テーマ

  1. メインテーマ
    「ハルシネーションが最大限逓減された(最大限自然言語的に自然な言語のみを含ませた事前学習データによって学習された)日本語大規模言語モデルを開発する.」

  2. サブテーマ1
    「ディベートデータを用いて言語モデルを事後学習することでより高次な論理的思考力をモデルに付与する」

  3. サブテーマ2
    「MoE(Mixture of Expert)の実装例となるモデルをOSS公開する」

プロジェクト目標

  • 全員が成長する.
    • できるだけ離脱者を出さず,LLM開発経験者を最大限生産する
  • 研究余地や公開意義のある知見を取り出す
    • 日程,計算,データなどのリソースは限られるが,最大限アカデミアへの貢献を目指す
  • ハルシネーションの最大限逓減を目指す
    • 嘘をできるだけつかないLLM開発へ向け,事前学習データの精査(+RLHF)に挑戦する

メインの参考文献

開発状況

  • メンバーの個々人の特性に合わせてサブチームに振り分け.コアメンバーにサブチームリーダーを担当してもらう.
  • 各サブチームにリーダー補助のアシスタントリーダーを複数人配置
  • 能力値の高いメンバーにはサテライトコアメンバーとしてチームを横断して意向を優先する権利を付与
  • 全サブチームを横断的に手助けするサポートチームを用意
  • サポートチームアシスタントリーダーを用意.

チーム構成

  • データコレクションチーム
    • 使用するWebコーパスの決定・収集,それ以外のテキストデータの収集を担当
    • それぞれのコーパスの性質を理解し,必要なデータを決定し,データキュレーションにも助言する
    • 幅広いドメインに関わりのあるチーム
  • データキュレーションチーム
    • Webクロールデータを事前学習データへと変換する作業を担当
    • 参考文献から従来のフィルタリング手法を参考に,MLやLLM等も駆使し,高品質な事前学習データを作成する.
    • LLMによるリフレーズを用いて,データの絶対量を減らさないキュレーションフレームワークを検討する.
    • 最も人数配分の大きいチーム
  • モデル・トークナイザーチーム
    • 使用するモデルやトークナイザーを決定し,実装する作業を担当
    • 標準コードを参考に,transformerベースでMoEを組み合わせたモデルを開発する.
    • その他のモデルや学習手法についても検討する.
    • 少数精鋭で意思決定の速いチーム
  • サポートチーム
    • 文献の整理,Notionの整理,他チームや外部からの知識の整理を行い,全サブチームのサポートを担当する
    • 論文を読む能力やキャッチアップ能力の高い学生が中心のチーム

協力団体

  • 日本教室ディベート連盟
  • 全日本ディベート協会
  • 日本ディベート協会
  • パーラメンタリーディベート協会

サブチームの状況

コレクションチーム

  • 進捗
    • 事前学習データセット
      • SlimPajamaDL完了、結合処理開始
        • ファイルサイズが巨大なため難航中
      • CulturaX JSONL化し、キュレーションチームへ引き渡し完了
      • Proof-Pile-2
        • DLはほぼ完了し、別環境へ格納中
    • 事後学習データセット
      • JDA PDF2Text
        • テキスト化完了
        • データの整形中
      • Voice2Text
        • Rimoでテキスト化済
  • これからやること
    • 4/22本番環境利用開始に向け、データセットの結合処理実施
    • 事後学習データセット関連準備
      • ディベート関連
        • テキスト化されたデータを確認し、検討
        • 校正作業に向け、だれでも作業できるように校正ルールを作成予定

キュレーションチーム

  • 進捗
    • ルールベースフィルタリング処理中
      • 分担してColab上でCulturaX前半&後半のフィルタリング処理中。
      • 今週4/18(木)中の完了を目標に進行中。
    • 重複削除処理中(今日終わる予定?)
    • Rephrasing
      • Colab環境を中心に検証中
        • A100(40GB)で動作可能(vllmを使うと速い)
  • これからやること
    • 重複削除メンバーのタスク振り
    • Rephrasing
      • 明日(4/16)以降,Colab Pro以上をお持ちの方にご協力お願いしたいです
      • 5人くらいあれば3日くらい

モデルチーム

  • 進捗
    • 標準コードベースと自前実装の2ラインの準備を進めています
      • 標準コードベース
        • LLamaやMoEを試みていますが、huggingfaceへの重み変換処理の実装が想定していたより難しく、まだ作業中です
          可能な限り改善テクニックを取り込んでphase1を迎えたいと思います
        • 本番環境での動作を担保するためにモニタリングやモデル保存周りの実装を確認しています
          可能な限り確認を行いますが、最終的には本番環境でもテストが必要です
        • 加えて、トークナイザーについても標準コードのロジックから上積みできないか検討しています
      • 自前実装
        • コードの作成が一旦完了し、動作確認を始めています
        • wandbとの連携など本番での使用を見据えた機能も実装できていますが、まだ調整が必要です
        • また、パラメータ設定まわりも検討しきれていないのでこれから調整が必要です
  • これからやること
    • 標準コードベースと自前実装の2ラインを本番で使用する想定の状態まで持っていきます
      その上で改善テクニックを可能な限り載せます
    • 本番環境が開始されたら最初の数日(2日程度?)は動作確認と速度の検証を行い、最終的にどの実装を採用するかを決めるのに使用します
    • phase1全体でGPUリソースをどう使うか計画を立てる必要があります
      • 本番環境前に運営から運用の留意点などをアナウンスできるか交渉。

サポートチーム

  • 進捗
  • これからやること
    • チーム体制の変更(今週のサポートチームMTG時に相談)
      • 各チームに担当をつけて直接要望を確認
    • キャッチアップ資料の更新
    • DBの更新

その他

開発のマイルストーン

  • データ準備
    • 英語コーパス,数学コーパス,コードコーパスを準備
    • 日本語コーパスはLLMrephrasingと追加スクレイピングを使ってギリギリまで増加
  • モデル学習コード準備
    • MoEの確認をSannaiチームと実験
  • シングルGPUでの稼働確認、実績
    • 標準コードで確認
  • マルチノードでの稼働確認、実績
    • 標準コードで確認
  • うまくいきそうか計画の確信度
    • やりたいことはできてきている.

直近1週間でやったこと

  • 英数コードコーパスを準備.日本語コーパスはギリギリまで増量.モデル構築はMoE採用チームと共同で実験して情報を共有.事後学習データ作成へ向け,ディベートデータを高品質化中.

Discussion