次の方法で共有


AI を使用して顧客の注文を予測する

Azure Machine Learning
Azure Synapse Analytics
Azure Data Lake
Azure SQL Database
Power Apps

ソリューションのアイデア

この記事では、ソリューションのアイデアについて説明します。 クラウド アーキテクトは、このガイダンスを使用して、このアーキテクチャの一般的な実装の主要なコンポーネントを視覚化するのに役立ちます。 この記事は、ワークロードの特定の要件に合わせて適切に設計されたソリューションを設計するための出発点として使用します。

この記事では、商品販売業者が AI と機械学習を使用して、特定の SKU (在庫保管単位) に対する顧客の将来の注文数量を予測する方法について説明します。 次の注文予測 (NOF) を使用すると、ディストリビューターは顧客に製品の推奨事項を提供し、最適な数量を提案できます。 この記事は、機械学習アーキテクチャ多くのモデルで説明されている概念に基づいています。

建築

注文の予測アーキテクチャを示す図。

このアーキテクチャの PowerPoint ファイルをダウンロードします。

データフロー

  1. データ ソース

    将来の注文を予測するには、ユーザー設定や購入行動に関する情報など、特定の店舗のさまざまな SKU の顧客の購入履歴に関する包括的なデータが必要です。 この種の情報は、通常、注文、商品、顧客データベースから取得されます。 また、天気、休日、イベントなどの外部要因も考慮する必要があります。 通常、このデータはサードパーティのソースから取得されます。

    注文予測モデルを作成するには、いくつかの主要な変数を含むスキーマ内のデータを使用します。

    • 日付と時刻
    • 顧客の店舗の場所
    • 商品 SKU
    • 注文済み数量
    • ユニットあたりの価格
    • 天気関連の機能、休日、イベント、およびその他の外部要因

    このデータを分析することで、顧客の行動に関する分析情報を取得し、顧客の次の注文に関する情報に基づいた SKU と数量の推奨事項を作成できます。

  2. 摂取

    データ インジェストは、さまざまなソースから指定された宛先にデータを転送するプロセスです。 このプロセスでは、データ ソースとターゲットの宛先ごとに特定のコネクタを使用します。

    Azure Data Factory には、データベース、ファイル システム、クラウド サービスなど、さまざまなソースからデータを抽出するために使用できるコネクタが用意されています。 これらのコネクタは、Microsoft またはサード パーティベンダーによって作成され、複数のデータ ソースで効果的に機能するように設計されています。 たとえば、さまざまな SAP データ インジェスト シナリオに SAP コネクタを使用できます。 Snowflake コネクタ を使用して、Snowflake からデータをコピーできます。

  3. ステージング領域

    ステージング領域は、ソースと宛先の間の一時的なストレージの場所として機能します。 このステージング領域の主な目的は、変換または品質チェックを行う間、変換先に読み込まれる前に、データを均一で構造化された形式で維持することです。

    正確な分析とモデリングには、一貫性のあるデータ形式が不可欠です。 ステージング領域にデータを統合して準備すると、Azure Machine Learning はより効率的に処理できます。

  4. 機械学習モデルのトレーニング

    モデル トレーニングは、アルゴリズムを使用してデータからパターンを学習し、この場合は顧客の次の注文を正確に予測できるモデルを選択する機械学習プロセスです。

    このソリューションでは、Azure Machine Learning を使用して、トレーニング モデル、モデルのデプロイ、Machine Learning Operations (MLOps) の管理など、機械学習プロジェクトのライフサイクル全体を管理します。

    ParallelRunStep は、大量のデータを並列に処理し、すべての顧客ストアと商品 SKU の組み合わせについて次の注文を予測できるモデルを作成するために使用されます。 データセットをより小さな部分に分割し、複数の仮想マシンで同時に処理することで、処理時間を短縮できます。 Azure Machine Learning コンピューティング クラスターを使用して、複数のノード間でワークロードの分散を実現できます。

    データが準備された後、Azure Machine Learning は、指数平滑、エラスティック ネット、預言者など、さまざまな予測モデルで ParallelRunStep を使用して、並列モデルトレーニング プロセスを開始できます。 各ノードまたはコンピューティング インスタンスがモデルの構築を開始するため、プロセスの効率と速度が向上します。

  5. 機械学習モデルの推論

    モデル推論は、トレーニング済みの機械学習モデルを使用して、以前は見えないデータ ポイントの予測を生成するプロセスです。 このソリューションでは、顧客が購入する可能性が高い商品 SKU の数量を予測します。

    Azure Machine Learning には、トレーニング済みのモデルを格納およびバージョン管理するためのモデル レジストリが用意されています。 モデル レジストリは、トレーニング済みのモデルを整理して追跡し、デプロイにすぐに使用できるようにするのに役立ちます。

    トレーニング済みの機械学習モデルをデプロイすると、モデルは推論のために新しいデータを処理できます。 デプロイ ターゲット Azure マネージド エンドポイントを使用することをお勧めします。 エンドポイントを使用すると、簡単なスケーラビリティ、パフォーマンスチューニング、高可用性を実現できます。

    このユース ケースでは、マネージド エンドポイントにモデルをデプロイする方法は 2 つあります。 最初のオプションは、図に示すように、各モデルを独自のマネージド エンドポイントにデプロイすることです。 2 つ目のオプションは、複数のモデルを 1 つのモデルにバンドルし、1 つのマネージド エンドポイントにデプロイすることです。 後者のアプローチはより効率的であり、複数のモデルを同時にデプロイおよび管理する簡単な方法を提供します。

  6. 分析ワークロード

    モデルの出力は、Azure Synapse Analytics、Azure Data Lake、Azure SQL Database などの分析システムに格納され、入力データも収集されて格納されます。 この段階では、顧客の消費、モデルの監視、新しいデータを使用したモデルの再トレーニングのための予測結果の可用性が容易になり、精度が向上します。

  7. エンドユーザーの使用

    スコア付けされたモデルを視覚的に顧客に提示するには、Azure App Service、Power BI ダッシュボード、または Power Apps の Web Apps 機能を使用できます。 これらのツールは、SKU の推奨事項と予測された数量を直感的で魅力的な方法でグラフィカルに提示できます。

    お客様は、推奨される SKU と予測された数量に対してアラートを受け取るため、事前に注文を行うことができます。 この推奨事項は、注文プロセスの合理化、在庫切れの可能性の低減、顧客満足度の向上に役立ちます。 Power BI ダッシュボードまたは Power Apps を使用する場合は、シームレスで効率的な注文エクスペリエンスを顧客に提供できます。

