Amazon Web Services ブログ

Category: SageMaker

Amazon SageMaker で高解像度胸部 X 線医療画像を分類する

医療画像処理は、深層学習が大きな効果を発揮する重要な分野の 1 つです。一般的な処理としては、様々な医用画像モダリティを用いた分類、検出、セグメンテーションがあります。このブログ記事では、HIPAA 準拠サービスである Amazon SageMaker を使用して、Amazon SageMaker 画像分類アルゴリズムで胸部 X 線画像分類の深層学習モデルをトレーニングする方法を概説します。この画像分類アルゴリズムが、高解像度医療画像を分析するための有効なツールとなり得ることを示したいと考えています。マルチラベルサポートや混合精度トレーニングなどのアルゴリズムの新しい機能を使用して、 混合精度モードを使用する胸部 X 線画像分類モデルが Amazon EC2 P3 インスタンスで float32 データタイプを使用する場合より、トレーニングによって 33% 速くなることを示します。また、高解像度の画像で胸部 X 線画像をどのようにトレーニングすることができるかを示し、低解像度のモデルでもパフォーマンスを向上できることを示します。 高解像度胸部 X 線医療画像の分類 ディープニューラルネットワークベースのアプローチは、通常は、メモリの制約のために低解像度の画像で動作します。画像分類 (ResNet-152) で使用する一般的なディープネットワークでは、256×256 サイズの画像でも大きなメモリが必要です。また、メモリ要件は、トレーニングで使用するバッチサイズにも依存します。ただし、一部の疾患は、胸部 X 線画像の小さな領域にしか存在しないため、高解像度画像分類の恩恵を受ける可能性が高くなります。 胸部 X 線画像のデータセットは、アメリカ国立衛生研究所 (NIH) [1] から公表されており、https://nihcc.app.box.com/v/ChestXray-NIHCC から入手できます。このデータセットは、30,805 人の患者からの 112,120 件の正面図 X 線画像で構成されます。これらの画像は、自然言語処理を使用して、関連付けられた放射線レポートからマイニングされた最大 14 のテキストマイニング病気画像ラベルを含むことができます。これらの 14 のラベルのいずれも、それぞれの X 線に関連付けることができることが、マルチラベル画像分類の問題となります。疾患のラベルは、無気肺、浸潤影、浸潤、気胸、浮腫、気腫、線維症、滲出、肺炎、胸膜肥厚、小瘤、結節、腫瘤およびヘルニアです。 近年、胸部 X 線画像分類に深層学習アルゴリズムが適用されています [1]。ImageNet […]

Read More

IP アドレスで、Jupyter ノートブックインスタンスへのアクセスを制限する

セキュリティを強化するため、Amazon SageMaker のお客様は、ノートブックインスタンスへのアクセスを一定の範囲の IP アドレスに限定することができます。 IP アドレスによるフィルタリングは、トラフィックのサブセットのみがノートブックインスタンスにアクセスできるようにする必要がある場合に役立ちます。ノートブックのアクセスを制限するのは、以下のような場合です。 IP アドレスの特定のホワイトリストを除いてトラフィックをブロックすることにより、セキュリティとコンプライアンスの要件を満たす場合。 特定の地域や人口をテストする場合。 一群の人々にのみ実験中のアクセスを許可する場合。 ノートブックインスタンスへのアクセスを IP アドレスで制限するには、Amazon SageMaker ノートブックにアクセスするすべてのユーザーまたはグループの AWS Identity and Access Management (IAM) ロールに、IP アドレスの条件付き演算子があるポリシーをアタッチする必要があります。IAM は、AWS のリソースへのアクセスを安全にコントロールするのに役立つウェブサービスです。ポリシーとは、アイデンティティまたはリソースにアタッチして、そのアクセス許可を定義するエンティティです。 IP アドレスの条件付き演算子がある IAM ポリシーは、指定したリストにある IP アドレスからの呼び出しでない限り、 CreatePresignedNotebookInstanceUrl および AuthorizedUrl へのアクセスを拒否します。また、このポリシーは、Amazon SageMaker コンソールでノートブックインスタンスを開くアクセスも制限します。Effect を「Deny」と定義し、NotIpAddress 条件付き演算子を aws:SourceIP キーで使用することで、ノートブックインスタンスへのアクセス許可を付与したい IP アドレスのリスト以外のインターネットから来るすべてのトラフィックをブロックできます。 IP アドレスの条件は、キーを IPv4 または IPv6 のアドレスあるいは IP アドレスの範囲と比較することに基づいてアクセスを制限します。 値は、標準 CIDR 形式 (例、203.0.113.0/24 または 2001:DB8:1234:5678::/64) […]

