다음을 통해 공유


AI를 사용하여 고객 주문 예측

Azure Machine Learning
Azure Synapse Analytics
Azure 데이터 레이크
Azure SQL Database
Power Apps

솔루션 아이디어

이 문서에서는 솔루션 아이디어를 설명합니다. 클라우드 설계자는 이 지침을 사용하여 이 아키텍처의 일반적인 구현을 위한 주요 구성 요소를 시각화할 수 있습니다. 이 문서를 시작점으로 사용하여 워크로드의 특정 요구 사항에 맞는 잘 설계된 솔루션을 디자인할 수 있습니다.

이 문서에서는 상품 유통업체가 AI 및 기계 학습을 사용하여 특정 SKU(재고 유지 단위)에 대한 고객의 향후 주문 수량을 예측하는 방법을 설명합니다. 유통업체는 NOF(Next Order Forecasting)를 사용하여 고객에게 제품 권장 사항을 제공하고 최적의 수량을 제안할 수 있습니다. 이 문서는 기계 학습 아키텍처많은 모델에 설명된 개념을 기반으로 합니다.

건축학

주문 예측 아키텍처를 보여 주는 다이어그램

이 아키텍처의 PowerPoint 파일 다운로드합니다.

데이터 흐름

  1. 데이터 원본

    향후 주문을 예측하려면 기본 설정 및 구매 동작에 대한 정보를 포함하여 특정 매장의 다양한 SKU에 대한 고객의 구매 기록에 대한 포괄적인 데이터가 필요합니다. 이러한 종류의 정보는 일반적으로 주문, 상품 및 고객 데이터베이스에서 가져옵니다. 또한 날씨, 휴일 및 이벤트와 같은 외부 요인을 고려해야 합니다. 이 데이터는 일반적으로 타사 원본에서 가져옵니다.

    순서 예측 모델을 만들려면 다음과 같은 몇 가지 주요 변수가 포함된 스키마의 데이터를 사용합니다.

    • 날짜 및 시간
    • 고객 저장소 위치
    • 상품 SKU
    • 주문된 수량
    • 단가당 가격
    • 날씨 관련 기능, 휴일, 이벤트 및 기타 외부 요인

    이 데이터를 분석하면 고객 행동에 대한 인사이트를 얻고 고객의 다음 주문에 대한 정보에 입각한 SKU 및 수량 권장 사항을 만들 수 있습니다.

  2. 음식물 섭취

    데이터 수집은 다양한 원본에서 지정된 대상으로 데이터를 전송하는 프로세스입니다. 이 프로세스에는 각 데이터 원본 및 대상 대상에 대해 특정 커넥터를 사용하는 작업이 포함됩니다.

    Azure Data Factory는 데이터베이스, 파일 시스템 및 클라우드 서비스를 비롯한 다양한 원본에서 데이터를 추출하는 데 사용할 수 있는 커넥터를 제공합니다. 이러한 커넥터는 Microsoft 또는 타사 공급업체에서 만들며 여러 데이터 원본에서 효과적으로 작동하도록 설계되었습니다. 예를 들어 다양한 SAP 데이터 수집 시나리오에 SAP 커넥터를 사용할 수 있습니다. Snowflake 커넥터 사용하여 Snowflake에서 데이터를 복사할 수 있습니다.

  3. 준비 영역

    준비 영역은 원본과 대상 간의 임시 스토리지 위치 역할을 합니다. 이 준비 영역의 주요 목적은 데이터를 대상에 로드하기 전에 변환 또는 품질 검사를 수행하는 동안 균일하고 구조화된 형식으로 유지 관리하는 것입니다.

    일관된 데이터 형식은 정확한 분석 및 모델링에 매우 중요합니다. 준비 영역에서 데이터를 통합하고 준비하는 경우 Azure Machine Learning에서 데이터를 보다 효율적으로 처리할 수 있습니다.

  4. 기계 학습 모델 학습

    모델 학습은 알고리즘을 사용하여 데이터에서 패턴을 학습하고, 이 경우 고객의 다음 순서를 정확하게 예측할 수 있는 모델을 선택하는 기계 학습 프로세스입니다.

    이 솔루션에서 Azure Machine Learning 학습 모델, 모델 배포 및 MLOps(Machine Learning Operations) 관리를 포함하여 전체 기계 학습 프로젝트 수명 주기를 관리하는 데 사용됩니다.

    ParallelRunStep 사용하여 대량의 데이터를 병렬로 처리하고 모든 고객 저장소 및 상품 SKU 조합에 대해 다음 주문을 예측할 수 있는 모델을 만듭니다. 데이터 세트를 더 작은 부분으로 나누고 여러 가상 머신에서 동시에 처리하여 처리 시간을 줄일 수 있습니다. Azure Machine Learning 컴퓨팅 클러스터를 사용하여 여러 노드에서 워크로드를 분산할 수 있습니다.

    데이터가 준비되면 Azure Machine Learning은 지수 스무딩, 탄력적 네트워크 및 Prophet를 비롯한 다양한 예측 모델과 함께 ParallelRunStep을 사용하여 병렬 모델 학습 프로세스를 시작할 수 있습니다. 각 노드 또는 컴퓨팅 인스턴스는 모델 빌드를 시작하므로 프로세스가 더 효율적이고 더 빠릅니다.

  5. 기계 학습 모델 추론

    모델 추론은 학습된 기계 학습 모델을 사용하여 이전에 보이지 않는 데이터 요소에 대한 예측을 생성하는 프로세스입니다. 이 솔루션에서는 고객이 구매할 가능성이 있는 상품 SKU의 수량을 예측합니다.

    Azure Machine Learning은 학습된 모델을 저장하고 버전 관리하기 위한 모델 레지스트리를 제공합니다. 모델 레지스트리는 학습된 모델을 구성하고 추적하여 배포에 쉽게 사용할 수 있도록 하는 데 도움이 될 수 있습니다.

    학습된 기계 학습 모델을 배포하면 모델이 추론을 위해 새 데이터를 처리할 수 있습니다. 배포 대상에 Azure 관리 엔드포인트 사용하는 것이 좋습니다. 엔드포인트를 사용하면 간편한 확장성, 성능 튜닝 및 고가용성을 사용할 수 있습니다.

    이 사용 사례에서는 관리형 엔드포인트모델을 배포하는 두 가지 방법이 있습니다. 첫 번째 옵션은 다이어그램에 표시된 것처럼 자체 관리형 엔드포인트에 각 모델을 배포하는 것입니다. 두 번째 옵션은 여러 모델을 단일 모델에 번들로 묶어 단일 관리형 엔드포인트에 배포하는 것입니다. 후자의 접근 방식은 더 효율적이므로 여러 모델을 동시에 배포하고 관리하는 더 쉬운 방법을 제공합니다.

  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는 SQL 기술을 Power BI, Azure Cosmos DB 및 Azure Machine Learning과 같은 다른 Azure 서비스와 연결합니다.
  • Data Factory 데이터 이동 및 변환을 자동화하는 클라우드 기반 데이터 통합 서비스입니다.
  • Data Lake Storage 는 다양한 모양과 형식의 데이터를 보관하기 위한 무제한 데이터 스토리지 서비스입니다. Azure의 분석 도구와 쉽게 통합할 수 있습니다. 이 솔루션은 기계 학습 데이터에 대한 로컬 데이터 저장소와 기계 학습 모델을 학습하기 위한 프리미엄 데이터 캐시를 사용합니다.
  • 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와 같은 다양한 온라인 및 온-프레미스 데이터 원본에 저장할 수 있습니다.
  • azure에서 호스팅되는 ASP.NET Core로 빌드된 웹 애플리케이션은 기존 대안보다 경쟁 우위를 제공합니다. ASP.NET Core는 최신 웹 애플리케이션 개발 사례 및 클라우드 호스팅 시나리오에 최적화되어 있습니다.

