Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon SageMaker を使用した K-means クラスタリング

Amazon SageMaker は、さまざまな問題の種類で使用できる組み込み機械学習 (ML) アルゴリズムを複数提供しています。これらのアルゴリズムは、高性能でスケーラブルな機械学習を提供し、速度、スケール、精度が最適化されています。 これらのアルゴリズムを使用して、ペタバイト規模のデータを学習できます。これらは、利用可能な他の実装の最高 10 倍のパフォーマンスを提供するように設計されています。このブログ記事では、教師なし学習の問題である k-means について探っていきます。さらに、Amazon SageMaker の組み込み k-means アルゴリズムの詳細も説明します。 k-means とは? k-means アルゴリズムは、グループのメンバーがお互いにできる限り類似し、他のグループメンバーとできる限り異なるようなデータ内の離散グループを探します (以下の図を参照)。アルゴリズムで類似性を決定するために使用する属性を定義します。  k-means を定義するもう 1 つの方法は、クラスター内のすべての点が、他の中心よりもその中心に近い距離になるように、与えられたレコードセットに対して、k クラスター中心を見つけるクラスター問題です。 与えられたデータセットを示すこの図では、赤、青、緑の 3 つの明確なクラスターが見えます。各クラスターにはクラスター中心があります。各クラスターの点は、他のクラスター中心より、割り当てられているクラスター中心に空間的に近いことに注意してください。  数学的には、以下のように解釈できます。 前提条件: S={x1…xn}、次元 d の n ベクトルのセット S と整数 k 目標: 以下の式を最小化する、k クラスターセンターのセット C={µ1… µk } を探します。 k-means を使う場所  k-means アルゴリズムは、明示的にラベル付されていない、大きなデータセットのパターンまたはグループを見つけることに適しています。さまざまなドメインでのいくつかのユースケースを紹介します。 E コマース 購入履歴またはクリックストリームアクティビティで顧客を分類。 ヘルスケア 病気のパターン検出または成功する治療シナリオ。 画像検出で類似画像をグループ化する。 金融 データセットの異常検知により、不正取引を検出。例えば異常な購入パターンによるクレジットカード詐欺の検出。 […]

Read More

AWS、ヘルスケア顧客向けの HIPAA 適格 machine learning サービスを拡大

 今日 AWS は、Amazon Translate、Amazon Comprehend、そしてAmazon Transcribe が米国版になったことを発表しました。1966 年の健康保険の携帯性と説明責任に関する法律 (HIPAA) 対象サービス。この発表は、HIPAA の対象となる AWS 人工知能サービスである Amazon Polly、Amazon SageMaker、そして Amazon Rekognition の数を増やしています。これらのサービスを使用することで、医療業界の AWS 顧客は、データ見識を活用し machine learning (ML) の力を利用することで、プロバイダーと患者にとってより良い成果をもたらすことができます。 ヘルスケア顧客をサポートするために、AWS HIPAA の対象となるサービスは、対象となる事業体および HIPAA の対象となる事業者が保護された健康情報の処理、保守、保管に安全な AWS 環境を使用することを可能にします。NextGen Healthcare、Omada Health、Verge Health、そして Orion Health などのヘルスケア企業では、既に多数の患者の記録を分析するために、AWS 上の HIPAA ワークロードが実行されています。 HIPAA 対象サービスのリストに Amazon Translate、Amazon Transcribe、そして Amazon Comprehend を追加することで、顧客はこれらの AWS ML サービスを活用して、顧客サポートの合理化と患者エンゲージメントの向上を図ることができます。顧客はこれら 3 つのサービスを利用して、以下の […]

Read More

グラフ化なら、おまかせください (パート 1 – 航空ルートの事例)