Read More

Amazon Athena を使用した SageMaker ノートブックからの SQL クエリの実行方法

インターネットの登場以来、データの肥大化、高速化、多様化が進んでいます。多くの企業は、この「ビッグデータ」の管理という問題を抱えており、「ビッグデータ」を解釈して、最適な結果を生み出すことに苦戦しています。データの収集、保存、共有、分析、可視化を難しくしている原因として、企業におけるデータのサイロ化、途切れることのない多種多様なフォーマットのデータ流入、テクノロジーを取り巻く環境の絶え間ない変化が挙げられます。それでは、データストアに接続する堅牢なデータパイプラインを構築し、データからインサイトを取得できるようなプラットフォームをデータサイエンティストやエンジニアに提供するにはどうすればよいでしょうか。 データストアの一元化に投資する企業が増えつつあります。また、 Amazon Simple Storage Service (S3) をデータレイクとして使用することのメリットが理解されるようになってきました。データレイクに接続するデータパイプラインを構築する場合、データディスカバリープロセスが必要になります。このプロセスには、データフォーマットおよびスキーマの識別、データのカタログ化、テーブル定義作成のためのメタデータの把握、データをクエリするための機能の提供が含まれます。 本ブログ記事では、データパイプライン構築に要する全ステップをご紹介します。Amazon S3 のデータを対象としたクローラーの作成、データディスカバリーおよびカタログ化のための AWS Glue の使用から、テーブルメタデータを保存および取得するための Amazon Athena の使用、Athena テーブルに対してクエリを実行するための Amazon SageMaker の使用まで、さまざまなステップをカバーします。 Amazon SageMaker はエンドツーエンドの機械学習 (ML) プラットフォームであり、AWS 上で機械学習モデルの構築、トレーニング、デプロイに使用できます。このサービスには高度なモジュール方式が採用されており、各コンポーネントは組み合わせても単体でも使用できるようになっています。Amazon SageMaker ノートブックモジュールを使用すれば、データをローカルに取り込む際に発生するレイテンシーを抑えて、データ操作の効率性を向上させることができます。それでは、Amazon SageMaker の Jupyter ノートブックコンポーネントを使用して、Athena との統合とデータフレームへの入力を行い、データ操作を実現する方法をご説明します。 本ブログ記事では例として、航空会社の定時運行に関する 2008 年のデータセットを使用します。このデータセットは、1987 年 10 月から 2008 年 4 月までの米国内の全民間航空便を対象としており、各フライトの発着に関する詳細な情報で構成されています。このデータはまず Amazon S3 にアップロードし、AWS Glue と Athena で使用できようにし、次に Amazon SageMaker で使用できるようにします。 AWS Glue […]

Read More

