Amazon Web Services ブログ

Category: SageMaker

AWS Data Exchange と Amazon SageMaker による機械学習ワークフローの構築

Amazon SageMaker や AWS Data Exchange などのクラウドサービスのおかげで、機械学習 (ML) がこれまで以上に簡単になりました。この記事では、AWS Data Exchange と Amazon SageMaker を使用して、NYC レストランのレストラングレードを予測するモデルを構築する方法について説明します。Amazon SageMaker とともに、AWS Data Exchange の 23,372 のレストラン検査グレードとスコアのデータセットを使用して、線形学習アルゴリズムによりモデルをトレーニングしてデプロイします。 バックグラウンド ML ワークフローは反復プロセスであり、トレーニングデータが必要かどうか、どの属性をキャプチャするか、どのアルゴリズムを使用するか、トレーニング済みモデルをどこにデプロイするかなど、多くの決定が必要です。これらの決定はすべて、学習システムの結果に影響します。問題が定義されたら、4 種類の学習システムから選択する必要があります。一部の学習システムは完全にトレーニングデータに依存していますが、他のトレーニングシステムではトレーニングデータをまったく必要とせず、むしろ明確に定義された環境とアクションスペースが必要です。アルゴリズムがトレーニングデータに依存する場合、最終モデルの品質と感度はトレーニングセットの特性に大きく左右されます。ここで多くの人が、機能の適切なバランスを見つけてバランスのとれた正確なモデルを得ようとする退屈なループに入ります。各学習システムの概要を以下に示します。 教師あり – 教師あり学習では、トレーニングセットにラベルが含まれているため、アルゴリズムは属性セットが与えられると正しいラベルを認識します。たとえば、ラベルが魚の一種である場合、属性は魚の色と重さである可能性があります。モデルは最終的に、正しいか、最も可能性の高いラベルを割り当てる方法を学習します。典型的な教師あり学習タスクは分類です。これは、テキストや画像などの入力情報をいくつかの定義済みカテゴリの 1 つに割り当てるタスクです。たとえば、メッセージヘッダーとコンテンツに基づいてスパム E メールを検出し、MRI スキャンの結果に基づいて悪性または良性としてセルを分類し、その形状に基づいてギャラクシーを分類します (Tan et al.2006)。このカテゴリで使用するアルゴリズムは通常、k 最近傍、線形回帰、ロジスティック回帰、サポートベクターマシン、およびニューラルネットワークで構成されています。 教師なし – 教師なし学習では、ラベルなしデータの関係を発見するアルゴリズムを使用します。アルゴリズムは、データを探索し、既知の特徴に基づいて関係を見つける必要があります。教師なし学習で使用される一般的なアルゴリズムには、同様のデータポイントをグループ化するクラスタリング (K-means、DBSCAN、階層クラスター分析)、異常値を見つけようとする異常検出、それに特徴間の相関を発見しようとする相関ルール学習が含まれます (Aurélien 2019)。実際には、これは犯罪率に基づいて都市をクラスタリングして類似する都市を見つけたり、顧客の年齢に基づいて食料品店で製品をクラスタリングしてパターンを発見したりすることで確認できます。 半教師あり – 半教師あり学習では、ラベル付きデータとラベルなしデータの両方で構成されるトレーニングデータを使用します。アルゴリズムは、多くの場合、教師なしアルゴリズムと教師ありアルゴリズムの両方の組み合わせです。ラベルなしデータを含むデータセットがある場合、最初のステップは、データにラベル付けすることです。データセットにラベルを付けたら、従来の教師ありの学習手法でアルゴリズムをトレーニングして、特徴を既知のラベルにマッピングできます。フォトホスティングサービスは、多くの場合、スキルを活かすことでこのワークフローを使用して、未知の顔にラベルを付けます。顔がわかると、別のアルゴリズムがすべての写真をスキャンして、現在既知の顔を特定できます。 強化 – 強化学習 (RL) は、トレーニングデータから学習する必要がないため、上記の学習システムとは異なります。代わりに、モデルは、明確に定義された環境のコンテキストにおける独自の経験から学習します。学習システムはエージェントと呼ばれ、エージェントは環境を観察し、ポリシーに基づいてアクションを選択および実行し、見返りに報酬を取得します。エージェントは、最終的にその以前の経験に基づいて、時間をかけてその報酬を最大化することを学習します。RL の詳細、またはその説明については、Amazon SageMaker […]

