動画
https://zoom.us/rec/share/0yo7XrfB_fPASIBYISlHoLC8ezhae1wGTmQDIklS0AMWVDjJIxz6qIwbZK2-Q8oI.lWpprHxbt8njf9og
パスコード: 5m?s&@q0
開発テーマ・概要
- 私たちのチームは、大規模言語モデル(LLM)の開発に取り組んでいます。具体的には、日本語に特化したLLMの開発を目指し、データセットの収集・加工、モデルの学習、推論システムの構築などを行っています。
チーム全体の開発状況
- 現在、各サブチームが並行して作業を進めています。データセットの収集・加工では、CommonCrawlやPMC OAなどの大規模データから日本語テキストを抽出し、クリーニングを行っています。モデルの学習では、0.3bモデルの学習を完了し、1Bクラスのモデルの学習に向けた準備を進めています。また、独自のパイプラインの構築や、カリキュラム学習の検討なども行っています。
サブチームからの情報共有
サブチーム1: 指示データセット
やったこと
- インストラクションデータのタスク案をmiro上で作成し、タスク案をクラスタリング
- 評価データセットの確認
- データ収集用のWebページを作成開始
分かったこと
- プログラミングタスクが評価データの一部であるため、LLMに実装力を身につけさせるべきかは要検討事項である。
- インストラクションデータ作成ガイドラインを作る必要性がある。
次やること
- クラスタリングしたタスクをタスクカテゴリとし、収集ページへ反映させる。
- データ収集用のWebページを3月中を目処に取り組んでいただいている。
- インストラクションデータ作成ガイドラインの検討。
サブチーム2: 事前学習データセット
やったこと
- CommonCrawl日本語データ 共同抽出 - チーム内外28名が共同して高速で進められています。
- CommonCrawl+mC4データ クリーニング タスク - 簡単なデータクリーニングのコードまでは作成済み。現在は既存のコーパス作成処理のコード化(コードがない場合)や、その処理を一部データに適用した結果の評価を行っています。
- PMC OA (学術データ) - タスクの分担は終了。現在はxmlから使用可能なライセンスのデータを抽出する方法の検討と、全体で必要なクリーニング処理の洗い出しが進んでいます。
- 英語データセット - The PileとSlimPajamaなどデータセットの中身のきれいさを比較。SlimPajamaデータセットのテキストの問題点を分析。
- コーディングデータセット - The Stack v2データセットの確認と、言語と使用データ数を指定してThe Stack v2のデータをダウンロードする関数の実装。
- 数学データセット - OpenMathInstruct-1-1.8m-jaの調査がスタート。
分かったこと:
- CommonCrawl日本語データ 共同抽出 - CC-MAIN-2023-50のsnapshotにおいて90000バッチ中30000バッチは終了。
- CommonCrawl+mC4データ クリーニング タスク - 既存のコーパス作成に使用された処理のコードは公開されていないことが多い。
- PMC OA (学術データ) - 処理は多岐にわたり、分散処理や並列処理をしないとすべては加工できない。
- 英語データセット - SlimPajamaは広告やタグの羅列などのデータが含まれているがThe Pileよりはきれい。そのため、SlimPajamaを採用することを検討。
- コーディングデータセット - The Stack v2はそのままでもきれいなのでそのまま使用することに。
- 数学データセット - まだ検討中。
次やること:
- CommonCrawl日本語データ 共同抽出 - CC-MAIN-2023-50のsnapshotにおいて来週まで50000/90000レコードを目指す。また複数のsnapshotから日本語抽出するためにGCPサービスを検討 (Namiuchi)。
- CommonCrawl+mC4データ クリーニング タスク - 既存のコーパス作成処理のうち未実装のものは実装。実装済みのものは、現在のテキストデータに適用した際の評価を行う。
- PMC OA (学術データ) - xmlデータからテキストを抽出したり、クリーニングする処理を更に作成 + 並列・分散処理の検討。
- 英語データセット - SlimPajamaデータセットのフィルタリングとデータ加工を進める。
- コーディングデータセット - 特になし。
- 数学データセット - まずは調査+データのロード。次に数学テキストとコーディングテキストを分ける関数の実装。
- NHK for SCHOOLのスクレイピング - 畠山氏発案のNHK for SCHOOLの諸々のテキストデータのスクレイピングコードを作成中(内田)。
サブチーム3: Code
やったこと:
- 標準コードのトレース
- 独自のパイプラインの構築
- 0.3bモデルの学習(wikipediaやmc4) (詳細)
- カリキュラム学習の検討
- 計算量の試算(詳細)
分かったこと:
- 標準コードはパイプが殆ど繋がっていない
- カリキュラム学習では、学習初期に様々なtokenを学ばせておかないと、局所解に陥る
- クリーニングが性能に与える影響の検証
次やること
- 1Bクラスの学習
- Branch-Train-Merge的な学習
- 学習: データセットの分割
- 推論: アルゴリズム設計& HuggingFaceモジュール化の検討
- TransformerEngineの試行錯誤
サブチーム4: 遊撃隊
やったこと
- 毎週金曜日の19:00を遊撃隊のミーティングとする
- まずは、A100環境で提供コードを動かしてみた。
- Mambaあたりの調査ページを作った。
- ゆるくミーティングを行った。
分かったこと
- 環境がないため、GCP環境が来るまで調査する⇒3月18日にGCP環境が来た⇒各々提供コードを動かしてみる。
次やること
……
ディスカッション
- チーム編成など、様々なディスカッションを行いました。
その他
- 日本語に特化したLLMの開発には、高品質な日本語データセットが不可欠です。データセットの収集・加工には時間がかかるため、早めに着手し、データの質にこだわることが重要です。
ーーーー
データ班の作業メモ(非公開)