コンポーネント

  • Azure Synapse Analytics は、データ ウェアハウスとビッグ データ システム全体の分析情報を得る時間を短縮するエンタープライズ分析サービスです。 Azure Synapse は、POWER BI、Azure Cosmos DB、Azure Machine Learning などの他の Azure サービスと SQL テクノロジを接続します。
  • Data Factory は、データの移動と変換を自動化するクラウドベースのデータ統合サービスです。
  • Data Lake Storage は、さまざまな図形や形式でデータを格納するための無制限のデータ ストレージ サービスです。 Azure の分析ツールと簡単に統合できます。 このソリューションでは、機械学習データにローカル データ ストアを使用し、機械学習モデルをトレーニングするための Premium データ キャッシュを使用します。
  • Azure Machine Learning は、さまざまな機械学習コンピューティング ターゲットへのモデルの開発とデプロイを容易にするエンタープライズ レベルの機械学習サービスです。 低コード デザイナー、自動化された機械学習、さまざまな統合開発環境をサポートするホスト型 Jupyter Notebook 環境を、すべてのスキル レベルのユーザーに提供します。
    • Azure Machine Learning コンピューティング クラスター は、単一ノードまたはマルチノードのコンピューティング リソースを簡単に作成するために使用できるマネージド コンピューティング構造です。
    • Azure Machine Learning エンドポイント は、トレーニング済みモデルの推論 (スコアリング) 出力を受け取るためにクライアントが呼び出すことができる HTTPS エンドポイントです。 エンドポイントは、キーとトークンの認証によって認証される安定したスコアリング URI を提供します。
    • Azure Machine Learning パイプライン は、完全な機械学習タスクの独立して実行可能なワークフローです。 パイプラインは、機械学習モデルを生成する際のベスト プラクティスを標準化し、モデル構築の効率を向上するのに役立ちます。
  • SQL Database は、クラウド用に構築された、常にup-toな完全に管理されたリレーショナル データベース サービスです。
  • Power BI は、ビジネス分析と視覚的にイマーシブで対話型の分析情報を提供します。 さまざまなデータ ソースへの豊富なコネクタ セット、簡単な変換機能、高度な視覚化が提供されます。
  • Power Apps は、カスタム アプリを構築するための迅速な開発環境を提供するデータ プラットフォームと共に、アプリ、サービス、コネクタのスイートです。 Power Apps を使用して、データに接続するビジネス アプリをすばやく構築できます。 データは、基になるデータ プラットフォーム (Microsoft Dataverse) または SharePoint、Microsoft 365、Dynamics 365、SQL Server などのさまざまなオンラインおよびオンプレミスのデータ ソースに格納できます。
  • Web アプリケーション、Azure でホストされている ASP.NET Core を使用して構築され、従来の代替手段よりも競争上の利点を提供します。 ASP.NET Core は、最新の Web アプリケーション開発プラクティスとクラウド ホスティング シナリオ向けに最適化されています。

