教育と学習の経験を向上させるために、生成的AIアプリケーションを開発する

美容とファッションの分野における素晴らしい経験を提供するために、生き生きとした生成的AIアプリケーションを開発する

最近、教師や教育機関は、人工知能(AI)をカリキュラムに取り入れるさまざまな方法を探しています。機械学習(ML)について教えたり、レッスンプランの作成、採点、その他の教育アプリケーションに組み込んだりすることがあります。特に、生成型AIモデル、特に大規模言語モデル(LLM)は、教育へのAIの影響を劇的に加速させています。生成型AIや自然言語プログラミング(NLP)モデルは、個別化された学習コンテンツの生成や、学生に対する魅力的な学習体験の提供など、教育の向上に大きな潜在能力を秘めています。

この記事では、教師が学習教材を作成し、学生が英単語と文を学ぶための生成型AIソリューションを提供します。学生が回答を提供すると、ソリューションはリアルタイムで評価し、個別のフィードバックとガイダンスを提供して回答の向上を支援します。

具体的には、教師は以下のことができます:

  • プロンプトから質問と回答を生成して学生の課題を作成する
  • アサインメントを表す画像をプロンプトから作成する
  • 新しい課題をデータベースに保存する
  • データベースから既存の課題を閲覧する

学生は以下のことができます:

  • 課題データベースから課題を選択して確認する
  • 選択した課題の質問に答える
  • 回答の採点スコアをリアルタイムで確認する
  • 回答の文法改善の提案を確認する
  • 回答の文の改善の提案を確認する
  • 推奨される回答を読む

この記事では、Amazon BedrockAmazon Elastic Container Service(Amazon ECS)、Amazon CloudFrontElastic Load Balancing(ELB)Amazon DynamoDBAmazon Simple Storage Service(Amazon S3)およびAWS Cloud Development Kit(AWS CDK)を使用して、ソリューションの作成手順を説明します。

ソリューションの概要

以下のダイアグラムは、ソリューションで使用されるリソースとサービスを示しています。

このソリューションはスケーラブルなサービスとして実行されます。教師と生徒はブラウザを使用してアプリケーションにアクセスします。コンテンツは、オリジンとしてアプリケーションロードバランサーを備えたAmazon CloudFrontディストリビューションを介して提供されます。生成された画像はS3バケットに保存され、教師の課題と生徒の回答と評価は別々のDynamoDBテーブルに保存されます。

このソリューションでは、Amazon Bedrockを使用して、質問、回答、課題画像の生成、および学生の回答の採点を行います。Amazon Bedrockは、主要なAIスタートアップとAmazonの基盤モデルを、使いやすいAPIインターフェースを通じて提供するフルマネージドサービスです。ソリューションでは、文法エラー修正APIパラフレーズAPIをAI21から使用して、単語や文の修正を推奨します。

実装の詳細は次のセクションで確認できます。ソースコードはGitHubリポジトリで入手できます。

前提条件

このソリューションで使用される生成型AI、ML、およびサービスについての基本的な知識、Amazon Bedrock、Amazon ECS、Amazon CloudFront、Elastic Load Balancing、Amazon DynamoDB、Amazon S3の使用方法を理解している必要があります。

AWS CDKを使用してソリューションを構築および展開しています。セットアップ手順はreadmeファイルで見つけることができます。

課題の作成

教師は、次のGUIページを使用して、入力テキストから課題を作成することができます。課題には、入力テキスト、テキストから生成された質問と回答、および課題を表すために入力テキストから生成された画像が含まれます。

この例では、教師は米国運輸省の「子供と自転車の安全」ガイドラインを入力テキストとして使用します。入力テキストには、bike.safe.riding.tips.txtというファイルを使用します。

以下は生成された画像の出力です。

以下は生成された質問と回答です:

"question": "自転車に乗る際には常に何を身に着けるべきですか?", "answer": "自転車に乗る際には適切にフィットした自転車用ヘルメットを常に着用する必要があります。ヘルメットは脳を保護し、事故時に命を救うことができます。"

"question": "自転車を利用する際にドライバーに自分を見つけてもらうにはどうすれば良いですか?", "answer": "自分を見つけてもらうためには、明るいネオンカラーや蛍光色の服を着用してください。また、反射テープ、マーキング、または点滅ライトを使用して目立つようにしてください。"

"question": "自転車に乗る前に何をする必要がありますか?", "answer": "乗る前に、自転車全体のパーツがしっかりと固定されていて正常に動作しているか確認する必要があります。タイヤの空気圧をチェックし、ブレーキが正常に動作し、リフレクターが取り付けられているか確認してください。"

"question": "なぜ夜間の自転車利用はより危険ですか?", "answer": "夜間の自転車利用は、暗闇で他の車両の人々に見つけてもらうのが難しいため、より危険です。"

"question": "自転車を利用する際に危険を回避するにはどうすれば良いですか?", "answer": "ポットホール、ガラスの破片、犬などの危険を予め見つけてください。自分の後ろにいる自転車乗りに危険を指摘して叫んでください。夜間には危険が見えにくくなるため、夜間の利用は避けてください。"

教師は、学生に入力テキストを読んで生成された質問に答えることで課題を完成させることを期待しています。

