松尾研LLM開発プロジェクト “Tanuki” 開発報告会 Vol.2

1.6K Views

November 05, 24

スライド概要

本プロジェクトは、当研究室が提供する講座の修了生および一般公募によって集まった有志の開発者のメンバーが500億パラメータサイズの大規模言語モデル開発を進めるものです。

Phase1では、7チームに分かれて複数の研究テーマを設定し探索を行い、知見を共有しながら試行錯誤することで、実用的かつ効率的な手法を採用しました。その後Phase2では、コンペで最優秀に選ばれた1チームが500億パラメータサイズのLLM開発に取り組みました。

なお、本プロジェクトは国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)による、国内の生成AIの開発力を強化するためのプロジェクト「GENIAC(Generative AI Accelerator Challenge)」において、基盤モデル開発に必要な計算資源の提供支援を受けています。

9/10(火) 20:00~22:00
 ・開発リーダー:畠山さん
9/17(火) 20:00~22:00
 ・開発メンバー:林寛太さん、Mさん、N.Kさん
9/24(火) 20:00~22:00
 ・開発メンバー:Susumu Otaさん、白石尽誠(Jinsei Shiraishi)さん、山口裕輝さん

▼参考:NEDOの採択を受け、公開型での500億パラメータサイズの大規模言語モデル開発を開始します。

https://weblab.t.u-tokyo.ac.jp/2024-02-02/

▼参考:「GENIAC」プロジェクトの詳細はこちら

https://www.meti.go.jp/policy/mono_info_service/geniac/index.html

profile-image

東京大学松尾・研究室が運営する「松尾研LLMコミュニティ」でのイベント資料などを公開します。 ◾️ 松尾研LLMコミュニティとは 松尾研LLMコミュニティは、「大規模言語モデルについて知って学べるオンライン空間」として、東京大学松尾・岩澤研究室が運営するコミュニティです。 現在、学生を中心とした7800名以上が、原則無償で参加しています。 また、本コミュニティでは様々なイベント等を定期的に開催しております。 是非下記のリンクより参加申し込みをお待ちしております。 ◾️ 松尾研LLMコミュニティの各種リンク ・今後のイベント開催情報/参加申込;https://tr.ee/7d_W4DsImD ・松尾研LLMコミュニティ参加フォーム;https://tr.ee/RyDfuRzS55 ・過去イベントアーカイブ;https://tr.ee/wqdbFJJZ25

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

LLM開発 プロジェクト 開発報告会 チームたぬき “Tanuki-8×8B” Vol.2 林寛太, M, N.K(チームたぬき 開発メンバー), 東京大学 松尾・岩澤研究室 LLM Community 2024/9/17

2.

Tanuki開発チーム成果発表 松尾研LLM開発プロジェクト “Tanuki” 開発報告会 マネジメントと人材育成から見たプロジェクト「Tanuki」 Mさん 2024年 9月 17 日 許諾なく撮影や第三者 への開示を禁止します ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

3.

自己紹介 呼称:Mさん コツコツ勉強しています twitter: M3Msan (Mさん) note: Mさん CDLE E資格勉強グループ リーダー https://cdle.jp/blogs/e2be6bbcd3aa Team Tanuki関連の経緯 2021年8月:G検定に受かり、CDLEに入る 2021年9月:E資格に受かる 2023年9月:LLMサマースクールに入る(CDLE枠?) 2023年11月:LLMサマースクールを卒業する 2024年3月:GENIAC松尾研プロジェクトに参加する (同時に松尾研LLMコミュニティに参画) Team Tanukiを選び、今に至る CDLE名古屋 オフ会・グルメ担当 https://cdle.jp/contents/e66c80f9adb1 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 2

4.

目次 1.Team Tanuki Phase2のマネジメントコンセプト 2.Team Tanuki Phase2のマネジメントシステム 3.プロジェクトの変遷と対応 4.人材育成の場として 5.総括・感想・謝辞 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 3

5.

目次 1.Team Tanuki Phase2のマネジメントコンセプト 2.Team Tanuki Phase2のマネジメントシステム 3.プロジェクトの変遷と対応 4.人材育成の場として 5.総括・感想・謝辞 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 4

6.

立ち上げに当たって筆者が考えていたこと Phase1のTeam Tanukiが強かった要因って何だろう? 各個人の行動・特性 チームの行動 技術動向と 採り込み方を 把握 必要時に 客観判断(*)し 方向転換 開発状況の 俯瞰的把握と 自律判断 タイムラグ なく作業開始 そもそも好き 責任感 作業中継 直接要因 取り得る中で 最善(*)の方法 を発見・選択 大量の 試行錯誤 できる限り 多く学習 粘り強く 作業継続 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 成果 会話もできて コンペにも勝てる 性能のモデルを構築 (*)客観的・最善だったのかを 厳密に事後評価する現実的な 方法は存在しないと思われま す。あくまで、そうした判 断・選択をしようとする最善 の努力をした、ということに なります。