Read More

Cinnamon AI は、Amazon SageMaker マネージドスポットトレーニングで ML モデルのトレーニングコストを 70% 節約

開発者はモデルの予測を継続的に改善できるよう、絶えず機械学習 (ML) モデルのトレーニングと再トレーニングを行っています。データセットのサイズに応じて、モデルトレーニングジョブは数分から数時間、または数日かかることもあります。ML 開発は、複雑で費用のかかる反復的なプロセスになることがあります。コンピューティング集約型であるため、ML 開発のコンピューティングコストを低く抑えることは重要で、コスト削減はスケーラビリティを達成する上でのカギを握っています。 Amazon SageMaker は、ML モデルを大規模に構築・トレーニング・チューニングおよびデプロイするための完全マネージド型のサービスです。Amazon SageMaker のマネージドスポットトレーニングでは、Amazon EC2 スポットインスタンスをトレーニングに使用することで、トレーニングコストを最大 90% 節約できます。 EC2 スポットインスタンスは、ML トレーニングワークロードの計算コストを最適化するための優れた方法です。 Amazon EC2 の空きキャパシティを利用することでオンデマンドインスタンスよりも最大 90% の割引が可能です。特定のアベイラビリティーゾーン (AZ) で特定のオンデマンドインスタンスタイプのリクエストが急増すると、AWS は 2 分間の通知でスポットインスタンスを回収することがあります。 この記事では、Cinnamon AI が Amazon SageMaker マネージドスポットトレーニングを使用して、予算を増やすことなく、ML トレーニングコストを 70% 削減し、毎日のトレーニングジョブ数を 40% 増加させた方法について説明します。

Read More

Amazon SageMaker Processing – 完全マネージド型のデータ処理とモデル評価

本日、フルマネージドインフラストラクチャで前処理、後処理、およびモデル評価のワークロードを簡単に実行できる、Amazon SageMaker の新機能、Amazon SageMaker Processing をリリースいたしました。 高精度な機械学習 (ML) モデルをトレーニングするにはさまざまな手順を踏む必要がありますが、中でもデータセットの前処理が最も重要となるでしょう。たとえば: 使用中の ML アルゴリズムに合う入力形式にデータセットを変換する、 既存の特徴をより表現力のある表現 (one-hot エンコーディングカテゴリ別特徴など) に変換する、 数値特徴を再スケーリングまたは正規化する、 高レベル特徴量エンジニアリングを行う (例: 住所を GPS 座標に置き換える)、 自然言語処理アプリケーションのテキストをクリーニングし、トークン分割する、 などなど! これらのタスクは、(とても大変な) データセットに対する特注スクリプトの実行と、後でトレーニングジョブで使用する処理済みバージョンの保存を伴います。ご想像のとおり、それらを手動で実行したり、オートメーションツールを構築およびスケールしたりする必要があることを考えると、ML チームは気が重くなります。後処理ジョブ (フィルタリングや照合など) やモデル評価ジョブ (さまざまなテストセットに対するモデルのスコアリング) についても同じことが言えます。 この問題を解決するために、私たちは Amazon SageMaker Processing を構築しました。それでは、詳細を説明しましょう。 Amazon SageMaker Processing のご紹介 Amazon SageMaker Processing には、データサイエンティストと ML エンジニアが Amazon SageMaker で前処理、後処理、およびモデル評価ワークロードを簡単に実行できる新式の Python SDK が導入されています。 この SDK では […]

Read More

Deep Graph Library が Amazon SageMaker で利用可能に