대안

  • 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 사용을 지원하는 Notebook 기반 인터페이스를 사용합니다.

  • Power BI는 시각화에 널리 사용되는 도구입니다. 그라파나는 또 다른 실행 가능한 옵션입니다. 주요 차이점은 Grafana가 오픈 소스인 반면 Power BI는 Microsoft에서 제공하는 SaaS 제품이라는 점입니다. 사용자 지정 및 오픈 소스 도구 사용의 우선 순위를 지정하는 경우 Grafana를 선택하는 것이 좋습니다. 다른 Microsoft 제품 및 제품 지원과 보다 원활한 통합을 우선시하는 경우 Power BI가 더 나은 선택입니다.

  • 각 모델에 엔드포인트를 사용하는 대신 여러 모델을 단일 모델로 번들로 묶어 단일 관리형 엔드포인트에 배포할 수 있습니다. 배포를 위한 번들링 모델을 모델 오케스트레이션. 이 방법을 사용할 때 발생할 수 있는 단점으로는 복잡성 증가, 모델 간의 잠재적 충돌, 단일 엔드포인트가 실패할 경우 가동 중지 시간 위험이 증가합니다.

시나리오 세부 정보

상품 유통 업계는 지금까지 고객 행동 및 구매 패턴에 대한 인사이트를 얻기 위해 고군분투해 왔으며, 이로 인해 맞춤형 제품 추천을 제공하고, 고객 만족도를 높이고, 판매를 유도하기가 어려웠습니다. 상품 유통업체는 AI와 기계 학습을 통해 업계를 변화시키고 있습니다.

