📑

[週次報告] 第2回 Team ビジネス

2024/04/10に公開

開発テーマ・概要

  • ビジネスで利用可能なLLMの開発
    • データの前処理によるハルシネーションの抑制
    • ビジネス向け日本語データセットの選定

チーム全体の開発状況

  • 東工大Swallowプロジェクトにおける大規模日本語Webコーパスの構築に従った前処理の実装
  • ビジネス向けデータセットの収集
  • モデルアーキテクチャー、松尾研標準コードの調査・確認

暫定スケジュール

  • Phase1 コンペ開始日時:4/22(月)

  • Phase1 コンペ終了日時:5/26(日)

  • Phase1 採点、インターバル期間:5/27(月)~ 5/31(金)

  • Phase2 開始日時:6/1(土)以降順次

  • Phase2 終了日時:8/8 (木)

  • GCP環境 データバックアップ, 環境削除 8/9 (金) ~8/15 (木)

Phase1の日程:4/22 ~ 5/26(5週間)

  • 事前学習(3週間)
  • ファインチューニング、アラインメント(2週間)

期限

  • 4/22まで

    • モデルの決定。
    • 英語(refinedweb, slimpajama), コード(The stack v2 + α?)のデータセットの用意。
    • 日本語データセットの用意。
    • 小さなモデルで学習できることを確認。
  • 5/12まで

    • ファインチューニングデータ(JMT-benchとllm-jp-evalに似たデータセット。ビジネス系データセット。(他の指標・ビジネスに有用なモデル作成用))
    • アラインメントデータ

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

サブチーム1(ドキュメント)

やったこと:週末の対面チーム開発に関して

分かったこと:

次にやること:

各サブチームが、どういったタイミングで成果物の資料を受け渡していただけるのか

  • ブログ・ノートとかで発信も可能であれば、行いたい
  • 外部公開したいこと。
  • エッセイのようなものをいただけると嬉しい。

サブチーム2(前処理)

やったこと:

トークナイザー: sentencepieceの試用

データ選別: 使用できるデータセットの調査

分かったこと:日英語ごとにトークナイザーを変えた場合、英語でのみ性能改善・日本語では変化なし

次にやること:

  • アイデアリスト③に基づき,学習データ全量で学習(※これからチーム内に提案)
    • 白書等のデータを優先?
    • mc4などの大型データは全量の30%で学習時間見積もり
  • pipelineをpoetryにしたい
    • requirement.txtを自動で作れる
    • 依存関係を正しく管理できる
  • 学習データをクリーニング
    • データセット班のデータ処理を待つ
    • 形態素解析を利用する等も考慮中
  • Perprexityを指標として利用
  • トークナイザーの評価指標の調査

サブチーム3(データセット)

やったこと:

  • CulturXの処理を整理
    • 日本語判別 + フィルタリング

やるべきこと:

  • どれくらいのトークン数学習できるか
  • 割合決定
  • マージ

現状のデータセット

  • slim pajama, refined web(重複削除)
  • The stack + open math(フィルタリング)
    • カラムからのフィルタリング(プログラム言語)
    • ライセンス、ライセンスタイプ ← こちらで
      • こちらのコードを共有いただく。
      • ライセンスだけでかなり、絞られる
      • ライセンス絞るコードを記述
  • 上記が合体したデータセットを作成したい。

→ 急ぎ。

  • mC4-ja
    • 830GB
    • google の mc4 データセットを allenai が前処理したバージョン
  • CC-100
    • 82GB
    • facebook 製 XLM-R 用のデータセット
  • wiki40b_ja
    • 1.3GB
  • (+α)CulturaX
    • 107BT
    • mC4とOSCAR
    • これを探っていっても良いかも?
  • (+α)Swallow コーパス(畠山さん)
  • ★白書(江國
    • 河越スクリプトでクロール
  • ★都道府県別の報告書(吉野さん
  • ★国会議案・議事録(和田
  • ★国会答弁(インストラクションデータとしても使えそう)(miwa
  • ★判例(濱田さん

次にやること:

  • 事前学習データセットについて調査実装
    • 事前学習データの環境へのダウンロード
    • ダウンロードコードのパイプラインへの組み込み
  • ダウンロード & 日本語抽出
  • ダウンロードコードをpipelineに組み込む。

スケジュール

4/4 本日

4/7

  • この日までに、日本語データを/persistentshare/storage/team_kawagoshi/datasetsに落とし込みたい。
  • 英語、コードデータセットは、河越が落とし込む。
    • 英語(重複処理)
    • コード(ライセンスのフィルタリング)

4/7~4/14

  • 日本語データの前処理(重複削除、フィルタリング)
    • 一週間以上、前処理にかかると考えられる。

4/15~22(松尾研環境が使用できるかは予算次第。)

  • トークナイゼーションは、時間次第。

    → 出来そうであれば、したい。

  • データのマージ。(学習データ完成)

4/22~24 学習準備(出来ればすぐに、学習したい)

4/25~ 10B学習開始

サブチーム4(アーキテクチャー)

やったこと:

  • 月曜から進捗ありません。

分かったこと:

次にやること:

  • 標準コードで使用されているMegatron-DeepSpeedのソースコードをベースに、llama2に変換する。モデル形式の変換については、 チーム haijimaのソースコード を参考にする。
  • その後の優先順位で、github repo: MoE-Recipeを参考にしたMOEの実装を検討する。

サブチーム5(学習・評価)

やったこと:

  • マルチGPUでの学習試行。1nodeでは出来た。
  • bash 上で複数GPUでの学習確認。
  • 複数nodeはエラーも出ずに停止状態。
  • Mistralのモデルについて確認。v0.2ではslide attentionが使用されていないので、ほぼLlamaと構造変わらない。rope_thetaの値が少し異なる。

分かったこと:

次にやること:マルチノードを通す。変換後のウェイトの確認。DPO来週。。。

この3つを調査できると良い。(llama, mistralはニシジマさんがほぼ確認済み)

  • LLaMA
  • Mistral(sliding windowあり?確認いただける方がいれば)
  • MoE(アーキテクチャーチームに対応いただきたい。)
    • アーキテクチャーチームにコードのチェックもしていただけると良い。

ディスカッション

  • ノード4, 5をニシジマさんが利用。(複数ノードでの実験)
  • 4/7(日)にファインチューニング、アラインメントデータについて話し合いたい。
    • 評価データセットに近いデータ(コンペで勝つため)
    • ビジネス的に有用なデータセット(世の中の役に立つ)

Discussion