Slide 1

Slide 1 text

PROPRIETARY & CONFIDENTIAL Hyper realistic future landscape horizon LLMの開発は難しい?簡単? Stability AIの現場から

Slide 2

Slide 2 text

GPT-4 って 凄いですよね

Slide 3

Slide 3 text

GPT-4 を作れってもし 上司に明日言われたら 作れますか?

Slide 4

Slide 4 text

自己紹介: 秋葉 拓哉 ● ~2015 東京大学 コンピュータ科学専攻 博士 ● ~2023 Preferred Networks リサーチャー → ML基盤担当VP ● 2023~ Stability AI シニアリサーチサイエンティスト https://takiba.net https://x.com/iwiwi https://prtimes.jp/main/html/rd/p/000000006.000119963.html

Slide 5

Slide 5 text

20 Apr 2023 22 Aug 2022 24 Nov 2022 Jan 2023 28 July 2023 10 Aug 2023 17 Aug 2023 Stable Diffusion テキストから画像を生成する Text-to-imageモデル。 Japan office設立 日本のクリエイター・会社・組織の想像 力・創造力を拡張。 StableLM Stability AIから初となる言語モデ ルをリリース。 Stable Diffusion XL これまでのStable Diffusionの中で 最も高性能なモデル。 Stable Diffusion V2.1 V1リリースモデルからさらなる改善がされたモデル。 基盤のText-to-imageモデルを拡張したモデルも公 開。 ● Super-Resolution Upscaler Diffusion Models ● Depth-to-Image Diffusion Model ● Updated Inpainting Diffusion Model Japanese InstructBLIP Japanese StableLM Stability AI Japan初となる日本語 特化言語モデル。 日本特化の画像言語モデル。 キャプション生成・質問応答。 Stability AI 沿革

Slide 6

Slide 6 text

日本チームは日本特化の生成モデルを開発中! Japanese StableLM Japanese InstructBLIP ● 日本語特化の言語モデル ● 日本の知識を理解したテキスト生成が可能 ● 日本特化の言語画像モデル ● キャプション生成 ● 画像についての質疑応答

Slide 7

Slide 7 text

🦜 Japanese StableLM (JSLM) Alpha ● Japanese-StableLM-Base-Alpha-7B ○ 7B pretrained autoregressive model using GPT-NeoX ○ Trained w/ 750B tokens (Japanese/English) ■ Japanese/English Wikipedia ■ Japanese CC-100, mC4 ■ extended Japanese OSCAR ● Japanese-StableLM-Instruct-Alpha-7B ○ SFT the above base model with Japanese instruction ■ Stanford Alpaca ■ Dolly-15k ■ Japanese translation of Anthropic HH ○ Trained with 3 epoch

Slide 8

Slide 8 text

オープンなLLMが続々と出ている 英語など ● Stable LM (Stability AI) ● Stable Beluga (Stability AI) ● Llama-2 (Meta) ● Mistral (Mistral) ● Qwen (Alibaba Cloud) ● XGen (Salesforce) ● MPT (MosaicML) ● …… 日本語 ● Japanese Stable LM (Stability AI) ● PLaMo (Preferred Networks) ● ELYZA-Japanese-Llama-2 (ELYZA) ● Weblab (松尾研) ● japanese-large-lm (LINE) ● bilingual-gpt-neox-4b (りんな) ● OpenCALM (CyberAgent) ● …… GPT-4はこれらの延長線上にあるの?

Slide 9

Slide 9 text

9 LLMの作り方

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

LLMの作り方 Fine-Tuning 02 ● 人の指示を聞いたり、対話を可能にする。 ● SFT, RLHF 等の方法が用いられる。 このために作られたデータが必要。 Pretraining 01 ● ウェブ等の大量のデータを学習。 基礎的な言語能力や知識を身につける。 ● 大きな計算資源が必要。 どこが大変?

Slide 12

Slide 12 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行 ここが一番大変かも

Slide 13

Slide 13 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行 英語ならとりあえずRedPajama 今すぐダウンロード

Slide 14

Slide 14 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行 フレームワークはお好みのもので GPT-NeoX, llm-foundry, Megatron DeepSpeed…… すんなり動かない場合には問題解決にHPC関連の知識が必要になるかも 学習設定はとりあえず確立したもので

Slide 15

Slide 15 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行 Alpaca, Anthropic HH, Dolly, OpenOrca, …… 今すぐダウンロード

Slide 18

Slide 18 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行 急ぎなら一旦SFTだけでとりあえず良い SFTだけなら既存フレームワークを使うほどでもないが……

Slide 19

Slide 19 text

LLM構築 タイムアタック! Pretraining 1. GPUを確保する 2. データを準備する 3. GPT-NeoXをインストール&実行 Fine-Tuning 1. データを準備する 2. TRLXをインストール&実行 コードをほぼ書かずにLLM完成!?

Slide 20

Slide 20 text

20 より優れたLLMを作るには

Slide 21

Slide 21 text

OpenAI, GPT-4 Technical Report, 2023. https:/ /arxiv.org/abs/2303.08774 https:/ /gist.github.com/iwiwi/fc174b1f2341c2c0170be87c5b2e1d31

Slide 22

Slide 22 text