고객 구매 패턴에 따라 제품 및 수량을 추천하는 데 사용하는 방법론인 NOF(Next Order Forecasting)를 채택하고 있습니다. 이 방법론은 주문을 통합하고 운송 및 물류 비용을 줄임으로써 고객에게 혜택을 줍니다. 또한 배포자가 일반 고객과 스마트 계약을 설정할 수 있습니다. 이러한 계약을 통해 유통업체는 정기적으로 제품 및 수량을 사전에 추천하고, 재고를 관리하고, 제조 효율성에 영향을 미치고, 비용을 절감하고, 지속 가능성을 촉진할 수 있습니다. 예를 들어, 정확한 예측을 구현하여 소멸 가능한 항목의 배포자가 최적의 재고 수준을 관리할 수 있으므로 초과 재고를 매립지로 덤프하지 않도록 방지할 수 있습니다.

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 보안참조하세요.

이 아키텍처의 보안에 대한 자세한 내용은 다음 리소스를 참조하세요.

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션 환경에서 계속 실행되는 운영 프로세스를 다룹니다. 관찰성, 모니터링 및 진단 설정은 이 핵심 요소에서 강조해야 할 세 가지 중요한 고려 사항입니다.

관찰성 시스템의 데이터 흐름이 작동하는 방식을 이해하는 기능을 나타냅니다. 모니터링 시간이 지남에 따라 시스템의 성능을 추적하는 지속적인 프로세스입니다. CPU 사용량, 네트워크 트래픽 및 응답 시간과 같은 메트릭을 모니터링할 수 있습니다. 진단 설정 진단 정보를 캡처하는 데 사용할 수 있는 구성 옵션입니다.

자세한 내용은 운영 우수성 핵심 요소개요를 참조하세요.

MLOps 지침 따라 여러 작업 영역에서 확장 가능한 엔드투엔드 기계 학습 수명 주기를 관리합니다. 프로덕션 환경에 솔루션을 배포하기 전에 재학습 주기 및 자동화된 모델 재배포를 통해 지속적인 유추를 지원하는지 확인합니다.

고려해야 할 몇 가지 리소스는 다음과 같습니다.

  • MLOps v2
  • Azure MLOps v2 GitHub 리포지토리

성능 효율성

성능 효율성은 워크로드의 크기를 조정하여 사용자가 효율적인 방식으로 요구 사항을 충족하는 기능입니다. 자세한 내용은 성능 효율성 핵심 요소 개요참조하세요.

이 아키텍처의 대부분의 구성 요소는 분석 작업 수준에 따라 확장 및 축소할 수 있습니다. Azure Synapse는 확장성과 고성능을 제공하며 낮은 수준의 작업 중에는 줄이거나 일시 중지할 수 있습니다.

모델 학습에 필요한 데이터 양과 컴퓨팅 리소스에 따라 azure Machine Learning 확장할 수 있습니다. 예상 부하 및 점수 매기기 서비스에 따라 배포 및 컴퓨팅 리소스의 크기를 조정할 수 있습니다.

부하 테스트는 기계 학습 모델의 성능 효율성을 보장하기 위한 중요한 단계입니다. 이 테스트에는 처리량, 응답 시간 및 리소스 사용률과 같은 메트릭을 측정하기 위해 모델에 대한 대량의 요청 시뮬레이션이 포함됩니다. 부하 테스트는 프로덕션 환경에서 모델의 성능에 영향을 줄 수 있는 병목 상태 및 문제를 식별하는 데 도움이 될 수 있습니다.

확장 가능한 솔루션을 설계하는 방법에 대한 자세한 내용은 성능 효율성 검사 목록참조하세요.

참여자

이 문서는 Microsoft에서 유지 관리합니다. 그것은 원래 다음 기여자에 의해 작성되었습니다.

주 작성자:

기타 기여자:

공용이 아닌 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계