Amazon Web Services ブログ

Category: SageMaker

Amazon SageMaker で Optuna を用いたハイパーパラメータ最適化を実装する

Amazon SageMaker はお客様の機械学習のワークロードにおいて様々な選択肢を提供します。深層学習フレームワークの選択肢として2018年の AWS Summit Tokyo で発表された Chainer 対応はその一つです。Chainer は 株式会社Preferred Networks により開発された深層学習フレームワークで、計算時に動的にグラフを生成する define-by-run の考え方 (imperative な実行とも呼ばれます) を世界に先駆けて取り入れました。株式会社Preferred Networks はこの Chainer とは独立に、同じく define-by-run の思想に基づいたハイパーパラメータの最適化 (HPO) のための Optuna を2018年12月に発表しました。本稿では、AWS が提供する SageMaker 上で Optuna を用いた HPO を行う方法とアーキテクチャについてご紹介します。 導入 SageMaker が提供する HPO の選択肢 Amazon SageMaker は、TensorFlow, Apache MXNet, PyTorch, Chainer, scikit-learn, Horovod, Keras, Gluon などのフレームワーク・インターフェースに対応し、すべての開発者とデータサイエンティストに機械学習モデルの構築・学習・デプロイ手段を提供する AWS のサービスです。SageMaker はマネージド型の […]

Read More

【開催報告】第3回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 (AWS) 機械学習ソリューションアーキテクトの宇都宮聖子です。AWS 目黒オフィスでは、お客様の事例紹介登壇を交えた Amazon SageMaker のセミナーとして、「Amazon SageMaker 事例祭り」を毎月開催しています。2019年3月12日に開催された第3回 Amzon SageMaker 事例祭りでは、株式会社ディー・エヌ・エーの加藤様、クックパッド株式会社の染谷様をゲストスピーカーにお迎えし、Amazno SageMaker の入門ハンズオンまで、130名を超えるたくさんの方々にご参加いただきました。   Amazon SageMaker 紹介 「Amazon SageMakerとは何か」 アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクト 鮫島 正樹  [slides] Amazon SageMaker は、開発・トレーニング・デプロイと一連の機械学習のワークフローにおける課題を解消するためのサービスです。AWS ソリューションアーキテクト鮫島より、機械学習のマネージドサービスである Amazon SageMaker について、開発・学習・推論を効率的に実装する各種機能の基本的な使い方、SageMaker を使った機械学習のフローやアーキテクチャ、SageMaker 対応の学習スクリプトや分散学習対応コードの書き方など SageMaker への移行の際に気をつけること、機械学習パイプラインの構築支援機能、実際のユースケースなど、SageMaker を便利にお使いいただくための方法をご紹介しました。 Amazon SageMaker Ground Truth、Amazon Elastic Inference、ノートブックインスタンスの16TBまでのディスク拡張、TensorFlow の script mode 対応、AWS Step Functions […]

Read More

オンプレミス環境から Amazon SageMaker を利用する

Amazon SageMaker は、機械学習におけるデータ準備・開発・学習・モデル変換・デプロイ、これら全体のパイプラインをサポートするマネージドサービスです。SageMaker の利用を検討する際に、これらの全てを SageMaker に移行しなければならないのかというと、そうではありません。例えば、開発のみを SageMaker の Jupyter Notebook で行うことや、学習・デプロイのみを SageMaker で行うことも可能です。この特性を活かせば、オンプレミスに機械学習環境を保有しているユーザが、既存のオンプレミス環境をなるべく活用し、追加のリソースが必要な部分に SageMaker を利用することができます。

Read More

Amazon SageMaker に独自のハイパーパラメータ最適化アルゴリズムを持ち込む