Amazon Neptune に関する記事を複数回に分けてお届けします。本シリーズ記事で、グラフアプリケーションデータセットと、多数の異なるドメインおよび問題空間から取り出されたクエリを探求します。 Amazon Neptune は高速で信頼性が高い完全マネージド型グラフデータベースで、高度に連結されたデータの保存およびクエリ実行のために最適化されています。高度に連結されたデータを使用するオンラインアプリケーションでは、接続をナビゲートし、エンティティ同士のリレーションシップの強度、重要性または品質を活用できるような接続性能がクエリの仕事量で求められますが、まさに理想的な用途と言えます。皆さんは、こんな問いかけに遭遇したことがおありだと思います。 私たちに共通の友人や仲間はいる? あるネットワークエレメント、たとえばルーターやスイッチが故障すると、自分のネットワーク内でその影響がおよぶアプリケーションやサービスはどれ? ネットワークに最重要顧客用の冗長性はある? 2 つの駅を地下道を使って行き来する最短ルートはどれ? このお客様に次に買うもの、次に見るもの、次に聞くものをあなたがすすめるとしたら、何を? ユーザーがアクセスしたり変更したりする権限がある製品、サービス、サブスクリプションはどれ? この荷物を A 地点から B 地点に届けるのに最安または最速の方法は? 銀行または保険会社に共謀して詐欺をはたらきそうな連中グループはどれ? これで、高度に連結されたデータの管理および意味を理解する必要性にすでにお気づきだと思います。 本シリーズ記事はまず、世界のエアラインの運航ネットワークをモデリングしたオープンソースの航空路データセットで始めることにします。このデータセットには Practical Gremlin というブックが付属しています。 本シリーズ記事の事例はすべて、Analyze Amazon Neptune Graphs using Amazon SageMaker Jupyter Notebooks で記述されている Amazon SageMaker および Neptune の統合ソリューションを使用した Jupyter ノートブックとして提供します。各ノートブックには、サンプルデータおよびクエリ、ならびにデータモデル上の解説と本アプリケーションのユースケースに対応するクエリ設計テクニックが含まれています。 航空路データセットの起動 次の表で、[Launch Stack] ボタンの1つを選択して、AWS CloudFormation コンソールから Neptune-SageMaker スタックを起動します。チェックボックスを選択して、AWS CloudFormation が IAM リソースを作成することを確認します。 次に、[Create] を選択します。 […]

Read More

Amazon SageMaker で増分学習を簡単に実行する

 データ科学者および開発者は、Amazon SageMaker で増分学習を簡単に実行できるようになりました。増分学習は、既存のモデルの知識を新しいデータでさらにトレーニングすることによって拡張する機械学習 (ML) 技術です。今日から、Amazon SageMaker 組み込みビジュアル認識アルゴリズム、画像分類とオブジェクト検出のどちらもが、増分学習をすぐにサポートできるようになります。したがって、新しいデータのモデルトレーニングを開始する前に、AWS マネジメントコンソールまたは Amazon SageMaker Python SDK API を使用して、既存の Amazon SageMaker ビジュアル認識モデルを簡単にロードすることができます。 概要 増分学習は、既存の機械学習モデルの知識を新しいデータでさらにトレーニングすることによって継続的に拡張する技術です。したがって、訓練の開始時には、最初に無作為に初期化するのではなく、以前トレーニングを実行して得られたモデルの重みをロードしてから、新しいデータでモデルをさらにトレーニングし続けます。このようにして、以前トレーニングを実行してモデルが得た知識を保持し、それをさらに拡張します。これは、すべてのトレーニングデータに同時にアクセスすることができず、データはバッチ単位で経時的に取得し続ける場合に役立ちます。この学習テクニックを使用して、新しいトレーニングデータでモデルを再トレーニングするときに時間を節約し、リソースを計算することもできます。 このブログ記事では、Amazon SageMaker の増分学習機能を使用して転移学習を実行する方法についても説明します。説明する際は、既存のモデルをシェルフから取り出して使用します。モデルズーから画像分類モデルを選択し、新しい分類タスクを実行するためのモデルをトレーニングする出発点として使用します。転移学習は、特定の機械学習タスクに対して最先端のリファレンスを実装した上で新しいモデルを構築することを可能にします。これは、深く複雑なネットワークを最初からトレーニングするのに十分なデータがない場合にも役立ちます。 では、例を見てみましょう。 Amazon SageMaker の組み込みアルゴリズムを使用してビジュアル認識モデルを段階的にトレーニングする Amazon SageMaker のビジュアル認識アルゴリズム、画像分類とオブジェクト検出の両方で、増分学習をサポートするサンプルノートブックを用意しました。次に、Image Classification ノートブックのコードスニペットを示します。初めて Amazon SageMaker Image Classification モデルをトレーニングする場合、ノートブックにはステップバイステップの手順が記載されています。この例では、Amazon SageMaker で以前にトレーニングした既存の Image Classification モデルが既にあるとします。 ステップ 1: 既存の Amazon SageMaker Image Classification モデルを使用するための入力チャネルを定義する。 Amazon SageMaker チャネルは、トレーニングアルゴリズムが使用できる名前付き入力データソースです。この入力チャネルは “model” という名前でなければならず、既存モデルの […]