Amazon S3 のデータを AWS Glue データカタログで管理し、Amazon SageMaker ノートブックから利用する方法

  あなたがデータサイエンティストであるとしましょう。会社のシステムが統合され、膨大なデータセットの定義も完了し、データが容易に分析できるとしたら、ラッキーです。そんな会社はごく一握りだからです。 では、そのような恵まれた環境ではないとしましょう。機械学習用の準備作業の中で、フォーマットの異なるデータセットを統合し、データの分析や可視化を行ううえでの支援が必要なら、ぜひこの記事をお読みください。 このブログ記事では、Amazon SageMaker で、大量の企業データを予備解析する方法について説明します。Amazon SageMaker では、Jupyter ノートブックが動作しており、企業のデータレイクの中から注目すべきデータセットを探索したり、取り出したりすることができます。複数のデータセットのそれぞれに必要な情報のサブセットが含まれている場合には、それらを統合させて注目すべき情報を取り出し、Amazon SageMaker ノートブックでそのままシームレスにデータの分析と可視化を行うことができます。 概要 Amazon SageMaker は、機械学習の機能を提供するフルマネージドサービスです。Amazon SageMaker を使用することで、データサイエンティストや開発者は、機械学習モデルを短期間で容易に構築、トレーニングすることができます。また、用意したモデルを実稼動も可能なホステッド環境に直接導入することもできます。また、Jupyter のオーサリング環境が統合されており、データサイエンティストの初期のデータ探索や分析、モデル構築に便利です。 Jupyter ノートブックが Amazon SageMaker ノートブックのインスタンス上で実行されているため、Amazon S3 のデータセットを容易にノートブックに読み込み、処理することができます。ただ、最初に対象とするデータセットのロケーションを指定する必要があります。データレイクの規模が大きい場合、解析対象のフィールドを含んだデータセットを正確に特定することは、難しい作業になります。個々のデータセットのサイズが大きくなればなるほど、ノートブックに読み込ませる作業が現実的なものではなくなります。今日における一般的なデータセットのサイズに対し、ノートブックのディスク容量やメモリは限られているのです。また、よくあるケースとして、必要な情報が複数のデータセットに分散していることもあります。この場合は、データの探索がさらに難しいものとなります。必要なデータセットのロケーションを特定し、統合させてフィルタリングする必要が生じるのです。つまり、非常に規模の大きなデータセットを統合させて、ノートブックに読み込ませようとすると、生産性が損なわれることになります。データセットがさらに大きくなれば、そのような作業はもはや現実には不可能です。このようなデータの結合や探索に要する作業は、データサイエンティストの作業時間の 80% を占めています。機械学習プロジェクトを支障なく遂行するには、このような負担を軽減することが不可欠です。 多くの大企業が、データレイクの管理に AWS Glue を使用しています。AWS Glue はフルマネージド型のデータ抽出、変換、ロード (ETL) サービスです。このサービスを使用すれば、データに対する分類、クリーニング、エンリッチ、信頼性の高い方法でのデータストア間でのデータ移行が行えます。AWS Glue データカタログと称される一元化されたメタデータリポジトリが備えられており、データレイク内のデータをエンリッチおよび分類した上で、検索やクエリが実行できるようになっています。 データカタログ内のメタデータを使用することで、任意のデータセットの名前、ロケーション、コンテンツ、属性での指定が行えます。 Amazon S3 のデータレイクで、非常に大きなデータセットのフィルタリングや集計を行う場合や、他のデータセットと統合される可能性がある場合には、Amazon EMR 上で Apache Spark を使用するのが最適です。Apache Spark はクラスタコンピューティング用のフレームワークで、Python、Java、Scala などの複数の言語での分析をサポートする組み込みモジュールを備えています。企業のデータレイクによくみられる大規模データセットを扱ううえで、Amazon EMR で Spark を動作させることによるスケーリングの効果は絶大です。データセットが AWS Glue データカタログで定義されていれば、データセットへのアクセスがさらに容易になります。また、AWS […]

Read More

AWS でのビジュアル検索 – パート 1: Amazon SageMaker を使用したエンジンの実装

音声やテキストは使わずに、見つけたいものを表示することでビジュアル検索を行う。古いことわざにもあるように、「絵は千語の価値がある」と言います。 たいていは、実際の例や画像を示す方が、検索エンジンが効率的に探し出せる言葉で説明するよりも簡単です。専門的な用語を使って説明するだけの知識や理解が十分でないユーザーもいるからです。他にも、画像か動画データを使って検索を使いたいが、ビジュアル検索だと、取り込みが早すぎてラベルやメタデータを正確に割り当てられない、という場合があります。 ビジュアル検索を使って、ハードウェアストアで交換部品を探す、という小売業での例を見てみましょう。専門知識がないと難しい用語を使って部品を識別するのではなく、深層学習を利用できるビデオカメラの AWS DeepLens に部品をただ見せるだけです。するとデバイスは、視覚的に類似している部品の一覧と、それらが置いてある店舗内の場所を提示するのです。似たようなアイテムを購入したい場合、顧客が自宅に AWS DeepLens デバイスを持っていれば、家にあるアイテムをデバイスに見せるだけで済みます。ビジュアル検索の利点は、アイテムを示すだけで済むところでしょう。バーコード、QR コード、製品名、製品メタデータなど、他のデータは一切必要ありません。

Read More