このブログ記事では、Amazon SageMaker でモデルをチューニングするためのカスタムの最先端のハイパーパラメータ最適化 (HPO) アルゴリズムを実装する方法について説明します。Amazon SageMaker には HPO アルゴリズムが組み込まれていますが、独自の HPO アルゴリズムを使用するための柔軟性があります。選択した HPO アルゴリズムを組み込むためのフレームワークを提供します。けれどもこれを実行する前に、いくつかの基本事項を確認しましょう。 フレームワークに関係なく、どのような機械学習 (ML) パイプラインでも、4 つの一般的な手順は、構築、トレーニング、チューニング (調整)、そしてデプロイです。構築段階では、データを収集し、マッサージし、そして ML トレーニングのために準備し、そしてアルゴリズムをゼロから記述するか、または一般的な ML フレームワークを使用して記述します。次に、準備されたデータをアルゴリズムで指し示し、何らかのパフォーマンス測定基準 (検証精度など) を段階的に改善することによってモデルをトレーニングします。モデルを望ましいレベルの精度にトレーニングしたら、より大きな ML アーキテクチャで使用するためにホストするか、デプロイする準備が整います。トレーニングを開始する前に、各アルゴリズムは、アルゴリズムのさまざまな側面を定義するハイパーパラメータと呼ばれる値のセットから開始します。たとえば、Amazon SageMaker の組み込みアルゴリズムとしても提供されている一般的な Xgboost (Extreme Gradient Boosted Trees の略) アルゴリズムは、モデルをトレーニングする前に以下のパラメータを設定する必要があり、そしてデータと共に、トレーニングの実行方法、およびモデルの最終的な精度を決定します。 パラメータ名 パラメータタイプ 推奨範囲 alpha 連続 MinValue: 0, MaxValue: 1000 colsample_bylevel 連続 MinValue: 0.1, MaxValue: 1 colsample_bytree 連続 MinValue: 0.5, MaxValue: […]

Read More

新しい認定資格「AWS Certified Machine Learning – Specialty」で認定機械学習開発者になる

2018 年 11 月に、このブログで、Amazon のエンジニアを訓練するために使用されるものと同じ機械学習 (ML) コースが、AWS を通してすべての開発者にご利用いただけるようになったことをお知らせしいたしました。本日は、AWS を使用して機械学習モデルを構築、トレーニング、調整、デプロイする能力を強化および検証する方法があることをお知らせいたします。 AWS トレーニングと認定は、新しい AWS Certified Machine Learning – Specialty 認定の提供を発表いたします。この新しい試験は、特定のビジネス上の問題に対して ML ソリューションを設計、実装、デプロイ、保守する能力を検証したい開発者およびデータサイエンティストのために AWS の専門家によって作成されました。さらに、特定のビジネス上の問題に適した ML アプローチを選択して正当化し、ML ソリューションを実装するのに適切な AWS のサービスを特定し、スケーラブルでコスト最適化された信頼性の高い安全な ML ソリューションを設計および実装する能力を検証します。AWS トレーニングと認定では、ML および人工知能 (AI) サービス、特に Amazon SageMaker、および Amazon EMR、AWS Lambda、AWS Glue、Amazon S3 などのその他のサービスの使用に関して 1 年以上の実務経験があることをお勧めしています。また、受験者がアソシエートレベルの認定またはクラウドプラクティショナー認定を取得していることも推奨されますが、必須ではありません。 AWS の機械学習担当副社長である Swami Sivasubramanian から、この成長分野でのニーズについての彼の考えを聞く機会がありました。「顧客は機械学習の分野でもっと熟練した人材が必要であると言っており、これはアマゾン内でもよく知られている問題です。そのため、開発者を機械学習についてトレーニングするための社内教育の開発に大きな投資をしました」と、彼は言いました。「AWS トレーニングと認定は、同じリソースを顧客に提供することで、顧客がスタッフのスキルを開発および検証し、AWS で発展している AI/ML スイート、およびこのテクノロジが組織や世界経済にもたらす変革の効果を最大限に活用できるようにします。」 ML モデルを構築、トレーニング、調整、デプロイする能力により、新しいビジネスアイデアの発案、新しい雇用機会、新しい顧客体験が生まれます。始める準備はできていますか? 次のステップ […]

Read More

Amazon SageMaker Ground Truth ラべリングジョブに、加わったデータラべリングサービス 2 社を使用する

