Amazon SageMaker Foundation Modelsで
事前学習済みモデルを利用する
大規模言語モデルを社会実装する
2023/03/25 第21回勉強会
自己紹介
● 名前: 西岡 賢一郎
○ Twitter: @ken_nishi
○ note: 西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro)
○ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル
(https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg)
● 経歴
○ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得
○ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト
ライディアを設立
○ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職
○ CDPのスタートアップと株式会社データインフォームドの2つに所属
○ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
本日のお話
● 大規模言語モデルの社会実装
● 事前学習モデル
● Amazon SageMaker Foundation Models
● デモ
大規模言語モデルの社会実装
言語モデルとそれを用いたサービスの普及
● 言語モデルの研究が急速に進み、次々と大規模言語モデルが開発されている
○ GPT-3 (Generative Pre-trained Transformer 3): OpenAIが開発した自然言語処理モデル
○ T5 (Text-to-Text Transfer Transformer): Googleが開発した自然言語処理モデル
○ BERT (Bidirectional Encoder Representations from Transformers): Googleが開発した自
然言語処理モデル
○ RoBERTa (Robustly Optimized BERT Pretraining Approach): Facebookが開発した自然言
語処理モデル
○ DALL-E: OpenAIによって開発された大規模言語モデル
● これらを用いたサービス開発も盛んになってきている
○ e.g. チャットボット、記事・レポート作成、翻訳など
● 大規模言語モデルを用いたサービス開発では大規模言語モデルを構築すると
きの課題を乗り越えなければならない
大規模言語モデルを構築する難しさ
● 計算資源
○ 多くのパラメータを持つため、トレーニングや推論の際に高いコンピューティングパワーが必要
● データ
○ トレーニングするために大量の多くのデータが必要
○ 多くの場合、大量のデータを収集することは困難であり、また、データの品質やバランスを維持す
ることも難しい。
● トレーニング時間
○ 大規模言語モデルをトレーニングするには、数週間から数ヶ月かかる
○ データの変化に対応するための定期的な再トレーニングのコストも高い
● パラメータ数の調整
○ 多くのパラメータを持つため、適切なパラメータ数の決定が難しい
■ パラメータ数が多すぎると、トレーニング時間が長くなり、オーバーフィッティングのリスク
が高くなる
■ パラメータ数が少なすぎると、モデルの表現力が制限される
大規模言語モデルの社会実装
● 大規模言語モデルを学習するには、膨大なデータセットと高度な計算資源が
必要。しかし、それらができるのは、一部の大手IT企業や研究機関に限られ
る。
● 自社のアプリケーションやサービスに対して自然言語処理を適用したくても、
データや計算資源に限界があるため、高品質の自然言語処理モデルを構築す
ることが困難
事前学習モデルをファインチューニングして
自社の自然言語処理タスクに適用する
事前学習モデル
事前学習モデル
● 事前学習モデルは、深層学習など、パラメータ数が非常に多く、学習に膨大
な計算資源が必要とされるモデルでよく使われる
● 大量のデータを用いて事前に学習されたモデルであるため、少ないデータで
も高い性能を発揮できる
● 画像認識や自然言語処理など大量の学習データが必要なモデルでよく使われ
る
● 事前学習モデルをファインチューニングすることで、特定のタスクに対して
高い性能を発揮することができる
事前学習モデルを提供するサービス
● PyTorch Hub
● https://pytorch.org/hub/
● 使い方
事前学習モデルを動かす環境の課題
pipでインストールしただけではいろいろなエラーが出てきて、一つ一つ解決して
いかないといけない → 環境とセットでないとすぐに使うのは難しい
Amazon SageMaker Foundation Models
Amazon SageMaker
Amazon SageMakerでは、Foundation Models (事前学習モデル) とそのモデル
が動く環境が用意されている
事前学習モデル
計算環境
提供されているFoundation Models
● AI21 Jurassic: AI21 Labsが開発した言語モデル
● Cohere Generate Model: Cohere Technologiesが開発した言語モデル
● Lyra-Fr 10B: フランス語のキュレーションデータで学習させた言語モデル
● Bloom: 産業規模の計算資源を用いて膨大な量のテキストデータに対してプ
ロンプトからテキストを継続するように訓練されている
● FLAN-T5: 適切なプロンプトがあれば、テキストの要約、常識的な推論、自
然言語推論、質問と回答、文/感傷の分類、翻訳、代名詞解決などのゼロシ
ョットNLPタスクを実行可能
● Stable Diffusion: テキストからイメージを作成するモデル
Foundation Modelsを使ってみる
● Amazon SageMaker > Jump Start > Foundation Models でモデル一覧が参
照可能
● TokyoリージョンなどJump Startがそもそも提供されていないリージョンも
ある
Model Overview
モデルを選択すると以下が表示される
● モデルの説明
● モデルのお試し機能
● モデルを使うためのサンプルnotebook
モデルのお試し機能
Promptとパラメータを指定して、モデルを使ってテキストやイメージの生成ができる
デモ
● Flan T5 XLを使ったテキスト作成
● https://github.com/knishioka/machine-learning-
workshop/blob/main/sagemaker/foundation_models/flat-t5.ipynb

Amazon SageMaker Foundation Modelsで事前学習済みモデルを利用する

Editor's Notes

  • #3 こちらが私のプロフィールとなります。 機械学習には、大学時代の研究から携わっており、自分で立ち上げたスタートアップでも機械学習を使ったサービスを提供していました。 プロダクト開発チームやデータサイエンスチームの立ち上げなどもやっています。
  • #7 パフォーマンス:大規模言語モデルは、多くのパラメータを持つため、トレーニングや推論の際に高いコンピューティングパワーを必要とします。そのため、パフォーマンスの向上に対応するためには、高性能なハードウェアと効率的なアルゴリズムが必要です。 データ:大規模言語モデルをトレーニングするためには、多くのデータが必要です。しかし、多くの場合、大量のデータを収集することは困難であり、また、データの品質やバランスを維持することも難しい場合があります。 トレーニング時間:大規模言語モデルをトレーニングするには、通常、数週間から数ヶ月かかります。トレーニング時間が長くなると、データの変化に対応するために定期的に再トレーニングする必要があり、トレーニングコストが高くなることがあります。 パラメータ数の調整:大規模言語モデルは、多くのパラメータを持っています。パラメータ数が多すぎると、トレーニング時間が長くなり、オーバーフィッティングのリスクが高くなります。一方、パラメータ数が少なすぎると、モデルの表現力が制限されることがあります。適切なパラメータ数を決定することは、難しい問題です。