Read More

Amazon SageMaker ノートブックインスタンスのためのライフサイクル設定の更新

Amazon SageMaker では顧客が更新された API を使用して、ノートブックインスタンスのライフサイクル設定を更新するか、関連付けを解除できるようになりました。 ノートブックインスタンスを停止して、ノートブックインスタンスのライフスパンの任意の時点で UpdateNotebookInstance API を使用することで、必要に応じて、ライフサイクル設定を関連付けるか、切り替えるか、または無効にすることができます。 ライフサイクル設定 は、ノートブックインスタンスでデータ科学ワークスペースを構築するときに必要なセットアップを整理して、自動化するときに便利です。 ノートブックインスタンスが開始するたびに、タスクのリストを実行できます。ライフサイクル設定を使用して、ノートブックインスタンスにパッケージやサンプルノートブックをインストールするか、データを事前ロードするか、ネットワークやセキュリティを設定するか、シェルスクリプトを使用してそれをカスタマイズすることができます。ライフサイクル設定を作成した後で、それを複数インスタンスで使用するか、将来の使用のために保存することができます。 以前、ノートブックインスタンスを初めて作っているときに割り当てた1つである場合のみ、ライフサイクル設定を使用できます。また、ノートブックインスタンスを削除することによってのみ、ライフサイクル設定を無効にできます。UpdateNotebookInstance API を使用して、ノートブックインスタンスのこれらのライフサイクル設定を 更新するか、関連付けを解除できるようになりました。 AWS コンソールのライフサイクル設定を更新する方法は、次のとおりです。 まず、設定の更新のために、実行中のインスタンスを停止する必要があります。それを停止した後で、設定の更新が有効になったことがわかります。 Update setting (設定の更新)をクリックして、メニューを使用してライフサイクル設定に進み、既存の設定を切り離すか、別のものに置き換えます。 API 要求パラメータを示す例は、以下のとおりです。 { “DisassociateLifecycleConfig”: boolean, “InstanceType”: “string”, “LifecycleConfigName”: “string”, “NotebookInstanceName”: “string”, “RoleArn”: “string” } パラメータの詳細な説明については、ここに示した Amazon SageMaker API ドキュメンテーションページにアクセスできます。https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateNotebookInstance.html.   著者について Erkan Tas は、Amazon SageMaker のシニアテクニカルプロダクトマネージャーです。彼は、AWS プラットフォームを使用して、人工知能を簡単に、アクセス可能に、スケーラブルにするという役割を担っています。また、彼は船乗りであり、科学と自然を崇拝し、碁やストラトキャスターのプレイヤーでもあります。        

Read More

Amazon SageMaker でノートブックのボリュームサイズを最大 16 TB までカスタマイズできます

 Amazon SageMaker は大量のデータを保存するために必要なときに、ノートブックストレージボリュームをカスタマイズできるようになります。 ノートブックインスタンスに適切なストレージボリュームを割り当てることは、Machine Learning モデルを開発する際には重要です。そのストレージボリュームを使用して、大量のデータセットを処理するか、操作に使用する他のデータを一時的に保存することができます。 Amazon SageMaker で作成したすべてのノートブックインスタンスのデフォルトストレージボリュームは、5 GB に設定されています。5 GB から 16384 GB まで、1 GB の増分値で選択できます。 Amazon SageMaker コンソールを使用してノートブックを作成するとき、ストレージボリュームを定義できます。 ここでは、ニーズに合わせて、GB 単位でボリュームサイズを編集する必要があります。 結論 ニーズに応じて、ノートブックインスタンスのストレージボリュームをカスタマイズします。Amazon SageMaker のドキュメントを参照して、ノートブックインスタンスを作成して、使用する方法の詳細についてご覧ください。   著者について Erkan Tas は、Amazon SageMaker のシニアテクニカルプロダクトマネージャーです。彼は、AWS プラットフォームを使用して、人工知能を簡単に、アクセス可能に、スケーラブルにするという役割を担っています。また、彼は船乗りであり、科学と自然を崇拝し、碁やストラトキャスターのプレイヤーでもあります。        

Read More

AWS PrivateLink エンドポイントを使用することで、Amazon VPC から Amazon SageMaker ノートブックに直接アクセスする

