Amazon Web Services ブログ

Category: SageMaker

Amazon SageMaker Neural Topic Model で、補助語彙チャンネル、新しいトピック評価メトリクス、およびトレーニングサブサンプリングのサポートを開始

このブログ記事では、Amazon SageMaker Neural Topic Model (NTM) の 3 つの新機能をご紹介します。これらの新機能では、ユーザーの生産性を向上し、トピック評価機能を強化し、さらにはモデルトレーニングのスピードアップに貢献しています。これらの新機能に加えて、スパース (疎) 処理とパラメータサーバーを最適化することで、アルゴリズムの速度をトレーニングに 2 倍、単一 GPU 上での評価に 4 倍向上させました。マルチ GPU トレーニングでは、さらなるスピードアップが可能です。 Amazon SageMaker NTM は、大量の文書集合 (コーパス) のトピック分布を学習する、教師なし学習アルゴリズムです。SageMaker NTM を使用して、文書分類、情報検索、コンテンツの推奨といったユースケースのための機械学習ソリューションを構築できます。Amazon SageMaker NTM についてもっと知りたい方は、Introduction to the Amazon SageMaker Neural Topic Model をご参照ください。 機械学習をよく知らない、あるいは他のタスクに専念したいという方には、完全自動化した Amazon Comprehend トピックモデリング API が最適です。データサイエンスの専門家の方で、ご自身のトピックモデルの構築やチューニングのさまざまなレイヤーをもっと細かく制御したい場合には、Amazon SageMaker NTM がぴったりです。例えば、カスタマイズした語彙を必要とするドキュメントトピックタグ付けアプリケーションを構築していて、ニューラルネットワークのレイヤー数などのアルゴリズムハイパーパラメータを調整する必要があるとしましょう。Amazon SageMaker NTM なら、一貫性および一意性スコアの目標精度を満たすトピックモデルをトレーニングすることができます。このような場合には、Amazon SageMaker NTM は適切なツールでしょう。 補助語彙チャネル トピックモデルをトレーニングする際に、顧客がトピックの内容を理解できるよう、各トピックのトップワードを知ることが重要です。Amazon […]

Read More

Amazon SageMaker でより速いパイプモードを使用してモデルのトレーニングを高速化する

Amazon SageMaker には現在、より高速のパイプモードが実装されているため、機械学習モデルをトレーニングしながら、Amazon Simple Storage Service (S3) から Amazon SageMaker へのデータのストリーミング速度を大幅に高速化することができます。 パイプモードは、モデルトのレーニングを開始する前に、ローカルの Amazon Elastic Block Store (EBS) ボリュームにデータをダウンロードするファイルモードよりも大幅に優れた読み取りスループットを提供します。つまり、トレーニングジョブがより早く始まり、迅速に完了し、必要なディスク容量が少なくて済み、Amazon SageMaker で機械学習モデルをトレーニングするための全体的なコストが削減されることを意味します。たとえば、Amazon SageMaker の組み込みアルゴリズム用パイプ入力モードを開始した今年の早い時期に、内部ベンチマークを実施しました。その結果、78 GB のトレーニングデータセットで開始時間が最大 87% 短縮されたことが分かりました。さらに、一部のベンチマークではスループットが 2 倍に向上し、合計トレーニング時間が最大 35% 短縮されることが分かりました。 概要 Amazon SageMaker は、トレーニングデータを転送するために、ファイルモードとパイプモードの 2 つのメカニズムをサポートしています。ファイルモードでは、トレーニングデータは、トレーニングを開始する前に、まずトレーニングインスタンスに添付された暗号化された EBS ボリュームにダウンロードされます。しかし、パイプモードでは、入力データは実行中にトレーニングアルゴリズムに直接ストリームされます。この連続的なデータのストリーミングによって、いくつかの大きな利点がもたらされます。まず、トレーニングジョブの起動時間が入力データのサイズとは無関係になり、特にギガバイトおよびペタバイトの規模のデータセットでのトレーニングでは、起動がはるかに迅速になります。さらに、大きなデータセットをダウンロードするために大容量のディスクボリュームの使用料を支払う必要がありません。最後に、トレーニングのアルゴリズムで I/O の負荷が大きい場合、パイプモードで採用されている並行性の高い高スループットの読み取りメカニズムにより、モデルのトレーニングが大幅にスピードアップされます。 より速いパイプモードでより高い I/O スループット パイプモードの最新の実装は、以前よりも高いデータストリーミングのスループットを実現しています。次の図は、今年初めにパイプモードのサポートを開始したときと比較した、パイプモードでのスループットの向上を示しています。同一条件での比較では、ストリーミングスループットの数値は、Amazon SageMaker のトレーニングでサポートされているインスタンスタイプで測定したファイルモードのスループットの数値に対するベースラインに基づいています。 ご覧のように、パイプモードを使用してトレーニングデータをストリーミングすると、以前の場合よりも最大で 3 倍高速になることがあります。パイプモードのサポートは、Amazon SageMaker の組み込みアルゴリズムですぐに使用できるように用意されています。ここでは、独自のカスタムトレーニングアルゴリズムを Amazon SageMaker に導入する場合に、パイプモードを活用する方法の例を紹介します。 パイプモードのトレーニングコードを書く […]