Amazon SageMaker Ground Truth のラベリングジョブに使用できるデータラベリングサービスで、さらに次の 2 つのサービスが増えることになりました。 iMerit の米国を拠点とするワークホースによるデータラベリングサービス Startek, Inc によるデータラベリングサービス AWS Marketplace に加わったこの新しいリスティングは、現存する iMerit のインドを拠点とするワークフォースリスティングを補完するもので、合計 3 つのオプションが提供されることになります。 iMerit では今後、データラベリングを専門とするフルタイムの米国ベーススタッフを提供することになりました。同社の画像ラベリング機能には、分類、枠どり、画像分割、キーポイント、ポリゴン、ポリラインなどがあります。同社のテキストラベリング機能には、英語およびスペイン語の両言語における要素抽出と分類があります。 StarTek はビジネスプロセスのアウトソーシング企業で、データラベリングサービスを提供します。StarTek は株式公開企業 (NYSE: SRT) で、同社のワークフォースは、フィリピン、ホンジュラス、インド、ブラジル、ジャマイカに展開しています。同社の画像ラベリング機能には、分類、枠どり、画像分割、キーポイント、ポリゴン、ポリラインなどがあります。同社のテキストラベリング機能には、英語での要素抽出と分類があります。 Amazon SageMaker Ground Truth は、re:Invent 2018 で立ち上げられました。これは機械学習向けに精度の高いトレーニングデータセットを構築するのに役立つサービスです。詳細については立ち上げブログをご覧ください。Ground Truth のラベリングジョブを設定する際、ラベリングタスクを自社のワーカー、Amazon Mechanical Turk のパブリックワーカー、または AWS Marketplace のリストに掲載されているベンダーのいずれかに送信できます。 お客様は事前承認されたベンダーのいずれかにデータラベリングタスクを割り当てることが可能で、これらのベンダーは、Amazon が機密保持、サービス保証、特殊スキルなどの面で綿密に調査を行った企業です。こうしたベンダーはデータセキュリティ、物理的施設へのアクセス制限、セキュアなデータ送信などに関する特定の要件を満たしているかによって承認されます。承認されたベンダーが承認後も要件を満たしていることを確認するため、定期的にセキュリティに関する監査を行います。 通常、適切なベンダーを見つけ、その後契約を結ぶのは、時間を要する面倒な作業です。Ground Truth を活用することで、ベンダーとの作業はシンプルになり、その工程も AWS Marketplace を通してわずか数クリックするだけとなります。すべてのベンダー関連の料金は AWS Marketplace リスティングを通じて、AWS の請求書に直接記載されます。ここでは、Ground Truth […]

Read More

Amazon SageMaker 推論パイプラインと Scikit-learn を使用して予測を行う前に入力データを前処理する

Amazon SageMaker を使用すると、開発者やデータサイエンティストは大規模な機械学習 (ML) モデルを構築、トレーニング、調整、デプロイすることができます。目に見えないデータのリアルタイム予測またはバッチ予測のためにトレーニング済み ML モデルをデプロイできます。推論と呼ばれるプロセスです。ただし、ほとんどの場合、未加工の入力データは前処理する必要があり、予測で直接使用することはできません。これは、ほとんどの ML モデルが事前に定義された形式のデータを想定しているため、ML モデルでデータを処理するには、まず未加工データをクリーンアップして形式を設定する必要があるためです。 このブログ記事では、入力データの前処理に Amazon SageMaker の組み込みの Scikit-learn ライブラリを使用し、次に予測に Amazon SageMaker の組み込みの Linear Learner (線形回帰) アルゴリズムを使用する方法を説明します。Amazon SageMaker の推論パイプライン機能を使用して、ライブラリとアルゴリズムの両方を同じエンドポイントにデプロイするので、未加工の入力データを直接 Amazon SageMaker に渡すことができます。また、ML のワークフローをモジュール化し、トレーニングと推論の間で前処理コードを再利用して開発のオーバーヘッドやエラーを削減する方法も示します。 ここでの例 (GitHub でも公開されています) では、UCI 機械学習リポジトリからの abalone (アワビ) データセットを使用します。このデータセットには、性別、長さ、直径、高さ、殻の重さ、身の重さ、全体重、内臓の重さ、年齢など、アワビ (貝類の一種) に関するさまざまなデータが含まれています。  アワビの年齢を測定するのは時間がかかる作業であるため、アワビの年齢を予測するモデルを構築することで、物理的測定のみに基づいてアワビの年齢を推定することができ、アワビの年齢を手動で測定する必要がなくなります。 これを実現するために、まず Amazon SageMaker 組み込みの Scikit-learn ライブラリを使って簡単な前処理を行います。未加工のアワビデータに、SimpleImputer、StandardScaler、OneHotEncoder の変換器を使用します。これらは Scikit-learn の前処理ライブラリに含まれる一般的に使用されるデータ変換器であり、データを ML モデルに必要な形式に処理します。  次に、処理したデータを使用して、Amazon SageMaker の Linear […]

