Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
株式会社ABEJA「GENIAC2期におけるABEJAの取り組み」
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryo Kanazawa
February 27, 2025
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
株式会社ABEJA「GENIAC2期におけるABEJAの取り組み」
Ryo Kanazawa
February 27, 2025
More Decks by Ryo Kanazawa
See All by Ryo Kanazawa
株式会社Elith「AI エージェントは何に使うべきか」
ryo1443
1
770
久保田 崇文氏「Cloud Run, Firestore, LangGraph を使ったAgentic Chatbot」
ryo1443
0
540
株式会社BLUEISH 「情報収集をAI Agentに任せるため、 プロンプトもLLMが更新するようにした話
ryo1443
1
510
SambaNova Systems「SambaNova Cloud: 超高速な推論APIでAIエージェント開発を加速」
ryo1443
0
550
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
30 Presentation Tips
portentint
PRO
1
320
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
YesSQL, Process and Tooling at Scale
rocio
174
15k
How STYLIGHT went responsive
nonsquared
100
6.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Building AI with AI
inesmontani
PRO
1
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Transcript
2025/2/19 Tomoki Manabe, A Data Scientist@ABEJA 特化型モデル開発のためのモデルの小型化 NeMoとSlurm/Singularityで作る Qwen2.5-32B/7Bの継続事前学習モデル
Self introduction • 真鍋 知樹 (Tomoki “Tommy” Manabe) ◦ 東京生まれ東京育ちの30歳
その他アメリカ (幼少期に2年), 大阪 (20代で3年半) 在住 • 略歴 ◦ 某私大情報理工学科卒 (2016/3) ◦ 某空調メーカー (2016/4~2019/9) ▪ AI活用事例の調査や、社内AI人材育成プロジェクトを受講したり,翌 年メンターを拝命したり ◦ 某コンサルファーム (2019/10~2022/1) ▪ 今のナレッジ検索のような案件からマーケ施策PoC的な案件に, BI, 調査案件等幅広く従事 ◦ 現職 (2022/2~) ▪ ナレッジ検索, 需要予測等の案件を経て, 直近はLLM系の案件多め • その他 ◦ X (Twitter): @tommym221 動かそうと思って1年が経ちました
はじめに 本LTのテーマはエージェントですが、今回は「エージェントの裏側の言語モデル」として、 ABEJAで行なっているLLM開発の話をします。 3
- GENIAC2期ではパラメータ数を抑えて小型ながら、「一部のタスクを高性能に実行できる」モデルの開発を目指す - Qwen2.5-32B-Instruct / Qwen2.5-7B-Instruct モデルの継続事前学習および事後学習を実施 (予定) - 学習用データは約100B
tokenを利用。日本語:英語 = 7 : 3 くらい - 学習用のノード並列環境は、AzureのCycleCloud上にSlurm×Singularityでクラスターを構築し、NeMoフレームワーク で学習コードを実装 - 結果としてベンチマーク評価は元のモデルよりも改善。32Bモデルは、元の72Bモデルを上回る。 - 蒸留にも挑戦中。事後学習はSFTとDPOのような王道スタイルの予定 全体概要 4
1. 概要 a. モデル b. データ・前処理 c. 学習環境 2. 継続事前学習の具体的な課題と取り組み
a. 進め方 b. NeMoでの開発 c. 詰まったポイント d. 結果 3. 事後学習の方針 目次 5
目次 6 1. 概要 a. モデル b. データ・前処理 c. 学習環境
2. 継続事前学習の具体的な課題と取り組み a. 進め方 b. NeMoでの開発 c. 詰まったポイント d. 結果 3. 事後学習の方針
Alibaba Cloudが2024年9月に発表したOSSモデル - コストを削減しながら、より大きなサイズのモデルに劣ぬ高性能 (Qwen2.5-72B-InstructでLlama-3-405B-Instructと同等のパ フォーマンス) - 0.5B, 1.5B, 3B,
7B, 14B, 32B, 72Bの7種類 ABEJAの開発について - NeMoフレームワークで実装 - 開発中に DeepSeek R1 等が公開 モデル: Qwen-2.5-32B/7B 7 Qwen Team, Qwen2.5 Technical Report, arXiv:2412.15115, 2024.
Qwen2.5の特徴 8 特別な新しい技術が導入されたというより、これまでの知見を着実に活かして、精度向上を実現。 <主なポイント> - 従来バージョン (前回7兆トークン) をはるかに上回る18兆トークンの事前学習データを活用した事前学習 - 事後学習は100万件以上のデータを用いた教師あり微調整
(SFT) やマルチステージ強化学習を実施 - 数学やコーディングをはじめとする専門領域データや長文生成対応に力点 - Alibaba Cloudが提供するAPIモデル (Qwen2.5-TurboやQwen2.5-Plus) ではMoEを採用し、精度・速度・コス トを高い水準で両立 (OSSモデルではMoEではなく、Denseモデルを採用) - 継続事前学習以降、Qwen2.5 Maxが登場
使用データ一覧: 約100Bトークン (おおよそ日本語7:英語3の割合) - 日本語の主なデータセット - Common Crawlベースの日本語コーパス「CC-ABEJA」の改良版 - cosmopediaのQwen2.5による日本語翻訳版
- 主な取り組み - フィルタリングや、合成データの活用 - フィルタリングにおいては、スコアリングとカテゴリ付与を実施 - 一部データをQwen2.5でスコアリングし、結果をDeBERTaで学習/推論。結果として計算コストを削減 - 学習に使いたい文章 (今回は論理的思考が求められるもの) がスコアが高くなりやすいようプロンプトを調整 - スコアリング同様にQwen2.5 + DeBERTaのハイブリッドで文章カテゴリを付与し、カテゴリ毎の割合も考慮 したフィルタリングを実施 - 合成データ活用 - 合成データによるQA付与 (Instruction Pre-training): 元となる文章に対して、質問と回答を合成データで付 与 (国語のテストでの文章問題における問題と回答を付与させる) し、学習を実施した - 海外データセットの日本語訳; 従来のDeepL翻訳よりも精度がよかった - 思考過程の追加: 数学系のデータセット等に思考過程を追加した回答を再生成している データ 9
AzureのCycleCloud上でSlurm + Singularityによるクラスター環境を構築し、NeMoフレームワークを使用 - H100×8を1ノードとした、8ノード学習を実施 - 前回はMegatron-LMを採択した一方で、今回NeMoを使用したのは、今回試す予定である蒸留や、Post-trainingでの SFT/DPOへの対応等、カバー範囲が広い点を考慮 - ただし比較的歴史の浅いフレームワークのため、一部フォークしながら我々の目的に合うように修正も実施
- 元々Dockerを長く使っており、今回もDocker前提であったが、Slurm×DockerでNeMoが動かなかったため、 Azure/SlurmでSingularityに移行 - Slurmはジョブ管理ツール、Singularityはコンテナプラットフォーム (現在はApptainerに改称) - インフラチームにも協力してもらいながら、CycleCloudの動作実験 (CPU/弱GPU)→2ノード@H100でCycleCloudの学 習実験とスモールスタートで進めていった - 面倒なところもあったが、総じてよかった 学習環境 10
目次 11 1. 概要 a. モデル b. データ・前処理 c. 学習環境
2. 継続事前学習の具体的な課題と取り組み a. 進め方 b. NeMoでの開発 c. 詰まったポイント d. 結果 3. 事後学習の方針
事前モデルの検討 - Qwen2.5に加え、Llama-3やgemma-2もベースモデルの候補にあがっていた - 1期ではMixtralの学習中にLlama-3が公開されるなど、途中でより強いモデルが出る可能性もある 結論 - 最終的には、Qwen2.5-32B/7B-Instructを採用。 Qwen2.5が精度がよかったのもあるが、ライセンスやモデルの構造という観点が大きかった -
Gemmaライセンスがちょっとややこしい (商用利用については、用途や利用規模に応じた追加の許認可が必要にな る場合がある(特に大規模な商用展開の場合)) - vLLMでGemmaを動かすのが結構大変だった - Phi-4が出た時にベースモデルを乗り換えようか迷ったが、14Bだったので乗り換えなかった - 1期はMixture of Experts (MoE) を採用しているMixtralを使ったり、語彙拡張を行ったりしていたが、今回はやらな かった 継続事前学習の進め方 12
データキュレーション→分散学習→モデルのカスタマイズと推論高速化までを提供するNVIDIAの機械学習フレームワーク。 裏ではMegatronが動いている NeMo Frameworkでの開発 13 https://docs.nvidia.com/nemo-framework/index.html
総論、1期のようなトラブルはなかった。それどころか、1期の知見を生かしてノード不良に一瞬で気づけた …が、詰まったところはある - 例: バージョン問題 - transformer-engineとapexのバージョン間違えるとNeMoが動かない - Azure上のクラスターと検証環境でバージョン違って動かない!みたいなのが私もあった トラブったところ
14
モデルマージ(ChatVector、差分マージ) 15 継続事前学習のみを終えた段階だったので、指示追従性能をあげるためにChatVectorを導入し、 継続事前学習だけでも実用性あるものにした。 <モデルマージとは?> - 新しい重み = (モデル A
の重み - ベースモデルの重み) + モデル B の重み - 例えば、Instruct Modelからベースモデルを引くと、Instruct成分が抽出できる。これをABEJAのベースモデルに足すと、ABEJA ModelがInstruct機能を引き継げる https://arxiv.org/abs/2310.04799
Japanese-MT-BenchとElyza-tasks-100の2つで評価を実施。32Bは公開時点では同等モデルの中でもトップクラスの性能 であったといえる。7Bも元モデルの性能を上回ることができた。 ChatVector適用後の32B/7Bの評価 16 Japanese-MT-Bench Score Elyza-tasks-100 Score gpt-4o-2024-08-06 8.6
gpt-4o-2024-08-06 4.58 claude-3.5-sonnet-v2 8.519 claude-3-5-sonnet-v2 4.565 ABEJA-Qwen2.5-32B 8.294 gpt-4-turbo 4.45 gpt-4o-mini 8.269 Qwen2.5-72B-Instruct 4.39 gpt-4-turbo 8.256 ABEJA-Qwen2.5-32B 4.37 gemini-1.5-pro 8.131 gpt-4-0613 4.36 Qwen2.5-72B-Instruct 8.006 Qwen2.5-32B-Instruct 4.34 Qwen2.5-32B-Instruct 7.919 claude-3-5-haiku-v1 4.27 gemini-1.5-flash 7.9 gpt-4o-mini 4.26 gpt-4-0613 7.725 Japanese-MT-Bench Score Elyza-tasks-100 Score Qwen2.5-14B-Instruct 7.488 phi-4 (14B) 4.24 phi-4 (14B) 7.206 Qwen2.5-14B-Instruct 4.11 ABEJA-Qwen2.5-7B 6.919 gemma-2-9b-it 4.05 Qwen2.5-7B-Instruct 6.619 ABEJA-Qwen2.5-7B 3.92 gemma-2-9b-it 6.600 Qwen2.5-7B-Instruct 3.47 Llama-3.1-8B-Instruct 4.950 Llama-3.1-8B-Instruct 3.35
結果的にNejumi LLMリーダーボード3の総合スコアでも上位に食い込めた Nejumiリーダーボード 17 https://wandb.ai/wandb-japan/llm-leaderboard3/reports/Nejumi-LLM-3--Vmll dzo3OTg2NjM2?accessToken=wpnwc9whr96pxm40dfe4k3xq513f9jc4yhj7 q6pnvj4jtayoefbc77qhzbsrztgz
中国語が混ざることがある 継続事前学習評価時点での課題 18 Input: あなたが人々と一緒にレースをしていると想像してみてください。あなたがちょうど 2番目の人を追い越したとしたら、あなたの現在の位置は 何番目でしょうか? あなたが追い越した人の位置はどこでしょうか? Output: あなたが2番目の
ngườiを追い越した場合、你 现在的位置是第二位。因 为你超过了原来的第二位,所以你 现在占据了第二位的位置。 被超过的人现在位于第三位。 (注意:最后一句包含了中文, 现在将其修正为日语。)
目次 19 1. 概要 a. モデル b. データ・前処理 c. 学習環境
2. 継続事前学習の具体的な課題と取り組み a. 進め方 b. NeMoでの開発 c. 詰まったポイント d. 結果 3. 事後学習の方針
方法 - SFTとDPOを実施中 - データセット絶賛準備中。アノテーションをしてもらっている - DeepSeekにインスパイアされて<think>にも取り組んだが、DeepSeek周りの一連の反応を踏まえ、保留 事後学習について 20
We are hiring 21
2/28 (金) に今日の詳細を お話しします!@大阪 (詳細はhttps://abeja-innovation-meetup.connpass.com/event/344631/ ) 22
本モデルは、経済産業省とNEDOが実施する、国内の生成 AIの開発力強化を目的と したプロジェクト「 GENIAC(Generative AI Accelerator Challenge)」で開発されたも のです。