Amazon SageMaker は、データサイエンティストが機械学習モデルを準備、構築、トレーニング、デプロイ、モニタリングできるよう支援します。SageMaker には、分散トレーニングライブラリ、オープンソースモデル、基盤モデルへのアクセスなど、幅広い機能が統合されています。このコースでは、経験豊富なデータサイエンティストが、大規模なテキストコーパスを処理するための言語モデル構築の課題に加え、ストレージ、取り込み、トレーニングに関するさまざまなオプションを紹介します。また、大規模モデルのデプロイや、Amazon SageMaker JumpStart を使用した生成系人工知能
(生成 AI) タスクの基盤モデルのカスタマイズの課題についても説明します。
- コースレベル: 上級
- 所要時間: 5 時間 30 分
*このコースの中の動画には日本語の字幕がついています。字幕を表示させるには、画面下の [CC] アイコンをクリックしてください。
アクティビティ
このコースには、テキストによる説明、図解、ナレッジチェック用の問題、各自の Amazon Web Services (AWS) のアカウントで実行できるラボのデモ動画が含まれています。
コースの目標
このコースでは以下について学習します。
- 分散トレーニングをサポートするために、大量のテキストデータを保存し取り込むためのベストプラクティスを適用する。
- SageMaker での分散トレーニングをサポートするためのデータ並列化ライブラリとモデル並列化ライブラリについて考察する。
- Amazon SageMaker Training Compiler や Elastic Fabric Adapter (EFA) など、トレーニングパフォーマンスを向上させるために SageMaker で利用可能なオプションについて説明する。
- 効果的なモデルのデプロイのための大規模言語モデル (LLM) 最適化手法について考察する。
- SageMaker JumpStart で利用可能な基盤モデルをファインチューニングする方法を実演する。
コースの対象者
このコースは次のような役職の方を対象としています。
- データサイエンティスト
- 機械学習エンジニア
前提条件
このコースを受講するにあたり、次の前提条件を満たしておくことをお勧めします。
- 自然言語処理 (NLP) における 1 年以上の経験
- 言語モデルのトレーニングおよびチューニングにおける 1 年以上の経験
- 中級レベルの Python 言語プログラミング能力
- AWS Technical Essentials
- Amazon SageMaker Studio for Data Scientists
コースの概要
コースシリーズの紹介
セクション 1: はじめに
- Building Language Models on AWSの紹介
セクション 2: 大規模言語モデルの基本
- 大規模言語モデルの種類
- 生成 AI の一般的なユースケース
セクション 3: コースシリーズの概要
- 今後のモジュールで扱うトピック
言語モデル構築における課題への対処
セクション 1: 一般的な課題
- LLM で直面する一般的な課題
セクション 2: 複数のマシンを使用したトレーニングのソリューション
- 分散トレーニングによる LLM のスケーリング
- データ並列化手法の適用
- モデル並列化手法の適用
セクション 3: パフォーマンス最適化ソリューション
- パフォーマンス最適化の手法
- 目的別インフラストラクチャの使用
セクション 4: まとめ
- モジュール評価テスト
Amazon SageMaker を使用した言語モデルのトレーニング
セクション 1: SageMaker Studio の設定
- SageMaker の基本
- SageMaker Studio Domain のセットアップ
セクション 2: SageMaker のインフラストラクチャ
- コンピューティングインスタンスタイプの選択
セクション 3: SageMaker Python SDK の使用
- SageMaker Python SDK の基本
- SageMaker Python SDK による言語モデルのトレーニングおよびデプロイ
セクション 4: まとめ
- モジュール評価テスト
デモ - Amazon SageMaker Studio のセットアップ
言語モデル用データの取り込み
セクション 1: データの準備
- データ管理の概要
- 取り込みに向けたデータの準備
セクション 2: データ取り込みオプションの分析
- SageMaker Python SDK を使用したデータの読み込み
- Amazon S3 からのデータの取り込み
- FSx for Lustre を使ったデータの取り込み
- データ取り込みのその他のオプション
- データの取り込みとストレージに関する考慮事項
セクション 3: まとめ
- モジュール評価テスト
大規模言語モデルのトレーニング
セクション 1: SageMaker トレーニングジョブの作成
- SageMaker トレーニングジョブの起動
- スクリプトモード用スクリプトの修正
セクション 2: SageMaker トレーニングジョブの最適化
- モニタリングとトラブルシューティング
- 計算パフォーマンスの最適化
- 言語モデルトレーニングのための SageMaker トレーニング機能
セクション 3: SageMaker での分散トレーニングの使用
- SageMaker の分散トレーニングのサポート
- SageMaker 分散データ並列化ライブラリの使用
- SageMaker モデル並列化ライブラリの使用
- SageMaker モデル並列化ライブラリとシャーディングデータ並列化の使用
- EFA を使ったトレーニング
セクション 4: トレーニングコードのコンパイル
- SageMaker Training Compiler の使用
セクション 5: まとめ
- モジュール評価テスト
デモ - Amazon SageMaker を使った最初の言語モデルのトレーニング
デモ - PyTorch Lightning を使用した SageMaker トレーニングでのデータ並列化
デモ - Amazon SageMaker のモデル並列化ライブラリのシャーディングデータ並列化手法を使用したニアリニアスケーリングによるGPT-2 のファインチューニング
言語モデルのデプロイ
セクション 1: SageMaker でのモデルのデプロイ
- SageMaker でのデプロイの概要
- SageMaker でのデプロイオプションの選択
セクション 2: 推論用のモデルのデプロイ
- リアルタイム推論の概要
- SageMaker Python SDK を使用したモデルのデプロイ
- SageMaker Inference Recommender の使用
セクション 3: 推論のための大規模言語モデルのデプロイ
- 最適化手法
- モデル圧縮手法
- モデルのパーティショニング
- 最適化カーネルとコンパイル
- SageMaker LMI コンテナを使ったデプロイ
セクション 4: その他の考慮事項
- SageMaker でモデルをデプロイする際のその他の考慮事項
セクション 5: まとめ
- モジュール評価テスト
デモ - DeepSpeed コンテナを使用した Amazon SageMaker での LLM のホスティング入門
生成 AI タスク用の基盤言語モデルのカスタマイズ
セクション 1: はじめに
- 基盤モデルの概要
セクション 2: SageMaker JumpStart の使用
- SageMaker JumpStart の開始方法
- SageMaker Python SDK を使用した SageMaker JumpStart モデルのデプロイ
- 基盤モデルの選択
セクション 3: 基盤モデルのカスタマイズ
- プロンプトエンジニアリング
- SageMaker Python SDK を使用した JumpStart モデルのファインチューニング
セクション 4: 検索拡張生成 (RAG)
- 検索拡張生成 (RAG) の使用
セクション 5: まとめ
- モジュール評価テスト
デモ - Amazon SageMaker JumpStart を使用したテキスト生成タスク用の FLAN-T5 モデルのデプロイ
すぐにやるべきこととその他のリソース
セクション 1: 復習
- このコースシリーズで取り上げたトピック
セクション 2: まとめ
- リソース、まとめ、次のステップ