本日ここに、グラフニューラルネットワークを簡単に実装できるよう構築されたオープンソースライブラリ、Deep Graph Library が、Amazon SageMaker で利用可能になったことをお知らせします。 近年、自由形式のテキスト、画像、動画など、複雑なデータから詳細なパターンを抜き出すことができる、驚異的な性能の深層学習が世界に旋風を巻き起こしています。しかし、多くのデータセットはこれらのカテゴリーに当てはまらないため、グラフの方がわかりやすく表すことができます。 畳み込みニューラルネットワークや再帰型ニューラルネットワークのような、従来のニューラルネットワークのアーキテクチャは、そのようなデータセットに適していないことは直感的にも感じられ、新しいアプローチが必要となります。 グラフニューラルネットワークの初歩 グラフニューラルネットワーク (GNN) は、今日の機械学習におけるもっとも画期的な発展事項です。手始めに、これらの参考資料をご覧になるとよいでしょう。 GNN は、以下のような予測モデルのトレーニングに使用されています。 ソーシャルネットワーク。関連する利用者同士のつながりをグラフ化 推奨システム。顧客とアイテムの間のやり取りをグラフ化 化学分析。原子や結合をグラフ化して化合物のモデルを作成 サイバーセキュリティ。発信元と発信先の IP アドレスの接続状況をグラフ化で説明 その他多数のモデル ほとんどの場合、これらのデータセットは非常に大きく、部分的なラベル付けしかできません。ある個人から既知の不正を行う者への接続状況を分析することで、その個人が不正を行っている可能性を予測する、不正行為検出シナリオを考えてみましょう。この問題は、グラフノードの一部のみがラベル付けされる (「不正」か「正当」)、半教師あり学習タスクとして定義できます。これは大きなデータセットを手作業のラベル付けにより構築し、「線形化」して従来の機械学習アルゴリズムに適用するよりも良いソリューションになるはずです。 これらの問題に対処するためには、分野の専門知識 (小売、財務、化学など)、コンピューターサイエンスの知識 (Python、深層学習、オープンソースツール)、インフラストラクチャの知識 (トレーニング、デプロイ、モデルのスケーリング) が必要です。これらのスキルをすべてマスターしている人はごくわずかです。それが Deep Graph Library や Amazon SageMaker のようなツールが必要とされる理由です。 Deep Graph Library の紹介 2018 年 12 月に Github で初めてリリースされた Deep Graph Library (DGL) は Python のオープンソースライブラリーで、研究者や科学者がデータセットの GNN を迅速に構築、トレーニング、評価するのに役立ちます。 DGL は、PyTorch […]

Read More

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

アマゾン ウェブ サービス ジャパン株式会社 パートナーソリューションアーキテクトの小田桐です。 AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を定期的に開催しています。2019年11月28日に開催された 第10回 Aazon SageMaker 事例祭り では、AWS Japan のソリューションアーキテクトによるサービスの最新情報や技術情報と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きし、実際に導入頂いたお客様による「体験談」をお話し頂きました。

Read More

Amazon SageMaker Operators for Kubernetes のご紹介

AWS より、Amazon SageMaker Operators for Kubernetes をご紹介いたします。この新機能を使用すると、開発者およびデータサイエンティストは、Amazon SageMaker における 機械学習 (ML) モデルのトレーニング、チューニング、デプロイを、Kubernetes を介して簡単に行うことができます。Kubernetes クラスターに Amazon SageMaker Operators をインストールすると、Kubernetes API や “kubectl” といったコマンドラインの Kubernetes ツールをネイティブに使用して Amazon SageMaker ジョブを作成することが可能です。 多くの AWS のお客様が、Amazon Elastic Kubernetes Service (EKS) といったマネージドサービスがよく使用されるコンテナ化アプリケーションをデプロイおよび管理するために、オープンソースの汎用コンテナオーケストレーションシステムである Kubernetes を使用しています。これにより、データサイエンティストおよび開発者は、反復可能な ML パイプラインのセットアップ、トレーニングや推論のワークロードに対する制御能力の向上などが可能です。しかし ML ワークロードをサポートするには、カスタムコードの記述による基盤となる ML インフラストラクチャの最適化、高可用性と高信頼性の確保、データサイエンスに対する生産性向上ツールの提供、しかるべきセキュリティ要件および規制要件への準拠が依然必要です。例えば、Kubernetes ユーザーがトレーニングや推論に GPU を使用する際、Kubernetes による GPU ワークロードのスケジューリングとスケーリングの設定を変更して、使用率、スループット、可用性を向上させる必要が出てくるケースが多々あります。また、Kubernetes ユーザーはトレーニング済みモデルを本番環境にデプロイして推論を実行する際に、複数のアベイラビリティーゾーンに存在する Auto Scaling クラスターのセットアップおよび最適化に余計な時間を取られてしまいます。 Amazon SageMaker […]