Read More

Amazon SageMaker ノートブックインスタンスで一般的なワークフローを使用する方法

 Amazon SageMaker ノートブックインスタンスは、データサイエンスや機械学習を行うためのスケーラブルなクラウドベースの開発環境を提供します。このブログ記事では、より生産性が高く、効果的な一般的ワークフローを紹介します。 このブログ記事で紹介するテクニックは、使い捨てと交換が可能であることを念頭におく、よりクラウドネイティブな方法でノートブックインスタンスを扱うツールとなります。以下を説明します。 まず、協調型の開発のために GitHub および AWS CodeCommit を使用する方法を示します。 次に、AWS CloudFormation を使用して、ノートブックインスタンスを自動的にプロビジョニングし、jupyter ノートブックをアップロードする方法を示します。 3 番目に、Amazon S3 バケットを使用してノートブックインスタンスからアセットをバックアップおよび復元する方法を示します。 チュートリアル Git によるコラボレーション ノートブックインスタンスは、1 人の開発者が 1 つのインスタンスに割り当てられている場合が最適な使用です。ただし、データサイエンティストはしばしば協調型の環境で作業をします。Git は、複数のコントリビュータがバージョン管理されたコードリポジトリに書き込むことを可能にするツールです。複数の開発者/データサイエンティストがそれぞれのノートブックインスタンスで作業し、リモートリポジトリからコードをプルし、変更をそのリポジトリにプッシュ (またはコミット) することができます。AWS CodeCommit と GitHub は、リモート Git リポジトリを配置することができる 2 つの場所です。 CodeCommit CodeCommit リポジトリで作業するには、Amazon SageMaker コンソールを開き、次の手順に従います。 SageMaker インスタンスのロール設定 AWS コンソールにログインします。 検索バーに「sagemaker」と入力し、sagemaker コンソールを開きます。 左側のメニューでノートブックを選択し、ノートブックを選択します (または最初に作成します)。 [IAM role ARN] の下のリンクをクリックします。 [Permissions] タブで、[attach […]

Read More

Amazon SageMaker と AWS Deep Learning AMI で PyTorch 1.0 プレビューが利用できるようになりました

Amazon SageMaker と AWS Deep Learning AMI (DLAMI) が、PyTorch 1.0 プレビューリリースを簡単に評価する手段を提供できるようになりました。PyTorch 1.0 は、PyTorch の人気が急騰する理由となった使いやすさを維持したまま、研究から本番にシームレスに移行する機能を追加します。AWS Deep Learning AMI には、高速コンピューティングインスタンスを活用するための CUDA と MKL のライブラリと共に、PyTorch 1.0、Anaconda、および Python のパッケージが事前構築されています。Amazon SageMaker は、あらゆる規模の機械学習 (ML) モデルを迅速かつ容易に構築、訓練、調整、およびデプロイするためのエンドツーエンドプラットフォームです。そして今、Amazon SageMaker は、お客様が PyTorch 1.0 を使って、自動モデルチューニングを含むすべての SageMaker 機能を活用できるように、PyTorch 1.0 プレビューを備えた事前構築済みの環境を提供するようになりました。 PyTorch は、研究と実験に最適なオープンソースの深層学習フレームワークです。しかし、開発者の最大の課題のひとつは、PyTorch で作成したモデルを使って、それらを大規模な本番環境で実行することでした。PyTorch は、その使いやすさ、命令型スタイル、シンプルな API、そして柔軟性で開発者の人気を急速に得ましたが、モデル探索から本番への移行には、フリージンググラフなど、反復的であるがゆえに時間がかかる追加の作業が必要です。PyTorch 1.0 は、深層学習フレームワークに研究から本番にシームレスに移行する機能を実現します。 Amazon SageMaker 内に事前構築された PyTorch 環境によって、開発者とデータ科学者は、単一の API コールを使ってそれぞれのスクリプトを指定して、ローカルで訓練、または分散型トレーニングジョブを送信することができます。開発者はまた、二番目の API コールを使って、需要の必要性に応じて自動的にスケールアップまたはスケールダウンできる管理された高可用性のオンラインエンドポイントに PyTorch で訓練されたモデルをデプロイできるようにもなりました。開発者は、異なるバージョン向けに単一のパラメータを変更することによって、PyTorch […]

Read More

Apache MXNet を Amazon SageMaker および AWS Greengrass ML Inference と共に使用する脳組織のセグメント化 – パート 1

医療画像のアノテーションとセグメンテーションは、困難な作業ですが深層学習 (DL) 技術によって部分的に自動化することができます。こうした手法は、画素レベルで画像を分類することを目的とする一般的なセグメンテーションタスクにおいて最先端の結果を達成しています。 このブログ記事のパート 1 では、Amazon SageMaker を使用する簡単で合理的な方法で、MRI スキャンから脳組織を自動的にセグメント化するためにニューラルネットワークをトレーニングおよびデプロイする方法を紹介します。Apache MXNet を使って、「Bring Your Own Script」のパラダイムを採用する Amazon SageMaker で畳み込みニューラルネットワーク (CNN) をトレーニングします。U-Net と効率的で低レイテンシーの ENet の 2 つのネットワークをトレーニングします。パート 2 では、AWS Greengrass ML Inference を使用して、低接続または非接続の環境でのオフライン推論用のポータブルエッジデバイスに ENet をデプロイする方法を見ていきます。 この記事ではこのアプローチを脳の MRI に適用しますが、一般的なセグメンテーションの手法として、X 線の分析などの類似のユースケースに適用できます。 このブログ記事では、高レベルの概要を紹介します。完全なチュートリアルのノートブックについては、GitHub にある Amazon SageMaker の脳セグメンテーションを参照してください。 このブログ記事の最後で、ここに示すように MRI からの脳組織のセグメンテーションを予測します。 このユースケースでは、医療画像を保護医療情報 (PHI) ではなく未処理画像として取り扱っていますが、以下の点に注意してください。 AWS Greengrass は、この記事の執筆時点では AWS HIPAA 準拠サービスではありません。AWS Business Associate […]

Read More

Amazon SageMaker 自動モデルチューニングによる高精度なモデル、高速化

Amazon SageMaker では、このほど、機械学習モデルのハイパーパラメータ値を自動的に調整することで、より正確な予測を生成できる機能をリリースしました。ハイパーパラメータは、トレーニング中にアルゴリズムがどのように動作するかを示すユーザー定義の設定です。例としては、データを繰り返し処理する毎に、決定木のサイズを拡張する方法、セグメンテーションで必要なクラスタの数やニューラルネットワークの重み付けを更新する方法などがあります。 機械学習モデルに適したハイパーパラメータ値を選択することは、最終的な精度とパフォーマンスに大きな影響を与える可能性があるため重要です。しかしながら、ハイパーパラメータ値を設定するプロセスは難しい場合があります。正しいやり方はデータによって異なります。アルゴリズムによっては、調整が可能なさまざまなハイパーパラメータがあります。一部のハイパーパラメータは、選択した値に対して他のパラメータよりも敏感に反応します。ほとんどの場合、モデルフィットとハイパーパラメータ値の間には非線形の関係があります。 ハイパーパラメータ値を選択するためのさまざまな方策があります。一部のサイエンティストは、ドメイン知識、経験則、直感、または手動の実験を活用します。他のサイエンティストは力まかせ探索を使用します。いくつかのメタモデルを構築して、どのようなハイパーパラメータ値がうまくいくか予測します。このアプローチの詳細については、Shahriari et alを参照してください。(2016) 方法にかかわらず、ハイパーパラメータ値の選択によっては、新たな機械学習の問題を解決するための特殊なスキルセットを必要になる場合があります。 Amazon SageMaker 自動モデルチューニングを使えば、この作業が容易になります。 ガウス過程回帰 (Gaussian Process regression) を使用して、どのパラメータ値がフィットを改善するのに最も効果的かを予測します。また、ベイズ最適化を使用して、ハイパーパラメータの領域の探索と特定のハイパーパラメータ値の利用が適切な場合にバランスをとることができます。また、重要なポイントとして、Amazon SageMakerの組み込みアルゴリズム、あらかじめ構築された詳細な深層学習フレームワーク、独自アルゴリズムコンテナを使って、自動モデルチューニングを使用することができます。 本ブログ記事では、Amazon SageMakerでハイパーパラメータチューニングを実行し、2つの方法を比較する方法を紹介します。つまり、自動モデルチューニングとランダム検索です。 単純に無作為に選んだハイパーパラメータ値は、最終的なフィットとそれに到達するために必要なジョブの数の両方に適したベースラインとしてしばしば利用できます。最先端の方法にも匹敵する方法です。 問題の概要 本記事では、全体的なアプローチについて説明します。 詳細と完全なステップバイステップの使い方については、対応する例・ノート。 使用するデータセットは、一般的なコンピュータビジョンベンチマークである CIFAR-10 画像データセット。 これは、60K 32×32 ピクセルのカラー画像 (50K トレイン、10Kテスト) で構成され、10 クラスに均等に分散しています。そのサイズは、ダウンロードするには十分に小さく、1つのインスタンスでトレーニングを行います。しかし、さまざまなアプローチの違いがハイライトされるので難しい作業です。 私たちは、Amazon SageMaker MXNetコンテナを使用して、ResNet-34 畳み込み画像分類ニューラルネットワークをトレーニングし、確率的勾配降下を使用してネットワークの重みを見つけます。すべてのジョブ実行に対して、単一の ml.p3.8xlarge インスタンスで、エポックを 50、ミニバッチサイズを 1,024 に修正します。私たちの目標は、ハイパーパラメータのチューニングを通してホールドアウトによる分類精度を向上させる方法と、各チューニング方法がどのように機能するかを示すことです。 この例をエンドツーエンドで実行すると約 400 USD の費用がかかります。 トレーニング 一度デフォルトのハイパーパラメータ値を使って、シンプルにモデルをトレーニングしてみましょう。 確率的勾配降下 (SGD) を使用して畳み込みニューラルネットワーク (CNN) をトレーニングしています。これは、トレーニング損失を改善するネットワーク重みを変更する方向を見つけることでトレーニング損失を最小限に抑える方法です。SGD はその方向の重みを少し更新して繰り返します。これらの3つのハイパーパラメータに焦点を当てます : learning_rate: 重みに対して行う更新の大きさを制御します。 momentum: 前回の更新の方向からの情報を使い、現在の更新を知らせます。 デフォルト値 0 は、現在のバッチ内の情報のみに基づいて重みの更新が行われることを意味します。 wd: […]

Read More

Amazon SageMaker を使用して、間違いの経済的コストが不均等なモデルをトレーニングする

多くの企業は、機械学習 (ML) に取り組んで、顧客やビジネスに対する成果を向上させています。そのために、「ビッグデータ」に基づいて構築された ML モデルの力を活用して、パターンを特定し、相関関係を見つけ出しています。次に、新しいインスタンスに関するデータに基づいて、適切なアプローチを特定したり、可能性のある結果を予測したりすることができます。ただし、ML モデルは実世界の近似なので、こうした予測の一部が誤っている可能性もあります。 一部のアプリケーションでは、すべてのタイプの予測の間違いの影響が実際には同等です。他のアプリケーションでは、ある種の間違いは、別の間違いよりもはるかに高価または重大になります – ドル、時間、または何か他の単位で絶対的または相対的に測定されます。例えば、医学的推定によって誰かが乳癌に罹っていないと予測して実際には罹っていたとすると (偽陰性の間違い)、逆の間違いよりもはるかに大きなコストまたは結果が生じるでしょう。偽陰性の間違いを十分に減らして補えるなら、より多くの偽陽性の誤りを許容することも可能かもしれません。 このブログ記事では、トレードオフの透明性を高めながら、望ましくない間違いを減らすという目標で、間違いのコストが不均等であるアプリケーションに対処します。異なる種類の誤分類のコストが非常に異なるバイナリ分類問題について、Amazon SageMaker のモデルをトレーニングする方法を紹介します。このトレードオフを調べるために、非対称の誤分類コストを組み込んだカスタム損失関数 (モデルがどの程度うまく予測を行っているかを評価するメトリクス) を書く方法を示します。そして、その損失関数を使って、Amazon SageMaker Build Your Own Model をトレーニングする方法を示します。さらに、モデルによる間違いの評価方法と、異なる相対コストでトレーニングされたモデルを比較する方法を示し、全体として最良の経済的成果を持つモデルを特定できるようにします。 このアプローチの利点は、ML モデルの成果と間違いと意思決定のためのビジネスの枠組みを明示的にリンク付けできることです。このアプローチでは、予測に基づいて対処するべき具体的な行動に基づいて、ビジネスがコストマトリクスを明示的に提示する必要があります。そうすることで、ビジネスはモデル予測の経済的帰結を全体的なプロセス、予測に基づいて対処した行動、それらに関連するコストで評価することができます。この評価プロセスは、モデルの分類結果を単純に評価するだけではありません。このアプローチは、ビジネスにおける挑戦的な議論を促し、オープンな議論と合意のためにさまざまな暗黙の意思決定や評価を明らかにすることができます。 背景とソリューションの概要 モデルのトレーニングは常に間違いを最小限に抑えることを目指していますが、ほとんどのモデルは、すべてのタイプの間違いが等しいと想定してトレーニングされています。しかし、種類が異なる間違いのコストが等しくないことが分かったらどうなるでしょうか? たとえば、UCI の乳癌診断データセットでトレーニングされたサンプルモデルを取り上げましょう。1 明らかに、偽陽性の予測 (乳癌ではないのに、乳癌であると予測する) は、偽陰性の予測 (乳癌であるのに、乳癌でないと予測する) とは非常に異なる結果をもたらすでしょう。最初のケースでは、追加スクリーニングが行われます。2 番目のケースでは、発見される前に癌が進行してしまう可能性があります。こうした結果を定量化するために、しばしば結果を相対コストの観点から議論し、トレードオフが可能になります。偽陰性や偽陽性の予測の正確なコストがどうあるべきかを議論することはできますが、少なくともすべてが同じではないことに全員が同意すると確信しています – ML モデルは一般にすべてが同じであるかのようにトレーニングされますが。 カスタムのコスト関数を使用してモデルを評価し、モデルが行っている間違いの経済的影響を確認することができます (効用解析)。Elkan2 は、モデルの結果にコスト関数を適用することで、標準的なベイジアンおよび意思決定木の学習方法で使用される場合の不均衡なサンプルを補正することができると示しました (例: より少ない債務不履行、大量の債務返済のサンプル)。また、カスタム関数を使用して、この同じ補正を実行することもできます。 モデルでは、カスタムの損失関数を使用して、トレーニング中にさまざまなタイプの間違いのコストをモデルに提供することで、コストの差異を反映した方法でモデルに予測を「シフト」させることもできます。たとえば、前述の乳癌の例では、モデルが行う偽陰性の間違いを少なくしたいと考えており、その目的を達成するために偽陽性をより多く受け入れる意思があります。さらに言うなら、偽陰性を少なくするためには、いくつかの「正しい」予測をあきらめても構わないかもしれません。少なくとも、ここではトレードオフを理解したいと考えます。この例では、医療業界のコストを使用します。3,4 さらに、多くの場合、モデルの予測は「ほぼ」として予測されていることを理解したいと思います。たとえば、バイナリモデルでは、スコアを「True」または「False」として分類するためにカットオフ (例、0.5) を使用します。 実際に、どのくらいのケースがカットオフに非常に近いでしょうか? スコアが 0.499999 だったので、偽陰性はそのように分類されたのでしょうか? こうした詳細は、混同行列または AUC 評価の通常の表現では見られません。こうした質問に取り組むために、特定の閾値に依存することなくこれらの詳細を調べることができる、モデル予測の斬新でグラフィカルな表現を開発しました。 実際に、特定の種類の間違いを回避するようにトレーニングされたモデルが、間違いの差別化に特化し始める可能性が高いケースがあります。街路から見える標識の誤認識がすべて同じであると信じるようにトレーニングされたニューラルネットワークを想像してみてください。 5 それでは、一時停止標識を速度制限 45 mph の標識として誤って認識することは、2 […]

Read More

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