Read More

Amazon SageMaker に組み込みの物体検出アルゴリズムと AWS DeepLens を使用してエッジで鳥の種を識別する

カスタムの物体検出は、MRI での腫瘍の発見、病気に罹った農作物の特定、鉄道駅ホームの監視など、さまざまな産業やユースケースにとって重要な要素となっています。このブログ記事では、アノテーションが付けられた公開データセットに基づいて鳥を識別します。このタイプのモデルは、さまざまな方法で使用できます。建設プロジェクトの環境調査の自動化で使用したり、バードウォッチングの時に鳥愛好家が使用したりすることができます。また、このモデルを実用的な例として利用し、独自のユースケースの新しいアイデアを生み出すこともできます。 この例では、Amazon SageMaker が提供している組み込みの物体検出アルゴリズムを使用します。Amazon SageMaker は、エンドツーエンドの機械学習 (ML) プラットフォームです。組み込みアルゴリズムを使用することで、開発者は TensorFlow や MXNet などの低レベルの ML フレームワークの使用に関する専門知識を必要とせずに機械学習を加速させることができます。モデルは、Amazon SageMaker の完全に管理されたオンデマンドトレーニングインフラストラクチャでトレーニングします。AWS IoT Greengrass を使用すると、トレーニング済みモデルをクラウドまたはエッジで簡単にホストすることができます。 カスタムの物体検出をエッジで使用する方法を示すために、トレーニング済みモデルを開発者向けの世界初の深層学習対応ビデオカメラである AWS DeepLens にデプロイする方法も示します。AWS DeepLens により、開発者は文字どおり完全にプログラム可能なビデオカメラ、チュートリアル、コード、および深層学習スキルを向上させるよう設計された事前トレーニング済みのモデルを使って深層学習を利用できます。 次の図は、鳥の識別ソリューションの構築方法の概要を示しています。 データセットの理解 CUB 200-2011 鳥類データセットには、200 種の鳥の種にわたる 11,788 枚の画像が含まれています (元の技術レポートはこちらにあります)。それぞれの種には約 60 枚の画像が付属しており、一般的なサイズは約 350 ピクセル × 500 ピクセルです。鳥の部分のアノテーションとして、バウンディングボックスが提供されています。推奨されるトレーニング/テストの分割は与えられますが、画像サイズデータは与えられていません。 画像データセットの準備 Amazon SageMaker の物体検出アルゴリズムに画像データを提供する最も効率的な方法は、RecordIO 形式を使用することです。MXNet には、データセット用の RecordIO ファイルを作成するための im2rec.py というツールがあります。このツールを使用するには、一連の画像を記述するリストファイルを用意します。 物体検出データセットでは、Amazon SageMaker は、バウンディングボックスを、フル画像に対するボックスのコーナーの比率である […]

Read More

Amazon SageMaker Ground Truth を使用して階層型ラベル分類法を作成する

