この投稿は、MathWorks の Brad Duncan、Rachel Johnson、Richard Alcock の協力によって書かれています。
マトラブ は、データ処理、並列コンピューティング、自動化、シミュレーション、機械学習、人工知能などの幅広いアプリケーションで人気のあるプログラミング ツールです。 自動車、航空宇宙、通信、製造などの多くの業界で頻繁に使用されています。 近年、MathWorks は多くの製品をクラウドに導入してきました。 Amazon Webサービス(AWS)。 MathWorks クラウド製品の詳細については、以下を参照してください。 クラウド内の MATLAB と Simulink or Mathworks に電子メールを送信する.
この投稿では、MATLAB の機械学習機能を アマゾンセージメーカー、これにはいくつかの重要な利点があります。
- コンピューティングリソース: SageMaker が提供する高性能コンピューティング環境を使用すると、機械学習のトレーニングを高速化できます。
- コラボレーション: MATLAB と SageMaker は共同して、チームが機械学習モデルの構築、テスト、展開で効果的に共同作業するために使用できる堅牢なプラットフォームを提供します。
- 導入とアクセシビリティ: モデルは SageMaker リアルタイム エンドポイントとしてデプロイできるため、他のアプリケーションがライブ ストリーミング データを処理するために簡単にアクセスできるようになります。
MATLAB 機械学習モデルを SageMaker トレーニング ジョブとしてトレーニングし、そのモデルを SageMaker リアルタイム エンドポイントとしてデプロイして、ライブのストリーミング データを処理できるようにする方法を示します。
これを行うために、ライブ センサー データをストリーミングしている運用中のポンプの障害を分類する予測メンテナンスの例を使用します。 私たちは、から生成されたラベル付きデータの大規模なリポジトリにアクセスできます。 Simulink さまざまな組み合わせで XNUMX つの可能な障害タイプがあるシミュレーション (たとえば、XNUMX つの正常な状態と XNUMX つの障害状態)。 システムのモデルがあり、運用中に障害が発生することはほとんどないため、シミュレートされたデータを利用してアルゴリズムをトレーニングできます。 MATLAB および Simulink のパラメーター推定手法を使用して、実際のポンプからの動作データと一致するようにモデルを調整できます。
私たちの目的は、この障害分類の例を使用して、MATLAB と Amazon SageMaker の総合力を実証することです。
まず、デスクトップ上で MATLAB を使用して分類器モデルをトレーニングします。 まず、完全なデータセットのサブセットから特徴を抽出します。 診断機能デザイナー アプリを作成し、MATLAB デシジョン ツリー モデルを使用してモデル トレーニングをローカルで実行します。 パラメーター設定に満足したら、MATLAB 関数を生成し、ジョブをデータセットとともに SageMaker に送信できます。 これにより、トレーニング プロセスをスケールアップして、より大きなデータセットに対応できるようになります。 モデルをトレーニングした後、MATLAB Web アプリなどのダウンストリーム アプリまたはダッシュボードに統合できるライブ エンドポイントとしてモデルをデプロイします。
この例では各ステップを要約し、機械学習タスクに MATLAB と Amazon SageMaker を活用する方法を実践的に理解します。 この例の完全なコードと説明は、次の場所にあります。 倉庫.
前提条件
- Linux 上の MATLAB Compiler および Statistics and Machine Learning Toolbox を備えた MATLAB 2023a 以降の作業環境。 がここにあります クイックガイド AWS で MATLAB を実行する方法について説明します。
- にセットアップされた Docker Amazon Elastic Compute Cloud(Amazon EC2) MATLAB が実行されているインスタンス。 どちらか Ubuntu or Linux.
- のインストール AWS コマンドラインインターフェイス (AWS CLI), AWS の設定, Python3.
- AWS CLI は、次のインストールガイドに従っている場合はすでにインストールされているはずです。 ステップ1.
- AWS Configure をセットアップする AWS リソースと対話します。
- を実行して Python3 のインストールを確認します。
python -V
orpython --version
端末上でコマンドを実行します。 必要に応じて Python をインストールします。
- 次のコマンドを実行して、このリポジトリを Linux マシンのフォルダーにコピーします。
- リポジトリフォルダーの権限を確認してください。 書き込み権限がない場合は、次のシェル コマンドを実行します。
- MATLAB トレーニング コンテナーを構築し、それを Amazon Elastic Container Registry(Amazon ECR).
- フォルダーに移動します
docker
- AWS CLI を使用して Amazon ECR リポジトリを作成します (REGION を希望の AWS リージョンに置き換えます)
- 次の docker コマンドを実行します。
- フォルダーに移動します
- MATLAB を開き、というライブ スクリプトを開きます。
PumpFaultClassificationMATLABSageMaker.mlx
フォルダ内examples/PumpFaultClassification
。 このフォルダーを MATLAB の現在の作業フォルダーにします。
パート 1: データの準備と特徴抽出
機械学習プロジェクトの最初のステップは、データを準備することです。 MATLAB は、データから特徴をインポート、クリーニング、抽出するための幅広いツールを提供します。
SensorData.mat
データセットには 240 レコードが含まれています。 各レコードには XNUMX つの timetable があります。 flow
および pressure
。 対象となる列は、 faultcode
これは、ポンプ内で考えられる 1,201 つの故障の組み合わせをバイナリで表現したものです。 これらの時系列テーブルの場合、各テーブルには 1.2 行があり、0.001 秒のポンプ流量と圧力測定を XNUMX 秒単位で模倣します。
次に、診断機能デザイナー アプリを使用すると、データからさまざまな特徴を抽出、視覚化、ランク付けできます。 ここで、使用するのは、 自動機能、データセットから時間および周波数領域の幅広い特徴を迅速に抽出し、モデル トレーニングの上位候補をランク付けします。 その後、新しい入力データから上位 15 位のランク付けされた特徴を再計算する MATLAB 関数をエクスポートできます。 この関数を呼び出してみましょう extractFeaturesTraining
。 この機能は、データを一括で取り込むことも、ストリーミングデータとして取り込むこともできます。
この関数は、次の図に示すように、関連する障害コードを含む機能のテーブルを作成します。
パート 2: SageMaker のデータを整理する
次に、SageMaker が機械学習トレーニングに使用できる方法でデータを整理する必要があります。 通常、これには、データをトレーニング セットと検証セットに分割し、ターゲット応答から予測子データを分割することが含まれます。
この段階では、他のより複雑なデータ クリーニングおよびフィルタリング操作が必要になる場合があります。 この例では、データはすでにクリーンになっています。 データ処理が非常に複雑で時間がかかる場合は、SageMaker 処理ジョブを使用して、SageMaker トレーニングとは別にこれらのジョブを実行し、XNUMX つのステップに分けることができる可能性があります。
trainPredictors = trainingData(:,2:end);
trainResponse = trainingData(:,1);
パート 3: MATLAB での機械学習モデルのトレーニングとテスト
SageMaker に移行する前に、MATLAB でローカルに機械学習モデルを構築してテストすることをお勧めします。 これにより、モデルを迅速に繰り返してデバッグできるようになります。 単純なデシジョン ツリー分類子をローカルで設定してトレーニングできます。
classifierModel = fitctree(...
trainPredictors,...
trainResponse,...
OptimizeHyperparameters='auto');
ここでのトレーニング ジョブは XNUMX 分以内に完了し、トレーニングの進行状況を示すいくつかのグラフを生成します。 トレーニングが終了すると、MATLAB 機械学習モデルが生成されます。 の 分類学習者 このアプリを使用すると、さまざまな種類の分類モデルを試し、最高のパフォーマンスが得られるように調整してから、上記のモデル トレーニング コードを置き換える必要なコードを生成できます。
ローカルでトレーニングされたモデルの精度メトリクスを確認した後、トレーニングを Amazon SageMaker に移動できます。
パート 4: Amazon SageMaker でモデルをトレーニングする
モデルに満足したら、SageMaker を使用して大規模にモデルをトレーニングできます。 SageMaker SDK の呼び出しを開始するには、SageMaker セッションを開始する必要があります。
session = sagemaker.Session();
SageMaker 実行を指定する IAMの役割 トレーニング ジョブとエンドポイント ホスティングが使用するもの。
role = "arn:aws:iam::ACCOUNT:role/service-role/AmazonSageMaker-ExecutionRole-XXXXXXXXXXXXXXX";
MATLAB から、トレーニング データを .csv ファイルとして保存します。 Amazon Simple Storage Service(Amazon S3) バケツ。
writetable(trainingData,'pump_training_data.csv');
trainingDataLocation = "s3:// "+session.DefaultBucket+ +"/cooling_system/input/pump_training";
copyfile("pump_training_data.csv", trainingDataLocation);
SageMaker Estimator を作成する
次に、SageMaker エスティメーターを作成し、トレーニング Docker イメージ、トレーニング関数、環境変数、トレーニング インスタンス サイズなどの必要なパラメーターをすべて渡す必要があります。 トレーニングイメージ URI は、前提条件ステップで次の形式で作成した Amazon ECR URI である必要があります。 ACCOUNT.dkr.ecr.us-east-1.amazonaws.com/sagemaker-matlab-training-r2023a:latest
。 トレーニング関数は、MATLAB ライブ スクリプトの最後に提供する必要があります。
SageMaker トレーニング ジョブを送信する
エスティメーターから fit メソッドを呼び出すと、トレーニング ジョブが SageMaker に送信されます。
est.fit(training=struct(Location=trainingDataLocation, ContentType="text/csv"))
SageMaker コンソールからトレーニング ジョブのステータスを確認することもできます。
トレーニング ジョブが終了したら、ジョブ リンクを選択するとジョブの説明ページに移動し、専用の S3 バケットに保存された MATLAB モデルを確認できます。
パート 5: モデルをリアルタイム SageMaker エンドポイントとしてデプロイする
トレーニング後、モデルをリアルタイム SageMaker エンドポイントとしてデプロイでき、これを使用してリアルタイムで予測を行うことができます。 これを行うには、エスティメーターからデプロイ メソッドを呼び出します。 ここで、ワークロードに応じてホスティングに必要なインスタンス サイズを設定できます。
このステップはバックグラウンドで推論 Docker イメージを構築し、それを Amazon ECR リポジトリにプッシュします。推論コンテナを構築するためにユーザーは何も必要ありません。 イメージには、モデルの場所、MATLAB 認証情報、アルゴリズムなど、推論リクエストを処理するために必要な情報がすべて含まれています。 その後、Amazon SageMaker は SageMaker エンドポイント設定を作成し、最後にリアルタイム エンドポイントをデプロイします。 エンドポイントは SageMaker コンソールで監視でき、使用されなくなった場合はいつでも終了できます。
パート 6: エンドポイントをテストする
エンドポイントが稼働中になったので、予測するレコードをいくつか与えてエンドポイントをテストできます。 次のコードを使用して、トレーニング データから 10 個のレコードを選択し、予測のためにエンドポイントに送信します。 予測結果はエンドポイントから返され、次の図に示されています。
パート 7: ダッシュボードの統合
SageMaker エンドポイントは、多くのネイティブ AWS サービスから呼び出すことができます。 と一緒にデプロイすると、標準の REST API としても使用できます。 AWSラムダ 関数と API ゲートウェイを備えており、あらゆる Web アプリケーションと統合できます。 この特定のユースケースでは、Amazon SageMaker Feature Store および MSK の Apache Kafka 用 Amazon Managed Streaming によるストリーミング インジェストを使用して、機械学習に基づいた意思決定をほぼリアルタイムで行うことができます。 もう XNUMX つの可能な統合は、以下の組み合わせを使用することです。 アマゾンキネシス、SageMaker、および Apache Flink を使用して、データ ストリーム上でリアルタイム推論が可能な、信頼性が高く、スケーラブルで可用性の高いマネージド アプリケーションを構築します。
アルゴリズムを SageMaker エンドポイントにデプロイした後、リアルタイムでストリーミング予測を表示するダッシュボードを使用してアルゴリズムを視覚化することができます。 次のカスタム MATLAB Web アプリでは、ポンプごとの圧力と流量のデータ、および展開されたモデルからのライブ故障予測を確認できます。
このダッシュボードには、対象の各ポンプの故障までの時間を予測するための残存耐用年数 (RUL) モデルが含まれています。 RUL アルゴリズムをトレーニングする方法については、次を参照してください。 予知保全ツールボックス.
クリーンアップ
このソリューションを実行した後は、予期せぬコストが発生しないように、不要な AWS リソースを必ずクリーンアップしてください。 これらのリソースをクリーンアップするには、 SageMaker Python SDK または、ここで使用される特定のサービス (SageMaker、Amazon ECR、および Amazon S3) の AWS マネジメントコンソール。 これらのリソースを削除すると、使用しなくなったリソースに対するさらなる料金の請求を防ぐことができます。
まとめ
機械学習ライフサイクル全体におけるポンプの予測メンテナンスのユースケースのために、MATLAB を SageMaker に導入する方法を実証しました。 SageMaker は、機械学習ワークロードを実行し、さまざまなニーズに対応する豊富なコンピューティング インスタンスを備えたモデルをデプロイするためのフルマネージド環境を提供します。
免責事項: この投稿で使用されているコードは、MathWorks によって所有および管理されています。 GitHub リポジトリのライセンス条項を参照してください。 コードまたは機能リクエストに関する問題がある場合は、リポジトリで GitHub の問題を開いてください。
参考文献
著者について
ブラッド・ダンカン MathWorks の Statistics and Machine Learning Toolbox の機械学習機能のプロダクト マネージャーです。 彼は顧客と協力して、人工システムへの仮想センサーの組み込み、説明可能な機械学習モデルの構築、MATLAB や Simulink を使用した AI ワークフローの標準化など、エンジニアリングの新しい分野に AI を適用しています。 MathWorks に入社する前は、3D シミュレーションと車両の空気力学の最適化、3D シミュレーションのユーザー エクスペリエンス、シミュレーション ソフトウェアの製品管理のチームを率いていました。 ブラッドは、車両空気力学の分野でタフツ大学の客員講師も務めています。
リチャード・アルコック MathWorks のクラウド プラットフォーム統合担当シニア開発マネージャーです。 この役割において、彼は MathWorks 製品をクラウドおよびコンテナ プラットフォームにシームレスに統合することに貢献しています。 彼は、エンジニアや科学者がクラウドベースの環境で MATLAB と Simulink の可能性を最大限に活用できるソリューションを作成しています。 以前は MathWorks でソフトウェア エンジニアリングを担当し、並列および分散コンピューティング ワークフローをサポートするソリューションを開発していました。
レイチェル・ジョンソン MathWorks の予知保全の製品マネージャーであり、全体的な製品戦略とマーケティングを担当しています。 彼女は以前、予知保全プロジェクトで航空宇宙産業を直接サポートするアプリケーション エンジニアでした。 MathWorks に入社する前は、Rachel はアメリカ海軍の空気力学および推進シミュレーション エンジニアを務めていました。 彼女はまた、数学、物理学、工学を教えるために数年間を費やしました。
毛俊 アマゾン ウェブ サービスの新興テクノロジー チームのシニア AI/ML パートナー ソリューション アーキテクトです。 彼は、企業顧客やパートナーと協力して AI/ML アプリケーションを設計、導入、拡張してビジネス価値を引き出すことに情熱を注いでいます。 仕事以外では、釣り、旅行、卓球を楽しんでいます。
ラメッシュ・ジャティヤ アマゾン ウェブ サービスの独立系ソフトウェア ベンダー (ISV) チームのソリューション アーキテクトです。 彼は、ISV 顧客と協力してクラウドでアプリケーションを設計、展開、拡張し、ビジネス価値を引き出すことに熱心に取り組んでいます。 彼はまた、ボストンのバブソン大学で機械学習とビジネス分析の MBA 取得を目指しています。 仕事以外では、ランニング、テニス、料理を楽しんでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/machine-learning-with-matlab-and-amazon-sagemaker/
- :持っている
- :は
- :not
- :どこ
- $UP
- 001
- 1
- 10
- 100
- 視聴者の38%が
- 152
- 19
- 20
- 3d
- 7
- 8
- a
- 私たちについて
- 上記の.
- アクセス
- アクセス可能な
- 対応する
- 精度
- 利点
- 航空宇宙
- 後
- AI
- AI / ML
- アルゴリズム
- アルゴリズム
- すべて
- ことができます
- 沿って
- 既に
- また
- Amazon
- Amazon EC2
- アマゾンセージメーカー
- Amazon Webサービス
- an
- 分析論
- および
- 別の
- どれか
- アパッチ
- 離れて
- API
- アプリ
- アプリは許可します
- 申し込み
- 申し込む
- です
- AREA
- エリア
- 人工の
- 人工知能
- AS
- 関連する
- At
- 認証
- オート
- オートメーション
- 自動車
- 利用できます
- 避ける
- AWS
- AWSマネジメントコンソール
- バブソン
- バック
- BE
- なぜなら
- 始まる
- 利点
- BEST
- ボストン
- ボトム
- ブラッド
- 持って来る
- 広い
- た
- ビルド
- 建物
- 構築します
- ビジネス
- by
- コール
- 呼ばれます
- 呼び出し
- 缶
- 候補
- 機能
- できる
- 場合
- 課金
- チェック
- 点検
- 分類
- 分類します
- クリーニング
- クラウド
- クラウドプラットフォーム
- コード
- コード
- 協力します
- 環境、テクノロジーを推奨
- カレッジ
- コラム
- COM
- 組み合わせ
- 組み合わせ
- 組み合わせた
- 到来
- コミュニケーション
- 複雑な
- 計算
- コンピューティング
- 設定された
- 領事
- 消費する
- コンテナ
- 含まれています
- コスト
- 作ります
- 作成した
- 作成します。
- 電流プローブ
- カスタム
- Customers
- ダッシュボード
- データ
- データの準備
- データ処理
- データセット
- 決定
- 決定
- 専用の
- 実証します
- 実証
- によっては
- 展開します
- 展開
- 展開する
- 配備する
- 派生する
- 説明
- 設計
- デザイナー
- 希望
- デスクトップ
- 細部
- 開発
- 開発
- 診断
- 直接に
- ディスプレイ
- 配布
- 分散コンピューティング
- do
- デッカー
- ありません
- ドメイン
- ダンカン
- 各
- 効果的に
- どちら
- 新興の
- 新技術
- enable
- end
- エンドポイント
- エンジニア
- 設計された
- エンジニアリング
- エンジニア
- Enterprise
- 全体
- 環境
- 環境
- 特に
- 例
- 実行
- 体験
- export
- エキス
- 抽出物
- 不良解析
- 欠点
- 欠陥のある
- 特徴
- 特徴
- 少数の
- フィギュア
- File
- フィルタリング
- 最後に
- 仕上げ
- 名
- 釣り
- フィット
- フロー
- 続いて
- フォロー中
- 次
- 形式でアーカイブしたプロジェクトを保存します.
- 周波数
- から
- フル
- 完全に
- function
- さらに
- ゲートウェイ
- 生成する
- 生成された
- 生成
- GitHubの
- 与え
- 良い
- グラフ
- 素晴らしい
- ゲスト
- ガイド
- ハーネス
- 持ってる
- he
- 健康
- 健康
- 重く
- こちら
- ハイパフォーマンス
- 非常に
- ホスティング
- 認定条件
- How To
- HTML
- HTTPS
- アイデア
- if
- 画像
- インポート
- in
- 含ま
- 組み込む
- 増加
- 独立しました
- 示す
- 産業
- 産業を変えます
- 情報
- 開始する
- install
- インストール
- インストール
- インストルメンタル
- 統合された
- 統合
- 統合
- 統合
- インテリジェンス
- 対話
- インタフェース
- に
- 問題
- 問題
- isv
- IT
- ジョブ
- Jobs > Create New Job
- ジョンソン
- JPG
- 大
- より大きい
- 後で
- 最新の
- LEARN
- 学習
- ツェッペリン
- less
- 活用します
- ライセンス
- 生活
- wifecycwe
- LINK
- linuxの
- ライブ
- 局部的に
- 場所
- ログイン
- より長いです
- 機械
- 機械学習
- メンテナンス
- make
- 作成
- マネージド
- 管理
- マネージャー
- 製造業
- 多くの
- マーケティング
- 一致
- math
- 測定
- 方法
- メトリック
- かもしれない
- 分
- ML
- モデル
- モニター
- 監視対象
- 他には?
- 移動する
- ずっと
- 名前付き
- ネイティブ
- 近く
- 必要
- 必要
- 必要とされる
- ニーズ
- 新作
- いいえ
- 何も
- 客観
- of
- 提供
- オファリング
- on
- かつて
- ONE
- 開いた
- 操作
- オペレーショナル
- 業務執行統括
- 最適化
- or
- その他
- 私たちの
- 出力
- 外側
- 全体
- 所有している
- ページ
- 並列シミュレーションの設定
- パラメーター
- パラメータ
- 特定の
- パートナー
- パートナー
- パス
- 情熱的な
- パフォーマンス
- 許可
- 物理学
- プラットフォーム
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 再生
- お願いします
- 人気
- 可能
- ポスト
- 潜在的な
- :
- 電力
- 実用的
- 予測する
- 予測
- 予測
- Predictor
- 優先
- 準備
- 準備
- 圧力
- 防ぐ
- 前に
- 事前の
- プロセス
- 処理
- 作り出す
- 生産された
- 生産する
- プロダクト
- 製品管理
- プロダクトマネージャー
- 製品
- プログラミング
- 進捗
- プロジェクト
- プロジェクト(実績作品)
- 推進
- 提供します
- 提供
- は、大阪で
- 提供
- ポンプ
- プッシュ
- プッシュ
- Python
- 質問
- すぐに
- 範囲
- ランク
- ランク
- ランク
- 珍しい
- すぐに
- リアル
- への
- 最近
- 記録
- 記録
- 参照する
- 地域
- レジストリ
- 信頼性のある
- 残り
- replace
- 倉庫
- 表現
- 要求
- リクエスト
- の提出が必要です
- リソース
- 応答
- 責任
- REST
- 結果
- リチャード
- 堅牢な
- 職種
- ラン
- ランニング
- セージメーカー
- 満足
- に満足
- Save
- 保存されました
- ド電源のデ
- 規模
- シーン
- 科学者たち
- スクリプト
- SDK
- シームレス
- 秒
- 選択
- 選択
- 送信
- シニア
- センサー
- 送信
- シリーズ
- 役立つ
- サービス
- サービス
- サービング
- セッション
- セッションに
- セット
- 設定
- セブン
- いくつかの
- 彼女
- シェル(Shell)
- すべき
- 表示する
- 示す
- 重要
- 簡単な拡張で
- サイズ
- So
- ソフトウェア
- ソフトウェア工学
- 溶液
- ソリューション
- 一部
- 特定の
- スピード
- 費やした
- ステージ
- 標準
- 標準化
- start
- 米国
- 統計
- Status:
- 手順
- ステップ
- ストレージ利用料
- 店舗
- 戦略
- 流れ
- ストリーミング
- そのような
- まとめる
- サポート
- 支援する
- 確か
- システム
- テーブル
- TAG
- 取る
- 取り
- ターゲット
- タスク
- ティーチング
- チーム
- チーム
- テクニック
- テクノロジー
- ターミナル
- 条件
- test
- テスト
- より
- それ
- エリア
- アプリ環境に合わせて
- それら
- その後
- ボーマン
- 彼ら
- この
- それらの
- 三
- 時間
- 時系列
- 〜へ
- 一緒に
- ツール
- ツールボックス
- 豊富なツール群
- top
- トレーニング
- トレーニング
- 旅行
- ツリー
- 試します
- 曲
- 調整された
- 2
- 一般的に
- 理解する
- 予期しない
- 大学
- us
- つかいます
- 使用事例
- 中古
- ユーザー
- 操作方法
- 価値観
- 多様
- さまざまな
- 自動車
- ベンダー
- 非常に
- バーチャル
- 視覚化する
- 欲しいです
- ました
- 仕方..
- we
- ウェブ
- Webアプリケーション
- Webサービス
- which
- ワイド
- 広い範囲
- 意志
- 仕事
- ワークフロー
- ワーキング
- 作品
- 書きます
- 書かれた
- 年
- You
- あなたの
- ゼファーネット