選択肢

  • Azure Machine Learning では、このソリューションでのデータ モデリングとデプロイが提供されます。 または、Azure Databricks を使用して、コード優先アプローチでソリューションを構築することもできます。 シナリオに最適なテクノロジを選択するには、チームの好みと専門知識を検討します。 ユーザー フレンドリなグラフィカル インターフェイスを使用する場合は、Azure Machine Learning をお勧めします。 Azure Databricks は、より多くのカスタマイズを可能にするコード優先アプローチの柔軟性を必要とする開発者に適しています。

    また、Azure Synapse の代わりに Azure Databricks を使用して、このソリューションのデータを探索および操作することもできます。 どちらのオプションも、強力なデータ探索と操作ツールを提供します。 Azure Synapse には、さまざまなソース (Azure およびサード パーティ) からのデータへの接続と統合を容易にする機能を含む統合ワークスペースが用意されています。 Azure Databricks は、主にデータ処理と分析を提供します。

    Azure Synapse には、SQL 構文を使用してデータのクエリと操作に使用できる SQL エンジンが含まれています。 Azure Databricks では、Python、R、Scala、SQL の使用をサポートするノートブック ベースのインターフェイスを使用します。

  • Power BI は、視覚化用の一般的なツールです。 Grafana は、もう 1 つの実行可能なオプションです。 主な違いは、Grafana がオープン ソースであるのに対し、Power BI は Microsoft が提供する SaaS 製品です。 カスタマイズとオープンソース ツールの使用に優先順位を付ける場合は、Grafana をお勧めします。 他の Microsoft 製品や製品サポートとのよりシームレスな統合に優先順位を付ける場合は、Power BI をお勧めします。

  • 各モデルにエンドポイントを使用するのではなく、複数のモデルを 1 つのモデルにバンドルして、単一のマネージド エンドポイントにデプロイできます。 デプロイ用のバンドル モデルは、モデル オーケストレーションと呼ばれます。 このアプローチを使用する場合の潜在的な欠点には、複雑さの増加、モデル間の潜在的な競合、単一のエンドポイントが失敗した場合のダウンタイムのリスクの増加などがあります。

シナリオの詳細

商品流通業界はこれまで、顧客の行動や購入パターンに関する分析情報を得るのに苦労してきました。そのため、パーソナライズされた製品の推奨事項を提供し、顧客満足度を向上させ、販売を促進することは困難です。 AI と機械学習を使用することで、流通業者は業界を変革しています。

顧客の購入パターンに基づいて製品と数量を推奨するために使用する方法論である Next Order Forecasting (NOF) を採用しています。 この手法は、注文を統合し、輸送と物流のコストを削減することで、顧客にメリットをもたらします。 また、ディストリビューターは、通常の顧客とのスマート契約を確立することができます。 これらの契約により、ディストリビューターは定期的に製品と数量を積極的に推奨し、在庫を管理し、製造効率に影響を与え、コストを節約し、持続可能性を促進することができます。 たとえば、正確な予測を実装することで、生鮮品のディストリビューターは在庫の最適なレベルを管理できるため、余分な在庫を埋め立て地に投げ込むのを回避できます。

NOF では、AI と機械学習のアルゴリズムを使用して顧客の注文を分析し、将来の注文に関する推奨事項を作成します。 この記事で説明するアーキテクチャでは、並列処理を使用して個々の SKU とストア レベルで予測を有効にすることで、NOF を別のレベルに引き上げます。 この組み合わせにより、企業は特定の店舗での特定の製品の需要を予測できます。 この手法を使用すると、顧客のニーズを満たし、期待を超えるパーソナライズされた推奨事項を顧客に提供できます。

潜在的なユース ケース

NOF は、顧客の需要を予測し、在庫管理を最適化する必要がある組織で使用できます。 具体的なユース ケースを次に示します。

  • 電子商取引。 オンライン小売業者は、顧客の需要を予測し、顧客の購入履歴、閲覧行動、好みに基づいて製品を推奨することができます。 これらの予測により、カスタマー エクスペリエンスが向上し、売上が増加し、物流と倉庫のコストが削減されます。
  • 持て成し。 ホテルやレストランでは、メニュー項目、飲料、その他の製品に対する顧客の需要を予測できます。 そうすることで、在庫の最適化、食品廃棄物の削減、収益性の向上に役立ちます。
  • 医療。 病院やクリニックでは、医療用品、機器、医薬品に対する患者の需要を予測できます。 これらの予測は、在庫在庫の削減、過剰在庫の回避、調達プロセスの最適化に役立ちます。
  • 加工。 製造元は、製品と原材料の需要を予測し、在庫レベルを最適化し、サプライ チェーンの回復性を向上させることができます。
  • エネルギー。 エネルギー企業は、需要を予測し、エネルギーの生成、送信、および分布を最適化できます。 NOFは、二酸化炭素排出量の削減と持続可能性の向上に役立ちます。