re:Invent 2018 で、私たちは Amazon SageMaker Ground Truth を発表しました。これは、機械学習を使用して非常に正確なデータセットを構築し、ラベル付けのコストを最大 70% 削減することができます。Amazon SageMaker Ground Truth を使用すると、パブリックおよびプライベートでラベル付けを行う人間の作業者に簡単なアクセスと、一般的なラベル付けタスクのための組み込みのワークフローとインターフェースが提供されます。さらに、Amazon SageMaker Ground Truth は自動データラベル付けを使用してラベル付けのコストを削減します。自動データラベル付けは、人間がラベルを付けたデータから Ground Truth をトレーニングし、サービスが独自にデータにラベルを付けることを学習することによって機能します。 路上でカメラで撮影した画像の大規模なコーパスがあるとしましょう。それぞれの画像には、無人自動車用のアルゴリズムを開発するために重要な多くの異なる対象物 (たとえば、車または交通標識) が含まれている可能性があります。最初に、画像から取得したい情報の階層表現を定義する必要があります (そのようなラベル分類法がどのように見えるかの例については、下記を参照してください)。次に、これらのラベルが付いていない未処理の画像を取得し、高レベルのクラス (「車」、「交通標識」、「歩行者」など) でラベル付けすることによってラベル付けプロセスを開始します。 このブログ記事では、ジョブをチェーンさせて拡張マニフェスト機能を利用することで、Amazon SageMaker Ground Truth を使用してこのような階層的なラベル付けを実現する方法を紹介します。 通常の解決方法 教師あり機械学習では、通常、未加工データと各データオブジェクトの関連ラベルの両方を含むラベル付きデータセットを使用します。たとえば、道路画像のトレーニングデータセットを作成し、それらを「交通標識あり」または「交通標識なし」に分類することができます (ラベル 0 と 1 が 2 つのクラスに対応します)。これらのラベルは通常、CSV や JSON などの形式で保存され、最初の列は未加工データを表し、2 番目の列はラベルを表します。 ただし、同じセットの画像にさらにラベルを付けたい場合 (たとえば、「交通標識あり」セット内の交通標識の種類を識別するため)、通常、最初のデータセットに対してフィルタ処理を実行して交通標識が含まれている画像だけを選択して、新しいデータセットを作成します。これにより、データセットは「交通標識」 (ラベル 0) だけを含む別のサブセットに縮小されます。その後、新しいラベルを追加して、標識を「一時停止標識」、「制限速度」などに分類することができます。 こうした種類のフィルタリング操作は、大規模なデータセットではコストや時間がかかる可能性があります。また、物体検出 (バウンディングボックス) アルゴリズムによって、画像内のすべての停止標識と歩行者をマークしたいと考えるかもしれません。このため、通常、画像の中の停止標識と歩行者のそれぞれの周囲に、物体検出ラベルを追加して 3 番目のデータセットを作成する必要があります。深く分類し続けるにつれて、トレーニングデータセットの数と複雑さは分類法のファンアウト係数 […]

Read More

[AWS Black Belt Online Seminar] Amazon SageMaker Advanced Session 資料及び QA 公開

先日 (2018/3/13) 開催しました AWS Black Belt Online Seminar「Amazon SageMaker Advanced Session」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190213 AWS Black Belt Online Seminar Amazon SageMaker Advanced Session from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. 自動ラベリング機能については、SageMakerのフレームワークに則る必要がありますか?(APIレベルで) A. 自動ラベリング機能は,Image classification,Object detection,Text classificationの3つのビルトインアルゴリズムについて,EC2上で学習とバッチ推論APIとしてお使いいただくことができます. https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sms-automated-labeling.html Q. Marketplaceでは推論モデルのバージョンアップのタイミングで精度が変化することもあると思いますが、次のバージョンがリリースされる前に試用期間を設けてもらうことは可能でしょうか? A. 出品者のお客様のほうで出品内容については管理されており,AWS側からそう言った制限を設けることは現状できかねます. Q. そのアルゴリズムなどに対する問い合わせは通常のサポート窓口経由ですか? A. サポートにご契約いただいているお客様は,サポートにお問い合わせいただくことができます. Q. DeepRacerって国内でも使えるんですか? A. 日本国内発売開始後,ご利用いただけます. Q. 学習したモデルをデプロイするのではなく、modelファイルとして出力して、別環境にデプロイすることはできますか? A. 学習済みのモデルとその時に使ったスクリプトや・パラメータは全てS3に保存されますので,そこから直接取り出して別環境にデプロイいただけます. https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-training.html 今後の AWS Webinar スケジュール 直近で以下のオンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております! AWSOME DAY ONLINE CONFERENCE […]

Read More