7.

立ち上げに当たって筆者が考えていたこと Phase2のTeam Tanukiが条件下で性能のよいモデルを作るためにもこれだろう 各個人の行動・特性 技術動向と 採り込み方を 把握 開発状況の 俯瞰的把握と 自律判断 そもそも好き 責任感 チームの行動 方針 必要時に 客観判断(*)し 方向転換 タイムラグ なく作業開始 作業中継 取り得る中で 最善(*)の方法 を発見・選択 目標 GENIAC-matsuolab条 件下で考え得る最高 峰の50クラス LLM を開発する GENIAC-matsuolab条件 (最 終) 大量の 試行錯誤 できる限り 多く学習 粘り強く 作業継続 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO ● 全体開発期間: 2024/06/01~2024/08/09 ● 計算資源:本番環境 ○ vCPU: 208 ○ GPU: H100 × 8 ○ メインメモリ: 1,872GB ○ /home領域の各ユーザの 利用可能なデータサイズ: 30GB ○ 共有ディスク領域で各サ ブチームが使用可能なサ イズ: 45TB

8.

私なりの帰結 チームとして「最高峰のモデル」を目指す空気が最初からあった であれば、できれば、素早い方向転換を「是」としたい ● 大きな方向性を決めておき ● 具体的な性能目標と、そのための作戦(赤点線枠部)は「素早く動的に」変えていく 目標も方針も 動的に変えたい と思ってました マネジメントでは以下をサポートしよう、と決意した 覚悟を決めました 笑 ● 目標と方針(赤点線枠部)、計画と状況(青点線枠部)を継続的に見える化する ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

9.

目次 1.Team Tanuki Phase2のマネジメントコンセプト 2.Team Tanuki Phase2のマネジメントシステム 3.プロジェクトの変遷と対応 4.人材育成の場として 5.総括・感想・謝辞 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 8

10.

マネジメントチーム構成 (L)はPhase1にてリーダー Slack名 役割 Phase1 Team kan hatakeyama 目標設定・目標に向けた戦略とリソース配分の決断、オフラインイベント皆勤 hatakeyama (L) Mさん 司会(?)、計画と状況見える化、後世に記録を遺す準備、オフラインイベント皆勤 hatakeyama Masashi Fujimoto HuggingFace/GitHubアカウント管理、定例会の議事録づくり hatakeyama knishimae 定例会の日程計画・Zoom/GoogleMeet準備、オフラインイベント皆勤 nakamura Esty Phase1参加各チームとの窓口 kumagai FukudaWataru Team Hatakeyama Phase2: ポータルサイト kawagoshi 河越淳 マネジメントチームの在り方アドバイス kawagoshi (L) 西井康隆 計画や開発環境ルールなど、大物の全体像をまとめる際のアドバイス hatakeyama 「NEDO GENIAC Phase2 - Tanuki 体制図」(Team Tanuki内部資料)より情報を抜粋、加筆修正 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

11.

サブチーム体制とタスク分担 約45人が兼任と合流を繰り返してサブチームでのタスクを遂行 (Phase1) 6月 学習コード班(緊急) トークナイザー班(緊急) 合 流 事前学習データ班 指示学習データ班 合成データ班 FT班 PT班 (緊急) 8月 コード班 シフト モデルアーキ・ 開発環境選定・ 構築 Llama3 38B 事前学習 6/10(月) 新トークナイザー 7月 第一弾 投入 6/21(金) FT・ PT 6/28(金) 8B事前学習 7/10(水) MoE 学習 第二弾 投入 事前学習データ作成 当初は充分なデータサイズ確保重視 後半はBest-fit Packingと質向上 指示学習データ作成 当初は会話データ中心 後半はコード・数学・論理を重点強化 総力戦 データセット・事前学習・ SFT・DPOが緊密に連携 3日 延長 MoE班 合成データ FT・PT班 ファインチューニング ポストトレーニング手法検討・環境開発 性能向上するための 手法検討・実験 マージ(手法検討) マージ班 MoE マルチモーダル(手法検討、LLMと画像モデルの接合) LLM発展ソリューション開発 エージェント ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO Agent班 MM班

12.

開発者を支えた開発環境の管理 ここについてはまず、NEDOおよび松尾・岩澤研のスタッフによる 本番環境の準備に深く御礼申し上げます。 その上で、Team Tanuki Phase2マネジメントチームでは以下を行いました。 開発用のGitHubとHuggingFaceを準備してアクセス権に注意しつつ運用 本番環境の使い方の変遷に追従しルールを一元管理 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

13.

見える化を支えたポータルサイト 整理されたコンテンツ配置で運用 各サブチームがタスク管理を通じてノウハウ蓄積 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

14.

目次 1.Team Tanuki Phase2のマネジメントコンセプト 2.Team Tanuki Phase2のマネジメントシステム 3.プロジェクトの変遷と対応 4.人材育成の場として 5.総括・感想・謝辞 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 13