Amazon SageMaker は、AWS PrivateLink を ノートブックインスタンスに対してサポートするようになりました。 この記事では、Amazon SageMaker ノートブックへの接続を確保するために、AWS PrivateLink をセットアップする方法を示します。 HIPAA または PCI などの規制へのコンプライアンスを維持するために、情報がインターネットを経由しないようにすることが必要になることがあります。 さらに、公共インターネットへのデータの露出を防止することで、ブルートフォースや分散サービス拒否攻撃などの脅威ベクトルの可能性が減少します。 AWS PrivateLink は、公共インターネットへのデータの露出を排除することにより、クラウドベースのアプリケーションと共有するデータのセキュリティを簡素化します。複数の VPC、AWS サービス、オンプレミスアプリケーションの間のプライベート接続を可能にします。AWS PrivateLink により、プライベートネットワークで直接、ホストされる場合と同様に、お使いのサービスが機能します。 AWS PrivateLink を使用してAmazon SageMaker APIと予測呼び出しを保護するため、以前、API オペレーションとランタイムのための PrivateLink サポートを導入しました。 AWS PrivateLink を使用して、ノートブックインスタンスへの接続も同様に保護することができるようになります。 AWS PrivateLink を介して Amazon SageMaker ノートブックを使用するために、Amazon Virtual Private Cloud (VPC) エンドポイントをセットアップする必要があります。 AWS PrivateLink は、インターフェイス VPC エンドポイントを使用することで、スケール自在な方法で VPC からすべての Amazon SageMaker API オペレーションにプライベートにアクセスすることができます。VPC エンドポイント は、プライベート IP アドレスをもつサブセットの Elastic Network Interface […]

Read More

CSVデータセットのPipeモードを使って、Amazon SageMaker内蔵アルゴリズムでトレーニングがより早く

Amazon SageMakerに内蔵されたアルゴリズムはPipeモードをサポートし、Machine learning (ML)モデルをトレーニングしている間、Amazon Simple Storage Service (S3)からCSV形式でデータセットを取得しAmazon SageMakerへ取り込みます。 モデルのトレーニングを進めながら、データはPipe入力モードでアルゴリズムコンテナに直接流れます。トレーニングを開始する前にデータをローカルの Amazon Elastic Block Store (EBS)の容量でダウンロードするファイルモードとは異なります。Pipeモードを利用すると、トレーニングはより早く、かなり少ないディスク容量でより速く終了することができます。Machine learningモデルをトレーニングする全体的なコストを削減することができます。3.9GB CSVデータセットのAmazon SageMakerのLinear Learnerアルゴリズムで、回帰モデルのトレーニングに利用した内部基準では、ファイルモードに代わりPipeモードを利用した場合、モデルのトレーニングに費やす時間は全体的に40%も削減される例がありました。Pipeモードと利点の詳細についてはブログの掲示板をご覧ください。 Amazon SageMakerの内蔵アルゴリズムでPipeモードを利用する 本年度初頭に内蔵Amazon SageMakerアルゴリズムで利用するPipe入力モードが初めて発表された時は、protobuf recordIO形式のダータのみをサポートしていました。高処理のトレーニングジョブに特化した特殊な形式です。Pipe入力モードの持つ利点を、CSV形式のトレーニングデータセットでも活用できるようになりました。次のAmazon SageMaker内蔵アルゴリズムでは、Pipe入力モードを使ったCSV形式のデータセットによるトレーニングを全面的にサポートしています: 主成分分析 (PCA) K-Meansクラスタリング K-Nearestネイバー Linear Learner (分類と回帰) ニューラルトピックモデリング ランダムカットフォレスト この新しい機能をトレーニングジョブで利用するためには、通常通りCSVデータベースのAmazon S3の位置を指定し、入力モードで「File」の代わりに「Pipe」を選択します。データ形式やコードの変更をする必要もなく、CSVデータセットはシームレスに流れてきます。 CSVの最適化Pipeモードを使ったより迅速なトレーニング CSV形式でデータセットに新しく実行されるPipeモードは、高度に最適化された高処理を可能にします。Amazon SageMaker Linear Learnerアルゴリズムを合成CSVデータセット上でトレーニングし、Pipe入力モードを使うとパフォーマンスが向上することを実証します。 初のデータセットである3.9GB CSVファイルは、200万個の記録を保有し、それぞれの記録は100個のカンマで切り離された単精度浮動小数点数でした。次はバッチサイズが1000でAmazon SageMaker Linear Learnerアルゴリズムをトレーニングしている間の、PipeモードとFileモードの全体的なトレーニングジョブ実施時間とモデルのトレーニング時間を比較したものです。 ご覧のようにCSVデータセットでPipe入力モードを利用すると、モードをトレーニングする合計時間はAmazon SageMakerにサポートされているインスタンスタイプで40%も削減できることがわかります。 二度目のデータセットである1GB CSVファイルは、400個の記録のみで、それぞれの記録は10万個のカンマで切り離された単精度浮動小数点数でした。バッチサイズが10の早期に実施していたトレーニング基準で再度実施してみました。 Pipeモードを利用したパフォーマンスは著しい向上を見せ、モデルをトレーニングする合計時間はおよそ75%も削減されました。 このような実験の結果は、Pipe入力モードが目覚ましいパフォーマンスの向上をもたらすということを明確に示しています。トレーニングインスタンスへデータセットをダウンロードすることから生じる遅れを避け、トレーニングジョブでより高度は読み込み処理ができるようになります。 Amazon SageMakerを利用する ノートブック見本を活用してAmazon […]