Amazon SageMaker ランタイムが CustomAttributes ヘッダーのサポートを開始

 Amazon SageMaker はエンドツーエンドのプラットフォームで、データサイエンティストや開発者が使用して、大規模に機械学習 (ML) モデルの構築、トレーニング、チューニング、デプロイを行っています。Amazon SageMaker を使用すると、コンソールのワンクリックで、またはシンプルな API コールで、モデルのトレーニングを開始できます。トレーニングが完了して、モデルをデプロイする用意が整うと、Amazon SageMaker コンソールのワンクリックで起動が可能です。Amazon SageMaker のホスティングサービスを使用してモデルを本番環境にデプロイした後は、永続的な HTTPS エンドポイントが得られ、ここで機械学習モデルを利用し、InvokeEndpoint API アクションを介して推論を提供できます。 Amazon SageMaker InvokeEndpoint API アクションは、新しい HTTP ヘッダー、CustomAttributes のサポートを開始しています。この新しいヘッダーを利用すると、Amazon SageMaker エンドポイントでホストされているモデルに渡された推論のリクエストに関して、追加情報を提供できます。また、Amazon SageMaker エンドポイントでホストされているモデルが返した推論のリクエストに対するレスポンスで、追加情報を含めることもできます。たとえば、CustomAttributes ヘッダーを利用すると、リクエストの追跡に利用可能なアプリケーション固有の識別子であるトレース ID や、サービスエンドポイントが処理するようプログラムされたその他のメタデータを提供できます。 CustomAttributes ヘッダーで提供する情報は、逐語的に送られた不透明な値です。InvokeEndpoint の呼び出しは、AWS Signature Version 4 を使用して認証されます。カスタム属性は 1024 字を超えることはできません。また、表示可能な US-ASCII 文字で構成される必要があります。この US-ASCII 文字 については、セクション 3.3.6.Field Value Components of the Hypertext Transfer Protocol […]

Read More

Amazon SageMaker を利用して都市の空気汚染データをもとに天気への影響を予測するモデルを構築する。

都市における大気汚染は、人々、動物、植物や財産への悪影響をもたらす深刻な問題を引き起こしかねません。大気汚染は都市の人口が増え続けるにつれて注目を浴びるようになってきた重要な問題です。今年は ACM SIGKDD が主催する、毎年開催されるデータマイニングとナレッジディスカバリーの競技大会、2018 KDD Cup のテーマとして取り上げられました。 輸送と家庭暖房用に化石燃料を燃焼すると、汚染物質の二酸化窒素 (NO2) が生成され、都市環境の大気が汚染される主な原因となっています。二酸化窒素は、一酸化窒素 (NO) が酸化することによって生成される二次汚染物質です。これは呼吸器疾患の主な原因となっています。  欧州連合においては、2008/50/EC (Cleaner Air For Europe、CAFÉ) 指令により、NO2 の上限を毎時 200μg/m3、年平均 40μg/m3 と定められました。1 時間あたりの制限値の上限が年間で 18μg よりも上回ることは許されていません。 世界中の多くの都市で、少なくとも 1 日単位で大気質の水準が報告されています。私たちは、Amazon SageMaker (開発者やデータサイエンティストがあらゆる規模の機械学習モデルを短期間で簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォーム) を使用して大気質のデータを調べることにしました。 シナリオ このブログ記事のデモンストレーションでは、選択した都市の大気汚染物質 (NO2) と天気の関係を調べます。 アイルランド、ダブリン。 大気質データは、アイルランド環境保護庁が運営する、長年にわたって確かな地位を築いてきたモニタリングステーションから取得したものです。このモニタリングステーションは、アイルランドのダブリン市のラスミネスにあります。ラスミネスは市内中心部から約 3 キロ南のダブリンの郊外に位置しています。  アイルランド共和国の首都ダブリンの人口は、約 100 万です。ダブリンは東側には海、南側には山があり、そして西と北側には平坦な地形が広がっています。市の風速と風向きは、ダブリンの南側にある山々から影響を受けます。一般的に風向きが南であるとき、山があることで風向きは南西または南東に偏向させられます。 天気データは、ダブリン空港にある長年信頼されてきた気象観測所から取得したものです。ダブリン空港は都市の北側の平坦な地形に位置していて、ダブリン市内中心部からは約 12 キロ北にあります。 ツール 探索的データ解析と機械学習のための Amazon SageMaker Amazon Simple Storage Service (Amazon S3) […]

Read More

動的なDeepLearningによる時系列データの予測