15.

今、Zennで開示中のTanuki 8B, 8x8B開発の経緯 あとから振り返る とこうでした 事前 準備 Japanese MT-Benchで 「トップスコア」を 目指す! 立ち上げ 序盤 (Phase1) 合 流 1. モデル開発 事前学習 データ班 終盤 6月 学習コード班(緊急) トークナ イザー班 中盤 7月 Llama3 38B 事前学習 8月 6/10(月) 第一弾 投入 6/21(金) GENIAC-matsuolab条件 (最終) FT・ PT 6/28(金) 8B事前学習 7/10(水) MoE 学習 第二弾 投入 事前学習データ作成 当初は充分なデータサイズ確保重視 後半はBest-fit Packingと質向上 指示学習データ作成 当初は会話データ中心 後半はコード・数学・論理を重点強化 総力戦 データセット・事前学習・ SFT・DPOが緊密に連携 3日 延長 MoE班 合成データ ファインチューニング 2. 手法開発 ポストトレーニング手法検討・環境開発 性能向上するための 手法検討・実験 3. 拡張ソリュー ション開発 10B、50BクラスLLMを 開発するための知見を 蓄積し共有する コード班 シフト モデルアーキ・ 開発環境選定・ 構築 新トークナイザー GENIAC-matsuolab条件下 で考え得る最高峰の50 クラス LLMを開発する マージ班 マージ(手法検討) MM班 MoE マルチモーダル(手法検討、LLMと画像モデルの接合) LLM発展ソリューション開発 FT・ PT班 エージェント ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO Agent班 ● 全体開発期間: 2024/06/01~2024/08/09 ● 計算資源:本番環境 ○ vCPU: 208 ○ GPU: H100 × 8 ○ メインメモリ: 1,872GB ○ /home領域の各ユーザの 利用可能なデータサイズ: 30GB ○ 共有ディスク領域で各サ ブチームが使用可能なサ イズ: 45TB

16.

目標と計画の変遷 [1] 最初はこう思って いました 事前 準備 (1) Dense 38Bを最後ま で学習させ続ける想定 序盤 中盤 (Phase1) 合 流 1. モデル開発 (3) コーパス系 学習データをど こまで揃えられ るか不透明 事前学習 データ班 終盤 6月 学習コード班(緊急) トークナ イザー班 (5) 具体的な達成目標を 実験の結果から決める想定 シフト モデルアーキ・ 開発環境選定・ 構築 新トークナイザー 7月 8月 事前学習 6/16(日)朝 トークナイ ズ処理 6/23~24 ぐらい? トークナイ ズ処理 第二弾 投入 事前学習データ作成 <TBD> 指示学習データ目標 きれいなコーパスとか FT PT トークナイ ズ処理 第三弾から 人工合成データ投入 第一弾投入後は 評価結果に応じて サイズと質を確保 最適と思える しBest-fit Packing データを選んで投入 指示学習データ作成 ファインチューニング 2. 手法開発 ポストトレーニング手法検討・環境開発 (4)合成ノウハウ 蓄積前 マージ(手法検討、各種マージの実施) 3. 拡張ソリュー ション開発 10B、50BクラスLLMを 開発するための知見を 蓄積し共有する 評価結果次第で 事前継続学習再開 等もあり得る コード班 第一弾 投入 Phase1の2倍程度 のサイズを確保 GENIAC-matsuolab条件下 で考え得る最高峰の50 クラス LLMを開発する トップクラスのモデルを構築す るためのFT・PT手法検討・実施 マルチモーダル(手法検討、LLMと画像モデルの接合) プラスα系 50Bならでは領域探索, (2) MoEは「プラスα」と想定 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO Merge MM等 (6) 事前学習と事後 学習のよりよい役割 分担や効果が不透明 ポストトレー ニング班

17.

目標と計画の変遷 [2] Llama3 38B → 8 x Nへ 戦略変換 事前 準備 (1) 大型モデルの学習失敗リス クの高さと対応の必要性を学ぶ 立ち上げ (Phase1) 合 流 1. モデル開発 (3) コーパス系 学習データ準備 のできること・ できないことが だいたい見える 事前学習 データ班 中盤 終盤 6月 学習コード班(緊急) トークナ イザー班 序盤 (5) 具体的な達成目標を 実験の結果から決める想定 7月 Llama3 38B 事前学習 モデルアーキ・ 開発環境選定・ 構築 6/10(月) 新トークナイザー 第一弾 投入 第二弾 投入 事前学習データ作成 Expert学習 ベースモデル 事前学習 6/21(金) Phase1の2倍程度 のサイズを確保 指示学習データ作成 Expert学習 コード班 シフト 8月 ・・・ Expert学習 7/7(日) 第三弾 投入 FT・PT FT・PT班 マージ班 MM班 Agent班 合成データ (随時学習データ提供) ファインチューニング 2. 手法開発 (4)合成ノウハウ 蓄積 3. 拡張ソリュー ション開発 Online RLHF取組中 ポストトレーニング手法検討・環境開発 6/18 マージ勉強会★ マージ(手法検討、各種マージの実施) 6/16 緊急相談会★ マルチモーダル(手法検討、LLMと画像モデルの接合) トップクラスのモデルを 構築するための手法検討・実験 (6) 事前学習と事後 学習のよりよい役割 分担や効果が不透明 MoE班 目標立案中 綺麗なコーパス等 Nemotronでdolly-ja再生成中 10B、50BクラスLLMを 開発するための知見を 蓄積し共有する Merge MM Agent 等 7/14? サイズと質を確保 しBest-fit Packing GENIAC-matsuolab条件下 で考え得る最高峰の50 クラス LLMを開発する MoE 数個の試作と調査 エージェント (2) MoEがメインのひとつに ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