Read More

Amazon SageMaker Jupyterノートブックを使用してAmazon Neptune グラフを分析する

 新しいグラフデータモデルやクエリを作成する、あるいは、既存のグラフデータセットを探索するかどうかに関わらず、結果を視覚化できるインタラクティブなクエリ環境があると便利です。このブログ記事では、Amazon SageMaker ノートブックを Amazon Neptune データベースに接続して、これを実現する方法を紹介します。ノートブックを使用して、データをデータベースにロードし、クエリをして結果を視覚化します。 Amazon Neptune は高速かつ信頼性の高いグラフデータベースです。クエリワークロードで、接続をナビゲートし、エンティティ間の関係の強さ、重さ、または品質を活用する必要がある場合に理想的です。 Amazon SageMaker は、機械学習モデルの構築、トレーニング、および開発のための完全管理プラットフォームです。このブログの記事では、その機能に対応した SageMaker を使用し、ホストされた Jupyter ノートブックを提供します数回クリックするだけで、Jupiter のノートブックを作成し、それを Neptune に接続し、データベースのクエリを開始できます ソリューションの概要 このブログの記事で紹介されているソリューションは、以下のリソースを作成します。 3 つのサブネットと VPC S3 エンドポイントを持つ Neptune VPC 適切なサブネット、パラメータ、およびセキュリティグループを持つ、単一の r4.xlarge インスタンスを含む Neptune クラスター Neptune が S3 からデータをロードすることを許可するIAM ロール SageMaker Jupyter ノートブックインスタンス、IPython Gremlin 拡張モジュール、Gremlin コンソール、および一部のサンプルノートブックコンテンツ Neptune データベースのエンドポイントは、アカウントの新しい VPC にプロビジョニングされます。 SageMaker の Jupyter ノートブックは、Amazon SageMaker VPC […]

Read More

Model Server for Apache MXNet v1.0 がリリース

AWS が最近リリースした Model Server for Apache MXNet (MMS) v1.0 はサービス使用状態を管理するための新しい API を特徴としており、ランタイム中のモデルの動的ロード、レイテンシーの低減、高いスループットを可能にします。本記事では、新機能を詳しくご紹介するとともに、MMS v1.0 のパフォーマンス向上についてご覧いただきます。 Model Server for Apache MXNet (MMS) とは? MMS はモデルサーバーを提供するオープンソースのフレームワークで、スケーラブルなトレーニングおよび推論のための深層学習モデルのタスクを簡略化を目的に設計されました。下図に、MMS のスケーラブルにデプロイしたアーキテクチャの例を示します。 以下は、MMS v1.0 の主要な機能です。 MXNet、Gluon、ONNX ニューラルネットワークモデル対応用途に設計。 モデルアーカイブにパッケージされたカスタムコードを使用して、推論実行パイプラインの各ステップをカスタマイズ。 REST API エンドポイントを含む、軽量かつスケーラブルなサービススタックの事前設定。 ランタイム中のモデルのロード、アンロード、スケーリングを可能にする管理 API の公開。 大規模な推論のためのビルドおよび最適化済みのコンテナイメージ。 リアルタイムのオペレーションメトリクスを使用して、システムおよび API の健全性、パフォーマンス、ロードをモニタリング。 MMS のクイックスタート MMS 1.0 では、Java 8 以上の環境が必須です。サポート対象のプラットフォームごとにインストール方法を以下に示します。 # Ubuntu/Debian ベースのディストリビューション sudo apt-get install openjdk-8-jre # Fedora、Redhat […]

Read More