TECH PLAY

AWS

AWS の技術ブログ

2973

Amazon Bedrock では、主要な人工知能 (AI) 企業が提供する高性能な基盤モデル (FM) を利用できるため、生成 AI アプリケーションの構築とスケールする事が容易になります。これらのモデルの中には、特定のユースケースに合わせて微調整したりカスタマイズしたりできるウェイトが公開されているものもあります。ただし、カスタマイズされた FM を安全かつスケーラブルな方法で導入することは容易ではありません。 4月23日より、Amazon Bedrock では、サポートされているモデルアーキテクチャ ( Meta Llama 2、Llama 3、 Mistral など ) のカスタムウェイトをインポートし、オンデマンドモードを使用してカスタムモデルを提供する機能がプレビューで追加されました。 Amazon SageMaker と Amazon Simple Storage Service (Amazon S3) から、 Hugging Face セーフテンサー形式のウェイト付きのモデルをインポートできます 。 この方法では、コード固有のデータセットで Llama 2 をさらにトレーニングして作成された Code Llama 2 のコード専用バージョンなど 、既存のカスタマイズモデルで Amazon Bedrock を使用できます。また、データを使用して独自のビジネスケースに合わせてモデルを微調整し、生成されたモデルを Amazon Bedrock にインポートすることもできます。 これが実際にどのように機能するかを見てみましょう。 カスタムモデルを Amazon Bedrock に持ち込む Amazon Bedrock コンソールでは 、ナビゲーションペインの [ 基盤モデル] セクションから [インポートされたモデル ] を選択します。これで、Amazon Simple Storage Service (Amazon S3) バケットまたは Amazon SageMaker モデルからモデルウェイトをインポートすることで、カスタムモデルを作成できます。 S3 バケットからモデルウェイトをインポートすることにしました。別のブラウザタブでは、 セーフテンソル形式でウェイトを提供するこのプルリクエスト(PR) を使用して、 Hugging Face Web サイトから MistralLite モデルをダウンロードします 。 プルリクエストは現在マージの準備が整っているため 、これを読んだ時点でメインブランチの一部になっている可能性があります。 MistralLite は微調整された Mistral-7B-v0.1言語モデルで 、最大32K トークンのロングコンテキストを処理する機能が強化されています。 ダウンロードが完了したら、モデルをインポートするのと同じ AWS リージョンの S3 バケットにファイルをアップロードします。Amazon S3 コンソールにある MistralLite モデルファイルは次のとおりです。 Amazon Bedrock コンソールに戻って、モデルの名前を入力し、提案されたインポートジョブ名はそのままにしておきます。 モデルインポート設定でモデルウェイトを選択し 、S3を参照してモデルウェイトをアップロードした場所を選択します。 Amazon Bedrock に S3バケットのファイルへのアクセスを許可するために、 新しい AWS ID およびアクセス管理(IAM) サービスロールを作成して使用するオプションを選択します。「 View permissions details 」リンクを使用して、ロールに何が含まれるかを確認します。そして、ジョブを提出します。 約 10 分後、インポートジョブは完了します。 これで、インポートされたモデルがコンソールに表示されます。リストには、モデルの Amazon リソースネーム (ARN) と作成日も表示されます。 モデルを選択すると、モデルファイルの S3 の場所など、詳細情報を取得できます。 モデルの詳細ページで、[ Open in Playground ] を選択して、コンソールでモデルをテストします。テキストプレイグラウンドでは、モデルのプロンプトテンプレートを使用して質問を入力します。 <|prompter|>LLM の長いコンテキストをサポートするうえでの主な課題は何か?</s><|assistant|> MistralLite のインポートモデルは、これらの課題のいくつかについて素早く答え、説明してくれます。 Playground では、温度や最大長などの設定を使用してユースケースに合わせてレスポンスを調整したり、インポートしたモデルに固有のストップシーケンスを追加したりできます。 API リクエストの構文を確認するために、Playground の右上にある 3 つの小さな縦の点を選択します。 View API syntax を選択し、AWS コマンドラインインターフェイス (AWS CLI) を使用してコマンドを実行します 。 aws bedrock-runtime invoke-model \ --model-id arn:aws:bedrock:us-east-1:123412341234:imported-model/a82bkefgp20f \ --body "{\"prompt\":\"<|prompter|>What are the main challenges to support a long context for LLM?</s><|assistant|>\",\"max_tokens\":512,\"top_k\":200,\"top_p\":0.9,\"stop\":[],\"temperature\":0.5}" \ --cli-binary-format raw-in-base64-out \ --region us-east-1 \ invoke-model-output.txt 出力はプレイグラウンドで得たものと似ています。ご覧のように、インポートされたモデルの場合、モデル ID はインポートされたモデルの ARN です。モデル ID を使用して、インポートしたモデルを AWS CLI と AWS SDK で呼び出すことができます。 知っておくべきこと サポートされているモデルアーキテクチャの独自のウェイトを、米国東部 (バージニア北部) AWS リージョンの Amazon Bedrock に持ち込むことができます。モデルのインポート機能は現在プレビュー版です。 カスタムウェイトを使用する場合、Amazon Bedrock はモデルをオンデマンドモードで提供し、使用した分のみお支払いいただき、時間ベースの契約は不要です。料金に関する詳細については、「 Amazon Bedrock pricing 」を参照してください。 モデルのインポート機能は AWS Identity and Access Management (IAM) を使用して管理され、この機能を必要とする組織内のロールにのみ許可できます。 今回の発表により、セキュリティとプライバシーが組み込まれたカスタムモデルを使用して、生成 AI アプリケーションの構築とスケールする事が容易になりました。 詳細はこちら。 Amazon Bedrock User Guide . community.aws サイトにアクセスして 、詳細な技術コンテンツを検索したり、他の企業が自社のソリューションで Amazon Bedrock をどのように使用しているかを調べたりできます。 – Danilo 原文は こちら です。
アバター
本記事は、2024 年 4 月 30 日に投稿された Accelerate software development and leverage your business data with generative AI assistance from Amazon Q を翻訳したものです。 我々は生成 AI があらゆる顧客体験を革新する可能性があると考えています。そのために、 生成 AI スタックの 3 層 すべてで最も包括的な機能を提供すべく、急速にイノベーションを進めています。これには以下が含まれます。 上位層: 革新的なアプリケーションへの投資 中間層: 生成 AI アプリケーションを簡単かつ迅速に構築するためのツール 下位層: 大規模言語モデル (LLM) や他の基盤モデル (FM) を学習し、推論や予測を行うためのインフラ これらすべてのレイヤーは生成 AI の進化に重要ですが、本記事では上位層にあたるアプリケーション層への投資について説明します。 生成 AI アシスタントを使って、開発者やビジネスアナリスト、さらに顧客サービスやサプライチェーン運用などの専門分野の従業員まで、誰もが今まで以上に生産的、創造的、データ主導的になれます。しかし、作業時に真に役立つ生成 AI アプリやアシスタントには、組織のデータ、顧客、業務、ビジネスを理解することが求められるものの、現在のアシスタントの多くは、簡単にカスタマイズができず、企業が必要とするデータプライバシーとセキュリティの要件を満たすように設計されていません。 Amazon Q は、ソフトウェア開発の加速とビジネスデータの活用を可能にする、最も優れた生成 AI 機能を備えたアシスタントとして開発されました。今日は Amazon Q Developer 、 Amazon Q Business 、 Amazon Q in QuickSight が利用可能になったこと、そして新機能が多数追加されたことをお伝えできてうれしく思います。Dr. Matt Wood の動画で、今日のアナウンスとデモの概要を見ることができます。 Amazon Q は、現在最も機能が優れた業務支援アシスタントで、私たちは設計段階からセキュリティとプライバシーを意識して構築しました。従業員が通常アクセスできないデータソースには、Amazon Q 経由でもアクセスできません。本記事ではたくさんの優れた機能と体験をご紹介しますが、ここではその中の一部を取り上げたいと思います。 Amazon Q Developer – 開発ライフサイクル全体をサポートする開発アシスタント Amazon Q Developer は、開発者と IT 専門家が直面するすべてのタスク (コーディング、テスト、アップグレード、トラブルシューティング、セキュリティスキャンと修正、AWS リソースの最適化、データエンジニアリングパイプラインの作成など) をサポートします。既に顧客は Amazon Q Developer の価値を認めており、デジタルトランスフォーメーションサービスを提供する Eviden は 20 ~ 40 % の生産性向上、医療関連企業の Switchboard MD は新機能のデプロイ時間を 25 % 削減、倉庫管理と在庫ストックソリューション企業の Datapel Systems は 70 % 以上という素晴らしい効率改善を実現しています。 Amazon Q Developer では、リアルタイムに近いコード提案とレコメンデーションを生成することで、開発者がより早く、より安全にアプリケーションを構築できるようサポートします。実際、複数行にわたるコード提案を行うアシスタントでは、Amazon Q Developer が最も高いコード受入率だと報告されています。BT グループは Amazon Q Developer のコード提案の 37 %を、National Australia Bank は 50 %を受け入れたと報告しています。これらのコーディング支援機能の一部は、以前は Amazon CodeWhisperer によって提供されていましたが、現在は Amazon Q Developer の一部になっています。 Amazon Q Developer エージェントは様々なタスク、例えば、機能の実装、ドキュメントの作成、コードのリファクタリング、ソフトウェアのアップグレードを自動的に実行できる機能を備えています。Amazon Q Developer に E コマースアプリの新しいチェックアウト機能を追加するよう依頼すると、既存のコードベースを分析し、複数のファイルにまたがる実装計画を立て、承認を受けると、必要なすべてのコード変更とテストを数分で実行します。この機能の実動作は、 Implement an API with Amazon Q Developer Agent for Software Development でご覧いただけます。また、ソフトウェア開発の能力をベンチマークするデータセット SWE-Bench のリーダーボードで 13.4 %、SWE-bench リーダーボード (Lite) で 20.5 % という最高スコアを達成しました。これらの機能強化は、数日中にお客様にご利用いただけるようになります。 Amazon Q はアプリのアップグレードも自動化でき、数日の作業を数分に短縮できます。Amazon の 5 人のチームは、Amazon Q Code Transformation エージェントを使用して 1,000 を超える本番環境のアプリケーションを Java 8 から Java 17 に 2 日でアップグレードしました (1 アプリあたりの所要時間は平均 10 分未満)。これによって数か月分の時間を節約し、アプリのパフォーマンスも向上しました。現在、Amazon Q は Java 言語のアップグレードを実行できますが、近々、.NET のクロスプラットフォーム環境の Linux への移行を支援することで、ライセンス料の節減に貢献する機能が追加される予定です。コード変換エージェントの実動作については Amazon Q Developer Agent for Code Transformation で Java アプリをアップグレードする で確認してください。 加えて、「 What instances are currently running in us-east-1 ? ( us-east-1 リージョンで現在実行中のインスタンスは何ですか?) 」や「 What’s my S3 bucket encryption ? (私の S3 バケットの暗号化設定は何ですか?) 」あるいは「 What were my EC2 costs by region last month ? (先月の EC2 コストをリージョン別に教えてください。) 」といった、自身の AWS アカウントについての質問を Amazon Q Developer に質問できるようになり、Amazon Q Developer が要約した回答とそれをさらに学ぶためのリンクを用いて、リソースや詳細をリスト化してくれます。 Amazon Q Developer の詳細は、 AWS ニュースブログ でご確認ください。 Amazon Q Business によって、従業員はより創造的で、データ駆動型で、効率的で、生産性の高い存在に Amazon Q Business を提供する私たちのビジョンは、生成 AI の力を企業に広く利用してもらい、企業が保有するあらゆるデータから洞察を得られるようにし、アクションを起こし、アプリケーションを構築することです。 ほとんどの企業は、アクセスしにくくかつ活用されていない大量のデータを抱えています。Amazon Q Business では、従業員が企業ポリシー、製品情報、業績、コードベース、人材、その他多数のトピックにまたがる業務データに対して、質問に答えられます。これは、企業のデータリポジトリに接続し、データを論理的に要約、トレンド分析し、データについて対話することを可能にしています。Amazon Q Business は、他の生成 AI アシスタントよりも多くのビルトイン、マネージド、セキュリティ保護されたデータコネクタを備えているため、これが可能になっており、Wiki、社内イントラネット、Atlassian、Gmail、Microsoft Exchange、Salesforce、ServiceNow、Slack、Amazon Simple Storage Service (Amazon S3) などの一般的なビジネスツールが含まれます。カスタムプラグインを利用すれば、休暇申請といったアクションを Amazon Q Business に直接実行させることも可能です。最新の売上データの概要を知りたい、見込みとなるお客様の競合情報を探したい、といった場合でも、Amazon Q Business の自然言語処理機能は、分散したドキュメント、データベース、チャットログから関連する情報をすばやく統合し、一貫性のある回答にまとめます。 今日の最も興味深いお知らせの 1 つが、Amazon Q Business の機能である Amazon Q Apps です。 Amazon Q Apps は、生成 AI が搭載されたアプリを会話から数秒で構築可能にし、日々の作業を合理化・自動化することを容易にしてくれます。Amazon Q Apps でアプリを作成するのは簡単です。従業員は、作りたいアプリの形式を自然言語で説明する、もしくはAmazon Qと問題解決方法について会話しながら作成することができます。例えば、マーケターは Q Apps に顧客の名前、使用製品、ビジネス上の課題や影響を入力するだけで、説得力のある顧客事例を生成するアプリを作れます。アプリは数秒で作成され、その後、組織内のマーケティング部門とで共有できます。他の例については Amazon Q Apps の紹介 (プレビュー) をご覧ください。 Smartsheet の製品・イノベーション統括責任者である Praerit Garg 氏に話を聞き、Amazon Q Business が従業員の回答時間の短縮と生産性の向上、さらには新入社員のオンボーディングの迅速化にどのように役立っているかについて議論しました。 AWS ニュースブログ および AWS Machine Learning ブログ で Amazon Q Business の詳細を確認してください。 生成 BI により詳細なダッシュボードを数分で構築し、ビジネスユーザーが素早く洞察を得ることが可能に 従来、企業は貴重な構造化データの大半をデータベースやデータウェアハウスに保存し、ビジネスインテリジェンス (BI) ツールでのみアクセス可能でした。ビジネスの経営陣がデータから情報を抽出する必要があった場合、多くのタスクを抱えているビジネスアナリストに頼んでダッシュボードを作成してもらう必要がありました。その作業には数日から数週間を要することがよくあり、ダッシュボードができたとしても、重要な洞察を抽出し共有するのは困難でした。しかし今や、Amazon Q が AWS のクラウド向けの統合 BI サービス Amazon QuickSight に先進的な生成 AI 技術を導入しました。Amazon Q in QuickSight によって、ビジネスアナリストは自然言語を用いて、ダッシュボードの構築を数時間から数分に短縮できるようになりました。また、データへのアクセシビリティが高まることによって、組織全体で誰もがデータに基づいた意思決定ができるようになります。Amazon Q によって、ビジネスユーザーがダッシュボードの AI による要約を閲覧したり、ダッシュボードで表示されている以外のデータにもすぐに質問することができます。さらに詳細でカスタマイズ可能なデータストーリーを作成することができ、重要な洞察、トレンド、動向を明確にできます。そしてこれは自然言語で行いたいことを質問するだけで操作できるのです。 営業支援ソリューションを提供する Showpad は、複雑なユーザーインターフェースや SQL の知識が無くともデータに問い合わせが可能な機能を顧客に提供できるようになりました。統合には 1 週間強の時間しかかからず、Showpad は自身の体験にシームレスに利用できるようカスタマイズできました。また、ヘルスケアIT企業の Clinigence Health は Amazon Q in QuickSight を利用して、従来はデータからインサイトやトレンドを把握するために数時間かかっていたプロセスを数分でできるようになりました。 Amazon Q in QuickSight の詳細については、 AWS Business Intelligence ブログ をご覧ください。 Amazon Q Developer 無料利用枠を含む新料金体系 これらの新機能に加えて、Amazon Q が使いやすくなる新しい料金体系を発表しています。個人向けには、IDE とコマンドラインでのコーディングが無料で、Amazon Q Developer Agent などの高度な機能を限られた範囲で無料で利用できる Amazon Q Developer 無料利用枠 があります。組織でのライセンス管理や、コードベースをカスタマイズすることで、より関連性の高いコーディング候補を得られる、高度な機能を希望するお客様向けに、月額 19 ドル/ユーザーで Amazon Q Developer Pro をご利用いただけます。月額 20 ドル/ユーザーのサブスクリプション Amazon Q Business Pro では、Amazon Q Apps や Amazon Q in QuickSight (Reader Pro) の利用を含む、Amazon Q Business の全機能をご利用いただけます。最後に、Amazon Q Developer Pro と Amazon Q Business Pro の無料トライアルを 2024 年 6 月 30 日まで利用できます。 Amazon Q Developer、Amazon Q Business、Amazon Q in QuickSight で、これらの新機能を提供できることをうれしく思います。生産性を高め、組織のデータをより効果的に活用し、新しい働き方を生み出すお手伝いを我々は始めたばかりです。 この発表の詳細を知るためのリソースについて プレスリリース: AWS、ソフトウェア開発を加速し企業の内部データを活用するための最も高機能な Generative AI 対話アシスタント「Amazon Q」の一般提供を発表 Amazon Q デベロッパーセンター : 詳細な技術コンテンツを確認し、ソフトウェア開発作業を加速する方法を学ぶ community.aws : 詳細な技術コンテンツを確認し、ビルダーコミュニティが Amazon Q をどのようにソリューションで活用しているかを学ぶ AWS の Generative AI サービス について詳細を学ぶ Amazon Q 入門 (15 分のコース) Amazon Q Business 入門 (Amazon Q Business の機能とユースケースを紹介し、Amazon Q を使ったチャットボット構築方法を教える 1 時間のコース) 著者について Swami Sivasubramanian は、AWS のデータベースアナリティクスおよび機械学習担当のバイスプレジデントです。Swami はすべての AWS データベース・分析・AI & 機械学習サービスを監督しています。彼のチームの使命は、データを保存、アクセス、分析、視覚化、予測するための完全なエンドツーエンドのデータソリューションを使用して、組織がデータを活用できるよう支援することです。
アバター
4 月は新規リリースが目白押し! この傾向は4月29日週から続き、セキュリティ、分析、DevOps などのさまざまなドメインをサポートする多くの新しいリリースと、生成 AI のさらにエキサイティングな新機能が追加されました。 AWS Summit London 2024 を見逃した方も、 オンデマンドでセッションを視聴 できます。VP & Marketing Director, EMEA の Tanuja Randery による基調講演や、今後数週間にわたって公開される予定の多くの分科会セッションもご覧いただけます。 4月29日週のリリース 5月6日週のハイライトのうち、私の目に留まったものをいくつかご紹介します。 AWS CodePipeline の任意のステージからの手動および自動ロールバック – AWS CodePipeline で V2 パイプラインを使用している場合、ソース以外の任意のステージを良好な以前の既知の状態にロールバックできるようになりました。障害が発生した場合に最後に成功したパイプライン実行のソース変更を使用する自動ロールバックを設定するか、コンソール、API、または SDK から任意のステージの手動ロールバックを開始して、ロールバックに使用するパイプライン実行を選択することもできます。 AWS CodeArtifact が RubyGems をサポート –  Ruby コミュニティの皆さんに朗報です。Gem を AWS CodeArtifact に保存できるようになりました! RubyGems.org と統合すると、CodeArtifact はクライアントからリクエストされたすべての Gem を自動的に取得し、CodeArtifact リポジトリにローカルに保存します。つまり、ファーストパーティとパブリックの両方の Gem を一元管理できるので、開発者は単一のソースから依存関係にアクセスできます。 AWS CodeArtifact でリポジトリを作成し、「rubygems-store」を選択して、[Public upstream repositories] ドロップダウンでリポジトリを RubyGems.org に接続します。 Amazon EventBridge Pipes が AWS PrivateLink からのイベント配信をサポート – AWS PrivateLink を使用することで、パブリックインターネットを経由せずに イベントを Amazon EventBridge Pipes ターゲットに配信できるようになりました。 Amazon Virtual Private Cloud (VPC) のプライベートサブネットのイベントをポーリングできます。トラフィックをプライベートに保つために追加のインフラストラクチャをデプロイする必要はありません。 Amazon Bedrock のローンチが続いています。 Cohere Command R と R+ を使用して、スケーラブルなエンタープライズグレードの生成 AI ワークロードを実行 できるようになりました。そして、 Amazon Titan Text V2 が検索拡張生成 (RAG) 改善のために最適化 されました。 AWS Trusted Advisor – 昨年、お客様がプログラムでレコメンデーションを利用できるようにする Trusted Advisor API がローンチされました。新しい API が利用可能になり、 レコメンデーションからリソースを除外 できるようになりました。 Amazon EC2 – 今週、EC2 ユーザー向けに新たに 2 つのすばらしいローンチがありました。 AMI を「保護済み」としてマーク して、誤って登録が解除されるのを防ぐことができるようになりました。また、 説明するだけでアクティブな AMI を簡単に見つける ことができるようになりました。 Amazon CodeCatalyst – CodeCatalyst コンソールで Git コミットの履歴を表示 できるようになりました。 一般提供の状況 5月6日週は、多くの新しいサービスと機能の一般提供が開始されました。 Amazon Q in QuickSight – Amazon Q で生成 BI が Amazon QuickSight に導入され、自然言語を使用するだけで美しいダッシュボードを自動的に構築できるようになりました。この機能は、現在、一般提供中です。使用を開始するには、 Quicksight の料金ページ にアクセスしてすべてのオプションを参照するか、QuickSight アカウントあたり最大 4 人のユーザーが生成 AI のすべての新機能を使用できる 30 日間の無料トライアルを開始してください。 Amazon Q の Amazon QuickSight によって可能になった新しい生成 AI 機能により、自然言語クエリを使用してダッシュボードを作成、並べ替え、フィルターできます。(出典: AWS ドキュメント ) Amazon Q Business (GA) と Amazon Q Apps (プレビュー) – 2023年の AWS re:Invent 2023 でローンチした Amazon Q Business の一般提供も開始され、Microsoft 365、Salesforce、 Amazon Simple Storage Service (Amazon S3) 、Gmail など、40 以上の一般的なエンタープライズシステムとシームレスに接続できるようになりました。これで Amazon Q Business がお客様のビジネスについて知ることができるため、従業員は、コンテンツの生成や問題の解決に加えて、お客様のビジネスに固有のアクションを実行できるようになります。 また、カスタムプラグインのサポートも提供されているので、任意のサードパーティアプリケーションとの独自の統合を作成できます。 Amazon Q Business の一般提供に伴い、任意のサードパーティ API に接続するための独自のカスタムプラグインを作成する機能もローンチされました。 このリリースのもう 1 つのハイライトは、Amazon Q Business との会話から、または生成するものを説明することでアプリをすばやく生成できる Amazon Q Apps のローンチです。Amazon Q Business のすべてのガードレールが適用され、管理者が管理するライブラリを介してアプリを同僚と簡単に共有できます。Amazon Q Apps は現在プレビュー中です。 Amazon Q Business と Amazon Q Apps の詳細 については、これらの新機能のガイドを提供する Channy Yun の投稿を参照してください。 Amazon Q Developer – Q Developer を使用して、で開発者フローを完全に変更する ことができます。これには、Q&A、一般的なエラーの診断、テストを含むコードの生成など、以前は Amazon CodeWhisperer として知られていたすべての機能が搭載されています。拡張された結果、SQL を生成することや、自然言語を使用してデータ統合パイプラインを構築することが可能になりました。プレビューでは、AWS アカウントのリソースについて説明すること、および AWS Cost Explorer からコストデータを取得して分析することができます。 AWS のお知らせの詳細なリストについては、「 AWS の最新情報 」ページをご覧ください。 その他の AWS ニュース その他の興味深いプロジェクト、ブログ記事、ニュースをいくつかご紹介します。 AWS オープンソースのニュースと更新  – 同僚の Ricardo は、AWS コミュニティのオープンソースプロジェクト、ツール、イベントについて書いています。 Claude 3 の詳細 – Claude 3 の使用を開始するための良質のソースを探している場合、私の同僚の Haowen Huang による「 Mastering Amazon Bedrock with Claude 3: Developer’s Guide with Demos 」という優れた投稿がお勧めです。 近日開催予定の AWS イベント カレンダーを確認して、近日開催予定の AWS イベントにサインアップしましょう。 AWS Summits – クラウドコンピューティングコミュニティがつながり、コラボレートし、AWS について学ぶために一堂に会する無料のオンラインおよび対面イベントに参加しましょう。次のいずれかの最寄りの都市でご登録ください: シンガポール (5 月 7 日)、 ソウル (5 月 16~17 日)、 香港 (5 月 22 日)、 ミラノ (5 月 23 日)、 ストックホルム (6 月 4 日)、 マドリード (6 月 5 日)。 AWS re:Inforce – ペンシルバニア州で 6 月 10~12 日に開催される AWS re:Inforce において、2 日半かけて行われる、生成 AI の時代におけるクラウドセキュリティの没入型学習をぜひご体験ください。 AWS Community Day  – 世界中のエキスパート AWS ユーザーや業界リーダーによる技術的なディスカッション、ワークショップ、ハンズオンラボを特徴とする、コミュニティ主導のカンファレンスにぜひご参加ください。日程は、 トルコ (5 月 18 日)、 中西部 | コロンバス (6 月 13 日)、 スリランカ (6 月 27 日)、 カメルーン (7 月 13 日)、 ナイジェリア (8 月 24 日)、 ニューヨーク (8 月 28 日) です。 GOTO EDA Day London – 5 月 14 日にロンドンで開催されるこのイベントに参加して 、スケーラビリティ、耐障害性、拡張性の高いアプリケーションを構築するためのイベント駆動型アーキテクチャ (EDA) について学びましょう。このカンファレンスは、GOTO、AWS、および複数のパートナーによって主催されます。 今後開催されるすべての AWS 主導の対面イベントおよび仮想イベント と、 デベロッパー向けのイベント をご覧ください。 5月6日週はここまでです。5月13日週の Weekly Roundup もお楽しみに! — Matheus Guimaraes この記事は、 Weekly Roundup  シリーズの一部です。毎週、AWS からの興味深いニュースや発表を簡単にまとめてお知らせします! 原文は こちら です。
アバター
製造業において効率性と冗長性の絶妙なバランスは、市場競争力に大きく寄与します。INVISTA は、ポリマーや繊維などを扱う化学中間製品のグローバル企業です。同社は先ごろ実施した全面的な業務の見直しにより、単なる改善ではなく、事実上完全な変革を成し遂げました。INVISTA はデジタルツインの取組みにおいて、Amazon Web Services ( AWS ) に支援を依頼し、 AWS パートナーである Matterport ( 空間データの先駆的企業 ) と AWS IoT TwinMaker (建築物、工場、産業機器、製造ラインのデジタルツインを簡単に開発できるサービス)の間にシナジーを見出しました。この仮想化によって、業務効率、安全性、イノベーションにおけるパラダイムシフトが起きたのです。 【 INVISTA の課題】複雑な業務を合理化 ナイロン 6,6 や ポリプロピレンの生産供給におけるリーディングカンパニーである INVISTA は、定年退職が迫る従業員の持つノウハウを維持したいと考えていました。ノウハウ継承の方法として、仮想的なナレッジベース構築が不可欠でした。他の従業員が、そこに蓄積された専門知識に基づいて業務を行うためです。さらに INVISTA は、現代の製造業に共通する課題に直面していました。それは、互いに離れた拠点にまたがる複雑なデータセットを管理しながら、保有設備の性能を維持することです。成功するためには、設備の稼働率を高め、現場作業を改善し、運営コストを削減しながら、職場の安全性と持続可能性に関する企業および社会的責任を果たしたうえで、運営コストは削減することが極めて重要でした。INVISTA は Matterport と協力し、 AWS IoT TwinMaker と Matterport の統合により、製造施設のデジタルツインを開発しました。 【解決策】AI を活用した持続可能な操業デジタルツイン Matterport デジタルツインと AWS IoT TwinMaker の統合は、画期的なソリューションでした。AWS IoT TwinMaker で3D描画を実現することにより、INVISTA は現場作業員に対して場所や状況に応じた良質な判断材料を提供できます。すなわち現場では、デジタルツインからも状況を知ることで、問題発生時に独力で素早く問題に対処できます。加えて、システムへのナレッジ追加が容易なことから、コラボレーションも促進されます。INVISTA は現在、Matterport と AWS で稼働する、従業員が協力して作り上げたナレッジベースを保有しており、それは絶えず成長し続けています。Matterport は既に、ほぼあらゆるワークロードに対応するセキュアで可用性の高い Amazon Elastic Compute Cloud ( Amazon EC2 ) と、完全マネージドなコンテナオーケストレーションサービスである Amazon Elastic Container Service ( Amazon ECS ) を利用しているため、AWS IoT TwinMaker との統合はほぼシームレスに行えました。 二社の協業体制は、以下の分野で恩恵をもたらしています。 リモートサービス管理 : 施設や設備のリモート監視と管理を容易にします。この機能により、現地作業の必要性が大幅に低減し、運用コストが削減され、サステナビリティ目標の達成にも一助となります。 IoT センサーの生データ、映像、および基幹システムのデータを取込んだ Matterport デジタル ツインを利用することで、運用上の判断材料がほぼリアルタイムに把握できます。これにより、場所を選ばず迅速な意思決定と問題解決が可能になります。 予防保全 : データ分析による予防保全によって、装置の稼働時間を延ばし、ピーク性能を維持できます。この機能の統合により、劣化等の傾向を見つけ、装置の健全性を監視し、問題が深刻化する前に予防保全を行うことができます。 簡単に物理環境のデジタルモデルを作成できるようにすることで、製造オペレーションの可視化と最適化が容易になり、施設資産の高い性能を確実に維持することができます。 従業員を教育し、ノウハウ喪失を防ぐ : Matterport のデジタルツインを使って、システムとオペレーションの没入感を備えた 3D ビューを構築し、従業員研修のための魅力的で対話的なプラットフォームを構築します。このアプローチは、学習体験を向上するだけでなく、社内ノウハウの効率的な維持と伝承にも役立ちます。 実世界の環境を正確にモデル化し、物理システム上のデータソース群を仮想空間のレプリカに連携することで、ナレッジグラフを自動生成させることができるようになり、時間効率と正確性が向上します。これは、運用ナレッジを体系的に維持する上で不可欠であり、従業員の離職で重要情報を失うリスクを軽減できます。 INVISTA Architectural Design: Matterport and AWS IoT TwinMaker Integration 【実装】データから洞察を得る ソリューション実装のプロセスは、Matterport の技術を用いて INVISTA が保有する施設の詳細なデジタルツインを作成することから始まりました。これらデジタルレプリカは後に、AWS IoT TwinMaker を通じて IoT センサーの生データ、映像、基幹システムのデータなど様々なデータソースを統合する基盤となりました。この統合により、INVISTA は次の能力を獲得しました。 統一的な 3D ビュー: 工場内各所の運用状況が没入感をもって見渡せることで、意思決定能力を向上させます。 ライブデータの埋め込み: 全プラントの運用状況が一元管理されたダッシュボードにアクセスし、管理が行えます。データをニアリアルタイムに分析し、洞察を得ることで、運用の最適化と予防保全を行います。 遠隔での協働作業: チームメンバーがリモートで協力できる環境を整え、会社全体への効果を促進することで、コストを削減し、運用の安定性を高めます。 【成果】将来の成功に向けた青写真 INVISTA が従来型からデジタルを活用した運用に舵を切ったことは、事実上、製造業界に新しい標準を提案することとなりました。Matterport と AWS IoT TwinMaker の統合はコスト削減のみならず、明日の産業界に恩恵をもたらす変革の種をまくことができました。主な成果の例として、以下のものがあります: 運用効率の向上: ニアリアルタイムの監視、シミュレーション、最適化ができるため、生産性が大幅に向上し、コスト削減につながりました。 安全性と持続可能性の向上: 現地作業の必要性が減り、関連業務のマネジメントが改善されたことは、これまでにない安全性と持続可能性を備えた運用モデルが実現できることを示しました。 データドリブンな意思決定: 実世界のデータと既存システムのシームレスな統合により、過去に例のない立体データからの示唆が得られ、業務全体で継続的に高い能力を発揮するために、情報に基づく意思決定ができるようになりました。 上述した Matterport デジタルツインと AWS ワークロードの統合による成果は革新的なものであり、複数の重要な領域で大きな改善をもたらします。この統合は、複雑なデータセット群の管理を合理化し、推論と分析による予防保全で設備の稼働率を向上させるだけでなく、現地作業の必要性を減らすことでサステナビリティ目標達成にも貢献する上、運用コストと環境への影響を最小限に抑えられます。さらに、Matterport デジタルツインに、 IoT の生データ、映像、基幹システムのデータを組み込むことで、ニアリアルタイムの気づきと意思決定が可能となり、運用効率が一層高まります。 加えて、全てのデータソースが連携するMatterport デジタルツインに、単一の統合インターフェイスを作ることで、業務効率が向上するだけでなく、社内ナレッジ喪失のリスクが大幅に軽減されます。3D 化されたビューを活用できる研修シナリオで、効率性の向上、生産量の増加、パフォーマンス改善に特に効果を発揮します。ナレッジグラフを自動生成できるようにするために、各種データソースを物理システムの仮想レプリカに連携しています。これは、実世界の環境をモデル化するうえで重要な役割を果たし、短期間で忠実にデジタル表現を構築します。 Matterport と AWS IoT TwinMaker の統合により、INVISTA は全社的な効率性を実現するために必要なツールを手に入れました。これは伝統的な業務運用からデジタル運用への移行を促進し、直接的なコスト削減だけでなく、継続的な改革と革新の基盤が築かれました。 この戦略的アプローチにより、INVISTA は製造業界のリーダーとしての地位を維持し、自信を持って将来の課題に立ち向かうことができるでしょう。 総じて、Matterport と AWS IoT TwinMaker の統合は効率的で柔軟性があり、製造オペレーションの可視化、監視、最適化を実現するための持続可能なプラットフォームを提供することから、INVISTA 従業員の効率性向上と社内ノウハウ喪失防止に、大きく寄与しています。この技術的進歩は、INVISTA のデジタル変革を後押しし、革新的なデジタルソリューションを通じて操業を管理し、高パフォーマンスを維持するための、業界における新しい標準を確立しています。 INVISTA のデジタルツイン その道のり をハノーバーメッセ 2024で紹介 ハノーバーメッセ2024では、Matterport と AWS が共同ブースを出展します。そこでは、INVISTA にフォーカスした「Unlocking Operational Excellence: Invista’s Digital Twin Journey」(操業の卓越性を解き放つ : INVISTA のデジタルツイン導入の道のり)と題するプレゼンテーションが、ハイライトの1つです。4月22日の午後3時(中央ヨーロッパ時間)に予定されているこのセッションでは、INVISTA の Grant Johnson 氏、AWS の Pallavi Chari 氏、Matterport の Brittany Schramm 氏が登壇します。参加者は、INVISTA がデジタルツイン技術を採用した先進的な取り組みについて貴重な洞察を得ることができるでしょう。MatterportとAWS IoT TwinMaker の統合がどのように運用を革新し、業界に新基準を打ち立てたかを深く理解できるでしょう。 【まとめ】イノベーションを導く INVISTA の事例 は、Matterport のデジタルツイン技術と AWS IoT TwinMaker の持つ堅牢な機能との組合せが、大きな力を生むことを証明するものです。企業が将来を見据える中で、この統合の成功は、テクノロジーを活用して運用の卓越性を実現するための青写真を提供しています。Matterport と AWS のパートナーシップは、製造業界における可能性を実質的に再定義するだけでなく、デジタルイノベーションがどのように実際のビジネス成果に繋がるかを示しています。 今後、INVISTA のデジタルツイン導入から得られた教訓は、間違いなく様々な業界での実現に影響を与えていくでしょう。Matterport と AWS IoT TwinMaker によるたった1つのデジタルツインが、運用に革命を起こす可能性を秘めていることの証です。 Matterport と AWS が製造業の運用の未来を形作っていく方法についてさらに学びましょう TAGS: AWS for Industrial , AWS IoT TwinMaker , aws manufacturing Krishna Doddapaneni Krishna は、AWS で IoT 分野における業界パートナー向けのワールドワイドテクニカルリードです。日頃、パートナーと顧客が構築する極めて挑戦的で革新的な IoT 製品やソリューションの支援をしています。Krishna は、無線センサーネットワークで博士号、ロボットセンサーネットワークでポスドク研究員を務めました。彼は「コネクテッド」ソリューション、テクノロジー、セキュリティとそのサービスに情熱を注いでいます。 Katie Lameti Katie Lameti は、Matterport で AWS とのグローバルパートナーシップを率いています。彼女は AWS 内の各チームや AWS パートナーネットワーク内の他組織と協力し、顧客がビジネス価値を促進するデジタルツインソリューションの構想、調達、実装、拡張を支援する市場開拓の戦略を策定しています。 Paul Park Paul Park は、Matterportのパートナーマーケティングディレクターであり、AWS との共同マーケティングの戦略、企画、実行を主導しています。Paul は製品マーケティングとビジネス開発の思考を組合せ、共同のメッセージング、マーケティングコンテンツ、キャンペーン計画を立案しています。 Roberto Quintana Roberto Quintana は、IoT、エッジコンピューティング、アナリティクス分野でイノベーションと成長を牽引する経験豊富なテクノロジーリーダーです。20年以上にわたるキャリアの中で、Amazon Web Service ( AWS ) や Nokia Networks などの業界大手企業で重要な役割を果たしてきました。現在、Roberto は AWS の IoT およびエッジテクノロジーパートナーシップグローバルマネージャーを務め、戦略的なテクノロジーパートナーシップを通じて、戦略、市場開拓の主導、最先端ソリューションの開発を推進しています。 この投稿は、「 INVISTA’s operational transformation with Matterport and AWS IoT TwinMaker 」 を AWS Japan SA の田中豊洋が翻訳しました。
アバター
本記事は、2024年4月30日に投稿された Amazon Q Business and Amazon Q in QuickSight empowers employees to be more data-driven and make better, faster decisions using company knowledge を翻訳したものです。 2024年4月30日、 Amazon Q の一般提供を発表しました 。Amazon Q は、ソフトウェア開発を加速し、企業の内部データを活用するための最も優れた生成 AI 搭載アシスタントです。AWS の Data and Machine Learning の バイスプレジデント である Swami Sivasubramanian は「プレビュー期間中、Amazon Q を用いて顧客企業の従業員の生産性が 80 % 以上向上する可能性があるという初期兆候が見られ、今後導入を予定している新機能によって、これがさらに高まっていくと考えています」と述べました。どの組織でも従業員は、週に数時間を内部情報の検索に費やしています。また、分析の集約、レポート作成、プレゼンテーション作成、ダッシュボードからの洞察の作成と検索、さまざまな顧客や対象者向けのコンテンツ作成にも時間を費やしています。Amazon Q Business と Amazon Q in QuickSight は、これらの作業をより効率化するために開発しました。 Amazon Q Business は、生成 AI が搭載されたアシスタントであり、質問の回答、文章の要約、コンテンツの生成が可能で、組織内のシステムに保存されているデータや情報を元にセキュアにタスクが完了できます。これにより、従業員がより創造的で、データ駆動型で、効率的で、生産性が高くなります。 Amazon Q Business は他のどの生成AIアシスタントよりも多くのデータソースと統合可能 Amazon Q Business は、Wiki、社内イントラネット、Atlassian、Gmail、Microsoft Exchange、Salesforce、ServiceNow、Slack、Amazon Simple Storage Service ( Amazon S3 ) など、40 以上の一般的に使用されているビジネスツールに簡単かつ安全に接続でき、これは、他のどの生成 AI アシスタントよりも多い値です。企業のデータリポジトリを Q に接続するだけで、すべてのデータを検索し、論理的に要約、トレンドを分析し、エンドユーザーとデータに関して対話することができます。これにより、ビジネスユーザーは、組織内のどこにあるデータでも、すべてのデータにアクセスすることができます。Web ベースのインターフェイスを用いた Amazon Q Business のユースケースをご覧ください。 セキュリティとプライバシーを第一に考えて設計 Amazon Q Business は、設計時からセキュリティとプライバシーを考慮して構築されています。既存の ID、ロール、アクセス許可とシームレスに統合し、高レベルのセキュリティを維持しながら、個々のユーザーとのやり取りをパーソナライズできます。企業の情報に基づいて正確な回答を生成し、機密トピックを制限し、キーワードをブロックし、不適切なコンテンツを除外できます。また、顧客のコンテンツを、他の顧客のためのモデルの訓練に使用することはありません。Amazon Q Business のセットアップと管理方法を学びたい場合は、 News Blog: Amazon Q Business をご覧ください。 生成 BI によって、アナリストやビジネスユーザーが数分で詳細なダッシュボードを作成可能に Amazon QuickSight は、AWS のクラウド向け統合ビジネスインテリジェンス (BI) サービスです。 Amazon Q in QuickSight により、ビジネスアナリストは自然言語を使用して数分で BI ダッシュボードを作成し、可視化や複雑な計算が容易に行えます。ビジネスユーザーが、ダッシュボードで表示しきれていないデータについて質問をしても、即座に回答を得られる唯一の BI プロダクトであり、主要な洞察、傾向、要因を強調した詳細でカスタマイズ可能なデータストーリーも作成できます。ビジネスユーザーは、「 build a story about how the business has changed over the last month for a business review with leadership (経営陣との会議で、過去 1 か月間の事業の変化についてストーリーを作成して) 」と質問すると、Amazon Q は多角的な視点からデータストーリーを数秒で作成し、事業改善の方法といった具体的なアイデアを織り交ぜながら、具体的な洞察や視覚的な情報を補完し、様々な側面からデータを説明してくれます。ユーザーはレイアウトを変更することができ、テキストや画像、テーマをカスタマイズしてドキュメントやプレゼンテーションを簡単に共有することができ、Amazon Q を用いてテキストを書き直したり、改善することも可能です。Amazon QuickSight の最新機能については AWS Business Intelligence Blog を、自社データに基づくコンテンツ作成と共有については Unlock the power of Generative BI with Amazon Q in QuickSight をご覧ください。 会話から数秒で生成 AI 駆動のアプリを作れるよう支援する、画期的な機能 2024年4月30日、従業員が自社のデータを利用して、コーディング経験がなくても生成 AI アプリケーションを簡単かつ迅速に作成できるAmazon Q Business の新機能 Amazon Q Apps (プレビュー) を発表しました。Amazon Q Apps では、従業員は自然言語で自分が欲しいアプリを記述するか、Amazon Q Business によって問題の解決に至った既存の会話を利用し、Amazon Q が 1 クリックで、希望のタスクを達成するアプリを即座に生成します。そして、そのアプリは組織内で簡単に共有可能です。 例えば、新入社員向けのオンボーディングプランを立てるのは、長くて手間のかかる業務です。新入社員の役割に応じた適切なコンテンツを見つけるため、さまざまなデータストアやドキュメントを探し求める必要があり、多くの時間を要します。そして、それらコンテンツも、陳腐化していたり、役割に十分に合致していなかったりします。Amazon Q を使えば、人事担当者は新入社員の名前と社員 ID を入力するだけで、その社員向けのオンボーディング計画を自動で作成するアプリを簡単に作ることができます。わずか数秒で、Amazon Q Apps は最新のデータを使用して、その社員の役割や部署に合わせたパーソナライズされたオンボーディング計画を自動生成するアプリを構築します。そして、人事担当者はそのアプリを会社の採用担当者と共有し、自チームに合わせたオンボーディングプランを即座に構築できるようになります。このように、Amazon Q Apps を使えば、ビジネスユーザーが簡単に、迅速にかつセキュリティを確保しつつ、企業の情報をベースにアプリを構築し、生産性を向上できます。 Introducing Amazon Q Apps の動画を見れば、導入が簡単であることをお分かりいただけるでしょう。 Smartsheet の企業開発・戦略担当シニアバイスプレジデントである Bani Bedi は次のように述べました。 “Amazon Q Business は、Smartsheet におけるナレッジ管理を効率化し、従業員の生産性を高めています。以前は、3,300 人の従業員が必要な情報を公開されているヘルプドキュメント、トレーニングコース、数百の全従業員向け Slack ヘルプチャネルから探すのが非常に難しい状況でした。私たちは組織ナレッジを一つの AI エンジンに統合し、従業員に即座に回答を提供することで、従業員の生産性を大幅に向上させています。” 詳しくは、 AWS Fireside Chat with Smartsheet のインタビューをご覧ください。 Amazon Q Business と Amazon Q in QuickSight について案内できることを大変うれしく思っています。AWS における生成 AI に関する詳しい情報は、 AWS Generative AI をご覧ください。 著者について Mukesh Karki は Amazon Q Business の General Manager です。 Tracy Daugherty は Amazon Quicksight の General Manager です。
アバター
1. はじめに 製造業における品質管理は非常に重要な課題です。製品の外観や組立状態を確認し、欠陥の有無を判断する外観検査工程は、高い品質を維持するうえで欠かせません。この検査工程を人手に頼らず自動化できれば、コスト削減と品質の安定化が期待できるため、さまざまな検査工程の自動化が試みられています。今でも外観検査のソリューションとしてAWSではAmazon Lookout for Visionというサービスを提供していますが、今回は違う切り口から、Amazon Titan Multimodal Embeddings G1を使って生成AIで同じような外観検査ができるかトライしてみました。 Embedding方式の利点は、製品カテゴリーを問わず同じ数値化モデルを活用できる点にあります。サンプル画像の数値化自体は製品に依存しないので、一度、数値化の仕組みを構築すれば、様々な製品に汎用的に適用可能となります。こうした柔軟性と効率性が、Amazon Lookout for Visionとは異なる特長となっています。また、このような汎用化により、AWSサービスに比べてコストを抑えられる可能性があります。さらに、既に外観検査モデルを持っている場合には、Embeddingを使ってモデルの改良を容易に行えるというメリットがあります。Embedding方式とLookout for Visionはそれぞれ長所があり、用途に応じた使い分けが重要です。 2. 検査画像について 今回は外観検査のサンプルとして、下記のような ガラス瓶の口の部分を極端にクローズアップして撮影したものを使ってみたいと思います。下記のように良品であれば、透明なガラス瓶の中心部を同心円状の輪郭が取り囲んでいるような形状になります。 一方で不良品の画像は、下記のようにビンの淵に汚れがある場合や(よく見ないとわかりづらいですが今回は透明なテープを貼っています)、ビンの中に何かが混入してしまっていたりといった、いくつかパターンを用意してみました。 3. 判定ロジックの作成 3-1 学習データの準備 冒頭でも記載しましたが、今回は生成AIに2023年の11月にAmazon Bedrockで一般提供開始となったAmazon Titan Multimodal Embeddings G1モデルを利用します。 手順としてはシンプルで、まず初めにAmazon Titan Multimodal Embeddings G1を使って良品画像からEmbeddingを取得します。Embeddingとは、画像データをベクトル表現=数値化することを指していて、画像の視覚的な特徴が圧縮されてベクトル化されます。今回は、画像を数値化するのにAmazon Titan Multimodal Embeddings G1を使って、分類自体はk近傍法(k-Nearest Neighbors)という別の手法を用います。 画像のembeddingは同じカテゴリーの画像は近いベクトル値になり、異なるカテゴリーの画像は離れたベクトル値になる性質があります。分類に利用する、k近傍法(k-Nearest Neighbors)は、 未知のデータ点に対して学習データ中の最近傍k個のデータ点の多数決により分類を行います。今回は良品画像・不良品画像のそれぞれのクラスを作成し、当該クラス分類に近いかどうかで良品・不良品を判定します。 Embeddingによって同じカテゴリーの画像が近接するよう写像されていれば、k近傍法による良品/不良品の判別が有効に機能すると期待できます。 さらに、この手法の利点は、モデル作成のハードルと、計算コストが比較的低いうえ、小規模データでも高速に判定できるところにあります。一方で大規模データでは計算コストが高くなる懸念がありますが、他の手法と柔軟に連携しやすいという点もあり、状況に合わせて最適な手法を組み合わせられることで、 より高い判別性能を発揮できます。 それでは、実際にAmazon Titan Multimodal Embeddingsを使って画像のEmbeddingを取得していきます。コードの一部を抜粋するとこのようになります。 出力のベクトルサイズは1,024 (デフォルト)、384、256から選択できますが、今回はより低次元の256次元にしてみました。 for i in range(start_num, end_num+1): file_path = os.path.join(f'{file_prefix}{i}.jpg') with open(file_path, "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") body = json.dumps( {"inputText": "xxx", "inputImage": input_image, "embeddingConfig": { "outputEmbeddingLength": 256 } }) response = bedrock_runtime.invoke_model( body=body, modelId="amazon.titan-embed-image-v1", accept="application/json", contentType="application/json", ) response_body = json.loads(response.get("body").read()) embedding = response_body.get("embedding") embedding_list_normal.append(embedding) こちらを実行すると、このような下記の画像1枚につき、このようなベクトル表現を特徴量として得ることができます。 最初の検証では、良品画像のみ40枚分, 不良品画像40枚、合計80枚分繰り返します。 [0.040440526, -0.030406332, 0.019856136, -0.03709767, -0.027063366, 0.0038649105, -0.02639588, -0.014976015, 0.010845318, -0.041676126, -0.00282769, -0.0050448384, (中略) 0.05363304, -0.0126655055, -0.054597393, 0.0004961308, -0.04483083, 0.013465457,0.025360549, -0.0052477336, 0.057870768, 0.045011103, -0.013245691, -0.076108955, -0.025926728, 0.0072124046, -0.13566567, -0.016753113] 3-2 モデルの作成 次にk近傍法(k-Nearest Neighbors)を使って良品画像と不良品画像の学習モデルを作っていきます。コードはこのようになります。embedding_listには、先ほど出力した良品画像+不良品画像の合計80枚の画像のEmmbedingのリストが入っており、Yには正解ラベルのリストになります。 X= np.array(embedding_list) knn = KNeighborsClassifier(n_neighbors=3) knn.fit(X, Y) なお、この合計80枚の画像から抽出されたEmbeddingが、うまくクラス分類できているのかt-SNEという手法を使って256次元を2次元まで削減しグラフにプロットしてみたいとおもいます。 t-SNEは高次元データを低次元に視覚化する手法で、緑色の点が良品を赤色の点が不良品を表しています。グラフを見ると、概して良品と不良品がある程度分離されている傾向が見られます。 この傾向を見ても今回のサンプル画像を使ったEmbeddingによるクラス分類は、ある程度うまくいきそうだということが視覚的にもわかると思います。このようにして、良品画像および不良品画像のクラス分類が完成しました。 4. テストデータの準備 それでは、テスト画像を40枚ほど用意します。このテスト画像には、良品と不良品の画像が混ざった形で入っています。 今回は20枚の画像は良品、もう20枚は不良品という構成にしてみました。不良品の画像のパターンは小さな欠けから、大きな損傷、異物の混入など複数のパターンを用意します。 この合計40枚のテスト画像のEmbeddingを先ほどの手順で出力しておきます。 ■良品画像の例 ■不良品画像の例 それでは、先ほど訓練した良品画像の学習データとの距離を計算していきます。コードはこのようになり、良品画像のクラスに対して距離が近ければ近いほど=良品画像と近い特徴を持ち、その逆は=不良品画像の特徴を持ちます。 X_new = np.array([i]) #テスト画像 y_pred = knn.predict(X_new) #良品・不良品判定 5. 検証結果 これらの40枚のテスト画像に対して、以下のような結果が出ました。 良品→不良品と判定したケースは4件ありました。 それぞれ、Accuracy(正解率):90%、Precision(適合率):100%、Recall(再現率):80%、F値:0.889となっています。 正解率とは、全体に対する正しい判定の割合です。 適合率(Precision)が100%ということは、良品と判定されたものは全て実際の良品だったことを意味します。 一方で、再現率(Recall)が80%ということは、実際の良品の80%が良品と判定できていたことになります。なお、F値という指標があります。これは0から1の値をとり、1に近いほど識別がうまくできていることを示します。 実際の製造現場では、製品の安全性と品質を最優先し、偽陰性(不良品を良品と誤判定)を防ぐことが重視されます。今回のモデルでは、ある程度の偽陽性はありましたが、不良品は100%判定でき製品の安全性と品質を守る観点では良好な結果だと言えます。 また、今回はある程度の精度が出ましたが、実際に良好な結果が得られない場合は、学習データの質や量を変えてみることで、さらなる精度向上が図れる可能性があるかもしれません。今回のケースでも学習データを半分の40枚に減らして、不良品としてパターンの多い画像を増やしたところ、正解率が95%まで向上しました。他にも、信頼度を見て評価用データから閾値を決めて、良品と不良品の境界をより詳細に設定していく方法も考えられます。 なお、冒頭に記載したように今回のプログラムを使って今回の仕組みを汎用化できるか、他のデータセットを使って検証してみたところ、環境や条件にもよりますが正解率が95%となり高い精度が出すことができました。 まとめ 今回、Amazon Titan Multimodal Embeddingsを活用した簡易的な外観検査を実施してみました。今回作成したモデルは、ある程度の偽陽性はありましたが、不良品は100%判定でき製品の安全性と品質を守る観点では良好な結果が得られたのではないかと思います。 本手法のポイントは、画像をAmazon Titan Multimodal Embeddings G1を利用してEmbeddingして数値化したことです。これにより、画像のタスクを数値データのアルゴリズムに落とし込むことができるようになりました。画像を数値化することで、これまでのさまざまな機械学習の手法を活用した分類が可能になります。 ただし、この方法は、今回のケースような固定された既知のサンプルに対しては比較的高い精度が期待できますが、環境条件や撮影状況が常に変化する場合には精度が低下する可能性があります。すべてのケースに万能に適用できるわけではなく、実運用時には検査対象物や環境の違いによって、結果がある程度異なる可能性があることに留意が必要です。 さらに、今回は不良品画像が十分にあるケースを考えてみましたが、必ずしも不良品画像が十分にない場合もあると思います。 その際には、生成AIに不良品かどうか直接質問したり、不足するデータを人工的に生成してモデル学習をするといったアプローチも検討できるかもしれません。このように、生成AIによる外観検査の実用化に向けては、様々な工夫の余地が残されています。本試行が、その第一歩として、生成AIの活用可能性を示す有意義な機会となれば幸いです。 著者について 秦 将之 アマゾン ウェブ サービス ジャパン合同会社 シニアソリューションアーキテクト 製造業界のお客様向けに技術支援を担当しています。好きなサービスはAmazon SageMakerとAmazon Bedrockです。週末はジムで体力づくりしています。
アバター
はじめに Anthropic が 2024年 3月に Claude3 を発表 し、4月には Meta が Llama3 を発表 するなど、生成 AI の進化は止まるところを知りません。一方、生成 AI の進化を支える大規模言語モデルの開発及び運用に掛かるコスト、計算機リソースの確保は多くの企業が抱える大きな課題です。AWS では機械学習 (ML) アクセラレーターチップ AWS Trainium 、 AWS Inferentia2 を自社開発し、これらの課題解決に取り組んでいます。( Anthropic では AWS Trainium、Inferentia の活用を表明しています ) 本ブログでは、前半で、AWS Trainium 搭載 Amazon EC2 Trn1 インスタンス を活用した日本語大規模言語モデルの開発事例、大規模分散学習の課題及び実現方法について解説します。 ブログ後半では、公開された日本語大規模モデルを Inferentia2 搭載 Amazon EC2 Inf2 インスタンス 上で推論実行する方法について、手順を追って解説します。1時間以内で完走できる内容ですので、公開された各種モデルの検証、活用に興味をお持ちの方は後半から読み進めて頂いても結構です。 AWS 自社設計 ML アクセラレーター搭載インスタンス 本章では、ブログの本題に入る前に、AWS が提供している生成 AI / ML モデルのトレーニング及び推論向けインスタンスについて紹介します。 AWS では、生成 AI / ML モデルのトレーニング向けのインスタンスとして、業界で広く利用されている NVIDIA 社 A100 Tensor Core GPU を搭載した Amazon EC2 P4d インスタンス 、最新 H100 GPU を搭載した P5 インスタンス を提供しています。2024年 4月には L4 GPU を搭載した 推論向け G6 インスタンス の一般提供を開始しました。 一方、AWS は、クラウド向けに最適化されたカスタムシリコンの設計に何年も投資しており、お客様の幅広いワークロードにおいて、自社設計チップファミリー AWS Graviton プロセッサ、AWS Trainium、Inferentia 機械学習アクセラレーターが活用されています。2023年 11月には年次イベント AWS re:Invent において、それぞれの次世代版となる AWS Graviton4 プロセッサと AWS Trainium2 アクセラレーターを発表 しました。 AWS Trainium 搭載 Amazon EC2 Inf2 インスタンス Amazon EC2 Trn1 インスタンスは、生成 AI / ML モデルのトレーニング向けに開発した AWS Trainium アクセラレーターを搭載したインスタンスです。 他の同等の ML トレーニング向けインスタンスと比較し、コストを最大 50% 削減します。Trn1 インスタンスでは、小規模モデルのトレーニングを想定して Trainium を1つ搭載した trn1.2xlarge と、大規模モデルの分散学習を想定して Trainium を 16個搭載した trn1.32xlarge の2つのサイズを用意しています。また Trn1 インスタンスと比較してネットワーク帯域を 2 倍にし、1600 Gbps の Elastic Fabric Adapter (EFAv2) に対応した trn1n.32xlarge インスタンスも提供しています。 インスタンスサイズ  Trainium アクセラレーターメモリ (GiB)  vCPU インスタンスメモリ (GiB) ローカル NVMe ストレージ (TB) NW帯域 (Gbps) EBS帯域 (Gbps) trn1.2xlarge 1 32 8 32 0.5 最大 12.5 最大 20 trn1.32xlarge 16 512 128 512 8 800 80 trn1n.32xlarge 16 512 128 512 8 1600 80 Trn1 インスタンス及び Trainium アクセラレーターの概要及び、小規模モデルのトレーニング(ファインチューニング)については、「Trn1 独自設計チップ AWS Trainium 搭載 Amazon EC2 Trn1 インスタンスで ML トレーニングを高速実行( 基礎編 、 実践編 )」をご参照下さい。 AWS Inferentia2 搭載 Amazon EC2 Inf2 インスタンス Amazon EC2 Inf2 インスタンスは、初代 Inf1 インスタンスと比較し、最大 3 倍のコンピューティング性能、最大 4 倍のアクセラレーターメモリ、最大 4 倍のスループット、10 分の 1 以下の低レイテンシーを実現します。 AWS Inferentia2 には Trainium と同じ世代となる Neuron コア v2 を搭載しており、大規模モデルの推論だけでなく、小規模モデルのファインチューニングも実行可能です。Inf2 インスタンスは既に東京リージョンでもローンチ済みなので、学習モデルを国内に保持しておきたい場合や、ネットワークレイテンシーを最小化したい場合には、東京リージョンにてデプロイ可能です。 インスタンスサイズ  Inferentia2 アクセラレーターメモリ (GiB)  vCPU インスタンスメモリ (GiB) ローカルストレージ NW帯域 (Gbps) EBS帯域 (Gbps) inf2.xlarge 1 32 4 16 EBS のみ 最大 15 最大 10 inf2.8xlarge 1 32 32 128 EBS のみ 最大 25 最大 10 inf2.24xlarge 6 192 96 384 EBS のみ 50 30 inf2.48xlarge 12 384 192 768 EBS のみ 100 60 AWS Trainium を活用した大規模言語モデルの分散学習 アマゾン ウェブ サービス ジャパンは 2023年 7月、国内に法人または拠点を持つ企業・団体の生成 AI 基盤モデル・大規模言語モデルの開発を支援する「 AWS LLM 開発支援プログラム 」を立ち上げました。本プログラムに採択された17 社の採択企業の多く(11社)では、AWS Trainium を活用し、短期間で日本語大規模言語モデルの開発を完了しました。ストックマーク株式会社、カラクリ株式会社、株式会社わたしは、 rinna株式会社ではプログラムを通して開発したモデルを Hugging Face Hub 上で公開 しており、広くご活用頂けるようになっています。中でも stockmark-13b 、 karakuri-lm-70b-chat-v0.1 は 2000 回 以上ダウンロードされた人気の日本語モデルとなっています。 AWS LLM 開発支援プログラムの総括については「 基盤モデル開発に挑む各社が成果を共有。AWS LLM 開発支援プログラム 成果発表会 」をご参照下さい。 大規模言語モデルの分散学習は、アクセラレーターチップ、インスタンスといった計算機リソースだけでは実現できません。効率的に実行するためには、分散学習ライブラリ、クラスタ管理フレームワーク、 Amazon FSx for Lustre 共有ファイルシステムなど、複数のサービスを組み合わせることが不可欠です。 本章では、はじめに Trainium 上で分散学習を実行する上で鍵となる分散学習ライブラリについて、サンプルスクリプトとともに解説します。続いて、AWS が提供するクラスタ管理フレームワークの選択肢と、大規模分散学習では避けられないノード障害に対する対策について解説していきます。 分散学習ライブラリ AWS Neuron は Trainium、Inferentia 上での機械学習ワークロードを最適化するための SDK です。PyTorch を用いた大規模言語モデルの分散学習では、AWS Neuron 上で実行する分散トレーニングライブラリ、 AWS Neuron Reference for NeMo Megatron 及び NeuronX Distributed を提供しています。その際、AWS Neuron では、 PyTorch XLA をバックエンドのコンパイラとして利用しています。 AWS Neuron Reference for NeMo Megatron AWS Neuron Reference for NeMo Megatron(以下、neuronx-nemo-megatron) は、既存のオープンソースパッケージ Nemo と Apex を AWS EC2 Trn1 インスタンスおよび AWS Neuron に対応させたライブラリです。いち早く Llama2 モデルの事前学習に対応したこともあり、2023年 8月と 9月に AWS LLM 開発支援プログラム採択企業向けに実施した Prototyping Camp では、neuronx-nemo-megatron と AWS ParallelCluster を使用し、Llama2 モデルのマルチノード分散学習環境の構築から推論実行までの一連の流れを完走しました。実際、採択企業の多くで neuronx-nemo-megatron を利用した大規模言語モデルの分散学習を実施しています。Llama2-7B、13B、70B それぞれのモデルの継続事前学習を実行する チュートリアル を用意しているため、大規模言語モデルの分散学習で必要となる環境構築の負荷を大幅に削減することが可能です。 NeuronX Distributed NeuronX Distributed は、Neuron デバイス上で分散学習、分散推論を実行するための XLA ベースのライブラリです。モデルの大規模化に伴い、モデルを単一デバイス上でトレーニングすることは不可能になるので、シャーディング技術を利用してモデルを複数のデバイスに分割する必要があります。NeuronX Distributed では、 テンソル並列 、 パイプライン並列 、データ並列からなる 3D Parallelism と ZeRO-1  を使った Optimizer の重みのシャーディングに対応しています。また、アクティベーションメモリを削減するための シーケンス並列 と、フォワードパスでアクティベーションの一部を保存せずバックワードパス中に再計算する事でメモリの使用量を削減する アクティベーション再計算(selective activation checkpointing) にも対応しています。 以下は Llama2-70B モデルの事前学習を実行するサンプルスクリプト の一部です。こちらのサンプルスクリプトでは、 trn1.32xlarge インスタンス上の合計 32 個の Neuron コア全てをテンソル並列で利用し、4つのインスタンスでパイプライン並列を、残り(16ノードでの分散学習の場合は 32 x 16 / 32 / 4 = 4)をデータ並列として利用しています。さらに ZeRO-1、シーケンス並列(以下のスクリプト内では設定していないがデフォルトで利用)、アクティベーション再計算を利用しています。Llama2-13B/70B モデルでの事前学習を実行する チュートリアル を合わせてご参照下さい。 # Global batch size : ${GBS:=1024} # Input sequence length SEQ_LEN=4096 # Pipeline parallel degree PP_DEGREE=4 # Tensor parallel degree TP_DEGREE=32 # Data paralell size DP=$(($PROCESSES_PER_NODE * $WORLD_SIZE / $TP_DEGREE / $PP_DEGREE)) # Batch size per model replica BS=$(($GBS / $DP)) # Number microbatches for pipeline execution # Setting same as BS so each microbatch contains a single datasample NUM_MICROBATCHES=$BS . . torchrun $DISTRIBUTED_ARGS run_llama_nxd.py \ --train_batch_size $BS \ --use_meta_device_init 1 \ --training_dir $DATA_PATH \ --training_config $SCRIPT_DIR/70B_config \ --max_steps $max_steps \ --seq_len $SEQ_LEN \ --pipeline_parallel_size $PP_DEGREE \ --tensor_parallel_size $TP_DEGREE \ --num_microbatches $NUM_MICROBATCHES \ --lr 0.00015 \ --min_lr 1e-05 \ --beta1 0.9 \ --beta2 0.95 \ --weight_decay 0.1 \ --warmup_steps 2000 \ --constant_steps 0 \ --use_zero1_optimizer 1 \ --use_selective_checkpoint 1 \ --qkv_linear 1 \ --kv_replicator 4 \ --tb_dir $tb_dir |& tee $LOG_PATH/log クラスタ管理フレームワーク 採択企業の多くでは Prototyping Camp で体験頂いた AWS ParallelCluster を使って、マルチノードでの分散学習環境を構築頂きました。AWS では他にも様々な選択肢を用意しています。2023年 11月、AWS re:Invent では大規模な分散学習に特化したマネージドサービス Amazon SageMaker HyperPod を発表、ローンチしています。HyperPod については「 大規模な分散トレーニングに特化したインフラストラクチャ、Amazon SageMaker HyperPod のご紹介 」をご参照下さい。 また、 Amazon Elastic Kubernetes Service (Amazon EKS) を用いた分散学習については「 Train Llama2 with AWS Trainium on Amazon EKS 」を、Amazon SageMaker を用いた分散学習については「 Simple guide to training Llama 2 with AWS Trainium on Amazon SageMaker 」をそれぞれ合わせてご参照下さい。 耐障害性 (resiliency) に対するアプローチ 分散学習を実施する際のノード数は、学習するモデルのパラメータサイズ、学習データのサイズ(トークン数)、学習を実施する期間や計算機リソースの確保の容易性など、様々な要素から決定されます。ノード数の規模が大きくなると、ノード障害の発生を想定した耐障害性、リカバリー機能の確保は Trn1 インスタンスに限らず、一般的に発生する切実な問題です。今回、株式会社リコー様では、64 インスタンスの trn1.32xlarge (1,024 Trainium アクセラレーター、2,048 Neuron コア) を用いた大規模分散学習を実施頂きました。ノード障害を自動的に検知し、必要に応じて正常なノードとノード交換を実施、その後、学習ジョブを直近で保存された最新のチェックポイントから自動再開する仕組みを分散学習ライブラリ上に実装することによって、大規模クラスタでの学習を成功裏に導きました。これらの実装は最新版 neuronx-nemo-megatron、NeuronX Distributed ライブラリ内に既に組み込まれています。 AWS Inferentia2 上で日本語大規模言語モデルの推論環境を構築 AWS LLM 開発支援プログラムの支援を受けて、AWS Trainium 上で開発されたモデルのいくつかは、 Hugging Face Hub 上で公開 されています。Trainium 上で学習したモデルのデプロイ先に制限はありません。AWS Inferentia2 を搭載した Amazon EC2 Inf2 インスタンス、GPU インスタンスのどちらでも推論実行が可能です。また、GPU 上で学習されたモデルを Inf2 インスタンス上にデプロイすることも可能です。 本章では、Inferentia2 上で大規模言語モデルの分散推論を実現するための分散推論ライブラリについて解説した後、公開された日本語大規模言語モデルを Inferentia2 上にデプロイする方法を解説します。また、本章の最後では本番環境への導入に向けた次のステップを紹介します。 分散推論ライブラリ Transformers NeuronX 大規模言語モデルの分散推論(自己回帰サンプリングによるテキスト生成)では、AWS Inferentia2 及び Trainium に最適化した Transformers NeuronX ライブラリを提供しています。小規模なモデルであればモデルを単一デバイス上にデプロイすることが可能ですが、大規模言語モデルの場合には、分散学習時と同様にテンソル並列を用いて、モデルを複数の Neuron コア間に分割して実装します。 最大サイズの inf2.48xlarge には、12 Inferentia2 アクセラレーター、24 Neuron コアが搭載されています。より高い性能(低レイテンシー)が求められる場合は、並列度を最大限上げる事が求められるので、テンソル並列度を 24 で実装することが推奨されます(さらに性能を求める場合には trn1.32xlarge をテンソル並列度 32 で利用することも可能)。一方、運用コストを重視する場合には、アクセラレーターメモリの容量を超えない限りの少ないテンソル並列度にする必要があります。70億、130億パラメータのモデルであれば、単一の Inferentia2 上にテンソル並列度 2 で、700億パラメータのモデルであれば、 inf2.24xlarge もしくは inf2.48xlarge 上に並列度 8 で実装可能です。 事前準備 70億、130億パラメータのモデルであれば、32GBのアクセラレーターメモリを持つ単一の Inferentia2 アクセラレーター上にデプロイ可能です。ここでは inf2.8xlarge インスタンスを起動し、130億パラメータのモデルを実際に活用してみましょう。EC2 の立ち上げ方については こちらのドキュメント をご参照下さい。本ブログ内の検証は、東京リージョン ( ap-northeast-1 ) で、以下の Deep Learning AMI Neuron (Ubuntu 22.04) AMI を利用し実施しました。また大規模モデルを扱う場合はストレージ容量に注意が必要です。ここでは EBS 512GBを用意しました。 インスタンスを起動後、SSH で接続します。モデルの推論を実行する際に Jupyter Notebook を使用しますので、SSH ポートフォワーディングを設定しておきましょう。 ssh -i "<pem file>" ubuntu@<instance DNS name> -L 8888:127.0.0.1:8888 インスタンスに接続すると、以下のような画面が表示されます。2024年 5月 10日現在、最新となる Neuron 2.18.2 がプリインストールされていることが分かります。 Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-1031-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro ============================================================================= __| __|_ ) _| ( / Deep Learning AMI Neuron 2.18.2 (Ubuntu 22.04) ___|\___|___| ============================================================================= * Supported EC2 instances: Inf1, Inf2, Trn1, Trn1n. * To activate pre-built pytorch-1.13 environment for Inf2, Trn*, run: 'source /opt/aws_neuronx_venv_pytorch_1_13/bin/activate' * To activate pre-built pytorch-1.13 environment for Inf1, run: 'source /opt/aws_neuron_venv_pytorch_1_13_inf1/bin/activate' * To activate pre-built pytorch-2.1 environment for Inf2, Trn*, run: 'source /opt/aws_neuronx_venv_pytorch_2_1/bin/activate' * To activate pre-built transformers environment for Inf2, Trn*, run: 'source /opt/aws_neuronx_venv_transformers_neuronx/bin/activate' * To activate pre-built tensorflow-2.10 environment for Inf2, Trn*, run: 'source /opt/aws_neuronx_venv_tensorflow_2_10/bin/activate' * To activate pre-built tensorflow-2.10 environment for Inf1, run: 'source /opt/aws_neuron_venv_tensorflow_2_10_inf1/bin/activate' * Neuron driver version:: 2.16.7.0 Neuron は定期的にアップデートされ、新しい機能の追加、対応するモデルの拡充、性能向上、バグフィックスなどが提供されます。それでは、次のコマンドを実行して仮想環境をアクティブ化しましょう。 source /opt/aws_neuronx_venv_transformers_neuronx/bin/activate ここで、最新の PyTorch Neuron 環境が正しくインストールできているかどうか確認しておきましょう。 Neuron ドキュメント上 で各パッケージの最新バージョンが確認可能です。 (aws_neuronx_venv_transformers_neuronx) ubuntu@ip-xx-xx-xx-xxx:~$ pip list | grep neuron aws-neuronx-runtime-discovery 2.9 libneuronxla 2.0.965 neuronx-cc 2.13.72.0+78a426937 torch-neuronx 2.1.2.2.1.0 transformers-neuronx 0.10.0.360 (aws_neuronx_venv_transformers_neuronx) ubuntu@ip-xx-xx-xx-xxx:~$ dpkg -l | grep neuron hi aws-neuronx-collectives 2.20.22.0-c101c322e amd64 neuron_ccom built using CMake hi aws-neuronx-dkms 2.16.7.0 amd64 aws-neuronx driver in DKMS format. hi aws-neuronx-oci-hook 2.3.0.0 amd64 neuron_oci_hook built using CMake hi aws-neuronx-runtime-lib 2.20.22.0-1b3ca6425 amd64 neuron_runtime built using CMake hi aws-neuronx-tools 2.17.1.0 amd64 Neuron profile and debug tools 130 億パラメータモデルを用いた推論実行 それでは、株式会社わたしはが公開している大喜利言語モデル( Watashiha-Llama-2-13B-Ogiri-sft )を実行してみましょう。 Jupyter Notebook を起動し、以降のセルを実行していきます。 jupyter notebook 最初にモデルをダウンロードし、Neuron コア上で動作できるようにコンパイルを実行します。コンパイルする際には、バッチサイズとテンソル並列度を指定する必要があります。 inf2.8xlarge では Inferentia2 を 1 個(Neuronコアを 2 個)搭載しているので、ここでは tp_degree=2 と設定しています。 from transformers_neuronx import NeuronAutoModelForCausalLM from transformers import AutoTokenizer model_path = "watashiha/Watashiha-Llama-2-13B-Ogiri-sft" neuron_model = NeuronAutoModelForCausalLM.from_pretrained( model_path, batch_size=1, tp_degree=2, amp='bf16' ) neuron_model.to_neuron() Watashiha-Llama-2-13B-Ogiri-sft は、大喜利データでファインチューニングされたモデルです。指定のフォーマットでプロンプトを用意しましょう。 prompt = """ 以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。 ### 指示: 入力の文は大喜利のお題です。お題に沿った面白いボケを生成してください。 ### 入力: マジシャンのショーでアシスタントが消えたまま戻ってこない時の一言。 ### 応答: """ tokenizer = AutoTokenizer.from_pretrained("watashiha/Watashiha-Llama-2-13B-Ogiri-sft") input_ids = tokenizer.encode(prompt, return_tensors="pt") 最後に、推論を実行します。 generated_sequences = neuron_model.sample(input_ids, sequence_length=128, top_k=50) output = tokenizer.decode(generated_sequences[0], skip_special_tokens=True) print(output) 推論結果の例 以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。 ### 指示: 入力の文は大喜利のお題です。お題に沿った面白いボケを生成してください。 ### 入力: マジシャンのショーでアシスタントが消えたまま戻ってこない時の一言。 ### 応答: 帰りの支度をしております。 面白いボケは生成されましたでしょうか?プロンプトを変更したり、繰り返し推論を実行しどのようなボケを生成できるか試してみましょう。 他にも、 CyberAgentLM2-7B (CALM2-7B) 、 Stockmark-13b 、 ELYZA-japanese-Llama-2-13b-fast など、Llama2 をベースとしたモデルであれば、Trainium で学習したモデルかGPUで学習したモデルかに関わらず、同様の手順で推論実行可能です。 ここではコンパイルを実行するため inf2.8xlarge を使用しましたが、あらかじめコンパイル済みのモデルを利用することで、推論処理自体はより安価な inf2.xlarge でも実行可能です。 700 億パラメータモデルを用いた推論実行 700 億パラメータのモデルを実行するためには、アクセラレーターメモリの制約上、複数の Inferentia2 によりテンソル並列度を上げて実行する必要があります。ここではカラクリ株式会社が公開している KARAKURI LM 70B Chat v0.1 を inf2.48xlage 上で実行してみましょう。必要な手順は先程の 130 億パラメータモデルの場合と同じです。 inf2.48xlage では Inferentia2 を12 個(Neuronコアを 24 個)搭載しているので、ここでは全ての Neuron コアを活用すべく、 tp_degree=24 と設定しています。 from transformers_neuronx import NeuronAutoModelForCausalLM from transformers import AutoTokenizer model_path = "karakuri-ai/karakuri-lm-70b-chat-v0.1" neuron_model = NeuronAutoModelForCausalLM.from_pretrained( model_path, batch_size=1, tp_degree=24, amp='bf16' ) neuron_model.to_neuron() 先程と同様に、モデルが期待するフォーマットに合わせてプロンプトを用意します。 prompt = """以下は人間とAIアシスタントとの会話です。 Human: こんにちは。 AI: こんにちは、私はAIアシスタントです。何かお手伝いできることはありますか? Human: 週末に日帰りで東京に遊びに行こうと思っています。日帰りなので、短時間で回れるおすすめの観光プランを教えてください。 AI: """ tokenizer = AutoTokenizer.from_pretrained(model_path) input_ids = tokenizer.encode(prompt, return_tensors="pt") 推論実行についても、先程の 130 億パラメータモデルの例と同じです。700 億パラメータということで、より複雑なテキスト生成が実現できていることが分かります。 generated_sequences = neuron_model.sample(input_ids, sequence_length=512, top_k=50) output = tokenizer.decode(generated_sequences[0], skip_special_tokens=True) print(output) 推論結果の例 以下は人間とAIアシスタントとの会話です。 Human: こんにちは。 AI: こんにちは、私はAIアシスタントです。何かお手伝いできることはありますか? Human: 週末に日帰りで東京に遊びに行こうと思っています。日帰りなので、短時間で回れるおすすめの観光プランを教えてください。 AI: 素晴らしいアイデアですね!東京には短時間で回れる多くの観光スポットがあります。たとえば、次のスポットをお勧めします: 皇居 - 東京の美しい庭園と巨大な城を眺めながら散策できます。 浅草寺 - 東京の最も有名な寺院の1つで、伝統的な日本の文化を体験できます。 東京タワー - 東京の街並みを見渡すことができるタワーで、東京タワーの周辺はショッピングや食事に最適です。 原宿&表参道 - ショッピング、ストリートアート、食べ物のための流行の発祥の地です。 明治神宮 - 東京の壮大な神社の1つで、静かで平和な雰囲気があります。 これらのスポットはいずれも都心周辺に位置し、短時間でアクセスできます。また、それぞれのスポットには、観光バス、電車、タクシー、レンタル自転車などを使用してアクセスできます。 同じ Llama2 ベースで 700億パラメータを持つ Swallow-70b-hf も同様に実行可能です。また、株式会社ELYZAでは日本語大規模言語モデル ELYZA-japanese-Llama-2-70b を体験可能なデモサイト を、Amazon EC2 Inf2 インスタンスを用いて運用しています。 本番環境への導入に向けて ここまで Amazon EC2 Inf2 インスタンス上で大規模言語モデルの推論(テキスト生成)を実行する手順について説明してきました。GPU インスタンス上での実行とさほど変わらない手順で実行可能なことがお分かり頂けたと思います。 Transformers NeuronX では、 重みの 8 ビット量子化に対応 しており、量子化する事で 700 億パラメータモデルを tp_degree=8 で実行する事が可能です。この場合、 inf2.48xlarge ではモデルのサービングを 3 ワーカーで、 trn1.32xlarge では 4 ワーカーで運用可能となり、よりコスト性能を重視した運用が可能になります。また、性能向上を求める際の機能として speculative sampling にも対応 しています。 ここでは、実際に本番環境でモデルのサービングを行う際に活用頂ける2つのサービスを紹介します。 Amazon SageMaker LMI コンテナ Amazon SageMaker では、モデルの並列処理と大規模モデル推論用の Large Model Inference (LMI) Containers を提供しています。AWS Inferentia2、Trainium用の LMI コンテナでは、内部に Neuron SDK、Transformers NeuronX ライブラリ、 DJLServing 高性能モデルサーバーを取り込み、SageMaker 上での本番環境での推論運用を実現しています。より詳細については 「 大規模モデル推論コンテナを使って AWS Inferentia2 に大規模言語モデルをデプロイ 」、「 Amazon SageMaker 上で AWS Inferentia2 と AWS Trainium を使って、低コストで高性能な生成系 AI 推論を実現 」をご参照下さい。 Hugging Face Text Generation Inference (TGI) Hugging Face社では、大規模言語モデルの本番推論ワークロードに利用可能な Text Generation Inference (TGI) を提供しています。TGI には最新の Transformers NeuronX ライブラリを搭載し、Trainium、Inferentia2 の高い性能、低いコストを維持したまま Transformers ライブラリを簡単に利用するためのインタフェースである Optimum Neuron と共に、Neuron デバイスに最適化したデプロイ環境を提供しています。「 Deploy Llama 2 70B on AWS Inferentia2 with Hugging Face Optimum 」も併せてご参照下さい。 まとめ 本ブログでは Llama2 ベースの日本語モデルについて取り上げましたが、他の新しいモデルにも順次対応しています。 Transformers NeuronX では、 Mistral-7B 、 MIxtral 8x7B にも対応しており、 Swallow-MS-7b-v0.1 、 Swallow-MX-8x7b-NVE-v0.1 、 karakuri-lm-8x7b-chat-v0.1 といった日本語モデルにも対応可能です。また、2024年 4月に発表された Llama3 8B 、 70B モデルにもいち早く対応し、Llama3 ベースの日本語モデル llama-3-youko-8b も Inferentia2 上で動作可能です。 モデルの対応状況については Neuron ドキュメント および AWS Neuron レポジトリ をご参照ください。また AWS Trainium、Inferentia2 を活用しモデルの開発、運用を行っている企業の活用事例は こちらのリポジトリ 上にまとめていますので合わせてご参照下さい。 本ブログが、AWS Trainium、Inferentia2 を活用して日本語大規模言語モデルを扱う際の道標となれば幸いです。 著者について 常世 大史 は、AWS Annapurna Labs のソリューションアーキテクトです。日本を拠点とし、AWS による買収以前から Annapurna Labs が提供する技術でお客様を支援してきました。ここ最近は、AWS Trainium、Inferentia の技術支援に注力しています。
アバター
アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクトの黒田です。 通信事業者の方々、通信業界に関わられている方々、5G やエッジコンピューティングなどの最新技術の動向にご興味のある方々を主な対象として、2024年4月18日に「テレコム業界向け:Mobile World Congress (MWC) 2024 Recap」をウェビナーで開催しました。 本記事では、当日の内容・動画を皆様にご紹介します。 ウェビナー開催の背景 2024年2月26日から2月29日までスペイン・バルセロナで開催されたテレコム業界最大のイベント Mobile Word Congress (MWC) 2024。AWS は現地にて、昨年に引き続き2回目のブース出展を行いました。通信事業者様やパートナー様と AWS の協業による数々の取り組みがデモンストレーション含め展示されました。今回のウェビナーでは、テレコム業界向けの AWS の取り組みとして、「通信事業者の変革」「産業のデジタル化」「消費者体験の再考」のテーマで、様々な事例をご紹介しました。 1. MWC 2024 における AWS 出展内容のハイライト AWS 技術統括本部 ストラテジックインダストリー技術本部 通信グループ 本部長 山内 晃 資料は こちら からダウンロード頂けます。 まず山内より、今回の出展内容のハイライトとして、MWC 2024 における AWS の取り組みについての概要説明をお届けしました。 今回の最大のトピックは、ちょうど MWC 2024 開幕日に合わせて発表した NTTドコモとのモバイルネットワーク構築に関する取り組みです(*)。こちらは、5G の無線アクセスネットワーク (Radio Access Network / RAN)、コアネットワーク、衛星通信の3要素で構成されています。 (*) 引用元: https://press.aboutamazon.com/aws/2024/2/ntt-docomo-selects-aws-to-deploy-nationwide-5g-open-radio-access-network https://aws.amazon.com/jp/about-aws/whats-new/2024/02/ntt-docomo-selects-aws-to-deploy-nationwide-5g-open-radio-access-network/ まず、5G RAN 領域では、モバイルの基地局を構成するコンポーネントを、Amazon EKS Anywhere というコンテナ基盤を使って日本全国に展開する取り組みが行われています。また基地局だけでなく 5G のコアネットワーク (端末の位置登録、認証、セッション管理などを司るコンポーネント) でも、その一部にオンプレミスとのハイブリッド構成で AWS を活用頂く為の開発も進んでいます。さらに、Amazon が開発中の低軌道衛星ブロードバンド Project Kuiper と提携し、基地局が建てづらい山や島といった地域のエリアカバレッジ向上や、被災地の通信復旧などの取り組みも検討しています。5G におけるモバイル通信そのものが、部分的に AWS 上で稼働するという非常にミッションクリティカルな領域での取り組みとなりますので、引き続きご注目頂ければと思います。 2. 通信事業者の変革 AWS 技術統括本部 ストラテジックインダストリー技術本部 通信グループ 通信ソリューション第一部 ソリューションアーキテクト 黒田 由民 資料は こちら からダウンロード頂けます。 黒田からは、通信事業者の変革をテーマとして、通信事業者のチャレンジ、それらに対するクラウド化されたネットワークへの期待と、AWS がその期待に対し何を提供できるかについてお届けしました。 通信事業者様は、5G に必要不可欠なクラウドプラットフォームの自前構築による煩雑さ、ネットワーク運用の煩雑さ、それらに伴うコスト面での収益化への影響といった様々なチャレンジに直面しております。これらチャレンジに対し、RAN、コアネットワーク、IP Multimedia Subsystem (IMS)、Operations Support System (OSS) /Business Support System (BSS) の各領域の観点から、(1) 5G ネットワークを構築する手法としてのネットワーククラウド化への期待と、(2) これら期待に応える AWS が提供する価値を、MWC 2024 で展示/デモンストレーションされた、AWS が通信事業者様及びパートナー様と協業したソリューション内容を踏まえてご紹介しました。 以下に各領域毎の概要をまとめました。 【RAN】 ネットワークをクラウド化することにより、クラウドからエッジまでの連続性、市場投入時間の短縮、品質運用の高度化、等が期待されています。これらに対する AWS の提供する価値としては、Nokia と協業したソリューション内容を具体例に挙げると、AWS Outposts を活用した RAN アプリのクラウド / エッジでの適材適所の配置、パートナーソリューションの事前インテグレーションによる市場投入の加速、そして生成AI と機械学習を活用し自然言語チャットボットを使った RAN NW 診断とKPI 異常検知が挙げられます。 【コアネットワーク】 コアネットワークは信号やパケットが集約される 5G ネットワークの中枢の為、突発的なリソース調整や、作業ミス影響範囲減少を目的とした人的介入の最小化などがネットワークのクラウド化として期待されます。また違った観点にはなりますが、国際ローミング向けの NW 機能の容易な海外展開も期待されています。これらに対する AWS の提供する価値としては、(1) LG U+ と協業したソリューション内容からは、時系列予測と機械学習をそれぞれ使ったトラフィックの予測と異常検知から、パイプラインを介しトラフィックスコアに応じて、自動的かつ柔軟にリソースを増減できる仕組みが挙げられます。また、(2) SK Telecom との協業からは、国際ローミングユーザーの訪問先近くの AWS リージョンに User Plane Function (UPF) を配置しユーザートラフィックをローカルブレークアウトさせることで、ユーザーのウェブアクセス遅延時間を最小化し、顧客体験の向上に寄与している点も挙げられます。 【IMS】 IMS は音声サービスを司るがゆえに、ネットワークのクラウド化による迅速な障害発見や是正処置など品質・運用の高度化、等が期待されています。対する AWS の提供する価値としては、TELUS と協業したソリューション内容の具体例から、障害発生時のリアルタイムアラート、生成 AI を用いて運用者への是正アクション推奨とクローズドループを使った是正処置、そして生成 AI チャットインターフェースを介し運用者が自然言語を使ってのネットワークのオンデマンドオブザーバビリティが挙げられます。 【OSS/BSS】 OSS/BSSでは、ネットワーククラウド化によりサービス多角化と並行した TCO 削減、等が期待されています。対する AWS の提供する価値として、Amdocs と協業したソリューション内容の具体例から、スタジアム向けのプライベートネットワーク接続サービスのライフサイクル管理において、生成 AI とAWSサービスを組み合わせて導入から運用、インシデント対応、予防保守までと管理範囲を多角化しながら、シームレスに自動化することで TCO の削減に寄与していることが挙げられます。 3. 産業のデジタル化 AWS 技術統括本部 ストラテジックインダストリー技術本部 通信グループ 通信ソリューション第二部 ソリューションアーキテクト 陳 誠 資料は こちら からダウンロード頂けます。 陳からは、AWS が通信事業者様やパートナー様と協業して、金融、農業、製造、運用、医療、教育の各分野における産業のデジタル化の取り組みをお届けしました。これら取り組みは今回 MWC 2024 にて多数の展示とデモンストレーションを介して紹介されました。 以下に各分野での概要をまとめました。 【金融: Network API を活用したセキュアなデジタル認証】 API プラットフォームプロバイダである Axiata Digital Labs と協業し、CAMARA ベースの 通信事業者 API フェデレーションプラットフォーム Sinergi を開発。Sinergi は、インドネシアの主要通信事業者である XL Axiata と Indosat Ooredoo Hutchison の Network API を AWS 上で 1つのポータルに統合しています。フィンテック企業等はこの単一の統合ポイントから複数の通信事業者の API にアクセスできるようになり、例えば SIM スワップ API を活用したデジタル本人確認などのサービスを提供できます。 【農業: 5G と MEC を活用した農業 DX】 カナダの通信事業者 TELUS と協業し、5G、生成AI などの最新技術を活用した農業向けのワンストッププラットフォームを提供。農家が AI チャットボットとの会話を通して、ドローンを用いた除草ソリューションの提案を受けたり、農作物の健康状態のモニタリングを実現したりなど、生産性向上や労働時間の削減に寄与しています。 【製造: 製造業におけるスマートな欠陥検出】 アメリカの製造業大手の JABIL と協業し、プライベート5G、エッジコンピューティング、コンピュータビジョン、ワイヤレスカメラを活用し、製造ラインでのリアルタイム製品欠陥検出を実現。高速プライベート 5G ネットワークと AWS Snowball Edge に配置した画像解析モデルによって、組立ラインのリアルタイムのカメラ映像を平均 60ミリ秒の遅延で解析することで、組立終了後の検査不合格を大幅に削減し、生産性向上に寄与しています。 【運輸: 港湾のプライベート 5G ネットワークの収益化】 港湾向けプライベート 5G ネットワークを提供する Verizon Business Group と協業し、入港時の航運会社向けに B to B to X のマルチテナントプラットフォームを開発。例えば入港者はタブレットでアプリを起動し、ビデオカメラによる「作業者安全検査」やドローンによる「在庫検査」などのサービスを発注、注文に基づいてプライベート 5G ネットワークおよび関連のビデオ分析やドローン監視などのサービスがユーザーテナント内でデプロイされます。このソリューションは航運会社に便利なサービスを提供しつつ、マルチテナントのフレームワークでコスト削減を実現でき、Verizon Business Group にとっても収益化に繋がります。 【医療: コネクティッド医療現場】 5G ソリューションプロバイダの Celona と協業し、プライベート 5G と Multi Operator Exchange (MOXN) ソリューションを使い、病院キャンパス内カバレッジを拡大させ通信環境を改善。プライベート 5G によるキャンパス内のプライベート接続だけでなく、MOXN と T-Mobile の Build Your Own Coverage の仕組みを利用し、来訪者や持ち込みモバイル向けにもパブリック接続の屋内カバレッジを増強しました。その結果、医療スタッフ間の音声コミュニケーションや患者モニタリング向けデバイスの通信品質が向上し、従来のシステム (分散アンテナシステム) と比べて TCO を40~60% 低く抑えています。 【教育: 没入型ゲームによる医療教育の変革】 アメリカのソリューションプロバイダの Level Ex が、AWS のエッジコンピューティングサービスの一つである AWS Wavelength を利用し、低遅延・高帯域のネットワーク環境上で AR/VR を活用した医療トレーニングソリューションを開発。ソリューションを GPU ベースのエッジコンピューティングに配置することで 30ミリ秒の低遅延で 4K 映像の仮想トレーニング環境を構築、これにより AR/VR を介してゲームのように手術の模擬練習ができ、臨場感と操作性を高めたソリューションとなっています。 4. 消費者体験の再考 AWS 技術統括本部 ストラテジックインダストリー技術本部 通信グループ 通信ソリューション第一部 ソリューションアーキテクト 小林 新一 資料は こちら からダウンロード頂けます。 小林からは、消費者体験の向上をテーマとした AWS の取り組みをお届けしました。こちらでは、生成 AI によるモバイルデバイス顧客体験強化と、統合型スマートホームソリューションの2つの事例を通じて、AWS がネットワーク、デバイス、ホームデータの統合的な活用により、ユーザーにとって利便性の高いサービスを提供していることをご紹介しました。 以下に2つの事例の概要をまとめました。 【生成 AI によるモバイルデバイスの顧客体験強化】 モバイルデバイスにおいてゲームは顕著なユースケースの一つです。モバイルゲームではネットワーク越しに他のユーザと対戦や交流することが特徴のため、ユーザの操作性に影響するネットワークの低遅延性や、モバイルデバイスの安定性が重要な体験要素になります。これまで問題が発生した際のネットワーク障害調査やデバイス診断には通常数週間以上かかることが課題でした。Mavenir と協業したネットワーク診断ソリューションでは、⽣成 AI を活⽤したネットワーク障害時のデバッグファイルの解析、過去の障害ケースとの照合、AIチャットボットとの会話による問題特定、解決方法の提示を受けることができ、ネットワーク障害の調査・解決までの時間を短縮できます。また MCE と協業したモバイルデバイス診断アプリでは、生成 AI チャットボットが組み込まれており、デバイスの不調というユーザの NPS (Net Promoter Score) 低下の要因を緩和するソリューションが提案され、例えばゲーミフィケーションされたデバイス操作テストや、AIによる端末のアップグレードの提案など新たな体験をユーザに提供します。 【統合型スマートホームソリューション】 スマートホーム市場には多様な製品が存在するがゆえに、異なるプラットフォームとサイロ化されたデータが存在するという課題があります。今回、TELUS と AWS の協業により、多様な IoT デバイスを統合的に管理するソリューションを開発しました。BLE、ZigBee、Wi-Fi、Matter など複数の通信プロトコルに対応し、異なるホームデバイスの容易な追加や、マルチ音声アシスタントによる制御も実現しています。また生成 AI チャットボットとの会話により、デバイスをコントロールしたり、利用パターンに基づいたルーチンを簡単に構築することができます。一つのコントロールパネルから全てのデバイスを制御・監視し、トラブルシューティングすることも可能です。センサーデータはヘルスケアとも関係が深く、宅内の各種センサーデータを集約することで、例えば生活や健康状態を包括的に把握したり、転倒検知によって高齢者のサポートをしたりすることも可能です。このように両社のコラボレーションにより、デバイスの統合管理、AI 活用によるユーザー体験の最適化、ヘルスケア機能の強化など、スマートホームの体験を大幅に変革する先進的な取り組みが実現しています。 まとめ 本ウェビナーでは、2024 年 4 月 18 日に開催した「テレコム業界向け:Mobile World Congress (MWC) 2024 Recap」の振り返りとして、開催概要や発表の見どころ、お客様事例をご紹介しました。セミナーにご参加いただいた方、誠にありがとうございました。ご参加頂けなかった方も、このブログから動画や資料を参照いただき、今後の AWS 活用の参考としてお役立ていただければ幸いです。ご質問やご要望がございましたら、 お問い合わせページ 、もしくは担当営業までご連絡をお願いします。 このブログの著者 黒田 由民 (Yoshimi Kuroda) 技術統括本部 ストラテジックインダストリー技術本部 通信グループ 通信ソリューション第一部 ソリューションアーキテクト
アバター
Amazon Bedrock の Knowledge base 機能 を使用すると、 Amazon Bedrock の 基盤モデル(FM)に自社のデータを安全に接続して、検索拡張生成 (RAG) を行うことができます。 検索によって取得した自社データを利用することで、 FM を再学習することなく、より関連性の高く、文脈に即した正確な応答を生成できるようになります。 この記事では、Amazon Bedrock の Knowledge base の RetrieveAndGenerate API に特化した2つの新機能について説明します。Knowledge base から取得する検索結果の最大数の設定と、Knowledge base のプロンプトテンプレートを使用したカスタムプロンプトの作成です。これらは検索タイプとともにクエリオプションとして指定できるようになりました。 新機能の概要と利点 Knowledge base から取得する最大結果数(ソースチャンクの最大数)を指定するオプションでは、ベクトルストアから取得し、回答生成のために FM に渡される検索結果の数を制御できます。これにより、生成のために提供される背景情報の量を、複雑な質問には多く、簡単な質問には少なくカスタマイズできます。この機能では最大 100 件の結果を取得できます。 このオプションは、関連する文脈の可能性を高め、それによって生成された応答の精度を上げ、ハルシネーション(幻覚)を減らすのに役立ちます。 カスタムナレッジベースのプロンプトテンプレートでは、デフォルトのプロンプトテンプレートを独自のものに置き換えて、応答生成のためにモデルに送信されるプロンプトをカスタマイズできます。これにより、ユーザーの質問に応答する際の FM のトーン、出力形式、動作をカスタマイズできます。 このオプションを使用すると、医療や法律などの業界や分野に合わせて用語を微調整できます。さらに、特定のワークフローに合わせたカスタム指示や例を追加できます。 以下のセクションでは、 AWS マネジメントコンソール または SDK を使用してこれらの機能を使用する方法について説明します。 前提条件 以下の手順を進めるためには、既存の Knowledge base が必要です。Knowledge base を作成する手順については、 Knowledge baseを作成する をご覧ください。 コンソールからソースチャンクの最大数を設定する コンソールでソースチャンクの最大数オプションを使うには、次の手順に従ってください: Amazon Bedrock コンソール画面で、左側のナビゲーションペインから Knowledge base を選択します。 作成済みの Knowledge base を選択します。 Test Knowledge base を選択します。 設定アイコンを選択します。 Knowledge base のテストを開始する前に、 Sync data source を選択してください。 Configurations の、 Search Type については、ユースケースに合わせて適切な検索タイプを選択してください。 この記事では簡単のためデフォルトの検索を使用しますが、ユースケースに応じてセマンティック検索やハイブリッド検索を利用することもできます。ハイブリッド検索の詳細については、 Knowledge bases for Amazon Bedrock now supports hybrid search をご覧ください。 「 Maximum number of source chunks 」を展開し、取得するソースチャンクの最大数を設定してください。 新機能の価値をデモンストレーションするため、生成されたレスポンスの精度を高める方法の例を示します。 Amazon の Knowledge base を作成するためのソースデータとして、Amazon の年次報告書と株主への手紙 ( 2023 年の Amazon 10-K 文書 、 2022 年の株主への手紙 、 2021 年の株主への手紙 、 2020 年の株主への手紙 、 2019 年の株主への手紙 ) を使用しました。 実験用のクエリは「Amazon の年間収益が 2,450 億ドルから 4,340 億ドルに増加したのはいつの年ですか?(”In what year did Amazon’s annual revenue increase from $245B to $434B?”)」です。 この質問に対する正しい回答は、「 Amazon の年間売上高は 2019 年の 2,450 億ドルから 2022 年には 4,340 億ドルに増加しました」です。これは、 ナレッジベース内の文書 に基づいています。この例では、ナレッジベースから取得した文脈情報に基づいて最終的な回答を生成するために、Claude v2 を言語モデルとして使用しました。また、Claude 3 Sonnet と Claude 3 Haiku も言語モデルとしてサポートされています。 別のクエリを実行し、異なる設定での取得の比較を検証しました。同じ入力クエリ (“Amazon の年間収益が 2,450 億ドルから 4,340 億ドルに増加したのはいつの年ですか?”) を使用し、結果の最大件数を 5 に設定しました。 次のスクリーンショットに示すように、生成されたレスポンスは「申し訳ありませんが、このリクエストに対応できません (“Sorry, I am unable to assist you with this request.”)」でした。 次に、最大結果を 12 に設定し、同じ質問をします。生成された応答は「 Amazon の年間売上高は、2019 年の 2,450 億ドルから 2022 年には 4,340 億ドルに増加しました(”Amazon’s annual revenue increase from $245B in 2019 to $434B in 2022.”)」でした。 この例で示したように、検索結果の件数に基づいて正しい回答を取得できました。最終的な出力が参照したデータソースの詳細を確認したい場合は、 Show source details を選択し、Knowledge base に基づいて生成された回答を検証してください。 Knowledge base プロンプト テンプレートのカスタマイズ (コンソール) ユースケースに応じて、デフォルトのプロンプトをカスタマイズすることもできます。コンソールでこれを行うには、以下の手順に従ってください。 前のセクションの手順を繰り返して、Knowledge base のテストを開始します。 Generate responses を有効にします。 レスポンス生成のためのモデルを選択します。 この記事では、例として Claude v2 モデルを使用しています。Claude 3 Sonnet および Haiku モデルも利用可能です。 Apply を押します。 モデルを選択すると、 Configuration の下に Knowledge base prompt template という新しいセクションが表示されます。 Edit を選択してプロンプトをカスタマイズします。 プロンプトテンプレートを調整して、Knowledge base から取得した結果を使用してコンテンツを生成する方法をカスタマイズします。 この記事では、カスタムのプロンプトと Amazon の財務諸表を使用して「財務アドバイザー AI システム」を作成する例をいくつか示しました。プロンプトエンジニアリングのベストプラクティスについては、 プロンプトエンジニアリングのガイドライン を参照してください。 さまざまな方法でデフォルトのプロンプトテンプレートを自身にカスタマイズし、レスポンスを確認します。 デフォルトのプロンプトでクエリを試しましょう。「Amazon の 2019 年と 2021 年の収益は何でしたか?(”What was the Amazon’s revenue in 2019 and 2021?”)」と質問します。以下が結果です。 出力結果から、Knowledge base から取得したデータに基づいてレスポンスを生成していることがわかります。 引用リンクも参考として出力されています。 例えば出力形式を JSON として標準化するなど、生成されたレスポンスのフォーマットに関する追加の指示を与えたい場合、プロンプトテンプレートの一部として、情報を取得した後の別のステップとしてこれらの指示を追加することができます。 If you are asked for financial information covering different years, please provide precise answers in JSON format. Use the year as the key and the concise answer as the value. For example: { year:answer } 最終的な回答が、JSON 形式になっていることがわかります。 プロンプトをカスタマイズすることで、生成される回答の言語も変更できます。次の例では、モデルにスペイン語で回答を提供するよう指示しています。 デフォルトのプロンプトから $output_format_instructions$を削除すると、生成された回答からの引用が削除されます。 以下のセクションでは、SDK でこれらの機能を使用する方法について説明します。 SDK を使用してソースチャンクの最大数を設定する SDK で最大結果数を変更するには、次のような構文を使用します。この例では、クエリは「Amazonの年間収益が2,450億ドルから4,340億ドルに増加したのは何年ですか?(”In what year did Amazon’s annual revenue increase from $245B to $434B?”)」です。正しい回答は「Amazonの年間収益は2019年の2,450億ドルから2022年の4,340億ドルに増加しました。(”Amazon’s annual revenue increase from $245B in 2019 to $434B in 2022.”)」となります。 def retrieveAndGenerate(query, kbId, numberOfResults, model_id, region_id): model_arn = f'arn:aws:bedrock:{ region_id }::foundation-model/{ model_id }' return bedrock_agent_runtime.retrieve_and_generate( input ={ 'text': query }, retrieveAndGenerateConfiguration ={ 'knowledgeBaseConfiguration': { 'knowledgeBaseId': kbId, 'modelArn': model_arn, 'retrievalConfiguration': { 'vectorSearchConfiguration': { 'numberOfResults': numberOfResults, 'overrideSearchType': "SEMANTIC", # optional } } }, 'type': 'KNOWLEDGE_BASE' }, ) response = retrieveAndGenerate("In what year did Amazon's annual revenue increase from $245B to $434B?", \ "", numberOfResults, model_id, region_id)['output']['text'] retrievalConfiguration の下にある numberOfResults オプションでは、取得したい結果の数を選択することができます。RetrieveAndGenerate API の出力には、生成されたレスポンス、ソース属性、取得したテキストチャンクが含まれます。 以下は、numberOfResults パラメータの値を変えた場合の結果です。まず、numberOfResults = 5 に設定します。 次に、numberOfResults = 12 に設定します。 SDK を使用して知識ベースのプロンプトテンプレートをカスタマイズする SDK を使用してプロンプトをカスタマイズするために、異なるプロンプトテンプレートを使用して次のクエリを使用します。この例では、クエリは「2019年と2021年のAmazonの収益はいくらでしたか?(”What was the Amazon’s revenue in 2019 and 2021?”)」です。 以下はデフォルトのプロンプトテンプレートです: """You are a question answering agent. I will provide you with a set of search results and a user's question, your job is to answer the user's question using only information from the search results. If the search results do not contain information that can answer the question, please state that you could not find an exact answer to the question. Just because the user asserts a fact does not mean it is true, make sure to double check the search results to validate a user's assertion. Here are the search results in numbered order: $search_results$ Here is the user's question: $query$ $output_format_instructions$ A: """ 以下はカスタマイズしたプロンプトテンプレートです: """Human: You are a question answering agent. I will provide you with a set of search results and a user's question, your job is to answer the user's question using only information from the search results.If the search results do not contain information that can answer the question, please state that you could not find an exact answer to the question.Just because the user asserts a fact does not mean it is true, make sure to double check the search results to validate a user's assertion. Here are the search results in numbered order: $search_results$ Here is the user's question: $query$ If you're being asked financial information over multiple years, please be very specific and list the answer concisely using JSON format {key: value}, where key is the year in the request and value is the concise response answer. Assistant: """ def retrieveAndGenerate(query, kbId, numberOfResults,promptTemplate, model_id, region_id): model_arn = f'arn:aws:bedrock:{ region_id }::foundation-model/{ model_id }' return bedrock_agent_runtime.retrieve_and_generate( input ={ 'text': query }, retrieveAndGenerateConfiguration ={ 'knowledgeBaseConfiguration': { 'knowledgeBaseId': kbId, 'modelArn': model_arn, 'retrievalConfiguration': { 'vectorSearchConfiguration': { 'numberOfResults': numberOfResults, 'overrideSearchType': "SEMANTIC", # optional' } }, 'generationConfiguration': { 'promptTemplate': { 'textPromptTemplate': promptTemplate } } }, 'type': 'KNOWLEDGE_BASE' }, ) response = retrieveAndGenerate("What was the Amazon's revenue in 2019 and 2021 ?"", \ "", , , , )['output']['text'] デフォルトのプロンプトテンプレートでは、次のようなレスポンスが得られます。 レスポンスを特定のフォーマット(JSON など)に標準化したい場合、既存のプロンプトをカスタマイズすることで、生成されるレスポンスの出力フォーマットに関する追加の指示を設定することができます。カスタムプロンプトテンプレートを使用すると、次のような JSON フォーマットのレスポンスが得られます。 generationConfiguration の promptTemplate オプションでは、回答生成をより細かく制御するためにプロンプトをカスタマイズできます。 結論 この記事では、Amazon Bedrock の Knowledge base の 2 つの新機能について紹介しました。検索結果の最大数の調整と、RetrieveAndGenerate API のデフォルトプロンプトテンプレートのカスタマイズです。これらの機能をコンソールや SDK で設定して、生成されたレスポンスのパフォーマンスと精度を向上させる方法を示しました。最大結果数を増やすことでより包括的な情報が得られ、プロンプトテンプレートをカスタマイズすることで、特定のユースケースにより適合するように FM への指示を微調整できます。これらの機能強化により、柔軟性と制御性が向上し、RAG ベースのアプリケーションにおいてテーラーメイドのエクスペリエンスを提供できるようになります。 AWS 環境での実装を開始するための追加リソースについては、以下を参照してください。 ユーザーガイド: Amazon Bedrock の知識ベース YouTube 動画: RAG を使用して生成 AI アプリケーションのレスポンスを改善する GitHub リポジトリのコードサンプル: Amazon Bedrock Knowledge base – RAG ワークフローを構築するためのサンプル 翻訳は Solutions Architect 小林が担当しました。原文は こちら をご覧ください
アバター
このブログは 2024 年 3 月 27 日に 執筆された内容を日本語化したものです。原文は こちら をご参照ください。 生成 AI は急速に産業を変革しており、先週サンフランシスコのモスコーンコンベンションセンターで開催された Game Developer Conference (GDC) 2024 でもその地殻変動は確実に感じられました。 Amazon Web Services (AWS) for Games はクラウドベースのゲーム開発向け最新テクノロジーを紹介するだけでなく、 2024 年版「 AWS ゲーム開発者向け生成 AI ガイド 」を含む、開発者向けの生成 AI を推し進める資料にハイライトを当てました。 この新しい電子書籍では、生成 AI がゲーム開発の高速化からより魅力的なプレイヤー体験の実現、パブリッシュ作業の合理化に至るまで、イノベーションの新時代を引き起こしている方法を掘り下げています。これはスタジオに実用的な生成 AI 機能に関する背景やガイダンスを提供し、テクノロジースタックを検討し、ゲーム開発者の使用事例を発見するために作られました。ぜひ チェック して下さい。以下では GDC 2024 での AWS for Games の活動をまとめています。 AWS デモ GDC を通し、Play & Learn ラウンジには AWS の生成 AI 専門家が常駐し、大規模言語モデル (LLM) と生成 AI サービスが、非プレイヤーキャラクター ( NPC ) をよりダイナミックで賢いものにする方法を実演しました。 Titan Image のデモ では、生成 AI と Amazon Bedrock を使って、実際に画像アセットを作成するタスクを解決するための高度な手法を紹介しました。 ダイナミックな NPC との会話デモ では、Epic Games の Unreal Engine MetaHuman を使って生成 AI アプリケーションとして NPC を構築する例「 Ada 」を紹介し、NPC とプレイヤーとの対話をよりダイナミックで賢いものにし、Amazon Bedrock が支える生成 AI によってプレイヤー体験を強化しました。 Gilded Mansion のデモ では、AWS Bedrock と Anthropic の Claude を使って構築された謎解きゲームを紹介し、プレイヤーが事件の手がかりを探すためにゲーム内のキャラクターと会話する様子を見せました。Play & Learn ラウンジを訪れた人々は、 Amazon Luna からストリーミングされるビデオゲームをプレイしながら、開発プロセスに関わるスタジオやサービスについて学ぶこともできました。 AWS セッションのハイライト ゲームの世界で無限にコンテンツを作る、生成 AI の活用 : Saltwater Games が、無料プレイ可能なポストアポカリプスなオープンワールドクラフト・サバイバルゲーム「 Resurgence 」の生成 AI アーキテクチャについて詳しく解説します。Amazon Bedrock で動作する同作の ThorAI の技術や、コンパニオンモバイルゲーム「 Missing 」のフルボイス化された対話式のゲーム内 NPC について深く掘り下げます。さまざまな生成 AI サービスとソリューションの実際の使用例を探ります。 ゲームにおけるコンテンツモデレーションへの生成 AI 活用 : 機械学習と生成 AI が、音声チャット、テキストメッセージ、画像、動画、ライブストリーミングなどのコンテンツモデレーションに活用されています。人間のモデレーターがこの技術を使って意思決定の効率を高め、手動レビューが必要な有害コンテンツの量を最小限に抑える方法や、健全なゲームコミュニティを育成しながらプレイヤーのエンゲージメントを維持する方法を紹介します。 「 Baldur’s Gate 3 」から生み出される魔法のデータの捕捉 : 「 Baldur’s Gate 3 」はプレイヤーの選択によって大きく影響を受ける、複雑なストーリーラインに基づいて作られています。 Larian Studios がプレイヤーの位置や個別のストーリーを通る流れを表す複雑な状態セットの違いを捕捉する為に、AWS を導入した方法を探ります。ユーザーがアップロードした何百万ものクロスセーブの処理からゲームプレイ分析に至るまで、これらのデータ捕捉システムがプレイヤーと開発者の両方にどのようにサービスを提供し、早期アクセスリリースから 3 年後の本リリースが大成功するまでどのように拡張されたかをご覧ください。 2023 年リリースの No.1 カジュアルゲーム「 MONOPOLY GO! 」の構築とスケーリング : Scopely の「 Monopoly Go! 」は 2023 年 4 月にリリースされ、すぐに世界で最も人気のカジュアルモバイルゲームになり、6 か月で 10 億ドルの収益を上げました。このゲームのアーキテクチャと設計の考え方、スケーリングに使われた AWS サービス、学んだ教訓についてお話しします。 Bungie 創設者 Alexander Seropian が語るゲーム開発の未来 : Look North World 創設者で Bungie 創設者でもある Alexander Seropian 氏を迎え、フォートナイト ユニバースで新しい体験を提供するために Unreal Editor for Fortnite (UEFN) を使って開発を進める同社について、詳細をお話頂きます。また、開発キャリアを通して学んだ教訓、新しいアプローチが生み出す機会、クラウドでの構築とゲームの面白さに注力することの重要性についても説明します。 プロダクトマネージャーのジレンマ – ライブゲームの管理における健全なバランスの取り方 : プロダクトマネージャーはリソースの配分と時間の使い方をより効率的にしなければなりません。ライブゲームの管理には、成熟したプレイヤーを常に新しいコンテンツで引き留め、オファーをパーソナライズし、新規プレイヤーを惹きつけ、できるだけ早くコアループに誘導することのバランスが必要です。CleverTap Gaming と AWS for Games から、ゲームチームが LiveOps をどのように推進し、ゲームを管理するかを選択する際のアプローチの概要を紹介します。 コミュニティクラブハウス開発者サミット : 安全で社会的なゲームプラットフォームの構築 : Netflix Games の信頼と安全に関する責任者である Christina Camilleri 氏、Roblox の信頼と安全管理に関するシニアディレクターである Joel Silk 氏、Keywords Studios の信頼と安全に関する責任者である Kaila Jarvis 氏、Spry Fox の Chief Creative Officer の Daniel Cook 氏、そして AWS の EMEA 地域 Game Tech 事業戦略責任者 Shayan Sanyal 氏を迎え、「安全性を事後対応ではなく、プラットフォーム設計に統合したらどうなるか」という重要な問いについて深く議論します。意図して不正利用を防止する機能を備えたプラットフォームが、プレイヤー満足度の向上、プレイヤーの滞留と魅力の促進にどのように役立つかを探ります。 AWS イベント 月曜日の夜、AWS、Amazon Games、Women in Games International (WIGI) は共同でミナギャラリーで Women in Games イベントを開催しました。WIGI の CEO、Joanie Kraut 氏が進行するパネルディスカッションでは、Tiny Rebel Games の CEO、Susan Cummings 氏、Maximum Entertainment の CEO、Christina Seelye 氏、Netflix Games Studio のリクルーター、Marie Ablaza 氏から洞察を得ました。このイベントは業界の仲間と交流する機会となると共に、ゲーム業界で女性や女性であることを自認する人々に多様性と包括性、機会を広げる事を促進した人の功績を称えるものでした。 水曜日の夜には AWS for Games パートナーショーケース が開催され、AWS の理念を主導するリーダー、ゲームスタジオ、テクノロジーパートナーが一堂に会し、今日のゲームを構築、革新、成長させるための最新のゲームテクノロジーについて議論しました。このイベントでは、生成 AI、クラウドゲーム開発、ゲームバックエンドの最新トレンドと技術について、30 分間のパネルセッションが行われました。スピーカーには、AAA 級スタジオの Epic Games と Warner Bros Games Avalanche Software の代表者や、Sprocket Games や UneeQ などの革新的なスタートアップ企業の代表者が含まれていました。 パートナーに関するニュース Heroic Labs は、業界をリードするゲームサーバー「 Nakama 」と AWS の専用ゲームサーバー管理サービス Amazon GameLift との、オープンソースのネイティブ統合を発表しました。この直接的な統合により両サービスの強みが融合し、ゲーム開発者向けのシームレスで強力なプラットフォームが実現し、プレイヤーに比類のない体験を提供できるようになります。開始方法と、セッションベースのマルチプレイヤーを新たな高みに引き上げる方法を ご確認下さい 。 また AWS は Pragma を正式に AWS Select Technology パートナーに指定しました。この発表に関連してPragma の CTO である Chris Cobb 氏は、「 AWS エコシステムとの深い統合により、スタジオに対して高速で信頼性の高いデプロイ、テスト、モニタリングを提供できるようになった 」と 述べています 。 新しいソリューションのリリースとアップデート 生成 AI AWS は 2 つの新しい生成 AI ソリューションをリリースしました。「 Guidance for Dynamic Non-Player Character (NPC) Dialogue on AWS 」( サンプルコード ) は、Unreal Engine MetaHuman、大規模言語モデルオペレーション (LLMOps)、生成 AI を使って、NPC とそれに関連するインフラストラクチャを自動的に作成するプロセスを支援し、NPC の会話能力を向上させます。パートナーソリューション「 PlusMusic Adaptive Music Platform 」は、AI によって音楽をムード、テーマ、体験にマッピングし、デジタルワールドに動的で没入感のある音響空間を作成するのを支援します。開発者は 37 万 5 千曲以上のフルライセンスされたトラックをライブラリから選択でき、音楽ライセンスの手続きが簡素化され時間を節約できます。 GDC で生成 AI ソリューションを紹介したことに加え、 AWS for Games はゲームの構築、実行、成長を支援するための提案とアップデートをいくつか発表しました。詳細な解説と適用例は以下の通りです。 コミュニティヘルス 「 Guidance for Responsible Content Moderation with AI Services on AWS 」 ( サンプルコード ) は、他の方法に比べてより正確でコスト削減できる AI を使ったユーザー生成コンテンツ (UGC) のモデレーションを実演します。 パートナーソリューション「 GGWP Platform 」は、ゲームコミュニティを保護・育成し、よりポジティブなプレイヤー体験を創出するための直感的なツールを提供します。 一元的なゲーム分析 パートナーソリューション「 ClickHouse Cloud 」は、膨大なデータ量とリアルタイムクエリレスポンスに対応した、極めて高速、シームレス、スケーラブルで、使いやすいオンライン分析データベースです。 パートナーソリューション「 GameAnalytics Data Suite 」は、開発者が独自のデータパイプラインを構築する手間を省き、包括的で費用対効果の高いデータソリューションを提供します。 セッションベースゲームのインフラ 「 Guidance for Game Server Hosting Using Agones and Open Match on Amazon EKS 」 ( サンプルコード ) は、グローバルゲームサーバーの設定を自動化し、Agones や OpenMatch といったオープンソースフレームワークを Amazon Elastic Kubernetes Service (Amazon EKS) 上に構成するための手順を示します。 「 Guidance for Multiplayer Session-Based Game Hosting on AWS 」( アーキテクチャと サンプルコード がアップデートされました ) は、Amazon GameLift を使ったグローバルスケールのマルチプレイヤーゲーム開発を開始するのに役立ち、今回クロスプラットフォームサポートに合わせて Custom Game Backend Framework と統合されました。 プレイヤーインサイト 「 Guidance for AI-Driven Player Insights on AWS 」 ( サンプルコード ) は、ラベル付きプレイヤーデータを取り込み、プレイヤー行動を予測する最適な機械学習モデルを自動的に構築、トレーニング、チューニング、デプロイするエンドツーエンドの機械学習パイプラインを構築するプロセスを自動化します。 バージョン管理とデジタルアセット管理 「 Guidance for Building Perforce Helix Core on AWS 」( アーキテクチャがアップデートされました ) は、ゲーム開発者が人気のバージョン管理ツール「 Perforce Helix Core 」を、高い可用性を持つ複数の AWS リージョンにまたがってデプロイするのを助けます。これにはオンプレミスデータセンターやリモートクライアントからの安全な接続も含みます。 「 Guidance for Intelligent Identification of 2D/3D Assets on AWS 」は、AI/ML を使って 2D/3D アセットを自動的に識別・管理する事で、ゲームスタジオがこれらを手動で処理するのに比べて時間を節約し、正確性を高める事を助けます。 ワークステーション 仮想デスクトップのパートナーソリューション「 HP Anyware with Epic Games Unreal Engine 5 for Windows 2022 」は、オンデマンドでゲーム開発の最新ソリューションをもたらします。 AWS for Games、お客様、パートナー、そして参加者の皆様のおかげで、今年の GDC は大成功を収めることができました。心から感謝致します! 翻訳はソリューションアーキテクトの長田が担当しました。
アバター
 こんにちは。ソリューションアーキテクト (以下 SA) の高野です。  2024 年 4 月 25 日に「 AWS 春の Observability 祭り 2024 〜Observability 獲得までの旅〜 」と題したイベントを開催しました。昨年秋に実施させていただいた AWS 秋のObservability 祭り以来の Observability をテーマにしたイベントになります。ご参加いただきました皆様には、改めて御礼申し上げます。昨年の開催報告ブログは こちら 。  本ブログでは、その内容を簡単にご紹介しつつ、発表資料を公開致します。今回は、Observability の獲得プロセスをテーマに様々なセッションを行いました。Observability 獲得の全体像を俯瞰し、各ステップで具体的に役立つ AWS のサービス、AWS における Observability のベストプラクティスと最新のアップデートをご紹介しました。システムに Observability を獲得したい方はぜひご確認下さい! セッションの紹介 Observability ジャーニーの全体像 アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 津郷 光明 資料ダウンロード    セミナー開始は、SA 津郷より、Observability 獲得プロセスの全体像ということで、「何から始めればいいのか?」「どこを目指せばいいのか?」という疑問に対する解決のヒントになる AWS Observability Maturity Model を紹介しました。AWS Observability Maturity Model で定義している 4 つの成熟度のステージとその内容を紹介しました。皆様が現状の取り組んでいるレベルがどのステージなのかご確認いただき、次に目指すべきステージとその内容を把握することで、ロードマップ策定に役立てていただければと考えております。また、Observability に取り組むにあたり、大事な考え方である「無理なく・必要な場所から取り組む」、「システムの実装だけで終わりではない」、「継続的な取り組みが大切」というメッセージをお伝えしました。 Observability ジャーニーを実現するための AWS サービス:CloudWatch 編 アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 津和崎 美希 資料ダウンロード    次に、SA 津和崎より、AWS Observability Maturity Model の各ステージで利用できる Amazon CloudWatch 関連のサービスを紹介しました。テレメトリーデータを収集するサービスとして、CloudWatch の基本のサービスである CloudWatch Metrics (メトリクス)、CloudWatch Logs (ログ)、 AWS X-Ray (トレース) を紹介しました。収集したテレメトリーデータを分析するために、X-Ray のトレースマップから、レイテンシーやエラー率と言ったメトリクスを確認したり、CloudWatch Logs Insights に画面遷移して、根本原因を調査することができることを例示しました。次に、テレメトリーデータをもとに異常検知する CloudWatch Anomaly Detection や、機械学習で運用データやアプリケーションのメトリクスやイベントを分析し、通常の運用パターンから逸脱する動作を特定でき、現在及び将来の問題に対処するためのレコメンデーションを提示してくれる Amazon DevOps Guru を紹介しました。AWS では各ステージで適したサービスを用意していますので、AWSでのシステムにおける Observability を始める最初の選択肢として CloudWatch や X-Ray の利用を検討いただければと考えております。 Observability はじめの一歩 CloudWatch Synthetics アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 堀 貴裕 資料ダウンロード    SA 堀より、Observability を獲得するために何から始めるといいか?という問いをテーマに、アプリケーションになるべく手を入れずにユーザ視点でアプリケーションが正常性を監視できる外形監視サービスである Amazon CloudWatch Synthetics を Demo を交えて紹介しました。CloudWatch Synthetics はよくあるユースケースではブループリントが用意されており、コーディングなしで外形監視を行うことができるサービスです。是非、何から始めるか迷われている方は、CloudWatch Synthetics を使って、自身のシステムの外形監視から始めてみてはいかがでしょうか? Observability ジャーニーを実現するための AWS サービス:OSS 編 アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 藤原 和弘 資料ダウンロード    SA 藤原より、AWS Observability Maturity Model の各ステージで利用できる Open-source Managed Service を紹介しました。テレメトリーデータを収集するサービスとして、OpenTelemetry の安全で本番環境に適した AWS サポートのディストリビューションである AWS Distro for OpenTelemetry (以下 ADOT) が今できることの紹介や、Prometheus や Grafanaのマネージドサービスである Amazon Managed Service for Prometheus や Amazon Managed Grafana (以下 AMG) の紹介をしました。AMG では、テレメトリーデータの分析方法について例示しました。昨今、特定ベンダーに依存しない OpenTelemetry の需要が高まってきています。今後高度化していく Observability を実現しやすくするために、AWS 環境では、ADOT を利用してテレメトリーデータを収集し、柔軟にバックエンドリソースを変更できるようにしておくことをおすすめします。 AWS Observability ベストプラクティス大紹介 アマゾン ウェブ サービス ジャパン 合同会社 テクニカルアカウントマネージャ 日平 大樹 資料ダウンロード    テクニカルアカウントマネージャの日平より、AWS で Observability を実装する上でのベストプラクティスガイドである AWS Observability Best Practices の紹介をしました。5 つのベストプラクティスの概要のご紹介と、ベストプラクティスのカテゴリ毎の内容の概要を紹介しました。本ガイドを活用することで、一般的な落とし穴を回避し、皆様のシステムに Observability をもたらす手助けになると思います。具体的な AWS のサービスに対してのガイドも記載されていますので、是非参考にしてみて下さい! AWS Observability 関連最新アップデート アマゾン ウェブ サービス ジャパン 合同会社 ソリューションアーキテクト 宮崎 友貴 資料ダウンロード    最後は SA 宮崎より、AWS における Observability 関連の最新アップデートや事例を紹介しました。AWS への専用ネットワーク接続である AWS DirectConnect や VPN 等を経由したハイブリットネットワークのパフォーマンス監視を行える Amazon CloudWatch Network Monitor、AWS 上で実行されているアプリケーションを自動でモニタリングし、健全性やパフォーマンスを可視化する Amazon CloudWatch Application Signals、CloudWatch Logs で機械学習により、ログのパターンを自動で認識したり、異常を検知したりする機能等、最新機能アップデートを紹介しました。また、システム規模が拡大にするにあたり、Observability もスケールアップする必要があり、都度発生した課題を継続的に解決してきた Stripe 様の事例をご紹介しました。本事例にご興味のある方は、 こちら をご確認下さい。 まとめ  今回は、Observability をどのように獲得していけば良いか迷っている方々を対象に、Observability 獲得プロセスを「旅路 (ジャーニー)」に例えて、様々なセッションを用意させていただきました。本イベントをきっかけに、皆様のシステム運用が少しでも楽になり、皆様が幸せになることを願っております。今後も、お客様のシステム運用を少しでも効率化できるように、このようなイベントを企画し、情報発信を継続していきます。AWS のサービスを利用することをご検討いただいているお客様がいらっしゃいましたら、無料で個別相談会を開催しておりますので、 こちらのリンク からぜひお申し込みください。 ソリューションアーキテクト 高野 翔史
アバター
はじめに このブログ記事では、 AWS Application Migration Service (MGN) を使って VMware 仮想マシン (VM) を Amazon Elastic Compute Cloud (Amazon EC2) に移行する手順を順を追って説明します。さらに、移行した VM から VMware 独自ツールを削除するためのカスタムの起動後アクションスクリプトの適用方法も示します。 オンプレミスの VMware のワークロードを Amazon EC2 に移行することで、スケーラビリティの向上、パフォーマンスの改善、運用コストの削減などの大きなメリットが得られます。Application Migration Service は、ブロックレベルのレプリケーションソリューションを提供することで、VMware VM を Amazon EC2 インスタンスに移行するプロセスを簡素化します。移行した VM は Amazon EC2 上で検証しながら、元のソースサーバーからのレプリケーションを継続することができます。このソリューションでは、継続的なデータレプリケーションを行い、切り替えの所要時間を短縮するエージェントベースのレプリケーション手法を選択しています。 ソリューション概要 このソリューション (図 1) は、Application Migration Service 用の専用サブネットを設定するなど、 Network settings preparations のガイドに従っています。このサブネットは、ソースサーバーからのデータレプリケーションを行うステージングエリアとして使用されます。テスト用およびカットオーバー用のインスタンスは、「 Migrated Resources (マイグレーション済みリソース)」と呼ばれる別の専用サブネットに起動されます。 各 VMware VM にインストールされた AWS Replication Agent が同期プロセスを開始し、データレプリケーションが Stating Area (ステージングエリア) で行われます。レプリケーションは、事前に定義された replication (レプリケーション) 設定 に基づいて、レプリケーションサーバーによって処理されます。ソースサーバーに接続されたボリュームがレプリケートされると、そのサーバーは「 Ready for Testing (テストの準備完了)」としてマークされます。 launch (起動) 設定 に関しては、それぞれの検証用またはカットオーバー用のインスタンスが Migrated Resources (マイグレーション済みリソース) エリアに起動されます。 このソリューションでは、Application Migration Service の起動後アクションを活用して、それぞれのテスト用またはカットオーバー用のインスタンスに AWS SSM エージェントをインストールします。AWS SSM エージェントにより、VMware 製品の独自アプリケーションなどを削除するようなカスタムスクリプトの実行が可能になります。 この移行ソリューションは、VMware Cloud on AWS およびオンプレミス VMware 仮想環境のどちらに対しても有効です。 図 1 – 左側が AWS Replication Agent をインストールした VMware 仮想環境、右側が 2 つのサブネット (Staging Area および Migrated Resources) を持つ AWS アカウントを示しています このソリューションでは説明のために、 Linux (RHEL 9) と Windows Server 2019 の VMware 仮想マシンを使用しています。 実装の手順 ステップ 1 – 前提条件 このウォークスルーには以下の事前準備が必要です: AWS Application Migration Service のドキュメントに定義されている必要な権限を持つ AWS ユーザー Network settings preparations に定義されたネットワーク設定 サポートされているソースサーバーのオペレーティングシステム。サポートされているオペレーティングシステムの詳細については、 Supported operating systems を参照してください。 AWS Replication Agent のダウンロードとインストールに必要な権限を持つソース仮想マシンの認証情報 テスト用およびカットオーバー用のインスタンスで使用する Amazon Virtual Private Cloud (Amazon VPC) のサブネットと、対応するセキュリティグループの指定または新規作成 ステップ 2 – Amazon VPC エンドポイントの作成 ステージングエリアおよびマイグレーション済みエリアのリソースは、プライベートサブネットまたはパブリックサブネットで実行できます。このシナリオでは、両方のサブネットがプライベートです。HTTPS エンドポイントにパブリックアクセスがないため、起動されたインスタンスはインターネットに接続できず、そのため起動後テンプレートを実行できません。SSM エージェントのインストールと起動後アクションの実行を可能にするために、以下の 3 つのエンドポイントサービスを作成する必要があります: com.amazonaws.<region>.ssm com.amazonaws.<region>.ec2messages com.amazonaws.<region>.ssmmessages 各エンドポイントを作成するには、コンソールで Amazon VPC サービスを開き、「 Endpoints 」を選択し、右上の「 Create Endpoint 」を選択してください (図 2)。 図 2 – Amazon VPC サービスのコンソールの「Endpoints」セクションで、「Create Endpoint」を選択します 「 AWS services 」を選択し、最初のエンドポイント (図 3) com.amazonaws.<region>.ssm を作成してください。<region> は利用する AWS リージョンに置き換えてください。ターゲットの VPC、サブネット、セキュリティグループを選択します。VPC エンドポイントに付与されるセキュリティグループは、マネージドインスタンスのプライベートサブネットからのポート 443 への受信接続を許可する必要があります。最後に、ページの末尾にある「 Create Endpoint 」を選択してください。 図 3 – Amazon VPC サービスのコンソールから、エンドポイントを作成します 3 つの VPC エンドポイントが作成されると、以下のような結果が表示されます (図 4)。 図 4 – 3 つの VPC エンドポイントが正常に作成され、SSM エージェントのインストールが可能になりました ステップ 3 – Windows と Linux からの VMware Tools のアンインストールのための起動後アクション このセクションでは、ソースサーバーが AWS 上で起動された後に VMware Tools を自動的に削除するためのカスタムの post-launch (起動後) 設定の作成について説明します。起動後テンプレートへの変更は、新しく追加されたソースサーバーにのみ適用されることに注意してください。すでにレプリケーションされているソースサーバーの場合は、個々のソースサーバーで起動後設定を変更します。 左側のパネルから[ Post-Launch template (起動後テンプレート)]を選択してテンプレートにアクセスします。起動後アクションの設定を編集し、「 Systems Manager agent installation on launched Test and cutover instances (Systems Manager エージェントをインストールし、起動したサーバーでのアクションの実行を許可する)」を有効にする機能をオンにします (推奨)。最後に、「 Save template 」を選択してください (図 5)。 図 5 – 今後のテストおよびカットオーバー時に起動するサーバーに対して、 SSM エージェントのインストールを有効にする VMware Tools から VMware 仮想マシンイメージを削除するために、まずカスタムアクションを作成する必要があります。「 Create action 」を選択してください (図 6)。 図 6 – 右上の「Create Action (アクションの作成)」を選択する Action Settings (アクション設定) に以下の入力を追加してください (図 7)。Windows の起動後スクリプトは Local Service コンテキストで実行されます。 Action Settings : Action name セクション: CleanUpVMwareTools-Windows 「 Activate this action 」オプションを選択 Systems Manager document name セクション: AWS-RunPowerShellScript Description セクション: Run a PowerShell script to clean Windows images from VMware tools. Operationg Systems セクション: Windows Action parameters 実行コマンド: Remove-Item –path .\VMware –recurse $regpath = “HKLM:\Software\Microsoft\Windows\CurrentVersion\uninstall” Get-childItem $regpath | % { $keypath = $_.pschildname $key = Get-Itemproperty $regpath\$keypath if ($key.DisplayName -match “VMware Tools”) { $VMwareToolsGUID = $keypath } Msiexec.exe /x $VMwareToolsGUID /qn /norestart } workingDirectory:  C:\Program Files\ executionTimeout:  300 図 7 – レプリケートされた Windows インスタンスから VMware Tools を削除する PowerShell スクリプト Linux インスタンスの場合 (図 8) も、上記の手順を繰り返します。Linux 上のpost-launch (起動後) スクリプトは root ユーザーで実行します。 Action Settings : Action name セクション: CleanUpVMwareTools-Linux 「 Activate this action 」オプションを選択 Systems Manager document name セクション: AWS-RunShellScript Description セクション: Run a Shell script to clean Linux images from VMware tools. Operating systems セクション: Linux 図 8 – レプリケートされた Linux インスタンスから VMware Tools を削除する Shell スクリプト   Action parameters (アクションパラメーター) 実行コマンド: rm -r ./VMware -r executionTimeout:  300 post-launch (起動後) テンプレート (図 9) には、2つの新しく作成したアクションが表示されます。これらのアクションが「Active」に設定されていることを確認してください。 図 9 – SSM Agent のインストールと、 2 つの新しく作成された起動後アクションが有効になっていることを確認する ステップ 4 – ソース サーバーの追加と VM への エージェントのインストール Application Migration Service にソースサーバーを追加するたびに、 Replication (レプリケーション) 設定、 Launch (起動) 設定、および Post-launch action (起動後アクション) 設定が、デフォルトのテンプレートに基づいて初期化されます。 ソースサーバーを Application Migration Service に追加したら、[ Source servers ] のページからそれらを監視し、操作できます。このページでは、すべてのソースサーバーを表示し、移行ライフサイクル、データレプリケーション状態を監視し、各サーバーの移行プロセスの次のステップを確認し、さまざまなカテゴリーでサーバーをソートできます。 Windows ソースサーバーを追加するには、[ Source servers ] ページで [ Add server ] を選択します。 図 10 の以下のオプションを使用して、インストーラーコマンドを作成し、IAM アクセス キー ID と IAM シークレットアクセスキーを追加します。生成されたコマンドをコピーし、インストーラーをダウンロードします。 図 10 – AWS Replication Agent のインストーラー コマンドラインの生成 インストーラーをダウンロードしたら、コピーしたコマンドを PowerShell で実行します。各 Windows サーバーでは、管理者権限でエージェントのインストーラーファイルを実行する必要があります (図 11)。 図 11 – Windows ソースサーバーでエージェントのインストーラーコマンドを実行する ホスト名を控えておき、Application Migration Service コンソールに移動します。 AWS Replication Agent がインストールされると、対象サーバーは Application Migration Service コンソール内の [ Source Serves ] に追加され、初期同期プロセスが開始されます。 ステップ 5 – テストインスタンスの起動 ソースサーバーの AWS への移行をカットオーバーする前に、AWS 環境内のソースサーバーの適切な機能を確認するためのテストを行う必要があります。 テストインスタンスを起動する前に、ソースサーバーがテストの準備ができていることを確認してください。[ Source servers ] ページで次の状態を確認してください。 「Migration Lifecycle」 列では、サーバーの状態が「 Ready for testing (テストの準備完了)」になっている 「Data replication status」 列では、サーバーの状態が「 Healthy (正常)」になっている 「Next Step」 列では、サーバーの状態が「 Launch test instance (テストインスタンスを起動)」になっている 1 つ以上のソース サーバーのテストインスタンスを起動するには、以下の手順に従います。 [ Source servers ] ページに移動します テスト対象のサーバーの横にあるチェックボックスを選択します [ Test and cutover ] メニューを選択します 「Testing」 の欄で、[ Launch test instances (テストインスタンスを起動)] を選択して、選択したソースサーバーのテストインスタンスの起動を開始します (図 12) 図 12 – [Test and cutover (テストとカットオーバー)] ドロップダウンメニューから [Launch Test instances (テストインスタンスを起動)]を選択する 対象サーバー X に対して「 Launch test instances for X servres」 のダイアログが表示されたら、[ Launch ] を選択してテストを開始します AWS Application Migration Service コンソールには、テストが開始されると「 Launch job started (起動ジョブの開始)」と表示されます。「 Launch history (起動履歴)」内のダイアログの [ View job details (ジョブの詳細を表示)] を選択すると、テストインスタンスの起動ジョブの詳細を確認できます Source servers ページの各種インジケーターを確認すると、テストインスタンスの起動が正常に開始されたことを確認できます (図 13) 「 Alerts」 列には、このサーバーのテストインスタンスが起動されたことを示す 「 Launched (起動済み)] の状態が表示されます 「Migration Lifecycle」 列では、「 Test in progress (テスト中)」の状態が表示されます 「Next step」 列では、「 Complete testing (テストの完了)]」が表示され、 「 Ready for cutover (カットオーバーの準備完了)」とマークされます 図 13 – テストが完了したら、対象サーバーを [Ready for cutover (カットオーバーの準備完了)] としてマークする テストインスタンスが起動されたら、それらに接続してアクセスします。あるいは、 AWS SSM Session Manager や AWS SSM Fleet Manager を使ってこれらのインスタンスにログインすることもできます。これは、アプリケーションの適切な機能、接続性、受け入れテストを確認するために活用できます。 テストが完了し、カットオーバーの準備ができたら、テストを終了します。ソースサーバーの移行ライフサイクルの状態を [ Ready for cutover (カットオーバーの準備完了)] に変更します。これにより、すべてのテストが完了し、カットオーバーの準備ができたことを示します。最終的に、[ Terminate test launched instances (起動したテストインスタンスの終了)] を選択して 「 Test in progress (テスト中)」の状態を終了します。 Post-launch (起動後) アクションを確認します。 [ Source servers ] を選択し、[ Post-launch settings ] を開きます トリガーされるアクションを確認するために、「 Active」 フィルターを適用します。次のアクションがトリガーされます (図 14) SSM agent CleanUpVMwareTools-Linux 図 14 – 実行されるPost-launch (起動後) アクションを確認する インスタンスが起動されると、「 Migration dashboard」 タブ内で、SSM Agent のインストールと CleanUpVMWareTools の実行状況を確認できます (図 15)。 図 15 – すべてのアクションが正常に完了したことを確認する ステップ 6 – カットオーバーインスタンスの起動 テストを完了したいテストインスタンスが起動されているソース サーバーの横にあるチェックボックスを選択します [ Test and cutover ] メニューを選択します (図 16) Testing セクションで [ Ready for cutover (カットオーバーの準備完了)] オプションを選択します 図 16 – カットオーバーインスタンスを起動するために [Ready for cutover (カットオーバーの準備完了)] としてマークする [ Mark X servers as Ready for cutover ] ダイアログでは、テストインスタンスの終了方法を選択できます。これらのインスタンスは稼働している限り不要になっても課金されるため、終了することを推奨します。テストインスタンスの終了を進めるには、[ Yes, terminate launched instances (recommended) ] を選択し、[ Continue ] を選択します。 AWS Application Migration Service コンソールに、対象サーバーが「 Ready for cutover (カットオーバーの準備完了)」としてマークされたことが確認されます。 カットオーバーインスタンスの起動を進める前に、Source servers ページで以下の状態を確認し、ソースサーバーでカットオーバーの準備ができていることを確認します (図 17)。 「Migration lifecycle」の状態が 「Ready for cutover (カットオーバーの準備完了)」 「Data replicaiton」の状態が「Healthy (正常)」 「Next Step」が 「 Terminate launched instance; Launch cutover instance」 (最新のテストインスタンスを終了していない場合) 、または 「 Launch cutover instance 」(最新のテストインスタンスを終了した場合)となっている 図 17 – マイグレーション状況が「Ready for cutover (カットオーバーの準備完了)」、データレプリケーションの状態が「Active (正常)」であることを確認する 1 台以上のソースサーバーのカットオーバーインスタンスを開始するには、以下の手順に従います。 [ Source Servers ] ページにアクセスし、カットオーバーする対象サーバーを選択します [ Test and cutover ] メニューを選択します 「 Cutover 」(図 18) の欄で、[ Launch cutover instances (カットオーバーインスタンスを起動)] を選択します 起動されるカットオーバーインスタンスとそれぞれの名前が表示されるポップアップダイアログが表示されます。[ Launch (起動する)] を選択します 図 18 – 「Test and cutover」メニューから [Lanuch cutover instance (カットオーバーインスタンスを起動)] を選択する 「 Source servers」 ページ (図 19) では、 「 Migration lifecycle 」列に 「 Cutover in progress (カットオーバーが進行中)」が表示され、「 Next step 」列に 「 Finalize cutover (カットオーバーを最終処理)」が表示されます。 図 19 – 「Migration lifecycle」が「Ready for cutover (カットオーバーの準備完了)」から「Cutover in progress (カットオーバーが進行中)」に変更された ソースサーバーを選択して、ジョブの詳細を表示します (図 20)。 図 20 – 現在のライフサイクルは「Cutover in progress (カットオーバーが進行中)」であり、カットオーバーインスタンスが起動されている最中であることを示しています カットオーバーインスタンスを Amazon EC2 コンソールから起動します。または、AWS SSM Session Manager や Fleet Manager を使ってインスタンスに接続することもできます。この手順は、アプリケーションの適切な動作、接続性の確認、受け入れテストを行うために必要です。 移行が完了したら、カットオーバーを最終処理します (図 21): カットオーバーするソースサーバーをそれぞれ選択します [ Finalize cutover (カットオーバーの最終処理)] を選択します 図 21 – 「Finalize cutover (カットオーバーの最終処理」に切り替えてデータレプリケーションを停止する 「Finalize cutover for X servers」 ダイアログで、[ Finalize ] を選択してカットオーバーを開始します。このアクションにより、ソースサーバーの「 Migration lifecycle 」の状態が「 Complete cutover (カットオーバー完了)」に更新され、移行が正常に完了したことが示されます。また、データレプリケーションが停止され、関連する AWS EBS ボリュームとAmazon EC2 レプリケーションサーバーが破棄されます。カットオーバーが正常に完了すると、Application Migration Service コンソールに「 Cutover finalized (カットオーバー完了)」と表示されます。 クリーンアップ 不要な課金が継続されることを避けるために、次のような関連リソースを削除してください。 Amazon EC2 インスタンスを削除する Application Migration Service のソース サーバーに対して [Disconnect (切断)] を実施する テスト用に関連付けられた EC2 インスタンスの EBS ボリュームの削除を削除する VPC エンドポイントを削除する まとめ この記事では、VMware VM を Amazon EC2 にオンデマンドで移行するための一連の手順を説明しました。この手法の主なメリットは自動化であり、これにより人為的なエラーを大幅に削減し、移行を加速することができます。起動後のアクションでは、VMware tools からイメージを削除します。AWS Application Migration Service (MGN) は 費用対効果が高く 、VMware 仮想環境がオンプレミスまたは VMware Cloud on AWS 上にあるかどうかに関わらず、移行ソリューションとして魅力的です。 追加の参考情報については、以下のApplication Migration Service (MGN) ユーザーガイドを参照してください。 Linux agent installation instructions Windows agent installation instructions MGN supported OS MGN installation requirements —— 翻訳は、Specialist Solutions Architect – VMware Cloud on AWS の武田が担当しました。原文は こちら です。
アバター
AWS Amplify Gen 2 の一般提供開始を発表できることを嬉しく思います。AWS Amplify Gen 2 は、クラウドに接続されたアプリを構築するためのフルスタックの TypeScript 開発者体験を提供します。AWS Amplify はあなたの 2 つの仕事を手助けします。 Web アプリケーションのホスティング クラウドバックエンドの構築と接続 Amplify Gen 2 では、アプリのクラウドバックエンドのすべての部分を TypeScript で定義します。認証バックエンドもデータバックエンドもストレージバックエンドも すべてが TypeScript で定義されます 。 Amplify は AWS によって構築され、AWS 上で動作するため、必要に応じて 200 以上の AWS サービスを追加できます。Amazon Bedrock のような生成 AI サービスも当然、TypeScript で定義することができます。 今週の 1 週間、新しい Gen 2 の機能をローンチウィークの一環として紹介していきます。本日は以下をカバーします。 新しい Amplify コンソールを使った SSR (Server-Side Rendering) または SPA (Single-Page Application) のデプロイ 設定不要な認証・認可 フロントエンドアプリでの完全に型安全なクラウドデータ統合 リアルタイムマルチプレイヤーユースケースのための Pub/Sub API P.S. 過去に Amplify を利用したことがあるがみ、うまくいかなかった場合は、ぜひ再度試してみてください。 皆さまからのフィードバックがきっかけとなり、Gen 2 の開発につながりました 。 Amplify Gen 2 で構築 : 全く新しい開発者体験 私たちも開発者ですから、新しいものを紹介する最良の方法は一緒に何かを構築することだと分かっています。Amplify を使って全体が TypeScript で記述されたアプリケーションを構築する方法を簡単に説明しましょう。 リアルタイムのマルチプレイアプリを作成し、他のユーザーのカーソル位置をリアルタイムで確認できるようにしましょう。始めるために利用できるサンプルリポジトリを事前に作成しておきました。 アプリフロントエンドのクリック操作によるデプロイ Amplify Hosting を使えば、お気に入りのフレームワークで構築したアプリを、設定をコーディングする必要なくエンドユーザーにデプロイできます。 このデモでは、静的な Vite アプリをデプロイする手順を説明しますが、Amplify Hosting では、SSR アプリ、静的サイト、Next.js、Nuxt、Astro などの人気フレームワークで構築された SPA など様々なタイプの Web アプリケーションをデプロイできます。 Step 1 : この GitHub テンプレートを起点としてリポジトリを新規に作成するにはここをクリックしてください Step 2: こちらをクリックして、クローンした GitHub リポジトリのアプリを Amplify でホストします デプロイ中は、リポジトリをローカルにクローンして、ファイルシステムを閲覧することができます。 git clone <YOUR_GITHUB_URL>/amplify-social-room.git リポジトリの中身を見てみましょう。これはフロントエンドが src/ フォルダ、Amplify Gen 2 のバックエンドが amplify/ フォルダにある標準的な React Vite アプリケーションです。認証リソースは amplify/auth/resource.ts に、データリソースは amplify/data/resource.ts に定義されています。 Amplify の CI/CD パイプラインは、これらの定義ファイルを読み取り、ユーザーの登録とサインインを容易にするクラウドリソースと、データベースコンテンツの作成、読み取り、更新、削除を行うためのリアルタイム API を作成します。 クライアント側からこれらのリソースに接続するには、Amplify のクライアントライブラリを使用します。クライアントライブラリは、バックエンドをデプロイした際の出力を使って構成され、デプロイされた API エンドポイントを把握します。後でこの自動化方法をお見せします。 デプロイされたバックエンドリソース タブに移動し、” Download amplify_outputs.json “を選択してください。 amplify_outputs.json ファイルをアプリケーションのリポジトリのルートに移動してください。フォルダ構造は次のようになります。 ├── amplify # Your Amplify backend definition files │   ├── backend.ts │   ├── auth # Auth backend definition │   │   └── resource.ts │   ├── data # Data backend definition │   │   └── resource.ts │   ├── package.json │   └── tsconfig.json ├── index.html ├── package.json ├── amplify_outputs.json # ADD YOUR amplify_outputs.json HERE ├── src │   ├── App.css │   ├── App.tsx │   ├── main.tsx │   └── ... # other frontend files └── ... # other project template files 次に、ターミナルで以下のコマンドを実行し、ローカルに依存関係をインストールします。これには、バックエンドを定義するための依存関係と、バックエンドに接続するためのクライアントライブラリの依存関係が含まれます。 npm install 次に、 src/main.tsx ファイルへ移動し、Amplify ライブラリをインポートし、出力ファイルを使用して設定します。 import { Amplify } from 'aws-amplify'; import outputs from '../amplify_outputs.json'; Amplify.configure(outputs); AWS はあなたに代わって認証認可を実装します 私たちは皆、認証をゼロから実装するべきではないことを理解しています。それが完全に AWS マネージドの認証サービスと 10 行以下のコードで認証をセットアップできるようになった理由です。Amplify Gen 2 の認証機能を統合することを確認しましょう。 amplify/auth/resource.ts ファイルには、メールログインに対応する認証バックエンドがすでに構成されています。 import { defineAuth } from '@ aws-amplify/backend'; export const auth = defineAuth({ loginWith: { email: true, }, }); Auth バックエンドを呼び出す際に、標準の signIn と signUp API を使うこともできますが、その場合はログイン UI を全て手作業で構築する必要があります。しかし、もっと簡単な方法があります。Amplify には、UI をすぐに提供する “Authenticator” コンポーネントがあります。UI を完全にカスタマイズして、あなたのブランドと同じ外観にすることもできます。 src/main.tsx ファイルで、Authenticator コンポーネントと、その UI スタイルをインポートし、 <App /> コンポーネントを <Authenticator /> コンポーネントでラップしてください。 import { Authenticator } from '@aws-amplify/ui-react'; import '@aws-amplify/ui-react/styles.css' // other imports Amplify.configure(outputs); ReactDOM.createRoot(document.getElementById('root')!).render( <React.StrictMode> <Authenticator> <App /> </Authenticator> </React.StrictMode>, ) ターミナルで次のコマンドを実行して、localhost サーバーを起動してください: npm run dev これで、機能し、カスタマイズ可能な認証フローが構築されたはずです。ユーザー登録とサインインを試してみてください。 リアルタイムクラウド API の作成 : WebSocket、データベース、認証を処理 次はアプリケーションデータを見ていきましょう。最初に基本的な CRUDL (Create/Retrieve/Update/Delete/List) の使用例を確認しましょう。amplify/data/resource.ts ファイルを見ると、”Room” というデータモデルがすでに作成されていることがわかります。 このデータモデルの TypeScript 型をクライアントライブラリ内で再利用します。これにより、フロントエンドがバックエンドの定義と同期したままになります。 const schema = a.schema({ Room: a.model({ topic: a.string(), }), }) ユーザーが部屋の一覧を表示したり、新しく部屋を作成できるようにするため、 <RoomSelector/> コンポーネントに移動しましょう。 まず、”Data クライアント” を生成します。これにより、バックエンドデータに完全にエンドツーエンドの型安全な方法でアクセスできるようになります。 src/RoomSelector.tsx ファイルのインポート文の下に、次のコードを追加してください。 import { type Schema } from "../amplify/data/resource"; import { generateClient } from "aws-amplify/data"; const client = generateClient(); Schema 型は amplify/data/resource.ts から出力される型で、Data クライアントの型の提案が含まれています。Amplify Gen 2 の各データモデルでは、デフォルトでリアルタイム機能が有効になっています。したがって、レコードの作成、更新、削除の際にサブスクリプションイベントを受信できます。 observeQuery() 機能により、これらのイベントを自動的に購読し、ライブリストを返すことができます。RoomSelector の useEffect 関数に次のコードを追加すると、利用可能なすべての部屋のライブリストが選択肢として常に利用できるようになります。 // set up a live feed inside the useEffect const sub = client.models.Room.observeQuery().subscribe({ next: (data) => { setRooms([defaultRoom, ...data.items]) } }) return () => sub.unsubscribe() 次に、[ + add] ボタンに onClick ハンドラーを設定します。 部屋が正常に追加されたら、エンドユーザーを新しく作成された部屋に切り替えます。 私の大好きな TypeScript の機能は IntelliSense 自動補完であり、Amplify を TypeScript ベースにした最大の理由の 1 つです。私たちは Gen 2 の重要な部分としてこれを確実に実装することを意図的に行いました。 これを示す GIF がありますが、チュートリアルを進める際には、ぜひご自身で何かを入力し、体験してみてください。 <button /> コンポーネントは次のようになるはずです。 <button onClick={async () => { const newRoomName = window.prompt("Room name") if (!newRoomName) { return } const { data: room } = await client.models.Room.create({ topic: newRoomName }) if (room !== null) { onRoomChange(room.id) } }}>[+ add]</button> ブラウザで localhost を開き、今すぐ試してみてください。新しい部屋を作成し、部屋を切り替えてみてください。ドロップダウンオプションが自動的に入力されることがわかります。 クラウドサンドボックス: バックエンドイテレーションのための開発者ごとの個別環境 Amplify Gen 2 では、開発者ごとのクラウドサンドボックスを使用することができ、フロントエンドの localhost インスタンスでより高速なイテレーションを行うことができます。 ローカル開発用に自分のマシンに AWS アカウントを設定する最良の方法は、AWS IAM Identity Center を使うことです。 前提条件: このガイドに従って、ローカル開発用に AWS をマシンにセットアップしてください。 マシンの設定が完了したら、新しいターミナルセッション (npm run dev と同時に実行) を作成し、次のコマンドを実行してクラウドサンドボックスをデプロイしてください。 npx ampx sandbox 初回デプロイの際は、新しいクラウドリソースをデプロイするため、数分かかる可能性があります。 ただし、既存リソースを更新する場合は、ローカルの変更を素早く反映するため、”ホットスワップ” されます。 サンドボックスのデプロイが完了すると、” amplify_outputs.json ” の内容が新しいバックエンドエンドポイントに置き換えられます。 私たちは、開発者がいかに高速なデプロイを好むかを知っています。Amplify(の開発チーム) は「リソースのホットスワップ」を可能にするために AWS CDK に 10 以上の Pull Request を作成し、大規模なスキーマのデプロイ速度を 2 倍に短縮しました。 まだまだ改善の余地はありますが、私たちの目標はデプロイ速度の継続的な改善です。 マルチプレイヤー PubSub API を作成してカーソルを共有 amplify/data/resource.ts ファイルで、PubSub インターフェースを作成するための新しい変更とサブスクリプションを追加しましょう。 以下のコードをスキーマに追加してください。 // const schema = a.schema({ // Room: a.model(...), // Copy/paste the contents below the "Room" model publishCursor: a.mutation() .arguments(cursorType) .returns(a.ref('Cursor')) .authorization(allow => [allow.authenticated()]) .handler(a.handler.custom({ entry: './publishCursor.js', })), subscribeCursor: a.subscription() .for(a.ref('publishCursor')) .arguments({ roomId: a.string(), myUsername: a.string() }) .authorization(allow => [allow.authenticated()]) .handler(a.handler.custom({ entry: './subscribeCursor.js' })), // }) これにより、 publishCursor mutation と、mutation が呼び出されるたびに subscribeCursor サブスクリプションが定義されます。 次に、mutation と subscription のハンドラーを作成しましょう。新しい amplify/data/publishCursor.js ファイルを作成し、含まれているコンテンツを追加してください。 export const request = () => ({ }) export const response = (ctx) => ctx.arguments このハンドラは渡された引数をそのまま結果として渡すということを意味し、外部のデータソースを呼び出す必要がありません。 次に、サブスクリプションハンドラファイル amplify/data/subscribeCursor.js を作成します。このファイルには、a/ エンドユーザーが同じルームにいない場合、または b/ エンドユーザー自身のイベントである場合、そのイベントをフィルタリングするロジックを含める必要があります。 import { util, extensions } from '@aws-appsync/utils' export const request = () => ({ }); export const response = (ctx) => { const filter = { roomId: { eq: ctx.arguments.roomId }, username: { ne: ctx.arguments.myUsername } } extensions.setSubscriptionFilter(util.transform.toSubscriptionFilter(filter)) return null; } では、クライアント側のコードに切り替えましょう。 src/CursorPanel.tsx ファイル内で、 useEffect にカーソルイベントのサブスクリプションを追加してください。 useEffect(() => { // Add subscriptions here const sub = client.subscriptions.subscribeCursor({ roomId: currentRoomId, myUsername: myUsername }).subscribe({ next: (event) => { if (!event) { return } if (event.username === myUsername) { return } setCursors(cursors => { return { ...cursors, [event.username]: event } }) } }) 次に、 debouncedPublish 関数を更新し、publish ミューテーションを呼び出すようにします。一度に多くのイベントを送信しすぎないように、スロットルロジックを追加しました。 const debouncedPublish = throttle(150, (username: string, x: number, y: number) => { client.mutations.publishCursor({ roomId: currentRoomId, username, x, y }) }, { noLeading: true }) ウィンドウを 2 つ開いて localhost サイトにアクセスすると、ブラウザのウィンドウ間でリアルタイムにカーソルの動きが共有されるはずです。 Git プッシュごとの配信n Amplify は Git ベースの CI/CD ワークフローを使用しているため、このアプリを URL で共有するには、Git にコミットしてオリジンにプッシュするだけで済みます。 git commit -am "added multi-cursor capability" git push Amplify コンソールでビルドの準備が整ったことを確認できるようになりました。 準備ができたら、URL を他のユーザーと共有して、このマルチカーソルアプリケーションを試せるようになります。 部屋の中の象※ : Gen1 から Gen2 へのマイグレーションとその課題 デモが終了したところで、皆さんに Amplify Gen 2 をぜひ試していただきたいと思います。現在 Amplify Gen 1 をご利用の皆さまは、どのように移行すればよいのだろうとお考えでしょう。 私たちはまだ継続して、Gen 1 から Gen 2 へのプロジェクトの移行をサポートするためのツール開発を進めています。それまでは、Gen 1 の Amplify プロジェクトでの作業を続けることをお勧めします。Gen 1 と Gen 2 の機能サポート状況の一覧表を こちら に用意しました。当面は Gen 1 と Gen 2 の両方をサポートし続ける予定です。新規プロジェクトでは、拡張された Gen 2 の機能を活用するために、Gen 2 の採用をお勧めします。一方で、Gen 1 のお客様には引き続き、優先度の高いバグ修正や重要なセキュリティアップデートをサポートします。Gen 1 から Gen 2 への移行に関する最新情報は、 AWS Amplify on X をフォローするか、 Amplify Discord にご参加ください。 ※「部屋の中の象」とは、英語の慣用表現で「この場で触れてはいけない話題がある」という意味ですが、ここで触れてますし、まだツールが開発中なのでもう少し続報を待ってほしいという意図で筆者は使っているのだと思います(訳者注) クリーンアップ AWS Amplify コンソールに移動 アプリケーションへ移動 “App Settings” を選択 “General Setting” を選択 最後に、”Delete App” を選択 フルスタック TypeScript の Day 1 2020 年に、CSS-Tricks の Chris Coyer が「 おっと、私たちは今やフルスタックデベロッパーなのかもしれません 」という投稿をしました。 スタックには、フロントエンドからバックエンドまで、いくつかの重要な構成要素が含まれています。 以下は、Chrisがフルスタックの「スペクトル」と表現したものを少し修正したものです。 TypeScript は、フロントエンドからバックエンドまで幅広い分野で人気のプログラミング言語です。TypeScript コミュニティの魅力は、選択肢が事実上無限にあることです。 ユースケースに合わせて、組み合わせたり再構成したり、選んだり調整したり、修正したり、”最適な構成” に繰り返し変更を加えることができます。 TypeScript のすばらしいコミュニティに感謝したいと思います。 Next.js 、 Astro 、 Zod 、 ArkType 、 tRPC などのライブラリもぜひチェックしてみてください。 これらのライブラリは、フロントエンド開発者がついにフルスタック開発者になれるよう、フルスタック TypeScript の動きを大きく前進させてくれました。 Amplify を全体または一部でも自由にお使いいただけます。フルスタック TypeScript のムーブメントはこれからが本番です。エンドユーザー向けに「まさに適切な」スタックを構築する権限が、あなたの手に委ねられました。Amplify の詳細とその利用方法については、 ドキュメントガイド をご覧ください! 本記事は、「 Fullstack TypeScript: Reintroducing AWS Amplify 」を翻訳したものです。 翻訳者について 稲田 大陸 AWS Japan で働く筋トレが趣味のソリューションアーキテクト。普段は製造業のお客様を中心に技術支援を行っています。好きな AWS サービスは Amazon Location Service と AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しています。
アバター
みなさん、こんにちは。AWS ソリューションアーキテクトの小林です。 今回はゴールデンウィークを挟みましたので、少し変則的な形になっています。4/26に公開した 前号 が米国時間で4/22-25までをまとめていますので、今号は4/26-5/3までのアップデートをまとめています。ゴールデンウィーク中にも沢山のアップデートが発表されていますので、ぜひチェックしてみてください。 それでは、4 月 29 日週を中心としたアップデートを振り返ってみましょう。 2024 年 4 月 26 日から 4 月 29 日週の主要なアップデート 4/26(金) Network Load Balancer now supports Resource Map in AWS Management Console Network Load Balancer(NLB)がResource Map機能をサポートしました。全てのNLBリソースとそれらの関係性を、マネジメントコンソールで視覚的に表示する機能で、NLBとその周辺のアーキテクチャを把握しやすくなります。 4/29(月) Cohere Command R and Command R+ now available in Amazon Bedrock Amazon BedrockでCohere社の基盤モデルであるCommand R+とCommandを利用できるようになりました。10種類の言語に対応しており、日本語にも対応しているのがポイントです。これらのモデルは複雑なビジネスタスクを自動化するマルチステップツールの利用や、高度なRAG(検索拡張生成)などコンテキストが長くなるタスクに最適化されています。 Amazon Aurora supports PostgreSQL 16.2, 15.6, 14.11, 13.14, and 12.18 PostgreSQL互換のAmazon Auroraで、PostgreSQLのバージョン16.2, 15.6, 14.11, 13.14, 12.18がサポートされました。 4/30(火) Announcing the general availability of Amazon Q Business and Amazon Q Apps (Preview)  Amazon Q Businessが一般利用開始になり、同時にAmazon Q Appsのプレビューが開始されました。Amazon Q Businessの一環として提供される新機能です。Amazon Q AppsはAmazon Q Businessに蓄えられたデータに基づいてアプリケーションを簡単に構築・共有・カスタマイズするための仕組みです。詳細については Amazon Q Businessのウェブページ と、 ブログ記事 をご覧ください。 Amazon Q Developer is now generally available  Amazon Q Developerが一般利用開始になりました。これはソフトウェア開発のライフサイクル全体にわたる開発者体験を変革する生成AIによるアシスタント機能です。Amazon Q Developerには、マネジメントコンソールでのQ&Aや一般的なエラー診断、データ統合パイプラインの構築、コード生成や、コード変換を行うAmazon Q Developer Agentなどが含まれています。詳細については FAQ と ブログ記事 をご覧ください。 Amazon Q data integration in AWS Glue is now generally available Amazon Q data integrationが一般利用開始になりました。これを利用すると、自然言語による指示に基づいてAWS Glueによるデータ統合パイプランを構築する機能で、Amazon Q Developerの一部として提供されます。一般提供開始になったタイミングで機能強化が行われており、複数のデータソースやデータ変換を含む複雑なジョブを構築できるようになっています。 ドキュメント と ブログ記事 もどうぞ。 AWS announces Amazon Q in QuickSight Amazon Q in QuickSightが一般利用開始になりました。Amazon Q in QuickSightは自然言語を利用してデータを分析することが可能にします。これによって、ビジネスユーザーが自分の考えやアイデアに基づいてデータを参照する敷居を下げることにつながります。詳細については ブログ記事 をご覧ください。 Amazon Titan Text Embeddings V2 now available in Amazon Bedrock Amazon Titan Text Embeddings V2がAmazon Bedrockで一般利用開始になりました。このモデルはテキストデータをエンベディングと呼ばれる数値ベクトルで表現するもので、自然言語処理で利用されます。例えば、情報検索、質疑応答のためのチャットボット、分類、パーソナライズされた推奨事項の提示などに活用可能です。 Amazon Q launches subscription management with AWS IAM Identity Center integration Amazon QにはAmazon Q Business Pro, Amazon Q Business Lite, Amazon Q Developer Proなどのサブスクリプションプランが用意されています。今回新たに、ユーザ毎にサブスクリプションを管理するための機能が提供されるようになりました。AWS IAM Identity Centerと統合されており、IDプロバイダーで管理されるユーザやグループに対してサブスクリプションを適用することも可能です。 Amazon Redshift announces support for Multi-AZ deployment with zero-ETL integration Amazon RedshiftのRA3クラスターにおいて、Multi-AZ配置利用時にもzero-ETLインテグレーション機能を利用できるようになりました。高い可用性が求められるワークロードにおいてもzero-ETLによるリアルタイムに近いデータ分析を実行できることがメリットです。 5/1(水) Amazon EMR Serverless introduces Shuffle-optimized disks delivering improved performance for I/O intensive workloads Amazon EMR Serverlessでシャッフル最適化ディスク(Shuffle-optimized disks)が利用できるようになりました。特にI/O負荷の高いワークロードでパフォーマンスの向上が期待できます。Apache SparkやApache Hiveのジョブでは、並列計算の為にデータを再分散・再編成するシャッフルという操作が含まれます。大規模なデータセットに対してシャッフルを行う場合はディスク容量とI/O性能が重要になるため、それに適した容量・性能を提供するストレージオプションによってワークロード処理を効率化することができるようになります。 Amazon EC2 now protects your AMIs from accidental deregistration Amazon EC2で利用するAmazon Machine Image(AMI)に対する保護機能として、登録解除(削除)をできないようにする設定が可能になりました。さらなる保護として、保護設定を無効化した後も24時間は登録解除ができないようにするクールダウン期間を設けることも可能です。 Amazon EC2 simplifies visibility into your active AMIs Amazon EC2インスタンスの起動にはAMIを利用しますが、AMIが最後に利用された日時を簡単に確認できるようになりました。AMIに対してdescribe操作を行うことで最後に利用された日時が出力されるようになり、アクティブに利用されているAMIを識別することが容易になります。 5/2(木) Knowledge Bases for Amazon Bedrock now supports MongoDB Atlas for vector storage 社内のデータソースと安全に接続し検索拡張生成(RAG)を実現するKnowledge Bases for Amazon Bedrockが、MongoDB Atlasのベクトルストレージをサポートしました。なお、MongoDB Atlasと統合する際はインターネットも利用可能ですが、AWS PrivateLinkによる通信路も利用できます。 5/3(金) AWS announces a new Amazon EC2 API to retrieve the public endorsement key from NitroTPM Amazon EC2インスタンスで利用されるNitro Trusted Platform Module(NitroTPM)のパブリックエンドースメントキー(EkPub)を取得するためのEC2 APIが利用可能になりました。 Amazon DynamoDB introduces configurable maximum throughput for On-demand tables Amazon DynamoDBのオンデマンドテーブルにおいて、読み書きスループットの上限を設定できるようになりました。従来はAWSアカウント全体に適用されるスループット上限のみが存在していましたが、テーブル毎に読み書き上限を設定することで発生するコストを制御したり、特定のテーブルが大量にスループットを消費することで同じAWSアカウントに存在する他のテーブルに影響を及ぼすことを回避できるようになります。 ソリューションアーキテクト 小林 正人 (twitter – @maccho_j )
アバター
このブログは 2023 年 6 月 29 日に Rajesh Gomatam(Principal Partner Solutions Architect)、Conner Futa(Inductive Automation 所属 Application Engineer)、Preet Virk(Senior Partner Solutions Architect)、Russ Sagert(NetApp 所属 Business Development Director)によって執筆された内容を日本語化した物です。原文は こちら を参照して下さい。 はじめに 産業界の企業はビジネスの価値を高めるため、運用技術(OT)と情報技術(IT)を近代化する戦略的メリットを積極的に追求していますが、オンプレミスで利用可能な調達済みのオンプレミスストレージとコンピューティングリソースには限界があります。データサイエンティストとプロセスエンジニアリングリーダーは、このような運用データを活用してインサイトを得ながら、プロセスを最適化し、ビジネス価値を高める必要性を認識しています。データサイエンティストとプロセスエンジニアは、OT データから新たなインサイトを得るために、多次元ダッシュボードや機械学習などの高度なアナリティクス技術の導入を検討しています。データからビジネス価値を生み出すことに成功した組織は、同業他社から一歩リードすることが出来ます。 Aberdeen Survey によると、データレイクを導入した組織は、同業他社と比較した自律的収益成長率は9%も上回っています。本記事では、NetApp と Inductive Automation をどのように組み合わせ、OT+IT データを Amazon Web Services(AWS)クラウド上に展開し、産業界の課題を解決するソリューションを紹介します。まず、 Inductive Automation と NetApp が提供するコア製品を紹介します。 Inductive Automation と NetApp の概要 Supervisory Control and Data Acquisition(SCADA)/Human-Machine Interface(HMI)、Historian、Industrial Internet of Things(IIoT) のリーダーである Inductive Automation 社は、Ignition という産業用ソフトウェアを提供しています。Ignition は、工場フロアにおける産業用データのハブとして機能するアプリケーションであり、総合的なシステム統合を実現します。多くのブランド、モデル、プラットフォームと統合し、工場フロアの機器と通信し、OT と IT のギャップを埋める役割を担っています。Ignition を使用すると、ユーザーは膨大な量のリアルタイムおよびビジネスデータを収集し、傾向、パターン、および機器のパフォーマンスに関する貴重なインサイトを得ることができます。 Ignition に保存された OT と IT のデータは、故障の診断や、あらゆるビジネスにとって重要な信頼性と稼働時間の改善に利用できます。Ignition は、プログラムの動作に関する情報を収集し、問題を診断し、コストのかかるダウンタイムにつながる前に、これらの問題に対して是正措置をとることを可能にする強力なツールです。製造業のお客様にとって、これは、生産遅延を引き起こす前に機器の不具合を特定し、対処することに繋がります。また、石油・ガスのお客様にとっては、事故や流出につながる前に潜在的な安全上の危険を特定し、対処することが可能になります。 NetApp と AWS はクラウドを活用して、業界をリードする運用改善ソリューションを提供しています。NetApp は Amazon FSx for NetApp ONTAP 内で提供されている、オンプレミスデータベースからクラウドへのデータ同期ツールをサービスの差別化ポイントとしています。データ圧縮、コンパクション、重複排除により、ネットワークへの負荷が最小限に抑えられるため、従来は外部のネットワークに接続されていなかった工場にも接続できます。また、NetApp Spot Security を活用することで、サイバー攻撃に関連する異常な動作を迅速に特定・隔離し、復旧手段を提供することができます。このパートナーシップにより、お客様はクラウドを最大限活用して業務を改善し、収益を拡大することができます。 AWS 上で Inductive Automation と NetApp を使用した事例 Inductive Automation の Ignition data historian は、自動車、農業、食品・飲料、エネルギー、廃棄物管理など、さまざまな業種の産業製造やプロセス管理で使用されています。これらの顧客は、生産性、効率性、収益性を向上させるための新しい技術やアイデアを常に求めています。重要な新たなトレンドは、オンプレミスの運用環境をクラウドに接続するか、完全にクラウドに移行することです。Ignition のユーザーは、既存の IT プロセスの成熟度に応じて、OT と IT データを AWS クラウドに集約するソリューションから利益を得ることができます(下図参照)。 歴史的に、工場のオペレーションは工場内でサイロ化されており、ERP、MES、財務システムなど、組織の他の部分とデータインサイトを共有することが困難でした。工場のオペレーションにとって最大の悩みの種の 1 つは、運用データがサイロ化またはエアギャップ化されていることです。このため、保守や生産の最適化を担当するベンダーが、必要なデータにアクセスすることが難しくなります。また、通信の遅れは生産中断の解決にも影響します。接続されたシステム(OT/IT コンバージェンス)の欠如も、サプライチェーン全体の遅延や可視性の欠如につながり、予期せぬ混乱や行動の遅れにつながる可能性があります。上述した Ignition と AWS のソリューションが対応するユースケースには、下図に示す 3 つのタイプがあります。 OT+IT データストリームをクラウド上の Amazon FSx for NetApp ONTAP へ NetApp Data Fabric データサービスと Amazon FSx for NetApp ONTAP を組み合わせることで、サプライチェーンのコミュニケーションをよりタイムリーで効率的なものにすることができます。このサービスは、サイトレベルの Ignition データベースから AWS クラウドへの同期サービスを提供します。Amazon FSx for NetApp ONTAP は、主要なベンダーやパートナーとのセキュアなコラボレーションを可能にし、計画外のダウンタイムを最小限に抑え、問題解決までの時間を短縮します。FSx for ONTAP を通じて運用データを共有することで、資産のメンテナンス、インテリジェントなサプライチェーン、作業員の効率性と安全性に関する企業のベストプラクティスを確立できます。さらにこのソリューションでは、必要に応じて共有する運用データのボリュームを簡単に増減できます。この柔軟性により、変化するビジネス状況に適応し、特定のニーズに合わせて業務を最適化することができます。このレプリケートされたコピーによって、組織全体での活発なナレッジ共有が促進され、パートナー、ベンダー、顧客とのコラボレーションがより効果的になり、業務の改善と収益の増加につながります。FSx for ONTAP を使用して AWS で Ignition を実行すると、オンプレミスのインフラストラクチャを削減できるだけでなく、全体的な TCO を削減できます。 インダストリー 4.0 は、クラウドベースのテクノロジーを使って、産業界の顧客の業務形態を根本的に変えようとしています。これを実現するための重要なツールの 1 つが、さまざまな拠点からのデータを集約する産業用データヒストリのホスティングです。AWS のクラウドサービスを利用して Ignition のデータをクラウドに拡張することで、顧客は、OT+IT データの貴重な組み合わせの効率的な収集と分析を促進する弾力性、拡張性、回復力を得ることができます。AWS のクラウドサービスを利用することで、業界のリーダーたちは、クラウドに格納された Ignition で機械学習などの新しいタイプの分析を利用できるようになります。これにより、顧客の獲得と維持、生産性の向上、機器のプロアクティブな保守、より良い情報に基づいた意思決定など、ビジネス成長の機会を特定し、迅速に行動することができます。 工場データをクラウド上にレプリケート NetApp ONTAP データ管理ソフトウェアでは、ボリュームクローン(FlexClone)と呼ばれる、書き込み可能なボリュームのコピーを作成できます。クローンボリュームは、親ボリュームの書き込み可能なポイントインタイムコピー(Snapshot)です。クローンボリュームの作成後に親ボリュームに加えられた変更は、クローンには反映されません。System Manager を使用すると、ボリューム間のクローン関係を簡単に表示できるため、クローン階層を管理しやすくなります。それにより、インサイト獲得までの時間と問題解決までの時間が短縮されます。Ignition 環境のコピーは、コストに影響を与えることなく、自由に作成または削除ができます。 SnapMirror を利用したディザスタリカバリ NetApp SnapMirror は、NetApp ONTAP の機能であり、クラウドストレージリソースを活用した増分非同期データレプリケーションによって、統合されたリモートバックアップ/リカバリおよびディザスタリカバリ機能を提供します。SnapMirror を使用すると、指定したソースボリュームに、それぞれ Ignition データをレプリケートできます。これにより、ディザスタリカバリに対応し、SLA を遵守できます。また、移行前の Ignition テストを実行することができます。SnapMirror では、ロールフォワード/ロールバックワードスナップショットを実行できます。更新はフルイメージの更新ではなく増分であるため、リカバリまでの時間が短縮され、停止時間が短縮されます。 まとめ 結論として、Ignition data historian とは、プログラムの運用に関する情報を収集し、問題を診断し、コストのかかるダウンタイムにつながる前に是正措置を講じることを可能にする強力なツールです。企業の IT システムと統合し、分散型でスケーラブルな履歴データベースを提供することで、傾向、パターン、機器のパフォーマンスに関するデータインサイトをもって、組織の業務改革を支援することができます。NetApp Tools とAmazon FSx for NetApp ONTAP ソリューションを Inductive Automation の Ignition と併用することで利害関係者間をつなぎ、工場の運用効率を向上させ、TCO を削減することができます。NetApp と AWS のパートナーシップにより、クラウドを活用した運用を改善し、収益を増やすことができます。データのサイロを排除し、グローバルに分散したオペレーションやシステムからのデータでビジネス上の意思決定をサポートし、ベンダーやパートナーとの重要な運用上のインサイトの共有にかかる時間を短縮し、組織全体で実用的なインサイトを提供する予測分析を実装し、工場全体の分析を実行して異なる拠点間のパフォーマンスを均一化させます。このソリューションは、製造業、石油・ガス業を問わず、オペレーションの改善、収益の増加、コストの削減を支援します。 翻訳はネットアップ合同会社の岩井様、監修はエンタープライズサポートの岡田が担当しました。 <!-- '"` --> TAGS: aws manufacturing , FSx NetApp , Industrial , Manufacturing Rajesh Gomatam Dr. Rajesh Gomatam は、AWS のインダストリアル・ソフトウェア部門を担当するプリンシパル・パートナー・ソリューション・アーキテクトで、AWS インダストリアル・データ・ファブリックと Computer Vision for Quality Insights ソリューションをリードしています。AWS のベストプラクティスを遵守し、産業用データプラットフォーム、産業用 IoT、時系列データ、アナリティクス、エッジコンピューティングに関する専門知識を持ち合わせています。製造業やエネルギー産業のパートナーから信頼されるアドバイザー、業界のスペシャリストとして顧客と緊密に連携して活動しています。 Conner Futa Conner はインダクティブ・オートメーションのアプリケーション・エンジニアです。様々な業界の Ignition で顧客のニーズを満たすアプリケーションの設計と実装を担当しています。 Preet Virk Preet Virk は、AWS のインダストリアル・ソフトウェア部門に所属するシニア・パートナー・ソリューション・アーキテクトです。産業用 IoT、機械学習、エッジコンピューティング、データレイクの形成を専門とし、AWS パートナーのテクニカルリーダーおよび信頼できるアドバイザーとして活躍しています。彼の目的は、顧客が AWS クラウドの可能性を最大限に活用するためにテクノロジーを効果的に活用できるように支援することです。 Russ Sagert Russ Sagert は、NetApp のビジネス開発ディレクターです。石油・ガス、鉱業、電力、自動車、食品・飲料、ハイテク製造業など、さまざまな製造プラント事業者向けのデジタルトランスフォーメーション・ソリューションの開発と市場投入を専門としています。戦略的パートナーシップを構築し、業務効率の改善、コスト削減、トップライン収益の最大化、製品品質と現場の安全性の向上を可能にする付加価値の高いソリューションを市場に提供しています。
アバター
AWS re:Invent 2023 では、 Amazon Q Business のプレビュー を行いました。Amazon Q Business は、エンタープライズシステム内のデータと情報に基づいて質問に答え、要約を提供し、コンテンツを生成して、タスクをセキュアに完了することができる、生成 AI 駆動のアシスタントです。 Amazon Q Business を使用することで、組織のユーザーが想像力、効率性、および生産性を高め、データに基づいて行動し、準備を整えることを可能にする、セキュアでプライベートな生成 AI アシスタントをデプロイできます。プレビュー中、私たちはお客様からたくさんのフィードバックをいただき、そのフィードバックを使用してサービスの機能強化に優先順位を付けました。 4月30日、 Amazon Q Business の一般提供が開始されたことをお知らせします。これには、カスタムプラグインに加えて、単一のステップで自然言語を使用して、組織のためにカスタマイズされた共有可能な生成 AI 駆動のアプリケーションである Amazon Q Apps のプレビューが含まれます。 このブログ記事では、利用可能になった新機能を含めた Amazon Q Business の主な機能を簡単に紹介し、Amazon Q Apps の機能を見ていきたいと思います。それでは、始めましょう! Amazon Q Business の紹介 Amazon Q Business は、 Amazon Simple Storage Service (Amazon S3)、Microsoft 365、および Salesforce などの 40 を超える一般的なエンタープライズデータソースにシームレスに接続し、ドキュメントや許可情報を保存します。ユーザーがその許可に基づいて、シングルサインオンを使用して既存の認証情報でコンテンツにセキュアにアクセスすることを確実にし、エンタープライズレベルのアクセスコントロールも含まれています。 Amazon Q Business は、ユーザーがウェブベースのチャットアシスタントを使用して、会社のポリシー、製品、業績、またはコードといった質問に対する回答を簡単に得られるようにします。Amazon Q Business をエンタープライズデータリポジトリにポイントすると、Amazon Q Business がデータ全体での検索、論理的な要約、傾向の分析を行って、ユーザーと対話します。 Amazon Q Business では、エンタープライズグレードのアクセスコントロールを備えた、セキュアでプライベートな生成 AI アシスタントを大規模に構築できます。また、管理上のガードレール、ドキュメントエンリッチメント、関連性の調整を使用して、会社のガイドラインに合わせて応答をカスタマイズし、制御することもできます。 以下は、利用可能になった新機能を含めた Amazon Q Business の主な機能です。 エンドユーザーのウェブエクスペリエンス 組み込みのウェブエクスペリエンスでは、質問をたずね、応答を受け取ってからフォローアップ質問をたずねて、以前の回答からの文脈を維持しながら、文中でソース引用を使用して新たな情報を追加することができます。応答は、アクセスできるデータソースからのみ取得できます。 一般提供に伴って、ウェブエクスペリエンスには新しいコンテンツ作成モードも導入されます。このモードでは、Amazon Q Business が応答の要約やパーソナライズされた E メールの作成などのクリエイティブなユースケースのためにエンタープライズコンテンツを使用したりアクセスしたりせず、その代わりに Amazon Q Business に組み込まれた生成 AI モデルを使用します。コンテンツ作成モードを使用するには、会話設定で [承認されたソースから応答] をオフにすることができます。 詳細については、AWS ドキュメントで「 Using an Amazon Q Business web experience 」と「 Customizing an Amazon Q Business web experience 」を参照してください。 事前構築されたデータコネクタとプラグイン 40 を超える事前構築されたデータコネクタ や Amazon Kendra レトリーバー を使用する、およびウェブクローリングを行ったりドキュメントを直接アップロードしたりすることで、エンタープライズデータを接続、インデックス化、同期化できます。 Amazon Q Business は、組み込みのセマンティックドキュメントレトリーバーを使用してコンテンツを取り込みます。また、アクセスコントロールリスト (ACL) などの許可情報を取得して順守し、それらを使用して取得後のデータへのアクセスを管理することを可能にします。データが取り込まれるときは、 AWS Key Management Service (AWS KMS) のサービスマネージドキーを使用してデータがセキュア化されます。 プラグインは、 Jira 、 Salesforce 、 ServiceNow 、および Zendesk などのエンタープライズシステムでアクションを実行するように設定できます。ユーザーは、チャットアシスタントでのチャット中に Jira 問題または Salesforce ケースを作成できます。 Microsoft Teams ゲートウェイ や Slack ゲートウェイ をデプロイして、チームまたはチャンネル内で Amazon Q Business アシスタントを使用することもできます。 一般提供の開始により、API 経由で任意のサードパーティアプリケーションに接続するカスタムプラグインの構築が可能になるため、ユーザーは自然言語プロンプトを使用して、Amazon Q Business アシスタント経由で休暇申請の提出やミーティング参加依頼の送信などのアクションを直接実行できるようになります。ユーザーは、残りの休暇日数や、スケジュールされているミーティングなどのリアルタイムのデータを検索することもできます。 [カスタムプラグイン] を選択するときは、サードパーティアプリケーションに接続するための OpenAPI スキーマを定義できます。OpenAPI スキーマは、Amazon S3 にアップロードする、または Swagger の OpenAPI 仕様 との互換性を備えた Amazon Q Business コンソールのインラインスキーマエディタにコピーすることができます。 詳細については、AWS ドキュメントで「 Data source connectors 」と「 Configure plugins 」を参照してください。 管理者コントロールとガードレール グローバルコントロールを設定して、大規模言語モデル (LLM) 限定の応答を生成するか、接続されたデータソースから応答を生成するかを選択するオプションをユーザーに提供できます。エンタープライズデータのみを使用してすべてのチャット応答を生成するかどうか、またはアプリケーションがエンタープライズデータ内に回答を見つけられないときには応答の生成に基盤となる LLM も使用できるかどうかを指定することが可能です。特定の単語をブロックすることもできます。 トピックレベルのコントロールでは、制限付きのトピックを指定して、そのトピックに対する応答での動作ルール (エンタープライズデータを使用して回答する、または完全にブロックするなど) を設定できます。 詳細については、AWS ドキュメントで「 Admin control and guardrails 」を参照してください。 メタデータフィールド名を指定し、条件を選択して、値とターゲットアクション (更新や削除など) を入力または選択するための基本的なロジックを設定することで、ドキュメントの取り込みプロセス中にドキュメントのメタデータや属性、およびコンテンツを変更することができます。また、画像からテキストを抽出するための光学文字認識 (OCR) の使用など、ドキュメントのフィールドとコンテンツを操作するために AWS Lambda 関数を使用することもできます。 詳細については、AWS ドキュメントで「 Document attributes and types in Amazon Q Business 」と「 Document enrichment in Amazon Q Business 」を参照してください。 強化されたエンタープライズグレードのセキュリティと管理 4 月 30 日から、すべての新しいアプリケーションのユーザー ID 管理には、 レガシー ID 管理 ではなく、 AWS IAM アイデンティティセンター を使用することが必要になります。従業員は、ウェブエクスペリエンスで、または独自のインターフェイスで Amazon Q Business アプリケーションにセキュアに接続できます。 また、IAM アイデンティティセンターを既存の IAM ロールやポリシーとともに使用して、従業員のアクセスを一元的に管理することもできます。アカウントの数が増えてくると、IAM アイデンティティセンターが、すべてのアプリケーションへのユーザーアクセスを一元的に管理する場として IAM アイデンティティセンターを使用するオプションを提供します。詳細については、AWS ドキュメントで「 Setting up Amazon Q Business with IAM Identity Center as identity provider 」を参照してください。 一般提供に伴い、Amazon Q Business は、データにセキュアに接続して保存し、アクセスログを簡単にデプロイして追跡するために、さまざまな AWS サービスと統合されました。 AWS PrivateLink は、VPC エンドポイントを使用して、 Amazon Virtual Private Cloud (Amazon VPC) 内で Amazon Q Business にセキュアにアクセスするために使用できます。インフラストラクチャリソースの作成とプロビジョニングを簡単に自動化するには、 AWS CloudFormation 用の Amazon Q Business テンプレートを使用できます。 AWS CloudTrail を使用して、Amazon Q Business 内でユーザー、ロール、または AWS サービスが実行したアクションを記録することもできます。 また、機密情報を保護する暗号モジュールに対する米国およびカナダ政府の基準とセキュリティ要件に基づいて、米国連邦情報処理規格 (FIPS) エンドポイントもサポートしています。 詳細については、AWS ドキュメントの「 Security in Amazon Q Business 」と「 Monitoring Amazon Q Business 」を参照してください。 新しい Amazon Q Apps (プレビュー) を使用したアプリの構築と共有 4月30日、Amazon Q Apps のプレビューが発表されました。これは、Amazon Q Business 内の新機能で、これまでにコードを作成した経験がなくても、組織のユーザーが会社のデータに基づく生成 AI 駆動のアプリを簡単にすばやく作成できるようにします。 Amazon Q Apps を使用すると、ユーザーは自然言語で作成したいアプリを説明するだけで済み、Amazon Q Business が問題解決を支援した既存の会話を使用することもできます。数回クリックするだけで、Amazon Q Business が目的のタスクを実行するアプリを瞬時に生成し、組織全体で簡単に共有できます。 PartyRock を使い慣れているならば、このコード不要のビルダー簡単に使用でき、既に Amazon Q Business にあるエンタープライズデータに接続するという追加的なメリットもあります。 新しい Amazon Q アプリを作成するには、ウェブエクスペリエンスで [アプリ] を選択し、入力ボックスにタスクに関する簡単なテキスト式を入力します。コンテンツクリエーター、インタビュー質問ジェネレーター、議事録サマライザー、文法チェッカーなどのサンプルを試すこともできます。 ここでは、以下のプロンプトを使用して、ドキュメントのレビューと修正を行うドキュメントアシスタントを作成します。 あなたはプロの編集者で、文法的な誤り、つづりの間違い、文章のスタイルやトーンの不一致についてドキュメントをレビューし、修正する任務を負っています。ファイルが与えられたときの目標は、著者の本来の意図と意味合いを維持しながら、ドキュメントが最高の文書作成基準に従っていることを確実にするための変更を推奨することです。提案した修正と、それを裏付ける理由のすべてを、番号付きのリストで提供する必要があります。 [生成] ボタンを選択すると、ドキュメント編集アシスタントアプリが 2 つのカードとともに生成されます。カードの 1 つは入力としてドキュメントファイルをアップロードするためのカードで、もう 1 つは編集提案を提供するテキスト出力カードです。 [カードを追加] ボタンを選択すると、ユーザー入力、テキスト出力、ファイルアップロード、または管理者が事前設定したプラグインなどのカードをさらに追加できます。著者として企業ブログチャネルでの記事の公開をリクエストする Jira チケットを作成したい場合は、アップロードされたファイルからの編集済み提案の結果を用いる Jira プラグインを追加できます。 アプリを共有する準備ができたら、 [公開] ボタンを選択します。このアプリは、他の人が使用できるように組織のカタログにセキュアに共有して、生産性を向上させることができます。同僚たちは、アプリの構築をゼロから始めるのではなく、共有されたアプリを選択し、それらを変更して、独自のバージョンを組織カタログに公開できます。 公開されているすべての Amazon Q Apps を表示するには、 [ライブラリ] を選択します。カタログをラベルで検索して、お気に入りのアプリを開くことができます。 Amazon Q Apps は、Amazon Q Business から堅牢なセキュリティおよびガバナンスコントロールを受け継いでいます。これには、ユーザー認証やアクセスコントロールが含まれ、統制されたコラボレーションとイノベーションを必要とする部門全体で、組織がアプリを安全に共有できるようにします。 Amazon Q Apps は管理者コンソールで表示でき、ライブラリから管理したり削除したりできます。 詳細については、AWS ドキュメントで「 Amazon Q Apps 」を参照してください。 今すぐご利用いただけます Amazon Q Business は、4月30日より米国東部 (バージニア北部) および米国西部 (オレゴン) の各リージョンで一般提供されます。これには、新たな 2 つの料金サブスクリプションオプションがあります。 Amazon Q Business Lite (3 USD/ユーザー/月) サブスクリプションは、Amazon Q Business の基本的な機能へのアクセスをユーザーに提供します。 Amazon Business Pro (20 USD/ユーザー/月) サブスクリプションは、Amazon Q Business の全機能へのアクセスに加えて、Amazon Q Apps (プレビュー) と、生成ビジネスインテリジェンス機能を使用してビジネスアナリストとビジネスユーザーの生産性を向上させる Amazon Q in QuickSight (Reader Pro) へのアクセスもユーザーに提供します。 Amazon Q Business は、無料トライアル (50 ユーザー、60 日間) を使用して試すことができます。料金オプションの詳細については、 Amazon Q Business Pricing ページを参照してください。 Amazon Q Business の詳細については、自分のペースで進めることができる AWS Skill Builder の無料デジタルコース、 Amazon Q Business Getting Started で学び、 Amazon Q Developer Center でさらに多くのサンプルコードを入手することができます。 Amazon Q Business コンソール で今すぐお試しください! 詳細については、 Amazon Q Business 製品ページ と、AWS ドキュメントにある ユーザーガイド を参照してください。フィードバックは、 AWS re:Post for Amazon Q 、または通常の AWS サポート担当者を通じてお寄せください。 – Channy 原文は こちら です。
アバター
Amazon Web Services (AWS) が2023年 プレビューとして Amazon Q Developer をリリースしたとき、このリリースは私が AWS サービスとやりとりする経験を変化させ、日常的に AWS サービスの可能性を最大限に引き出すことも可能にしました。この生成 AI 駆動のアシスタントは、17 年間におよぶ AWS の知識と経験に基づいてトレーニングされており、AWS でのアプリケーションの構築、ベストプラクティスの検索、トラブルシューティングの実行、およびエラーの解決を支援します。 4月30日、 Amazon Q Developer の一般提供が開始されたことをお知らせします。この発表には、新機能を含めたいくつかの更新事項があります。それでは、始めましょう。 新機能: Amazon Q Developer はユーザーの AWS アカウントリソースを把握しています この新機能は、AWS 上のクラウドインフラストラクチャを理解して管理するために役立ちます。この機能では、自然言語プロンプトを使用して AWS リソースをリストして説明できるため、AWS マネジメントコンソールをナビゲートしたり、ドキュメントページからすべての情報を集めたりする煩わしさを最小限に抑えることができます。 この機能の使用を開始するには、 AWS マネジメントコンソール に移動して、Amazon Q Developer アイコンを選択します。 この新機能を使用して、すべての AWS リソースのリスト化を Amazon Q Developer に依頼できます。例えば、Amazon Q Developer に「すべての Lambda 関数をリストして」と言うと、Amazon Q Developer は、要請どおりの AWS Lambda 関数一式と、各リソースに簡単に移動できるようにするためのディープリンクを伴う応答を返します。 試してみるプロンプト: すべての Lambda 関数をリストして。 AWS マネジメントコンソール経由でナビゲートすることなく、他の AWS リージョンに格納されているリソースをリストすることもできます。 試してみるプロンプト: シンガポールリージョンにある Lambda 関数をリストして。 上記に加えて、この機能は AWS コマンドラインインターフェイス (AWS CLI) コマンドも生成できるので、変更を即座に実行することができます。ここでは、Lambda 関数のタイムアウト設定の変更を Amazon Q Developer に依頼します。 試してみるプロンプト: シンガポールリージョンにある Lambda 関数 &lt;AWS LAMBDA 関数の名前&gt; のタイムアウトを 10 秒に変更して。 Amazon Q Developer が、このアクションを実行するための AWS CLI コマンドを生成したのがわかります。次に、コマンドをコピーしてターミナルに貼り付け、変更を実行することができます。 $&gt; aws lambda update-function-configuration --function-name &lt;AWS_LAMBDA_FUNCTION_NAME&gt; --region ap-southeast-1 --timeout 10 { "FunctionName": "&lt;AWS_LAMBDA_FUNCTION_NAME&gt;", "FunctionArn": "arn:aws:lambda:ap-southeast-1:&lt;ACCOUNT_ID&gt;:function:&lt;AWS_LAMBDA_FUNCTION_NAME&gt;", "Runtime": "python3.8", "Role": "arn:aws:iam::&lt;ACCOUNT_ID&gt;:role/service-role/-role-1o58f7qb", "Handler": "lambda_function.lambda_handler", "CodeSize": 399, "Description": "", "Timeout": 10, ... &lt;truncated for brevity&gt; } 私がこの機能で実にすばらしいと思うのは、AWS マネジメントコンソールでアカウント情報を取得して、AWS CLI コマンドを生成するために必要な時間と労力を最小限に抑えて、必要な変更を直ちに実装できるようにしてくれることです。これは、私が AWS リソースを管理するワークフローに集中するために役立ちます。 Amazon Q Developer がコストを理解するための支援を提供できるようになりました (プレビュー) クラウド支出の価値を最大限に高めるには、クラウドコストを完全に理解しておく必要があります。この機能では、自然言語を使用して、AWS のコストに関連する質問に対する回答を得ることができます。この機能は、 AWS Cost Explorer からコストデータを取得し、分析することで機能します。 私は最近 Amazon SageMaker JumpStart を使用して生成 AI デモを作成していて、総支出額を把握しておく必要があるので、うってつけタイミングです。なので、今年の第 1 四半期における支出額を知るために、Amazon Q Developer に以下のプロンプトをたずねます。 試してみるプロンプト: 第 1 四半期でコストが高かったサービスの上位 3 位は? Amazon Q の応答から、AWS Cost Explorer ダッシュボードを開く Cost Explorer URL を選択することで、この結果をさらに詳しく調べることができます。次に、以下のプロンプトでフォローアップできます。 試してみるプロンプト: アカウント内のサービスで、前月比の増加が最も高いものをリストして。詳細情報と分析を提供して。 要するに、この機能は、クラウド支出に関する理解を深め、貴重なインサイトを得ることを容易にしてくれるのです。 IDE 向けの Amazon Q 拡張機能 更新の一環として、 Visual Studio Code と JetBrains IDE 向けの Amazon Q 統合開発環境 (IDE) 拡張機能もリリースされました。これからは、IDE マーケットプレイスに (1) Amazon Q と (2) AWS Toolkit という 2 つの拡張機能が表示されるようになります。 新規ユーザーの場合は、Amazon Q 拡張機能をインストールすると、AWS ビルダー ID かシングルサインオンを使用する 2 つのオプションがあるサインインページが IDE に表示されます。Amazon Q は引き続き通常どおりに使用できます。 既存ユーザーの場合は、IDE で AWS Toolkit 拡張機能を更新する必要があります。既存の Amazon Q 接続と Amazon CodeWhisperer 接続があるときは、それらが期限切れになっている場合でも、更新の完了後に新しい Amazon Q 拡張機能が自動的にインストールされます。 Visual Studio 2022 を使用している場合は、Amazon Q Developer を AWS Toolkit for Visual Studio 2022 の一部として使用できます。 IDE 内での高度な機能への無料アクセス ご存知かもしれませんが、希望の IDE で Amazon Q Developer の使用を開始するには、AWS ビルダー ID を使用することができます。今回の発表により、IDE 内で ソフトウェア開発用の Amazon Q Developer Agent と コード変換用の Amazon Q Developer Agent の 2 つの高度な既存機能に無料でアクセスできるようになりました。この更新アップデートには本当に嬉しさを隠せません! ソフトウェア開発用の Amazon Q Developer Agent では、Amazon Q Developer が IDE 内のプロジェクトのためのコード機能の開発を支援できます。使用を開始するには、Amazon Q Developer チャットパネルに /dev と入力します。私の同僚である Séb が、以下のスクリーンショットを共有してくれました。これらは、彼がサポートケースプロジェクトでこの機能を使用していたときのものです。Séb は以下のプロンプトを使用して、AWS Lambda で新しい API を作成するための実装プランを生成しました。 試してみるプロンプト: すべてのサポートケースをリストする API を追加して。この API を新しい Lambda 関数として表示して。 すると、Amazon Q Developer が初期プランを提供するので、ほぼすべてが対応されているのを確認できるまで、このプランを繰り返すことができます。確認できたら、プランを受け入れて [コードを挿入] を選択します。 AWS ビルダー ID を使用してアクセスできるもう 1 つの機能は、コード変換用の Developer Agent です。この機能は、IntelliJ または Visual Studio Code での Java アプリケーションのアップグレードに役立ちます。この機能については昨年 Danilo が説明しており、「 Amazon Q Code Transformation による Java アプリケーションのアップグレード (プレビュー) 」で Danilo の詳細なジャーニーをお読みいただけます。 コード変換用の Amazon Q Developer Agent における改善点 新しい変換プランは、アプリケーションに固有の詳細情報を提供するので、全体的なアップグレードプロセスを理解するために役立ちます。使用を開始するには、Amazon Q Developer チャットに /transform と入力して、Amazon Q が Java プロジェクトのアップグレードを開始するために必要な詳細情報を提供します。 最初のステップでは、Amazon Q が Java Development Kit (JDK) のバージョン、依存関係、および更新が必要な関連コードを特定して詳細情報を提供します。依存関係のアップグレードには、一般的なフレームワークの最新メジャーバージョンへのアップグレードが含まれるようになりました。例えば、Spring Boot で構築している場合は、Java 17 のアップグレードの一環として Spring Boot がバージョン 3 にアップグレードされるようになります。 このステップでは、Java 言語の仕様で置き換えが推奨されている非推奨のコードを Amazon Q が特定すると、アップグレード中にこれらの更新を自動的に実行します。これは Amazon Q の新たな機能強化で、今すぐご利用いただけます。 3 番目のステップでは、この機能がアップグレードされたコードのユニットテストを構築して実行します。これには、アップグレード後もコードのコンパイルプロセスがスムーズに実行されるのを確実にするための問題の修正が含まれます。 この機能を使用することで、Apache Maven を使用して構築された Java 8 および 11 のアプリケーションを、Java バージョン 17 にアップグレードできます。コード変換用の Amazon Q Developer Agent 機能の使用を開始するには、「 Upgrade language versions with Amazon Q Code Transformation 」にある手順を読んで、それらを実行してください。この機能を試すためのサンプルコードもあります。 知っておくべきこと 可用性 – Amazon Q Developer 機能の可用性に関する詳細は、 Amazon Q Developer FAQs ページをご覧ください。 料金 – 現在、Amazon Q Developer は Free (無料) ティアと Pro (ユーザーあたり毎月 19 USD) ティアの 2 つの料金ティアを提供しています。 自分のペースで進めることができる AWS Skill Builder の無料コース – Amazon Q Introduction は、生成 AI 駆動のアシスタントである Amazon Q に関するおおまかな概要、ユースケース、および使用上のメリットを説明する 15 分間のコースです。このコースは、2025 年までに世界中の 200 万人に無料の AI スキルトレーニングを提供するという Amazon の AI Ready イニシアティブの一環です。 Amazon Q Developer Center にアクセスして、詳細におよぶテクニカルコンテンツと、ソフトウェア開発作業を迅速化する方法を見つけてください。 楽しく構築できますように! –&nbsp; Donnie 原文は こちら です。
アバター
4月23日、re: Invent 2023でプレビュー版として初めてリリースされた Amazon Bedrock 向けガードレールの一般提供について発表できることを嬉しく思います 。Amazon Bedrock のガードレールを使用すると、お客様のユースケースと責任ある AI ポリシーに合わせてカスタマイズされた保護手段を生成 AI アプリケーションに実装できます。さまざまなユースケースに合わせた複数のガードレールを作成し、それらを複数の基盤モデル(FM)に適用することで、エンドユーザーエクスペリエンスを向上させ、生成 AI アプリケーション全体で安全制御を標準化できます。Amazon Bedrock のガードレールは、微調整されたモデルも含め、Amazon Bedrock のすべての大規模言語モデル(LLM)で使用できます。 Bedrock のガードレールは、FM のネイティブ機能に加えて業界をリードする安全保護機能を備えているため、現在 Amazon Bedrock の一部の基盤モデルでネイティブに提供されている保護よりも、85%も多くの有害コンテンツをブロックできます。Amazon Bedrock のガードレールは、お客様が生成 AI アプリケーションの安全性とプライバシー保護を単一のソリューションで構築およびカスタマイズできるようにする、トップクラウドプロバイダーが提供する唯一の責任ある AI 機能であり、Amazon Bedrock のすべての大規模言語モデル(LLM)だけでなく、微調整されたモデルでも機能します。 Aha! は、100万人以上の人々が製品戦略を実現できるよう支援しているソフトウェア会社です。「私たちの顧客は、目標の設定、顧客からのフィードバックの収集、視覚的なロードマップの作成において、毎日私たちを頼りにしています」とAha! の共同設立者兼最高技術責任者であるクリス・ウォーターズ博士は語った。「だからこそ、私たちは生成 AI 機能の多くに Amazon Bedrock を使用しています。Amazon Bedrock は責任ある AI 機能を提供しています。これにより、データ保護とプライバシーポリシーを通じて情報を完全に管理し、Bedrock のガードレールを通じて有害なコンテンツをブロックすることができます。プロダクトマネージャーが顧客から提出されたフィードバックを分析することで、インサイトを発見できるようにするために開発されました。ほんの始まりに過ぎない。今後も高度な AWS テクノロジーを基盤として、あらゆる製品開発チームが自信を持って次に構築すべきものを優先順位付けできるよう支援していきます。」 プレビュー投稿で Antje は ガードレールを使用してしきい値を設定して有害なカテゴリからコンテンツをフィルタリングする方法と、アプリケーションのコンテキストで避ける必要のある一連のトピックを定義する方法を示しました。コンテンツフィルター機能には、 犯罪行為を検出するための不正行為と 、 プロンプトインジェクションや脱獄の試みを検出するためのプロンプトアタックという2つの安全カテゴリが追加されました 。また、個人を特定できる情報(PII)を検出して編集する機密情報フィルターや、冒涜的な言葉やカスタムワード(有害な言葉、競合他社の名前、製品など)を含む入力をブロックするワードフィルターなど、重要な新機能も追加しました。 Amazon Bedrock のガードレールは、アプリケーションとモデルの中間に位置します。ガードレールは、アプリケーションからモデルに入力されるもの、モデルからアプリケーションに送られるものをすべて自動的に評価して、制限されたカテゴリに分類されるコンテンツを検出して防止します。 プレビューリリース のブログの手順を復習して、 拒否トピックとコンテンツフィルターの設定方法を学ぶことができます 。新機能の仕組みをお見せしましょう。 新機能 Amazon Bedrock 用のガードレールを使い始めるには、Amazon Bedrock 用の AWS マネジメントコンソールにアクセスします 。そこでガードレールを作成して新しい機能を設定できます。 Amazon Bedrock コンソールのナビゲーションペインで [ ガードレール] を選択し、次に [ガードレールの作成 ] を選択します。 ガードレールの名前と説明を入力します 。 [ 次へ ] を選択して [ 機密情報フィルターの追加] ステップに進みます。 機密情報フィルターを使用して 、ユーザー入力と FM 出力の機密情報や個人情報を検出します。ユースケースに基づいて、入力でブロックするエンティティ(たとえば、ユーザー固有の情報を必要としない FAQ ベースのチャットボット)または出力で編集するエンティティ(たとえば、チャット記録に基づく会話の要約)を選択できます。機密情報フィルタは、事前定義された PII タイプのセットをサポートします。また、自分のユースケースやニーズに合わせてカスタム正規表現ベースのエンティティを定義することもできます。 リストから 2 つの PII タイプ (名前、電子メール) を追加し、 名前として予約 ID を使用し、正規表現パターンとして [0-9A-fA-F]\ {8\} を使用する正規表現パターンを追加します。 「 次へ 」を選択し、ガードレールが「 ブロックされたメッセージを定義」ステップで入力またはモデル応答をブロックした場合に表示されるカスタムメッセージを入力します 。最後のステップで設定を確認し、[ ガードレールの作成 ] を選択します。 ガードレールの概要ページに移動し 、 テストセクションを使用して Anthropic Claude Instant 1.2モデルを選択します。 次のコールセンターの記録を [ プロンプト ] フィールドに入力し、[ 実行 ] を選択します。 以下のコールセンターの記録を要約してください。名前、メールアドレス、予約 ID を一番上に記入してください。 エージェント:ABC 社へようこそ。今日は何かお手伝いしましょうか? お客様:ホテルの予約をキャンセルしたいです。 エージェント:もちろん、キャンセルをお手伝いします。予約番号を教えてもらえますか? お客様:はい、私の予約番号は550e8408です。 エージェント: ありがとうございます。確認のため名前とメールアドレスを教えていただけますか? お客様:私の名前はジェーンドゥで、メールは jane.doe@gmail.com です エージェント:確認していただきありがとうございます。さっそく予約をキャンセルします。 ガードレールアクションは 、ガードレールが作動したインスタンスが3つあることを示しています。 View trace を使って詳細を確認しています。 ガードレールが名前、電子メール、 予約 ID を検出し 、最終応答でそれらをマスクしていることに気付きました 。 ワードフィルターを使用して 、冒涜的な言葉やカスタムな言葉(競合他社の名前や攻撃的な言葉など)を含む入力をブロックしています。「 不適切な表現をフィルターする」ボックスにチェックを入れます。 冒涜的な言葉のリストは、冒涜のグローバルな定義に基づいています。さらに、ガードレールでブロックするフレーズは最大 10,000 個 (1 フレーズあたり最大 3 語) まで指定できます。入力またはモデルの応答にこれらの単語またはフレーズが含まれていると、ブロックされたメッセージが表示されます。 次に、[ ワードフィルター ] で [ カスタム単語とフレーズ ] を選択し、[ 編集] を選択します。「 単語やフレーズを手動で追加 」 を使用してカスタム単語 CompetitorY を追加しています 。 フレーズのリストをアップロードする必要がある場合は、「ローカルファイルからアップロード 」または「S3 オブジェクトからアップロード 」を使用することもできます。ガードレールのページに戻るには、[ 保存して終了 ] を選択します。 架空の会社とその競合企業に関する情報を含むプロンプトを入力し、「CompetitorY が提供する追加機能にはどのようなものがありますか?」という質問を追加します。 。[ 実行 ] を選択します。 View trace を使って詳細を確認しています。設定したポリシーに従ってガードレールが介入したことに気付きました。 今すぐご利用いただけます Amazon Bedrock のガードレールが米国東部(バージニア北部)および米国西部(オレゴン)リージョンで利用できるようになりました。 料金の情報は、 Amazon Bedrock の料金ページ をご覧ください。 この機能を使い始めるには、 Amazon Bedrock のガードレールのウェブページをご覧ください 。 詳細な技術コンテンツや、ビルダーコミュニティがソリューションで Amazon Bedrock をどのように使用しているかについては、community.aws ウェブサイトをご覧ください。 — Esra 原文は こちら です。
アバター
AWS re:Invent 2023 では、 Amazon Titan イメージジェネレータ のプレビューを発表しました。これは、生成 AI (Generative AI) の基盤モデル (FM) で、英語の自然言語プロンプトを使用してリアルでスタジオ品質の画像をすばやく作成および調整できます。 Amazon Titan イメージジェネレータが Amazon Bedrock で一般的に利用できるようになったことを嬉しく思います。これにより、画像の即時カスタマイズなど、新しい画像生成および画像編集機能を使用して、生成 AI アプリケーションを簡単に構築およびスケールできるようになりました。 前回の記事で 、Titan イメージジェネレータによって生成されたすべての画像には、デフォルトで目に見えないウォーターマークが含まれていることにも触れました。これは、AI によって生成された画像を識別するメカニズムを提供することにより、誤った情報の拡散を減らすのに役立つように設計されています。 Titan イメージジェネレータのウォーターマーク検出が Amazon Bedrock コンソールで一般的に利用できるようになったことを発表できることを嬉しく思います。本日は、Amazon Bedrock に新しい DetectGeneratedContent API (プレビュー) も導入します。この API は、このウォーターマークの存在をチェックし、画像が Titan 画像ジェネレーターによって生成されたかどうかを確認するのに役立ちます。 これらの新機能をどのように使い始めるかを説明しましょう。 Amazon Titan イメージジェネレータを使用してイメージを瞬時にカスタマイズ 最大 5 つの参照画像を提供することで、被写体の新しい画像を生成できるようになりました。被写体の主な特徴はそのままに、さまざまなシーンで被写体を作成したり、参照画像から新しい画像にスタイルを転送したり、複数の参照画像のスタイルを組み合わせたりすることができます。これらはすべて、追加のプロンプトエンジニアリングやモデルの微調整なしに行うことができます。 このデモでは、「バナナを食べるオウム」の画像を作成するように Titan イメージジェネレータに依頼します。 最初の試みでは、参照画像を提供せずに Titan イメージジェネレータを使用してこの新しい画像を作成します。 次のコード例では、 AWS SDK for Python (Boto3) を使用して Amazon Bedrock を操作します。 C#/.NET、Go、Java、PHP のその他のコード例については、 Bedrock ユーザーガイドをご覧ください。 import boto3 import json bedrock_runtime = boto3.client(service_name="bedrock-runtime") body = json.dumps( { "taskType": "TEXT_IMAGE", "textToImageParams": { "text": "parrot eating a banana", }, "imageGenerationConfig": { "numberOfImages": 1, "quality": "premium", "height": 768, "width": 1280, "cfgScale": 10, "seed": 42 } } ) response = bedrock_runtime.invoke_model( body=body, modelId="amazon.titan-image-generator-v1" accept="application/json", contentType="application/json" ) 生成されたイメージは、次のコードを使用して表示できます。 import io import base64 from PIL import Image response_body = json.loads(response.get("body").read()) images = [ Image.open(io.BytesIO(base64.b64decode(base64_image))) for base64_image in response_body.get("images") ] for img in images: display(img) 生成された画像は次のとおりです。 次に、同じプロンプトで新しいインスタントイメージカスタマイズ機能を使用しますが、今度は次の 2 つの参照イメージも提供します。比較しやすいように、画像のサイズを変更し、キャプションを追加し、並べてプロットしました。 これがコードです…新しいインスタントカスタマイズは、 IMAGE_VARIATION タスクで実行できます。 # Import reference images image_path_1 = "parrot-cartoon.png" image_path_2 = "bird-sketch.png" with open(image_path_1, "rb") as image_file: input_image_1 = base64.b64encode(image_file.read()).decode("utf8") with open(image_path_2, "rb") as image_file: input_image_2 = base64.b64encode(image_file.read()).decode("utf8") # ImageVariationParams options: # text: Prompt to guide the model on how to generate variations # images: Base64 string representation of a reference image, up to 5 images are supported # similarityStrength: Parameter you can tune to control similarity with reference image(s) body = json.dumps( { "taskType": "IMAGE_VARIATION", "imageVariationParams": { "text": "parrot eating a banana", # Required "images": [input_image_1, input_image_2], # Required 1 to 5 images "similarityStrength": 0.7, # Range: 0.2 to 1.0 }, "imageGenerationConfig": { "numberOfImages": 1, "quality": "premium", "height": 768, "width": 1280, "cfgScale": 10, "seed": 42 } } ) response = bedrock_runtime.invoke_model( body=body, modelId="amazon.titan-image-generator-v1" accept="application/json", contentType="application/json" ) また、生成された画像のサイズを変更し、キャプションを追加し、最初に生成された画像と並べてプロットしました。 インスタント画像カスタマイズ機能を使用して生成された 2 番目の画像のオウムが、提供された参照画像の組み合わせとどのように似ているかがわかります。 Amazon Titan イメージジェネレータのウォーターマーク検出 すべての Amazon Titan FM は、 責任ある AI を念頭に置いて構築されています。データから有害なコンテンツを検出して削除し、不適切なユーザー入力を拒否し、モデル出力をフィルタリングします。コンテンツクリエーターが AI を使用してリアルな画像を作成する場合、このテクノロジーの責任ある開発を促進し、誤った情報の拡散を減らすことが重要です。そのため、Titan イメージジェネレータによって生成されるすべての画像には、デフォルトで不可視のウォーターマークが含まれています。ウォーターマーク検出は革新的なテクノロジーであり、Amazon Web Services(AWS)は、AI 画像出力用の組み込みウォーターマークを広くリリースした最初の主要なクラウドプロバイダーの1つです。 Titan イメージジェネレータの新しいウォーターマーク検出機能は、Amazon Titan によって生成された画像を識別できるメカニズムです。これらのウォーターマークは改ざんされにくいように設計されており、これらの機能が進化し続けるにつれて、AI が生成したコンテンツの透明性を高めるのに役立ちます。 コンソールを使用したウォーターマーク検出 ウォーターマーク検出は、通常 Amazon Bedrock コンソールで利用できます 。画像をアップロードして、基本モデルやカスタマイズバージョンで生成された画像を含め、Titan イメージジェネレータで作成された画像に埋め込まれた透かしを検出できます。Titan イメージジェネレータで作成されていない画像をアップロードすると、透かしが検出されなかったことがモデルに表示されます。 ウォーターマーク検出機能には信頼スコアも付属しています。信頼スコアは、ウォーターマーク検出の信頼度を表します。場合によっては、元の画像が変更されていると、検出の信頼性が低くなることがあります。この新機能により、コンテンツ作成者、報道機関、リスクアナリスト、不正検知チームなどは、誤解を招くような AI 生成コンテンツをより適切に特定して軽減できるようになり、組織全体での透明性と責任ある AI 導入が促進されます。 API を使用したウォーターマーク検出 (プレビュー) コンソールを使用した透かしの検出に加えて、Amazon Bedrock に新しい DetectGeneratedContent API (プレビュー) を導入します。この API は、この透かしの存在をチェックし、画像が Titan イメージジェネレータによって生成されたかどうかを確認するのに役立ちます。これがどのように機能するか見てみましょう。 このデモでは、 Titan イメージジェネレータのプレビュー投稿で見せた緑のイグアナの画像が実際にモデルによって生成されたかどうかを確認しましょう 。 インポートを定義し、Amazon Bedrock boto3 ランタイムクライアントをセットアップし、イメージを base64 でエンコードします。次に、基盤モデルを指定し、エンコードされたイメージを提供して、 DetectGeneratedContent API を呼び出します。 import boto3 import json import base64 bedrock_runtime = boto3.client(service_name="bedrock-runtime") image_path = "green-iguana.png" with open(image_path, "rb") as image_file: input_image_iguana = image_file.read() response = bedrock_runtime.detect_generated_content( foundationModelId = "amazon.titan-image-generator-v1", content = { "imageContent": { "bytes": input_image_iguana } } ) 応答を確認しましょう。 response.get("detectionResult") 'GENERATED' response.get("confidenceLevel") 'HIGH' 信頼度が HIGH で生成された応答は、Amazon Bedrock が Titan イメージジェネレーターによって 生成された ウォーターマークを検出したことを確認するものです。 それでは、Amazon Bedrock のステーブル・ディフュージョン XL 1.0を使用して生成した別の画像を確認してみましょう 。この場合は「夕日に面したミーアキャット」です。 今度はミーアキャットの画像で API を再度呼び出します。 image_path = "meerkat.png" with open(image_path, "rb") as image_file: input_image_meerkat = image_file.read() response = bedrock_runtime.detect_generated_content( foundationModelId = "amazon.titan-image-generator-v1", content = { "imageContent": { "bytes": input_image_meerkat } } ) response.get("detectionResult") 'NOT_GENERATED' 実際、 NOT_GENERATED という応答を見ると、Titan イメージジェネレータによるウォーターマークは検出されなかったため、画像はモデルによって生成されなかった可能性が高いことがわかります。 Amazon Titan イメージジェネレーターとウォーターマーク検出をコンソールで使用する これは、同僚の Nirbhay Agarwal がまとめた、Titan Image Generator と Amazon Bedrock コンソールの新しいウォーターマーク検出機能の使い始める方法の短いデモです。 利用可能なリージョン Amazon Titan イメージジェネレータ、新しいインスタントカスタマイズ機能、Amazon Bedrock コンソールのウォーターマーク検出は、本日、米国東部 (バージニア北部) と米国西部 (オレゴン) の AWS リージョンで利用できるようになりました。今後の更新については、 地域リスト全体を確認してください 。Amazon Bedrock の新しい DetectGeneratedContent API は、本日、米国東部(バージニア北部)と米国西部(オレゴン)の AWS リージョンでパブリックプレビューが可能になりました。 Amazon Titan イメージ・ジェネレーター、PartyRock でもご利用いただけるようになりました Titan イメージジェネレーターは、Amazon Bedrock のプレイグラウンドである PartyRock でも利用できるようになりました 。PartyRock は、クレジットカードを必要としない、コード不要の AI を活用したアプリ構築体験を提供します。 PartyRock を使用すると、 Stability AI と Amazon の画像生成モデルを選択することで、数秒で画像を生成するアプリを作成できます。 その他リソース: Amazon Titan ファミリーのモデルについて詳しくは、 Amazon Titan 製品ページをご覧ください。&nbsp;価格の詳細については、 Amazon Bedrock の料金表をご覧ください 。 PartyRock で Amazon Titan イメージジェネレーターを試してみたり、 Amazon Bedrock コンソールでモデルの高度なイメージ生成および編集機能を試してみてください。フィードバックは、 AWS re:Post for Amazon Bedrock にご送信いただくか、または通常の AWS の担当者を通じてお寄せください。 より詳細な技術コンテンツや生成 AI Builder コミュニティへの参加については、 community.aws の生成 AI スペースをご覧ください。 –&nbsp; Antje 原文は こちら です。
アバター
2023 年 11 月、Amazon Bedrock で 2 つの新しい Cohere モデル (Cohere Command Light と Cohere Embed English) が利用可能になりました 。4月29日、 Amazon Bedrock にさらに 2 つの Cohere モデル (Cohere Command R と Command R+) が追加 されたことを発表します。 組織は、エンタープライズデータソースに保存されている情報を安全に操作するために、 生成人工知能 (生成 AI) モデルを必要としています。Command R と Command R+ はどちらも、実世界のエンタープライズグレードのワークロード向けに構築された強力でスケーラブルな 大規模言語モデル (LLM) です。これらのモデルは多言語対応で、 検索拡張生成 (RAG) 、概念実証 (POC) から人工知能 (AI) を使用した本番環境に移行するための Tool Use などの機能を強化するために、高い効率性と強力な精度のバランスにフォーカスが置かれています。 Command R は、企業向けの本番稼働規模の AI を実現するための RAG と Tool Use をターゲットとしたスケーラブルな多言語生成モデルです。Command R+ は、エンタープライズグレードのワークロードを処理し、ビジネス AI アプリケーションを最適化するために設計された最先端の RAG 最適化モデルです。高度な RAG 向けに最適化された Command R+ は、このモデルに標準で装備されているインライン引用で高い信頼性を備えたエンタープライズ対応の検証可能な回答を提供します。Bedrock のこれらの新しい Cohere モデルを使用すると、AI でスケールして、財務、人事 (HR)、営業、マーケティング、カスタマーサポートなど、さまざまなビジネスセクターの多様なビジネス機能にわたるタスクをサポートする最も関連性の高い情報をすばやく見つけることができます。 Tool Use は、Command R+ でも使用できます。強力な多言語モデルである Command R+ は、Command R と同様に、市場で入手可能な他のモデルで使用されているトークナイザーよりも英語以外のテキストを高度に圧縮するトークナイザーを備えています。 Command R と Command R+ の使用を開始する Amazon Bedrock で両方のモデルの使用を開始するには、最初にモデルへのアクセスを取得する必要があります。 Amazon Bedrock コンソール で [モデルアクセス] を選択し、 [モデルアクセスを管理] を選択します。次に、目的のモデルを選択し、 [変更を保存] を選択します。Amazon Bedrock では Command R と Command R+ を含む 6 つの Cohere モデルから選択できるので、特定のビジネスニーズに最適なモデルをより柔軟に選択できるようになりました。 選択したモデルにアクセスできるようになったら、そのモデルを Amazon Bedrock で使用できます。更新されたステータスを表示するには、ベースモデルのテーブルを更新します。 モデルは、英語、フランス語、スペイン語、イタリア語、ドイツ語、ブラジルポルトガル語、日本語、韓国語、簡体中国語、アラビア語など、 ユーザーの言語 で応答するようにトレーニングされています。以下に例を示します。 プロンプト &lt;s&gt;"Écris une description de produit pour une voiture électrique en 50 à 75 mots" 出力 Découvrez la voiture électrique qui va révolutionner votre façon de conduire. Avec son design élégant, cette voiture offre une expérience de conduite unique avec une accélération puissante et une autonomie impressionnante.Sa technologie avancée vous garantit une charge rapide et une fiabilité inégalée. Avec sa conception innovante et durable, cette voiture est parfaite pour les trajets urbains et les longues distances.Profitez d'une conduite silencieuse et vivez l'expérience de la voiture électrique! Command R と Command R+ でプログラミングで操作する AWS コマンドラインインターフェイス (CLI) と AWS Software Development Kit (SDK) を使用して、Amazon Bedrock API を使用するさまざまな呼び出しを実行することもできます。AWS SDK を使用して Amazon Bedrock Runtime API を操作する Python のサンプルコードを次に示します。前に使用したのと同じテキスト生成プロンプトをプログラムで使用したときの結果を次に示します。この例では、Command R モデルを操作しています。Python に戻り、 ListFoundationModels API コールを実行して、Command R の modelId を見つけます。 import boto3 import json import numpy bedrock = boto3.client(service_name='bedrock', region_name='us-east-1') listModels = bedrock.list_foundation_models(byProvider='cohere') print("\n".join(list(map(lambda x: f"{x['modelName']} : { x['modelId'] }", listModels['modelSummaries'])))) このコードを実行すると、次のリストが返されます。 Command : cohere.command-text-v14 Command Light : cohere.command-light-text-v14 Embed English : cohere.embed-english-v3 Embed Multilingual : cohere.embed-multilingual-v3 Command R: cohere.command-r-v1:0 Command R+: cohere.command-r-plus-v1:0 このリストから cohere.command-r-v1:0 モデル ID を選択し、この記事の前半で示したようにテキストを生成するコードを記述します。 import boto3 import json bedrock = boto3.client(service_name="bedrock-runtime", region_name='us-east-1') prompt = """ &lt;s&gt;Écris une description de produit pour une voiture électrique en 50 à 75 mots body = json.dumps({ "prompt": prompt, "max_tokens": 512, "top_p": 0.8, "temperature": 0.5, }) modelId = "cohere.command-r-v1:0" accept = "application/json" contentType = "application/json" response = bedrock.invoke_model( body=body, modelId=modelId, accept=accept, contentType=contentType ) print(json.loads(response.get('body').read())) 次のような JSON 形式の出力が返されます。 Découvrez la voiture électrique qui va révolutionner votre façon de conduire. Avec son design élégant, cette voiture offre une expérience de conduite unique avec une accélération puissante et une autonomie impressionnante.Sa technologie avancée vous garantit une charge rapide et une fiabilité inégalée. Avec sa conception innovante et durable, cette voiture est parfaite pour les trajets urbains et les longues distances.Profitez d'une conduite silencieuse et vivez l'expérience de la voiture électrique! 今すぐご利用いただけます Command R と Command R+ のモデルは、他の Cohere モデルと共に、米国東部 (バージニア北部) と米国西部 (オレゴン) リージョンの Amazon Bedrock で使用できます。今後の更新については、 リージョンの完全なリスト を参照してください。 community.aws サイト にアクセスすると、詳細な技術コンテンツを検索することや、ビルダーコミュニティがソリューションで Amazon Bedrock をどのように使用しているかを調べることができます。 Amazon Bedrock コンソール で Command R と Command R+ を今すぐお試しいただき、 AWS re:Post for Amazon Bedrock または AWS サポートの通常の連絡先からフィードバックをお寄せください。 – Veliswa 原文は こちら です。
アバター