18.

(5) チームの資源集中のため、 具体的な達成目標を決定 目標と計画の変遷 [3] という紆余曲折を 経てこうなったわ けです 事前 準備 Japanese MT-Benchで 「トップスコア」を 目指す! 立ち上げ 序盤 (Phase1) 合 流 1. モデル開発 事前学習 データ班 終盤 6月 学習コード班(緊急) トークナ イザー班 中盤 7月 Llama3 38B 事前学習 8月 6/10(月) 第一弾 投入 6/21(金) FT・ PT 8B事前学習 7/10(水) MoE 学習 第二弾 投入 事前学習データ作成 当初は充分なデータサイズ確保重視 後半はBest-fit Packingと質向上 指示学習データ作成 当初は会話データ中心 後半はコード・数学・論理を重点強化 総力戦 データセット・事前学習・ SFT・DPOが緊密に連携 論理・数学・プログラミングの 難しさも見えてくる 3日 延長 MoE班 ファインチューニング ポストトレーニング手法検討・環境開発 性能向上するための 手法検討・実験 3. 拡張ソリュー ション開発 FT・ PT班 マージ班 マージ(手法検討) MM班 MoE マルチモーダル(手法検討、LLMと画像モデルの接合) LLM発展ソリューション開発 (6) OODなど、事前 学習データと事後 学習データの関係 に関する情報が蓄 積されてきた 6/28(金) 合成データ 2. 手法開発 10B、50BクラスLLMを 開発するための知見を 蓄積し共有する コード班 シフト モデルアーキ・ 開発環境選定・ 構築 新トークナイザー GENIAC-matsuolab条件下 で考え得る最高峰の50 クラス LLMを開発する エージェント ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO Agent班

19.

目次 1.Team Tanuki Phase2のマネジメントコンセプト 2.Team Tanuki Phase2のマネジメントシステム 3.プロジェクトの変遷と対応 4.人材育成の場として 5.総括・感想・謝辞 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 18

20.

目的指向のプロジェクト • 以下のような条件が揃っていると、参加者は成長する、気がする 1. チームとして「作りたいモデルの方向性」を持っている 2. 常に高い目標を持っている • 終盤に入る前にTanukiモデルと既存モデルの性能を一度把握 し、目標を明確にして総力戦に臨んだ 3. 自律的に取り組め、成果を感じられる環境がある • 目標をどうすれば達成できるかを、自律的に考えて試せる 環境だった • 考えて試した結果を実感できた ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

21.

予測困難な中で、事実を元に方向を見出す訓練の場 • モデル/学習データ/学習方式の組み合わせから、学習の成否や 得られる性能を予測するのが困難(前述の経緯の通り) • キャッチアップだけで、自身の開発に必要な情報は得られない • モデル規模・形状が異なれば特性が異なる • 更に、蓄積した学習の影響で、その後の学習効果が変わる • 「決定論的な」知識は得られない • 実験して集めた事実から傾向を掴みつつ、それを決定論的な法則 と思わず「結果は確率的に発現する」と思って戦略を立てる ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

22.

これからやろうと思っていること 素早い方向転換を「是」とすることで、メンバーへのマニュアル・練習の場の 提供によるサポートが難しくなった、のは確か このサポートを、後追いではありますが進めようと思ってます DNN・LLMの 確かな基礎力 開発作業 立案・遂行力 10B、50BクラスLLMを 開発するための知見を 蓄積し共有する ノウハウ蓄積と記事化を進める ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

23.