考慮 事項

これらの考慮事項では、Azure Well-Architected Framework の柱を実装します。これは、ワークロードの品質を向上させるために使用できる一連の基本原則です。 詳細については、Microsoft Azure Well-Architected Frameworkの に関するページを参照してください。

このソリューションのテクノロジは、スケーラビリティ、可用性、およびコストの最適化のために選択されました。

安全

セキュリティは、意図的な攻撃や貴重なデータとシステムの悪用に対する保証を提供します。 詳細については、「セキュリティの柱の概要」を参照してください。

セキュリティの強化は、このシナリオのコンポーネントに組み込まれています。 Microsoft Entra 認証またはロールベースのアクセス制御を使用して、アクセス許可を管理できます。 エンタープライズ セキュリティ Azure Machine Learning のベスト プラクティスを実装して、適切なセキュリティ レベルを確立することを検討してください。

Azure Synapse には、データの保護、ネットワーク セキュリティの向上、脅威保護の向上に役立つコンポーネントの分離を提供するエンタープライズ レベルのセキュリティ機能が用意されています。 コンポーネントの分離により、セキュリティの脆弱性が発生した場合の露出を最小限に抑えることができます。 Azure Synapse では、機密の個人データを保護するためにデータの難読化も可能になります。

Data Lake は、強化されたデータ保護、データ マスク、および強化された脅威保護を提供します。 詳細については、「Data Lake セキュリティ」を参照してください。

このアーキテクチャのセキュリティの詳細については、次のリソースを参照してください。

オペレーショナル エクセレンス

オペレーショナル エクセレンスには、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスが含まれます。 監視、監視、診断の設定は、この柱の下で強調すべき 3 つの重要な考慮事項です。

可観測性 とは、システムのデータ フローがどのように機能しているかを理解する能力を指します。 監視 は、システムのパフォーマンスを経時的に追跡する継続的なプロセスです。 CPU 使用率、ネットワーク トラフィック、応答時間などのメトリックを監視できます。 診断設定 は、診断情報のキャプチャに使用できる構成オプションです。

詳細については、「オペレーショナル エクセレンスの柱の概要」を参照してください。

MLOps ガイドライン に従って、複数のワークスペースでスケーラブルなエンドツーエンドの機械学習ライフサイクルを管理します。 ソリューションを運用環境にデプロイする前に、再トレーニング サイクルとモデルの自動再デプロイによる継続的な推論がサポートされていることを確認してください。

考慮すべきいくつかのリソースを次に示します。

  • MLOps v2 を する
  • Azure MLOps v2 GitHub リポジトリ を する

パフォーマンス効率

パフォーマンス効率は、ユーザーの要求に効率的に対応するためにワークロードをスケーリングする機能です。 詳細については、「パフォーマンス効率の柱の概要を参照してください。

このアーキテクチャのほとんどのコンポーネントは、分析アクティビティ レベルに基づいてスケールアップおよびスケールダウンできます。 Azure Synapse は、スケーラビリティと高パフォーマンスを提供し、アクティビティのレベルが低い間に削減または一時停止できます。

Azure Machine Learning 、モデルトレーニングに必要なデータの量とコンピューティング リソースに基づいてスケーリングできます。 予想される負荷とスコアリング サービスに基づいて、デプロイとコンピューティング リソースをスケーリングできます。

ロード テストは、機械学習モデルのパフォーマンス効率を確保するための重要な手順です。 このテストには、スループット、応答時間、リソース使用率などのメトリックを測定するために、モデルに対する大量の要求のシミュレーションが含まれます。 ロード テストは、運用環境でのモデルのパフォーマンスに影響を与える可能性があるボトルネックや問題を特定するのに役立ちます。

スケーラブルなソリューションの設計の詳細については、「パフォーマンス効率チェックリスト」を参照してください。

貢献

この記事は Microsoft によって管理されています。 もともとは次の共同作成者によって作成されました。

プリンシパルの作成者:

  • マナサ ラマリナ |プリンシパル クラウド ソリューション アーキテクト - 米国顧客の成功

その他の共同作成者:

非公開の LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次の手順