【第1回】松尾研GENIACプロジェクト「チームビジネス」の取り組み 〜ビジネス利用を見据えたLLM開発の裏側を公開〜
はじめに
こんにちは、松尾研GENIACプロジェクト、チームビジネスの福田です。
東京大学松尾研究室にて、経済産業省によるGENIACの国産大規模言語モデル(Large Language Model: LLM)開発に参加しています。
私たちの開発チームは、ビジネスの現場で開発を行うメンバーが多く集まっています。
LLMへの注目が高まる中、実際のビジネスシーンでLLMを活用するための知見はまだ十分に共有されていないと感じています。
そこで私たちは、ビジネスで利用可能なLLMの開発を目指し、様々な取り組みを進めています。
本記事では、松尾研GENIACプロジェクトの概要と、 私たち「チームビジネス」の開発体制、そして各サブチームの具体的な取り組みについて紹介します。LLM開発の裏側に迫ることで、今後のビジネスシーンでのLLM活用の一助となれば幸いです。
※5月下旬こちらに記事を掲載予定
本プロジェクトについて
GENIACのもと、NEDOの助成事業に採択されました。
GENIACに採択された企業として、日本を代表する技術力のある企業が集結しています。
プロジェクトの説明・紹介
松尾研では下記を目的として本企画を推進していきます。
- 日本国内に100名規模のLLM開発経験者を育成する。
- 透明性の高い情報公開やコミュニティの運用により開発メンバー以外にもデータや開発ノウハウを普及させる。
- 50Bの日本語LLMを開発、公開する事で社会貢献および国内のLLM実装を加速させる。
詳しくはこちらをご覧ください。
チームについて
我々のチームについて、具体的に紹介します。チーム構成やメンバーのバックグラウンド等を知っていただければと思います。
チーム概要
チーム名・背景
- チーム名: チームビジネス
- 由来:
- ビジネス向けLLM開発を目的とするため
- 我々のメンバー構成として、ビジネスの現場で開発を行うメンバーが多いため
対面でのチーム開発の様子
チームの特徴
ビジネス向けLLMの開発を目指します。
具体的には下記6点を実施します。
-
データの前処理によるハルシネーションの抑制(前処理チーム)
- 東工大Swallowと同様の処理を実施
-
日本語向けトークナイザーの開発(前処理チーム)
- 日本語データ全量を使用したトークナイザーの学習
-
継続事前学習の実施(データセットチーム)
- 英語、コードデータ(slimpaja, stack v2)で学習後、日本語データで学習
-
ビジネス向け日本語データセットの利用(データセットチーム)
- 白書、国会答弁、議事録等のデータセットを利用
-
ファインチューニング、アラインメントデータの検討(データセットチーム)
- コンペ・ビジネス向けのデータセットを利用
-
LLaMAモデルの実装(アーキテクチャー & 学習・評価チーム)
- 多くの企業で検証済みのLLaMAの利用
チーム内役割
サブチーム: キックオフ時プレゼン資料より
上記の図で示されている通り、大きく分けて5つのサブチームに分かれました
- ドキュメント
- 前処理
- データセット
- 開発
- モデルアーキテクチャ
キックオフMTG時の写真
メンバー
チームリーダー: 河越淳
リーダー: 河越
各サブチームごとのメンバー一覧はこちら。
メンバー一覧
開発の流れ
本プロジェクトの開発は3段階のフェーズに分かれています。
開発フェーズ
phase0では0.1Bモデルでの開発、phase1では10B程度のモデル開発でコンペ形式となります。
phase1でのコンペ勝者がphase2の50Bモデルへ進めるというルールです。
具体的な運用方針
使用したツール
- 連絡手段:
- Slack
- ドキュメント管理:
- Notion
- コード管理:
- GitHub
- モデル・データセット管理:
- Hugging Face
- 学習管理:
- WandB
https://www.wandb.jp/
- WandB
開発において利用したフレームワーク等
- 開発言語:
- Python
- C++(一部)
- 学習環境:
- GCP環境
- ジョブシステム:
- 前処理フレームワーク:
- Hojichar
https://github.com/HojiChar/HojiChar
- Hojichar
- 学習フレームワーク:
- Megatron-DeepSpeed
https://github.com/microsoft/Megatron-DeepSpeed
- Megatron-DeepSpeed
各チームの具体的な開発概要
具体的な開発の流れについては、各チームごとに、記事にまとめていきます。本記事ではそれらの内容を簡潔に紹介していきたいと思います。
その前に
具体的な開発概要について説明する前に、Zennの記事における執筆方針をまとめておきます。
- 既存の代表的なOSSライブラリを組み合わせて、開発のパイプラインを標準化することを目指します。
- LLM初心者にもわかりやすい説明を心がけます。
- 用語の説明や、LLM開発において非常に参考になった記事を適宜紹介します。
- 検討過程や試行錯誤した部分についても触れていきます。
- 各部分の具体的な操作説明は、参考になるリンクを掲載するにとどめます。
前処理
[※記事準備中: 5月下旬掲載予定]
概要:
- そもそも前処理とは
- じゃあ何をしなければならない?
- トークナイザモデルの開発
- 使用ライブラリの選定
- hojicharの概要説明
- hojicharでやったこと
- まとめ
データセット
[※記事準備中: 5月下旬掲載予定]
概要:
- そもそもデータセットとは?なぜ必要?
- じゃあ何をするか
- 既存データセットの選定
- 事前学習用
- ファインチューニング用
- 新規データセットの選定
- 事前学習用
- ファインチューニング用
- まとめ
モデルアーキテクチャ
[※記事準備中: 5月下旬掲載予定]
概要:
- そもそもモデルアーキテクチャとは?
- どんな検討余地があるの?
- じゃあ何をするか
- 現時点での知見をまとめる
- モデルアーキテクチャの選定
- llamaモデルにおける詳細パラメータ検討
- 決定したこと
- まとめ
学習
[※記事準備中: 5月下旬掲載予定]
概要:
- そもそも学習とは?
- 学習チームは何をする?
- どんな検討余地があるの?
- wandbの利用について
- 管理方法について
- やったこと・できたこと・できなかったこと
- まとめ
おわりに
本記事では、松尾研GENIACプロジェクト「チームビジネス」の取り組みを紹介しました。私たちは、ビジネスでの活用を見据えたLLM開発に取り組んでいます。
ビジネス特化型LLMの開発には様々な課題がありますが、一つ一つ解決していくことで、真に価値を生み出せるLLMの実現を目指しています。
本記事では開発の全体像を概観するにとどまりましたが、今後は各チームの取り組みについて詳細に紹介していく予定です。
私たち「チームビジネス」は、日本発のビジネス特化型LLMの実現に向けて、引き続き尽力してまいります。続編もお楽しみに!
東京大学 松尾・岩澤研究室が運営する松尾研LLMコミュニティのLLM開発プロジェクト[GENIAC] の開発記録、情報発信になります。 各種リンクはこちら linktr.ee/matsuolab_community
Discussion