記事化の状況紹介 タイトル 作者 公開日 フルスクラッチで開発した大規模言語モデルTanuki-8B, 8x8Bの性能についての技術的な詳細 Kan Hatakeyama 2024/08/30 大規模言語モデルTanuki-8B, 8x8Bの位置づけや開発指針など Kan Hatakeyama 2024/08/30 Team Tanuki Phase2 - Tanuki-8B, 8x8B 開発の経緯 Mさん 2024/09/02 MoEモデルのアクティブパラメータ数の厳密な計算方法について Aratako 2024/09/04 Tanuki-8B,8x8Bの開発完了までに考えていたことと、「科学の基盤モデル」の構築に向けた考え Kan Hatakeyama 2024/09/09 大規模言語モデルを開発するにあたっての事前・事後学習の戦略メモー特に合成データについてー Kan Hatakeyama 2024/09/09 ChatbotArena的なシステムでTanuki-8x8Bを始めとする大規模言語モデルの日本語性能を評価する (2024年8月) Kan Hatakeyama 2024/09/09 TanukiモデルのAWQ、GPTQ、GGUF量子化について Aratako 2024/09/09 Tanuki-8x8BにおけるMoE upcycling検討及び事前学習について nisan 2024/09/09 Tanukiモデルが全角数字・記号を認識出来ない問題とその解決(LLM学習コーパスの正規化の落と し穴) Aratako 2024/09/10 Tanuki-8B, 8x8B - 事後学習の軌跡 someya 2024/09/10 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

24.

目次 1.Team Tanuki Phase2のマネジメントコンセプト 2.Team Tanuki Phase2のマネジメントシステム 3.プロジェクトの変遷と対応 4.人材育成の場として 5.総括・感想・謝辞 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 23

25.

総括 • 目標「GENIAC-matsuolab条件下で考え得る最高峰の50クラス LLMを開発 する」に対して、最終的に4つのモデルを提出し、一定の成果は残せた • プロジェクトとしては、LLMという予測が難しい開発対象に対し、 チームとしての目標に向けて ・常に最新手法と知識を取り入れ続け ・知識で終わらずどんどん実践のアイデアを出し ・アイデアが出ると誰かが試行し ・試行結果から「うまくいく学習方法」や「性能向上の方法」を見出し ・最終的に実現していく というサイクルを、ほとんどタイムラグなく素早く行い、学びも多かった印象 • もう一つの目標「10B、50BクラスLLMを開発するための知見を蓄積し共有す る」はまだこれから。まずは引き続き記事化を進めていく。 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 24

26.

感想・謝辞 素晴らしい経験だったと思います Team Tanukiの皆さんとご一緒できたことは一生の財産です みんな忘れないでね 常に高いモチベーションを保って粘り強く開発を進めていらっしゃった メンバーの皆さん、尊敬してます m(_)m このような機会に携わらせて頂き、本当にありがとうございました。 謝辞: 今回の大規模言語モデルの開発にかかる成果は、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)の 助成事業「ポスト5G情報通信システム基盤強化研究開発事業」(JPNP20017)の結果得られたものです。開発に関わった全 ての方々に深く感謝申し上げます。 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 25

27.

©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 26

28.

Tanuki開発チーム成果発表 松尾研LLM開発プロジェクト “Tanuki” 開発報告会 2024年 9月 17 日 許諾なく撮影や第三者 への開示を禁止します ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

29.

目次 1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 2

30.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 3

31.

1.phase1で行っていたこと Phase1の開発メンバーの紹介で参画 ※第2次メンバー選考不合格 第3次メンバー選考合格 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

32.

1.phase1で行っていたこと Phase1は、Team JINIACに所属 • 情報調査チームとモデルチームとデータチームに所属 ※個人としての成果は、情報収集やDocker構築のみであった。 情報調査チーム • チーム内外における情報の収集と分析、情報整理 外務チーム • 内務チーム リーダー • データチーム 外部公開文書等の取りまとめ • データ準備 モデルチーム メンバー受け入れ、各種調整 • モデル実装、モデル実行 学習チーム コアチーム • ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 学習方法・モデル評価 5

33.

1.phase1で行っていたこと Phase1の結果は、以下の通り https://weblab.t.u-tokyo.ac.jp/geniac_llm/ ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 6

34.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 7

35.

2.phase2参加経緯 ・Phase1では、確かにLLMを学ぶことは出来たが、モデル学習を自ら 出来なかったため、リベンジを兼ねて参加 ・50B相当の開発に携わりたいため ・Phase1のたぬきチームに優秀なメンバーが参加しており、学ぶことが出来るため ・モデル開発のマネジメントもやってみたかった ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

36.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 9

37.

3.phase2での目標 ・Phase1では、出来なかったモデル開発・検証に携わる ・日本のLLMモデル開発の底上げ ・LLMの知見やスキルの向上 ・LLM開発のマネジメント力習得 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

38.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 11

39.

4.phase2での活動 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO

40.

4.phase2での活動 全体スケジュール ここで成果を 出しました ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 13

41.

4.phase2での活動 携わったタスク ・モデル・アーキテクチャー選定 ・全体マネジメント ・Supervised Fine-Tuning (SFT)検証 ・ポストトレーニング検討 ・モデル学習総力戦 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 14

42.

4.phase2での活動 モデル・アーキテクチャー選定① 最初に行ったのは、Phase2で開発するモデルアーキテクチャと学習環境の選 定。候補は以下の3つ。 1.Llama35B 2.DeepSeek v2 + Transformer Engine 3.Llama 30-50B with transformer engine 学習速度:450~500FLOPSを目標として活動 ※DeepSeek v2に参加 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 15