時間の経過とともに展開していくイベントを予測することは、オプション価格決定や、病気の進行、音声認識、サプライチェーン管理などを扱う多くのアプリケーションにとって不可欠な機能です。と同時に、こうした予測は難しいことでも知られています。 全体的な結果を予測するのではなく、特定の時刻に発生するイベントの一連の動き ( シーケンス ) を正確に予測することを目指します。物理学のノーベル賞受賞者である Niels Bohr 氏は、「予測は非常に難しいもので、未来については特にそうです。」と述べています。 このブログ記事では、AWS での深層学習アプローチを使用した時系列予測の高度なテクニックについて見ていきます。この投稿では、任意の時系列値予測に注目します。ですので、時系列を研究している読者にとって興味深い内容になるでしょう。またこの投稿では、読者が機械学習の分野で基礎的な技術知識をすでに持っていることを仮定しています。  Amazon SageMaker (Bring-Your-Own-Algorithm を使用 ) を活用して、複数の要因の過去の傾向に基づく時系列を予測する、独自の RNN ( リカレントニューラルネットワーク ) 深層学習アルゴリズムを開発していきます。Amazon SageMaker は完全マネージド型の機械学習プラットフォームで、データサイエンティストや開発者が機械学習モデルを素早くかつ簡単に構築し、大規模な実稼動アプリケーションとなるようにトレーニングするのををサポートします。これにより、ビルトインアルゴリズムとビルトインフレームワークの両方を使用できるようになり、Docker コンテナを使ったカスタムコードをインポートすることも可能になります。

Read More

AWS PrivateLink を使用してすべての Amazon SageMaker API コールを保護する

すべての Amazon SageMaker API 操作が AWS PrivateLink を介して完全にサポートされるようになりました。これにより、インターネットへのデータ暴露を減らすことで、クラウドベースのアプリケーションと共有されるデータセキュリティが向上します。ノートブックインスタンスへのアクセスは引き続き、TLSを介したインターネット経由となり、AWSマネージメントコンソールへのログインクレデンシャルで保護される形態となります。このブログでは、AWS PrivateLink を使用して Amazon SageMaker API コールを保護するための VPC エンドポイントの設定方法を説明します。 AWS PrivateLink トラフィックはインターネットを通過しないため、ブルートフォースや分散型サービス拒否攻撃などの脅威への露出を低減します。お使いのアプリケーションと Amazon SageMaker API 操作間のすべての通信は VPC の内部で行われるため、Amazon SageMaker と通信するためにインターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect は必要ありません。代わりに、AWS PrivateLink では、インターフェイス VPC エンドポイントを使用して、スケーラブルな方法でお使いの VPC からすべての Amazon SageMaker API 操作にプライベートアクセスすることが可能です。VPC エンドポイントはすべての Amazon SageMaker API コールのエントリポイントとして機能するプライベート IP アドレスを使用したサブネット内の Elastic Network Interface です。 AWS […]

Read More

Amazon SageMaker MXNet 1.2 コンテナの発表

Amazon SageMaker の構築済み MXNet コンテナで、最新リリースの Apache MXNet 1.2 の使用を開始しました。  Amazon SageMaker は、開発者やデータサイエンティストが、機械学習モデルをあらゆる規模で、迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォームです。  また、構築済み MXNet コンテナにより、深層学習スクリプトを自然に記述するのが容易になるととも、Amazon SageMaker における分散型のマネージドトレーニングやリアルタイムの製品ホスティングの活用も可能にします。 MXNet 1.2 には使いやすさ、より優れたパフォーマンス、強化された相互運用性などといった特徴があります。 また、この製品により、新しいインテル MKL-DNN との統合が追加され、コンボリューション、デコンボリューション、コンピューティングに最適化された C5 インスタンスのプールなどのニューラルネットワーク演算が高速化されます。拡張 FP16 のサポートにより、NVIDIA Volta V100 GPU 搭載の Amazon EC2 P3 インスタンスでの Tensor Core の混合精度トレーニングが高速化されます。最後に、MXNet 1.2 には、Open Neural Network Exchange の新しい形式 (ONNX) のモジュールが付属しているため、ONNX モデルを MXNet のシンボリックインターフェイスにインポートできます。 ONNX は PyTorch、Caffe2、Microsoft Cognitive Toolkit (CNTK)、Chainer、MXNet […]

Read More