このポータルでは、Amazon Bedrockを使用して質問、回答、および画像を作成しています。Amazon Bedrockは、APIインターフェースを通じて基盤モデルを公開することにより、生成AIソリューションの開発を高速化します。ソースコードは1_Create_Assignments.pyというファイルで見つけることができます。

ポータルでは、次の基盤モデルを呼び出しています:

  • Stable Diffusion XLは、query_generate_image_endpoint関数を使用して画像を生成します。
  • Anthropic Claude v2は、query_generate_questions_answers_endpoint関数を使用して質問と回答を生成します。

ポータルは、load_file_to_s3関数を使用して生成された画像をS3バケットに保存します。入力テキスト、教師ID、生成された質問と回答、およびロードされた画像のS3バケットリンクを使用して、課題をDynamoDBテーブルに保存します。insert_record_to_dynamodb関数を使用します。

AWS CDKコードは、cdk_stack.pyファイルにあるDynamoDBテーブルを作成します。

割り当てを表示する

教師は、以下のGUIページを使用して課題と生成されたアーティファクトを閲覧できます。

ポータルは、DynamoDBテーブルの”assignments”から割り当てを取得するためにget_records_from_dynamodb関数を使用します。S3バケットから画像をダウンロードするためにdownload_image関数が使用されます。ソースコードは、2_Show_Assignments.pyファイルにあります。

質問に答える

学生は教師の割り当てを選択し読み、その後割り当ての問題に答えます。

ポータルは魅力的な学習体験を提供します。例えば、学生が「私はクラッシュ時に脳を保護する帽子をかぶるべきだ」と回答した場合、ポータルは回答を正解と比較してリアルタイムで評価します。ポータルはまた、同じ質問に対する全生徒の回答をランク付けし、上位3つのスコアを表示します。ソースコードは、3_Complete_Assignments.pyファイルにあります。

ポータルは学生の回答を”DynamoDB”テーブルで保存します。DynamoDBテーブルの名前は”answers”です。DynamoDBテーブルを作成するAWS CDKコードは、cdk_stack.pyパファイルにあります。

学生の回答を評価するために、ポータルは”Amazon Titan Embeddings model”を呼び出し、学生の回答と正解を数値表現に変換して類似性をスコアとして計算します。ソリューションは、3_Complete_Assignments.pyにあります。

ポータルは学生の回答に対して文法の修正と文の改善を提案します。最後に、ポータルは質問の正解を表示します。

ポータルは、AI21の文法エラー訂正APIとパラフレーズAPIを使用して、推奨される文法の修正と文の改善を生成します。AI21のパラフレーズモデルはSageMakerの基盤モデルとして使用できます。AI21のパラフレーズモデルをSageMakerで推論ポイントとして展開し、推論ポイントを呼び出して文の改善を生成することができます。

ソースコードのファイル3_Complete_Assignments.pygenerate_suggestions_sentence_improvements関数とgenerate_suggestions_word_improvements関数は、AI21 REST APIエンドポイントを使用する別の方法を示しています。AI21アカウントを作成し、アカウントに関連付けられたAPIキーを見つけてAPIを呼び出す必要があります。トライアル期間後は、呼び出しに料金が発生します。

結論

この投稿では、複数の生成AIおよびNLPモデルを使用して、教育と学習の体験を向上させるためのAI補助ソリューションの使用方法を紹介しました。同じアプローチを使用して、他の生成AIの試作品やアプリケーションを開発することもできます。

生成AIの基礎と基本モデルの扱い方、高度なプロンプティング技術を含めた理解のために、実践的なコース「LLMsを使用した生成AI」をご覧ください。これは、LLMsを使用した生成AIアプリケーションを構築したいデータサイエンティストやエンジニア向けの、オンデマンド型の3週間コースです。これはAmazon Bedrockの構築を始めるための良い基礎になります。Amazon Bedrockの詳細については、Amazon Bedrockの特徴ページを訪問して、詳細を学ぶためにサインアップしてください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「AIとともに観測性の潜在能力を解き放つ」

オブザーブの統合観測性プラットフォームは、先進的なAIを活用して、メトリクス、トレース、ログを一つにまとめることで複雑...

データサイエンス

『日常のデザイン(AI)』

ドン・ノーマンの1988年のデザインの古典である『デザインの心理学』は、以来、優れたハードウェアとソフトウェアの設計に影...

AI研究

マイクロソフトの研究者が「LoRAShear LLMの構造的な剪定と知識の回復に対する画期的な人工知能効率的アプローチ」を紹介

LLMは大量のテキストデータを処理し、関連情報を迅速に抽出することができます。これは、検索エンジン、質問応答システム、デ...

データサイエンス

ChatGPTが知能的ですか? 科学的なレビュー

約1年前、OpenAIはChatGPTをリリースし、世界中を席巻しましたChatGPTは、コンピュータとの対話を、従来のより制約の少ない、...

データサイエンス

MLがDevOpsと出会うとき:MLOpsの理解方法

この記事では、機械学習とDevOpsの統合、モデルの管理、ベストプラクティス、成功した解決策について取り上げています

データサイエンス

マシンラーニングにおける線形回帰の幾何学的解釈と古典統計学との比較

上記の画像は、最小二乗法(OLS)または線形回帰(古典統計学では同義的に使用される言葉)の幾何学的解釈を示しています見て...