43.

4.phase2での活動 モデル・アーキテクチャー選定② DeepSeek v2 + Transformer Engine環境を構築参加 ・DeepSeek v2を選定 ・3ノード検証⇒450TFLopsの計算速度 ・18ノード検証⇒230TFLopsの計算速度 ディスカッションや構築の見学のみ参加。ほぼ徹夜で作業。 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 16

44.

4.phase2での活動 モデル・アーキテクチャー選定③ 2 node学習速度 (tokens/gpu/sec) 2 node学習速度 (TFLOPS) 1. Llama35B 2. DeepSeek v2 3. Llama 30-50B with transformer engine 1200 1400 2520 230TFLOPS 540 TFLOPS (2nodeの 結果がうまくスケール した場合) 430TFLOPS 800B(47+5 days: 既に 学習できるトークン数 学習が先行しているの 820B (47 days) の見込み* で、+5days) 1500 B(47 days: 条件 は同上) 3のLlama 30-50B with transformer engineでモデル学習開始 ⇒中盤にloss spike(詳細は、zenn(執筆中)参照)が発生し、MoEの8x8Bモデルに変更となった ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 17

45.

4.phase2での活動 モデル・アーキテクチャー選定④ 標準スクリプト実行 ①モデル学習するための標準スクリプト環境構築 ②標準スクリプト実行 ※個人的には、標準スクリプト実行 condaのパスを使いまわすという荒業で実行 SBATCHで実行(詳細は、zenn(執筆中)参照) ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 18

46.

4.phase2での活動 全体マネジメント① o 各種アカウント登録や環境についての周知 o 計算ノードアカウント登録周知 o GitHubやwandbのアカウント登録周知 o 計算ノードがdrain等を発生させないよう周知 o GPU貸出リスト作成 ※Slackや全体会議で周知したが周知しきれないこともあった o 毎週木曜日の夜にマネジメント会開催 o 各種チームの課題共有 o 毎週土曜日のマネジメント会の事前打ち合わせ o 各種戦略についてディスカッション ※Phase1は、畠山さんが負荷がかかっていたようですが、 このマネジメント会を実施することで畠山さんのマネジメントの 負荷がかからなくなった。 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 19

47.

4.phase2での活動 全体マネジメント② o 毎週土曜日の全体会 o 各種作業の進捗確認 o ディスカッション ※メンバー間の進捗や問題を共有することが出来た。 o o ディスカッション会 o 事後学習についてディスカッション o 計算リソースの配分について o モデル精度についてディスカッション ※土曜日とは別に自由なディスカッション会を開催。 その他 o SFTとDPO標準コード説明会調整 o 評価についてディスカッション ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 20

48.

4.phase2での活動 Supervised Fine-Tuning (SFT)検証① 特定の入力(指示)と期待される出力(適切な応答)のペア を用いて、指示に対して適切な応答を生成するようにモデルを学習 ・ベースモデルの応答は、質問を単に繰り返すだけの無意味な出力 ・SFT後のモデルの応答は、質問に対して具体的で適切な情報を提供して おり、指示された200字以内という制限も守っている 詳細は、Zenn記事[1]を参照 [1] Tanuki-8B, 8x8B - 事後学習の軌跡 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 21

49.

4.phase2での活動 Supervised Fine-Tuning (SFT)検証② ・sftlabのコード構築 開発メンバーで開発したコードを使って構築 (llm-jp-sft[2]ベースとしたプロジェクトで、TRLのSFTTrainer[3]を使用) 以下のエラーを対応 ①configの設定ミス ②huggingfaceのユーザ権限問題 ③condaのパスミス ※開発メンバーが標準化して頂いたので簡単に構築出来た configでハイパーパラメータやモデルやデータを設定 [2] lm-jp-sftのGitHub引用 [3]STFTrainner引用 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 22

50.

4.phase2での活動 Supervised Fine-Tuning (SFT)検証③ ・sftlabの事前検証 SFT検証リスト活用してSFTを実施。 基本は、Phase1のものを検証実施。複数メンバーで実施 Phase1の8Bモデルをベースに14パターンを検証。 Fullパラメータよりもloraの方が、評価が良かった。 検証の活用したSFTデータが良くなかったと推測できる exp tanuki_8B_lora tanuki_8B_full model team-hatakeyama-phase2/8b-iter-0713tanuki-8b-iter126000-plus-testclean-iter1600 team-hatakeyama-phase2/8b-iter-0713tanuki-8b-iter126000-plus-testclean-iter1600 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO data avg(jmt) team-hatakeyama3.119 phase2/sft_baseline_100k team-hatakeyama2.444 phase2/sft_baseline_100k 23

51.