Read More

Amazon SageMaker Processing – フルマネージドなデータ加工とモデル評価

2019年12月3日 Amazon SageMaker の新しい機能であり、データの前処理や後処理、モデルの評価といったワークロードをフルマネージドなインフラストラクチャの上で簡単に実行する機能である、Amazon SageMaker Processing を発表できることを嬉しく思います。 精度の高い機械学習(ML)モデルを学習するためには、多くの異なるステップを必要としますが、以下のようなデータの前処理より重要なものはないでしょう。 機械学習アルゴリズムが活用できる入力フォーマットへデータセットを変換 カテゴリカル特徴量のOne-Hot エンコーディングのような、既存の特徴量をさらに表現力の高い特徴量へ変換 数値型特徴量のリスケールや平準化 住所をGPSの座標に置き換えるような、高レベルな特徴量の作成 自然言語処理を適用するための文章のクリーニングやトークン化 これらのタスクは、データセットに応じて異なるスクリプトを実行することになり、そして、後で学習の際に使われるための加工済データを保存します。あなたが想像する通り、機械学習チームにとって、これらを手作業で行ったり、自動化ツールを構築してスケールさせることは魅力的なな計画とは言えません。同様のことが後処理ジョブ(フィルタリングや照合など)やモデル評価ジョブ(異なるテスト用データセットに対するスコアリング)にも言えるかも知れません。 これらの課題を解決するために、 Amazon SageMaker Proscessing が開発されました。より詳細をご紹介させて下さい。 Amazon SageMaker Processing の紹介 Amazon SageMaker Processing はデータサイエンティストと機械学習エンジニアが前処理、後処理、モデル評価といったワークロードを Amazon SageMaker 上で簡単に行うための新しい Python SDK を導入します。 この SDK はデータセットの変換のために使われるおそらく最も人気のあるライブラリである scikit-learn 向けの SageMaker の組み込みコンテナを使います。 必要に応じて、特定の Docker イメージに制限されることなく、独自の Docker イメージをお使い頂くことが出来ます。これにより、最大限の柔軟性を提供し、SageMaker Processing や Amazon ECS や Amazon Elastic Kubernetes Servicesなどの AWS […]

Read More

Amazon SageMaker Debugger – 機械学習モデルのデバッガ

2019年12月3日、機械学習(ML)学習時に起こる複雑な問題を自動的に識別する Amazon SageMaker の新しい機能、Amazon SageMaker Debugger を発表できて非常にうれしく思います。 機械学習モデルの構築と学習は、サイエンスと工芸の融合です(魔術と言う人もいます)。データセットの収集から準備、さまざまなアルゴリズムの実験、最適なトレーニングパラメーター(恐ろしいハイパーパラメーター)の探索まで、機械学習を実行する人は高性能のモデルを提供するために多くのハードルをクリアする必要があります。これがまさに、機械学習ワークフローを簡素化し高速化する、モジュール式のフルマネージドサービス Amazon SageMaker を構築する理由なのです。

Read More

Amazon SageMaker Studio: 機械学習のための初の統合開発環境

2019年12月3日、Amazon SageMaker Studioという機械学習のための初の統合開発環境(IDE)を提供できることを非常に嬉しく思います。 2017年に Amazon SageMaker がリリースされてからしばらく経ち、このサービスをご利用いただいているお客様の数は増加しています。機械学習開発ワークフローには反復的なプロセスが必要ですが、機械学習ツールが成熟していないために開発者は大変な思いをしてきました。従来のソフトウェア開発時に開発者が当たり前に使用する多くのツール(デバッガ、プロジェクトマネジメントツール、コラボレーション機能、モニタリングツールなど)は、まだ機械学習用には存在していないのです。

Read More