【概要と感想】AWSの生成AI/LLMのハンズオン・トレーニング「Cloud Quest 生成AI 日本語版」
本記事では、2024年7月に公開された 「AWS Cloud Quest: 生成AIコース(日本語版)」 の実施方法、概要、そして感想を紹介します(ネタバレがない範囲にて)
前々より、「AWS(もしくはその他クラウド)の生成AIサービス群を一連体験して把握しておきたいな~」 と感じていました
その矢先に、AWSよりCloud Questの「生成AIコース」(日本語版、英語版)が同時リリースされました。本記事ではこちらに取り組んでみた内容を紹介します(執筆:小川 雄太郎)
「AWS Cloud Quest」とは、街の住人たちの困りごと(仮想事例)をAWSのサービスを利用して解決するハンズオン形式のトレーニングです
サンドボックス環境にてAWSコンソールが用意されるため、自身のアカウントで0からすべてを構築する必要はありません。サンドボックス環境内で、トレーニングの重要な部分のみを自身で実装しながらスキルを身に着けることができます(下画像は画面の様子です)
コースはへのリンクとはこちらです。
AWS Cloud Quest: Generative AI (Japanese)
AWS Cloud Quest はゲームベースのシミュレーションであり、学習者がソリューションアーキテクトや機械学習スペシャリストなどのロールをシミュレートできるようにすることで、即戦力となるクラウドスキルを身に付けることができます。AWS Cloud Quest 生成 AI のロールは、自分のスキルを高め、AI の進歩の最前線に立ち続けたいと考えている個人向けに作られています。
様々な課題を通して、生成AIを活用する知識・スキルを学習することができます。
「AWS Cloud Quest: Generative AI (Japanese)」の全体概要を整理してみました(下図)
最後まで取り組んだ感想は、「Cloud Quest(生成AIコース)」は、世の中に情報が多い「生成AIのメインコード部分(Jupyter NotebookやPythonでの実装など)」ではなく、「それらコアをクラウド環境のサービス群でどのように利用するのか」 を体験しながら学べる、素晴らしいコンテンツだと感じました。
以下より、実施方法、課題遂行の流れ、各課題の概要について解説いたします。
本記事の目次
- AWS Cloud Questに日本語版が存在するコースについて
- AWS Cloud Questの月間サブスク登録方法
- AWS Cloud Quest: Generative AIのはじめかた
- 課題の流れ
- AWS Cloud Quest: Generative AI (Japanese) 版の全課題概要
- まとめ
1. AWS Cloud Questに日本語版が存在するコースについて
2024年7月31日現在、日本語で用意されているコースは以下の4つ(と認識しています)
- AWS Cloud Quest: Cloud Practitioner(クラウドプラクティショナー)
- AWS Cloud Quest: Solutions Architect(ソリューションアーキテクト)
- AWS Cloud Quest: Machine Learning(機械学習)
- AWS Cloud Quest: Generative AI (生成AI)
AWS Cloud Questのクラウドプラクティショナーは無料です。
こちらのコースの活用方法は、以下の記事でレビューいたしました
Cloud Questを用いた、AWS Cloud Practitioner(クラウドプラクティショナー) 勉強方法
その他のコース(2. ソリューションアーキテクト、3. 機械学習、4. 生成AI)はサブスクリプション契約が必要になります
月に29ドルです。これは1コースごとの料金ではなく、全ての有料コースが利用できます
2. AWS Cloud Questのサブスク登録方法
2.1 AWS Skill Builder
AWS Cloud Quest: Generative AI (生成AI)はサブスク登録が必要です
正確には「AWS Skill Builder」へのサブスクリプションを登録することになります(29ドル/月)
登録すると、Cloud Questだけでなく、
- AWS Builder Labs
- AWS 認定公式模擬試験
なども利用可能になります(詳細については以下の公式ページをご覧ください)
2.2 個人向け月間サブスクリプションへの登録方法
「AWS Skill Builder」の無料アカウントが存在する前提で話を進めます
登録の手順
-
AWS SKILL BUILDER にサインインします
link to AWS SKILL BUILDER -
サインイン後、以下のURLをクリックして、生成AIコースを開きます
AWS Cloud Quest: Generative AI (Japanese) 日本語版 -
画面右側の「開始する」ボタンをクリックします
-
月間サブスクリプションの「今すぐ申し込む」をクリックします
-
「AWSアカウントで続行」をクリックします
-
サインインを実行し、サイン後のチェックアウト画面の「申し込む」をクリックします
-
これで、「サブスクリプションにお申し込みいただきありがとうございます」と表示されます
以上で、「AWS Skill Builder」の月間サブスクリプションに登録できたため、有料のCloud Questのコースが実施可能になります
3. AWS Cloud Quest: Generative AIのはじめかた
-
AWS SKILL BUILDER にサインインします
https://explore.skillbuilder.aws/learn/signin -
「生成AIコース(日本語)」のページを開きます
AWS Cloud Quest: Generative AI (Japanese) 日本語版 -
画面右側の表示が無料「登録」に変更されているので、クリックします
-
登録をクリックすると、「さあ、学習を始めましょう」がクリックできるようになります。こちらをクリックすると、AWS Cloud Quest(生成AI 日本語版)が開始します
-
「ゲーム開始!」ボタンをクリックします。環境が立ち上がるのに少し時間がかかります
4. 課題の流れ
コースは複数の課題で構成されています。ここでは、ひとつの課題を解決するまでの一連の流れを解説します
- まず、いきなり街に放り出され、何をすれば良いか分かりづらい状態になります。
そこで最初に、「右下のスマホ(XRデバイス)の画像」をクリックします(以下画像のクリックと記載の部分です。また、初回はアバター作成を実施し、その後で街に放り出されます)
- 初回に表示されるコースが以下画面とは異なるかもしれません
(「クラウドコンピューティングの基礎」と「クラウド、はじめの一歩」が表示されているかもしれません。私はクラウドプラクティショナーのコースで実施済みのため、表示されていません)
以下の画像では、「生成AIの概要」という課題が提示されています。
ここで、「目的地へ」をクリックしてください。
すると主人公が、困っている住人のもとまで移動します
-
住人の頭の上にビックリマークが表示されているので、住人をクリックして話かけます
-
住人との会話、ヒアリングフェーズが始まります
-
続いて、「1. 学習」が始まります。ここでは「解決策の概要」を確認します
-
「2. 計画」へ進みます。画面左側に表示されている、「実践ラボの目標」、そして「DIY」の内容を確認します。これらがこれからこの課題で取り組む内容です
-
「3. 実践」へ進みます。画面左下側には、実践内容がstep by stepに表示されます。
このアナウンスに従って実際にまずはお手本の通りに実践してみます。
実装・実行には自分のAWS環境を使用するのではなく、ハンズオン用のサンドボックス環境を使用します。
画面左上の「ラボを開始」をクリックてください。プロビジョニング中と表示され、完了すると「AWSコンソールを開く」というボタンが表示されるのでクリックしてください。すると別タブで「今回の課題用のAWSのコンソール」ページが開かれます
-
画面左下側の案内を読みながら、画面右側の解説図の通りにコンソール画面を進めていきます
-
「3. 実践」が一通り完了したら、次は、「4. DIY」に進みます。DIYでは実践で行ったことの一部を変更するように指示が出されます。自分でそれを解くことで、活用方法の理解が深まります。なお画面左下の検証プロセスとヒントに進め方のアドバイスが記載されているので参考にしてください
-
DIYが完了したら、検証プロセスに必要な情報を画面に入力し、「検証」ボタンをクリックします
-
課題通りに実装できていれば、お疲れ様でしたと表示され、完了です。「終了」をクリックして、住人に報告に行きます
-
完了すると、提出完了の画面が表示され、1つの課題が終了となります
5. AWS Cloud Quest: Generative AI (Japanese) 日本語版の全課題概要
最初に全課題の概要を再掲いたします。
【AWS Cloud Quest: 生成AIコース:日本語版の全課題概要(※執筆者による整理)】
======================================================
1. 生成AIの概要
- LLMの推論エンドポイントをWebアプリとしてデプロイする
2. Amazon SageMaker での LLM のファインチューニング
- LLMをファインチューニングする方法を学ぶ
3. LangChainのパワーを活用
- SageMakerとLangChainを同時に使用する方法を学ぶ
4. 基盤モデルによる 生成AIアプリの構築
- RAGのアプリケーションを実装・デプロイする方法を学ぶ
5. ベクターデータベースによる LLM 機能の強化
- Amazon OpenSearchをベクトルDBとしたRAGアプリケーションの構築
6. 翻訳サービスのバイアス緩和
- heやsheといった性別(Gender)が含まれる代名詞を、
Gender Freeの代名詞であるfae(フェイ)に置き換えて、バイアスの緩和を実施
7. RLHF による基本モデルのファインチューニング
- RLHFを使用して基盤モデルをファインチューニングする方法を学ぶ
8. 生成 AI コンテンツのモデレーター
- ユーザーに生成結果を表示する前に、生成されたコンテンツが有害でないか、
チェックする機構を組み込む
9. LLM によるインテリジェントなビデオとオーディオのQ&A
- 動画や音声ファイルの内容を文字に起こし、その内容についてQ&Aを実施する
10. 生成AIによるノーコードインサイト抽出
- Amazon KendraをRAG元に利用した会話AIの構築
11. 安全な環境での SageMaker のプロビジョニング
- プライベートネットワークへの閉塞化とユーザー権限設定をして安全にLLMを使用する
12. LLM のファインチューニングを自動化
- CodePipelineを用いたCI/CDによりLLMのファインチューニングを自動化する
13. Prompt Engineering with Amazon Bedrock
- Amazon Bedrockを使用したLLMモデルの利用方法を理解する
14. Set Up Private Access to Amazon Bedrock
- Amazon BedrockからのLLMをLambda関数とEC2のプライベートリンク接続で使用する
15. Code Generation with Prompt Engineering
- LLMについて、LangChainのテンプレート機能を活用して様々なプロンプトで文章生成を試す
16. Improve Code Quality Using Generative AI
- CodeGuruで脆弱性が指摘されたコード部分についてLLMを使用して改善させる
17. Generative AI for Personalized Marketing
- Amazon PerssonalizeとLLMを活用してレコメンデーション文面を生成する
18. Generative AI App for Teaching and Learning
- 学生向けの宿題を生成AIを利用して作成し、解答には改善コメントを生成する
19. Build and Deploy Tools Using LLM Agents
- Amazon Bedrock Agent機能を利用し、カスタマー対応を行うLLM-Agentを作成する
20. Generate an AWS Q&A Applicaition
- AWSサービスのFAQをベースにクイズを生成させる
21. Serverless Chatbot Using Private Data
- サーバーレスなチャットボット(RAG機能付き)を構築する
22. 生成 AI チャットアプリの会話を中程度
- LlaMa Guardを用いて、危険なプロンプトはDynamoDBに保存する
23. Create Trustworthy LLMs with a Vector Database
- Amazon Bedrockのナレッジベースを活用したRAGの実践
24. Financial Insights with multimodal Agents
- LangChainを用いて感情分析などのtoolを使用するAgentを作成しデプロイする
25. Modern Data Architectures with LLMs
- AWS GlueとAthenaをLLMと同時に使用する
それでは、個々課題の概要を紹介します。
DIYでつまづきやすいポイントや、あまり聞き慣れていなさそうなAWSサービスに関する注釈も同時に解説いたします。
課題1. 生成AIの概要
項目 | 内容 |
---|---|
概要 | LLMの推論エンドポイントをWebアプリとしてデプロイする |
使用サービス | Amazon SageMaker、AWS Lambda、Amazon API Gateway、Amazon CloudFront、Amazon S3 |
学習目標 | ・LLM-falconの推論モデルをSageMakerエンドポイントにデプロイする ・AWS Lambdaを使用してエンドポイントを呼び出す ・アプリケーションを確認してテストする |
使用LLM | huggingface-llm-falcon-7b-instruct-bf16 |
課題1ですら、登場するサービスが多いです。
「こんな複雑そうなもの、自分にできるだろうか?」と心配になりますが、大丈夫です。
サンドボックス環境を立ち上げた際に、API GateWay や S3 やらの構築は自動で実施してくれます
「AWS Cloud Quest: 生成AIコース」では、あくまで、生成AIに必要な部分にフォーカスして課題に取り組みます
なお、課題に取り組む順番は、任意です。
「右下のスマホ(XRデバイス)の画像」をクリックし、表示されている複数の課題から自由に選べます。いくつかの課題を解くと、新たな課題が表示されます。
本記事では、学習を進めていきやすい(と執筆者が思う)、おすすめ順で課題を紹介します
課題2. Amazon SageMaker での LLM のファインチューニング
項目 | 内容 |
---|---|
概要 | LLMをファインチューニングする方法を学ぶ |
使用サービス | Amazon SageMaker、Amazon API Gateway、AWS Lambda、Amazon S3 |
学習目標 | ・SageMaker ノートブックインスタンスを使用してモデルをファインチューニングする ・ファインチューニングしたモデルを推論用にデプロイする ・サンプルアプリケーションで推論のテストをする |
使用方法 | PEFT(LoRA) |
サンプルのノートブックが用意されているため、それをポチポチと実行していくだけになります
実際にはLoRAでのファインチューニングを実行しているのですが、ノートブックからそのすべてを読み解くのは困難です
まずは、「なんかこんな感じでファインチューニングできるのかー」と体験しておき、また必要になったときに深く理解するのが良いでしょう
課題3. LangChain のパワーを活用
項目 | 内容 |
---|---|
概要 | SageMakerとLangChainを同時に使用する方法を学ぶ |
使用サービス | SageMaker Studio(JumpStart)、AWS Lambda、Amazon API Gateway、Amazon CloudFront、Amazon SageMaker |
学習目標 | ・SageMaker JumpStart を使用してモデルをデプロイし、埋め込みを行い、インストラクションを行う ・SageMaker Studio ノートブックを使用して、さまざまなソリューションをテストする |
使用ライブラリ | LangChain、FAISS |
使用モデル | GPT-J 6B Embedding FP16、Falcon 7B Instruct BF16 |
実際のところ、SageMakerで使用するNotebookにエッセンスがつまっています。
しかしこれらを1行ずつ理解するのはこのCloud Questでは困難です。
今はサンプルのノートブックをポチポチと実行していき、なんとなく雰囲気を掴む程度で満足しておくのが良いと思います(それだけでも後から今回の経験が活きてくるかと思います)
課題4. 基盤モデルによる 生成AIアプリの構築
項目 | 内容 |
---|---|
概要 | RAGのアプリケーションを実装・デプロイする方法を学ぶ |
使用サービス | AWS Cloud9、 Amazon SageMaker |
学習目標 | ・RAGベースのアプローチを使用して、基本的なQ&Aアプリケーションを構築する ・SageMaker JumpStartを使用して基盤モデル(FM)をデプロイする ・LangChainライブラリを使用してFMを呼び出す ・AWS Cloud9 を使用してウェブアプリケーションをデプロイする |
課題5. ベクターデータベースによる LLM 機能の強化
項目 | 内容 |
---|---|
概要 | Amazon OpenSearchをベクトルDBとしたRAGアプリケーションの構築 |
使用サービス | Amazon SageMaker、Amazon OpenSearch Service、Amazon S3 |
学習目標 | ・セマンティック検索とレキシカル検索の手法を比較する ・RAGを使用して会話型AIアプリケーションを改善する ・Amazon OpenSearch サービスを埋め込みベクトルデータベースとして使用する ・Amazon SageMaker JumpStart を使用して、事前にトレーニングされたLLMをデプロイする |
課題6. 翻訳サービスのバイアス緩和
項目 | 内容 |
---|---|
概要 | Gender Freeの代名詞であるfae(フェイ)に置き換えて、バイアスの緩和を実施 |
使用サービス | AWS Lambda、 Amazon API Gateway、 Amazon CloudFront、 Amazon SageMaker |
学習目標 | ・翻訳のパフォーマンスとバイアスを評価する ・Dolly LLMを使用して、ある自然言語を別の自然言語に翻訳する ・さまざまな代名詞用に生成されたデータを使用して、Dollyモデルをファインチューニングする ・SageMaker エンドポイントを実際のアプリケーションに統合する |
課題7. RLHF による基本モデルのファインチューニング
項目 | 内容 |
---|---|
概要 | RLHFを使用して基盤モデルをファインチューニングする方法を学ぶ |
使用サービス | Amazon API Gateway、Amazon DynamoDB、Amazon S3、Amazon SageMaker |
学習目標 | ・RLHF を使用して基盤モデルをファインチューニングする ・PEFT を使用してLLMをファインチューニングする ・PEFT と LoRa がどのように連携するのかを理解する ・静的ウェブサイトをDynamoDBと統合する |
課題8. 生成AIコンテンツのモデレーター
項目 | 内容 |
---|---|
概要 | ユーザーに生成結果を表示する前に、生成されたコンテンツが有害でないかチェックする機構を組み込む |
使用サービス | AWS Lambda、Amazon API Gateway、Amazon Comprehend、Amazon Rekognition、Amazon SageMaker |
学習目標 | ・Amazon Comprehend を使用して有害なコンテンツを検出するLambda関数を作成 ・Lambda関数をAmazon API Gatewayに設定する ・Amazon Rekognition を使用して画像コンテンツをモデレートする ・コンテンツ管理後に静的Webサイトに画像を表示する |
使用モデル | stable-diffusion |
課題9. LLM によるインテリジェントなビデオとオーディオのQ&A
項目 | 内容 |
---|---|
概要 | 動画や音声ファイルの内容を文字に起こし、その内容についてQ&Aを実施する |
使用サービス | AWS Lambda、Amazon S3、Amazon SageMaker、Amazon Transcribe |
学習目標 | ・基盤モデルを使用する ・Amazon Transcribeを使用し、バッチジョブで文字起こしを生成する ・SageMaker JumpStartで基盤モデルを使用する ・LangChain と Streamlitを使用し、迅速なプロトタイプ作成を可能にする |
課題10. 生成AIによるノーコードインサイト抽出
項目 | 内容 |
---|---|
概要 | Amazon KendraをRAG元に利用した会話AIの構築 |
使用サービス | Amazon Bedrock、Amazon SageMaker Canvas、Amazon Kendra、Amazon S3 |
学習目標 | ・基盤モデルを使用してコンテンツを生成、抽出、要約する ・Amazon Kendra を企業ドキュメントのデータソースとして使用する ・SageMakder Canvas を Amazon Kendra indexと統合する |
使用モデル | Llama-2-7b-Chat |
課題11. 安全な環境での SageMaker のプロビジョニング
項目 | 内容 |
---|---|
概要 | プライベートネットワークへの閉塞化とユーザー権限設定をして安全にLLMを使用する |
使用サービス | Amazon SageMaker、AWS IAM、AWS Service Catalog、Amazon S3、Amazon VPC |
学習目標 | ・VPC エンドポイントを作成して Amazon S3 へのアクセスを制限する ・管理者としてサービスカタログポートフォリオと製品を作成する ・SageMaker製品をサービスカタログのユーザーとして起動する |
課題12. LLMのファインチューニングを自動化
項目 | 内容 |
---|---|
概要 | CodePipelineを用いたCI/CDによりLLMのファインチューニングを自動化する |
使用サービス | Amazon SageMaker、AWS CodeBuild、AWS CodeCommit、AWS CodePipeline、AWS Step Functions、Amazon SageMaker、Amazon S3 |
学習目標 | ・Step Functions ワークフローを自動的にプロビジョニングするようにパイプラインを設定する ・Step Functions データサイエンス SDK を使用してステートマシンを定義する ・ステートマシンを起動してファインチューニングを自動化する |
課題13. Prompt Engineering with Amazon Bedrock
項目 | 内容 |
---|---|
概要 | Amazon Bedrockを使用したLLMモデルの利用方法を理解する |
使用サービス | Amazon Bedrock、Amazon SageMaker、AWS Lambda、Amazon S3、Amazon API Gateway |
学習目標 | ・Amazon Bedrockを使用して様々なモデルにアクセスする ・SageMaker ノートブックを使用してプロンプトの書き方を実験する ・SPAをS3とCloudFrontを利用してデプロイする ・Amazon Bedrockを呼び出すAPI GatewayとLambda関数を設定する |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題14. Set Up Private Access to Amazon Bedrock
項目 | 内容 |
---|---|
概要 | Amazon Bedrockで利用可能にしたLLMをLambda関数とEC2のプライベートリンク接続で使用する |
使用サービス | Amazon Bedrock、Amazon VPC、AWS Lambda |
学習目標 | ・AWS Lambda関数でアプリケーションをデプロイする ・Lambda関数をVPCのプライベートサブネット内で実行するよう設定する ・AWS PrivateLinkをVPCに設定する ・VPC エンドポイントを作成する |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題15. Code Generation with Prompt Engineering
項目 | 内容 |
---|---|
概要 | LLMについて、LangChainのテンプレート機能を活用して様々なプロンプトで文章生成を試す |
使用サービス | Amazon Bedrock、Amazon CloudWatch、AWS Lambda、Amazon CloudFront、Amazon API Gateway |
学習目標 | ・Amazon Bedrock APIと Boto3を使用してSQLクエリを生成する ・LangChainのプロンプトテンプレート機能を活用する ・レガシーコード?をLangChainとAmazon Bedrockを使用して変換する(Java to Python) |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題16. Improve Code Quality Using Generative AI
項目 | 内容 |
---|---|
概要 | CodeGuruで脆弱性が指摘されたコード部分についてLLMを使用して改善させる |
使用サービス | AWS CodeBuild、Amazon Bedrock、AWS Cloud9、Amazon ECS、ELB、AWS Fargate、AWS CodeCommit |
学習目標 | ・CodeCommitのレポジトリを作成し、コードをプッシュする ・AWS Cloud9からCodeGuru CLIコマンドを実行する ・Lambda関数からAmazon BedrockのLLMモデルを呼び出す ・上記のLambda関数を実行するStreamlitのアプリをデプロイする |
注意点 | 記事執筆時点では英語表示・案内の課題です |
この課題はかなり量が多く、かつ複雑で大変です。。。
課題17. Generative AI for Personalized Marketing
項目 | 内容 |
---|---|
概要 | Amazon PerssonalizeとLLMを活用してレコメンデーション文面を生成する |
使用サービス | Amazon Personalize、Amazon Bedrock、Amazon SageMaker |
学習目標 | ・Amazon Personalizeを使用してレコメンデーションを生成する ・生成したレコメンデーションをE-mailに書き加える |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題18. Generative AI App for Teaching and Learning
項目 | 内容 |
---|---|
概要 | 学生向けの宿題を生成AIを利用して作成し、解答には改善コメントを生成する |
使用サービス | Amazon Elasitc Container Service、Amazon Elastic Container Registry、Amazon Bedrock |
学習目標 | ・生成AIを使用して宿題や画像を生成する ・宿題生成用のアプリケーションをデプロイする ・生成された宿題を確認して保存する ・学生の回答の文法と文章が改善コメントが生成されているかを確認する |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題19. Build and Deploy Tools Using LLM Agents
項目 | 内容 |
---|---|
概要 | Amazon Bedrock Agent機能を利用し、カスタマー対応を行うLLM-Agentを作成する |
使用サービス | Amazon Rletional Database Service、AWS Secrets Manager、AWS Lambda、Amazon Bedrock |
学習目標 | ・Amazon Bedrockで基盤モデルの使用を可能にする ・Amazon BedrodkでAgentをビルドする ・Lambda関数でアクショングループを作成する ・アクショングループを更新し、Agentについて新たなエイリアスを作成する |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題20. Generate an AWS Q&A Applicaition
項目 | 内容 |
---|---|
概要 | AWSサービスのFAQをベースにクイズを生成させる |
使用サービス | Amazon API Gateway、Amazon CloudFront、Amazon Bedrock |
学習目標 | ・AWSに関するクイズをAmazon BedrockのAPIで作成する ・AWSのサービスのFAQをクイズのベースに使用する ・Lambda関数の環境変数を変更し、異なるAWSサービスのクイズを生成させる |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題21. Serverless Chatbot Using Private Data
項目 | 内容 |
---|---|
概要 | サーバーレスなチャットボット(RAG機能付き)を構築する |
使用サービス | AWS Lambda、Amazon API Gateway、Amazon Cognito、Amazon CloudFront、AWS Amplify、Amazon Bedrock、Amazon Kendra |
学習目標 | ・S3内の文書をAmazon Kendraを用いてインデックス化する ・LangChainでRAGを実行するLambda関数をビルドする ・RAGでデータを取得したり、プロンプトエンジニアリングで出力を整形する ・複数のAWSサービスを使用して、サーバーレスのチャットボットをビルドする |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題22. 生成AIチャットアプリの会話を中程度
項目 | 内容 |
---|---|
概要 | Llama Guardを用いて、危険なプロンプトはDynamoDBに保存する |
使用サービス | Amazon DynamoDB、Amazon SageMaker、AWS Fargate、AWS Lambnda、Amazon ECR、 Amazon ECS |
学習目標 | ・SageMakerを使用して、Llama GuardとLlama2 Chatモデルをデプロイする ・AWS Fargate、ALB、Lambda を使用して Streamlit アプリをデプロイする ・モデルエンドポイントで Lambda関数を設定する ・安全でないプロンプトと会話履歴をDynamoDB テーブルに保存する |
使用モデル | Llama Guard、Llama2 Chat |
注意点 | こちらの課題はきちんと日本語化されています |
課題23. Create Trustworthy LLMs with a Vector Database
項目 | 内容 |
---|---|
概要 | Amazon Bedrockのナレッジベースを活用したRAGの実践 |
使用サービス | Amazon Relational Database Service、AWS Secrets Manager、Amazon Bedrock |
学習目標 | ・RAG機能をLLMに統合する ・metadataフィルタリングの導入する ・PostgreSQLをベクトルDBとして設定する ・ナレッジベースにファイルを投入する |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題24. Financial Insights with multimodal Agents
項目 | 内容 |
---|---|
概要 | LangChainを用いて感情分析などのtoolを使用するAgentを作成しデプロイする |
使用サービス | Amazon Textract、Amazon Bedrock、Amazon SageMaker、Amazon DynamoDB、Amazon Athena、Amazon Kendra |
学習目標 | ・データ形式が異なるファイルを変換するAI/MLサービスを管理する ・基盤モデルとLangChainを使用し、マルチモーダル対応のAgentをビルドする |
注意点 | 記事執筆時点では英語表示・案内の課題です |
課題25. Modern Data Architectures with LLMs
項目 | 内容 |
---|---|
概要 | AWS GlueとAthenaをLLMと同時に使用する |
使用サービス | AWS Glue、Amazon Athena、Amazon Bedrock、Amazon SageMaker |
学習目標 | ・Amazon Bedrockの特徴を理解する ・LLM活用型アプリケーションを構築する際のLangChainの役割を理解する ・Amazon Titan LLMを使用可能にする ・複雑なLLMタスク用に動的にプロンプトを構築する |
注意点 | 記事執筆時点では英語表示・案内の課題です |
6. まとめ
以上、「AWS Cloud Quest: 生成AIコース(日本語版)」の実施方法・概要の紹介でした
全ての課題が完了すると、以下のように修了バッジ(Credlyで管理)が貰えました♪
取り組んでみた感想は大きく以下の3点です。
[1] この「Cloud Quest(生成AI)」は、世の中に情報が多い「生成AIのメインコード部分(Jupyter NotebookやPythonでの実装など)」ではなく、「それらコアをクラウド環境のサービス群でどのように利用するのか」 が学びのメインに感じました
[2] さすがにこのコンテンツだけでは、「よし、AWSでの生成系のAIサービスの構築は完璧に理解しました」レベルに達することはできなかったです(私の場合)。
ですが、「AWSの生成AI系サービス群を利用してどのようなことができるのか、また、何らか生成AI関連の構築をする際にどのサービスを利用することになり、どのサービスの組み合わせをきちんと調べれば良いのか」 といった、 「AWS 生成AIサービス群活用の知識マップ」 (的なもの)をおおまかに体得できた感じます
[3] 生成AIというと、まだまだフルスクラッチ気味(SaaSやPaaSなし)に構築するケースが多いですが、AWSをはじめとしたクラウドベンダーのサービスも非常に進化していると実感しました。また、非常に楽しく、学習を進めることができました。
業務内容的に私はAWSの生成AI系はあまり触れられていなかったので、今回で効率的にキャッチアップできた点も非常に良かったです
[4] AWSの新たな資格である「AWS Certified AI Practitioner(Beta)」に向けた勉強にも非常になりました
以上、長文を一読いただき、誠にありがとうございます。
次回記事では、「AWS Solutions Architec(ソリューションアーキテクト)」版を紹介します。
小川 雄太郎
株式会社松尾研究所 シニア・リサーチャー。「知能を創る」PJTに従事
Discussion