4.phase2での活動 Supervised Fine-Tuning (SFT)検証④ ・モデル評価の構築 開発メンバーで開発したコードを使って構築 「leaderboard neo + Japanese MT-Bench (JMT-Bench)」を中心で検証 ※ JMT-Benchは次のページで説明 以下のエラーを対応 ①configの設定ミス ②文字コードによる設定ミス ③condaのパスミス ※Phase2では評価をGPT-4oを中心 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 24

52.

4.phase2での活動 Supervised Fine-Tuning (SFT)検証⑤ JMT-Bench[4]は、日本語におけるLLMの応答能力や作文性能を評価するため のベンチマーク 8つのカテゴリで評価 [4] JMT-BebnchのGitHub引用 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 25

53.

4.phase2での活動 Supervised Fine-Tuning (SFT)検証⑥ ・総力戦に向けた検証コード整備 開発メンバーで開発したコードがアップデートされたので それをアップデートして実行 特に問題無く実行されていることを確認 ※マルチターンの方法等の見直しで最新版に再構築 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 26

54.

4.phase2での活動 ポストトレーニング検討① ・Online-RLHFlow[5]の環境構築 他のメンバーとGitHub[6]を参考にして構築 ライブラリーインストール等で手間取った シングルGPUでは実行出来た それ以降は、同じ構築したメンバーで実施したが、 検証やリソースの関係上、 Online-RLHFを事後学習で活用出来なかった。 HPCクラスタのdrainを覚悟すれば可能だが試すという観点で難しかった。 [5] Online-RLHFFlowの論文 [6] Online-RLHFFlowのGithub ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 27

55.

4.phase2での活動 ポストトレーニング検討② Online-RLHFlowの仕組みは以下である 1.応答の生成: SFT Modelが応答を生成する。 2.評価: Reward Modelが生成された応答にスコアを付与する。 3.最適化: RLHF Modelがそのスコアを基に、応答の品質を向上させるための 強化学習を行う。 RLHF Model[7]とありますが、DPOのベースとしたモデルとなる。 通常のDPO(別ページで説明) とは異なり、オンライン コンポーネントは、 ポリシー最適化中の分布シフトを効果的に緩和 [7] RLHF ModelのHuggingface引用 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 28

56.

4.phase2での活動 ポストトレーニング検討③ DPO(Direct Preference Optimization) [8] 人間の選好に基づいてモデルを最適化する手法。より自然で人間の期待に沿っ た応答を生成するモデルを作成することが可能。 DPOの学習データは通常、以下の形式で準備 ・ prompt:ユーザーからの質問や指示 ・ chosen:好ましい(LLMに生成させたい)応答 ・ rejected:好ましくない(LLMに生成させたくない)応答 [8] DPO(Direct Preference Optimization) の論文より引用 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 29

57.

4.phase2での活動 ポストトレーニング検討④ DPOデータの例 SFTとの主な違いは、好ましくない応答の生成を抑制するように、負のフィー ドバックを行う点 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 30

58.

4.phase2での活動 ポストトレーニング検討⑤ ・ポストトレーニング取りまとめ 毎週金曜日の定例会を実施。週次の報告も取りまとめ 各メンバーは、以下の手法も検討 - RLHF - Self-Play Fine-Tuning - APA(Advantage-Induced Policy Alignment) - Self-Rewarding Language Models ※時間の制約上、 Online-RLHF対DPOとなったが、最終的に 実績があるDPOとなった ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 31

59.

4.phase2での活動 ポストトレーニング⑥ ・polabの構築 開発メンバーで開発したコードを使って構築 以下のエラーを対応 ①configの設定ミス ②huggingfaceのログインミス ③リソース設定 ※開発メンバーが標準化して頂いたので簡単にインストール出来た TRLを活用してDPOを実施するコードconfigでハイパーパラメータ やモデルやデータを設定 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 32

60.

4.phase2での活動 モデル学習総力戦① JMT-Benchにおいて、国内トップスコアを出すを目標に、コンペのように個人 の創意工夫を重視する要素を取り入れたアプローチを取り組んだ ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 33

61.

4.phase2での活動 モデル学習総力戦② 以下のモデル学習実施 ・8Bの事前学習 ・8x8Bの事前学習 ・8BSFT(Fullとlora両方) ・8BDPO (Full) ・8x8BSFT(Full) ・ 8x8BDPO (Fullとlora両方) ⇒Fullは時間制約や試す点でloraのみとなった。 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 34

62.

4.phase2での活動 モデル学習総力戦③ ・8BSFT(Full)と8BDPO (Full)と担当 モデルの評価は、 「leaderboard neo + mtbench」で評価 思ったよりパラメータ変更で変わることは無かった。 個人としては、mtbenchが7.03であった ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 35

63.