① Pretraining モデルアーキテクチャ ● 基本的には今の所 Transformer 一択 ● 細かい差異によりじわじわと進化している 例 ● 活性化関数: SwiGLU, SquaredReLU, …… ● 位置埋め込み: RoPE系, ALiBi, …… ● 注意機構: MQA, GQA, SWA, …… ちなみに、GPT-4に関して言うと、学習されたのが少し昔だし、そんなに先進的なアーキテクチャを利用していないのではないかと予想。 実際、この辺で工夫するために試行錯誤に時間使うぐらいなら、その分だけモデルを大きくして長く学習する方が、性能が良くなるかもしれない。 一方で、特に最近の小さいサイズのモデルの進化(Mistral 7B等)には、この辺の進歩も結構寄与しているかもしれない。

Slide 23

Slide 23 text

① Pretraining 大規模分散学習 大きなモデルの学習をメモリに収める + 効率を出す ● 〜中規模:Data Parallelism ○ PyTorchのFSDP、DeepSpeedのZeRO ● 大規模〜:3D Parallelism (Data + Tensor + Pipeline) ○ Megatron (及びそれをベースとしたMegatron DeepSpeedやGPT NeoX) 個人的意見としては、DPで事足りるのであればそれが良い。色々と楽なので。 全体的なやり方既には確立しており、OSS実装も利用可能だが、改善の余地はまだあるようにも感じる。

Slide 24

Slide 24 text

① Pretraining Mixture of Experts (MoE) 各トークンがモデルの一部だけを通るようにし、パラメタを増やしても計算量を増加させない仕組み GPT-4はMoEを利用しているという噂だが、オープンLLMの世界ではほとんど模索されていない。 3D Parallelism × MoEはエンジニアリングコストも跳ね上がる。 https://blog.research.google/2022/11/mixture-of-experts-with-expert-choice.html

Slide 25

Slide 25 text

① Pretraining 学習データ ● どういったデータを利用するか? ○ Web Crawl, Wikipedia, ArXiv, GitHub, …… ● どのような割合で混合するか? ● どのように前処理するか? ○ 重複除去、フィルタリングなど 恐らく事前学習において最も重要な点だが、何がどのようにモデルに影響したかの検証が難しい。

Slide 26

Slide 26 text

② Fine-Tuning (SFT + RLHF) 学習データ ● 高品質で多様なアノテーションデータが必要 ○ 内容によっては専門家がアノテーションする必要あり ● オープンLLMの一部はGPT-4等にアノテーションさせている、が…… ○ ライセンスの都合上、このように作ったデータを利用するとモデルの利用が制限される ○ とはいえ、まずは一旦GPT-4で試せるようになったのはいずれにせよ便利 Fine-tuningのあれこれの重要性については諸説ある。 とはいえ、この中だと個人的には最終的にはここが一番大きな差になり得るかなぁと思ってる。

Slide 27

Slide 27 text

② Fine-Tuning (SFT + RLHF) RLHFは必要なのか? ● GPT-4やLlama-2-Chat等はRLHFしている ● オープンLLMはRLHFせずSFTのみのものも多い 個人的な予想としては、結局RLHFもすることになるのではないかなと…… Stable Beluga 2 (SFT) Llama 2 (SFT + RLHF)

Slide 28

Slide 28 text

③ Evaluation & Analysis ● GPT-4 Tech Reportだとここが一番人数が多い ● LLMは汎用性が高く色々なことが出来るので、 その能力や安全性を理解するために、様々なタスクを準備し評価する ● 評価がより正確にできれば、改善もより効率的に行える、かもしれない。

Slide 29

Slide 29 text

Stability AIでの取り組みの例 ● Pretraining ○ GPT-NeoXの改善・独自フレームワークの実装 ○ 独自データセットの構築 ● Fine-Tuning ○ 独自データセットの構築 ● Evaluation & Analysis ○ 日本語lm-eval-harnessの構築 https://github.com/Stability-AI/lm-evaluation-harness/tree/jp-stable ○ 日本語MT-Benchの構築 https://github.com/Stability-AI/FastChat/tree/jp-stable/fastchat/llm_judge#llm-judge ○ 安全性の試験に向けた準備 ● 日本語等のデータ量が限られる言語に向けた研究

Slide 30

Slide 30 text

Stability AIでの取り組み W&Bめちゃくちゃ活用しています!! https://stability.wandb.io/stability-llm/stable-lm/reports/StableLM-3B-4E1T--VmlldzoyMjU4?accessToken=u3zuji penkx5g7rtcj9qojjgxpconyjktjkli2po09nffrffdhhchq045vp0wyfo

Slide 31

Slide 31 text

まとめ Western scene in video game Medieval scene in video game

Slide 32

Slide 32 text

終わりに 1. LLMの作り方 ● とにかく作るだけ、というなら簡単 2. より優れたLLMを作るには ● Pretraining, Fine-Tuning, Evaluation等の進歩 ● Stability AIでの取り組み 今日は分かりやすさのためにGPT-4との対比を繰り返しましたが、恐らく多くのグループはそもそもGPT-4を作りたいとは思っていないと思います。 それよりも、限定的な場面で安価に推論可能な小〜中規模のモデルの性能を向上したいと考えているグループが多そうです。 ただ、やることや考え方は共通している部分も多いと思います。

Slide 33

Slide 33 text

PROPRIETARY & CONFIDENTIAL Hyper realistic future landscape horizon in the valleys