4.phase2での活動 モデル学習総力戦④ ・8x8BDPO (lora)実施 Fullパラメータで実施すると検証に試すのが時間がかかるため、 loraで試すように終了2日前に確定。 8x8bのモデルDPOは前もって実行していなかったが突貫工事で スクリプトを準備して実行パラメータを中心にDPOを実行。 連休数日前は、ホテルで缶詰めで作業 徹夜で実行や評価を実施。夜中に高いスコアが出たとSlackで盛り上 がっていた。(自分は関係ないと思っていて、その間ホテルの露天風呂に 行っていた。ところが。。) ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 36

64.

4.phase2での活動 モデル学習総力戦⑤ 実は私がDPOしたモデルであることが分かりました。 スコア的にサイバーエージェントのCalm3とOpen AIのGPT3.5-Turbo と同等ぐらいのスコアのDPOモデル 単にパラメータを変更したモデルが高いスコアを出した。 その後も特定もパラメータで高スコアを出したが、最初のモデルが 高スコアであった。 avg coding extraction humanities math reasoning roleplay stem writing DPOモデル(gpt-4) 7.91 6.75 6.9 9.3 5.75 7.35 8.95 9.4 8.85 Calm3 (gpt-4) 7.81 5.2 8.15 9.4 6.1 6.8 8.55 9.35 8.9 結果として、提出モデルとなった。詳細は、後日Zenn(執筆中)で公開予定 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 37

65.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 38

66.

5.成果・結果 個人的な結果としては、以下の通り ・Phase1に比べて大いにモデル開発に貢献することが出来た ・マネジメントに関しては、個人のスキル不足でメンバーに迷惑を かけたが周りの方のサポートで無事にプロジェクトを完遂 ・8Bのモデルは、ある程度のスコアモデルを出すことが出来た ・8x8Bのモデルは、国内トップクラスのモデルを出すことが出来た コミュニティ内 実施した対話試験 国内一位レベル GPT-4o-mini, Gemini-1.5-flash 同等レベル ハイパーパラメータ魔術師?誕生 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 39

67.

5.成果・結果 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 40

68.

5.成果・結果 Tanukiの凄さ...!? (2024.8.26時点) すごいぞ! 日本で初めて(?)「AIのプロ」以外が中心となって作った本格LLM 実際の対話試験で国内一位レベル* 日常会話ではGPT-4o-mini, Gemini-1.5-flashと同等(!?) 対話・作文性能を測るJapanese MT-Benchで国内一位レベル* 国内で初めて本格的なMoEモデルの構築に成功 (多分) 国内で初めて本格的なアップサイクリング**に成功 (多分) 画像認識LLMのHeron VLM リーダーボードではオープンモデルとし て一位*** ● 人間ではなくAIの対話のみで最終訓練された国内で初めてのモデル (多分)**** ● ● ● ● ● ● ● *フルスクラッチで開発された国産モデルにおける順位.とはいえ、このグローバル社会において、「国内一位」と謳ったところで、大した意味はあり ません. **学習済みのパラメータを活用して低コストでモデルサイズを増加させる方法論. ***チームメンバーに丸投げしており、詳細よく分かっていません.他の方の発表に期待です. ****事前学習の最終段階、事後学習に用いたデータ 前回の畠山さんの資料から抜粋 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 41

69.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 42

70.

6.今回の開発を得ての知見 今回の開発としては、知見は以下の通り ・HPCクラスタのSBATCHを習得 ・deepspeek v2 の仕組み ・Online-RLHFの仕組み ・ leaderboard neoの検証 ・ TRLによるSTFとDPOの学習 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 43

71.

1.phase1で行っていたこと 2.phase2参加経緯 3.phase2での目標 4.phase2での活動 5.成果・結果 6.今回の開発を得ての知見 7.総括 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 44

72.

7.総括 ・国内トップレベルであるもののまだ世界には届かないので更にLLM開発力を 高める必要がある。 ・個人としてもまたLLM開発の機会がありましたら是非携わりたい ・今後も日本のLLM人材輩出にも貢献していきたい。 謝辞: 今回の大規模言語モデルの開発にかかる成果は、NEDO(国立研究開発法人新エネルギー・ 産業技術総合開発機構)の助成事業「ポスト5G情報通信システム基盤強化研究開発事業」 (JPNP20017)の結果得られたものです。開発に関わった全ての方々に深く感謝申し上げます。 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 45

73.

個人の今後活動予定 • Zennに今回の詳細を執筆 • LLM講座2024 • コミュニティの継続と、日本のLLM発展のための活動 • LLM開発(機会がありましたらお願いします。) • Tanukiモデルの活用方法 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 46

74.

ご清聴ありがとうございました ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 47

75.

©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 48

76.

Reference [1] Tanuki-8B, 8x8B - 事後学習の軌跡 [2] lm-jp-sft GitHub [3] STFTrainner Hugging Face [4] JMT-Bebnch GitHub [5] Online-RLHFFlowの論文 [6] Online-RLHFFlowのGithub [7] RLHF ModelのHuggingface [8] DPO(Direct Preference Optimization) の論文より引用 ©︎MATSUO LAB、 THE UNIVERSITY OF TOKYO 49