이 게시물은 데이터 엔지니어링 및 데이터 과학 지역 관리자인 Mohammed Alauddin과 현재 PropertyGuru Group에 속해 있는 iProperty.com.my의 수석 데이터 과학자인 Kamal Hossain과 공동으로 작성되었습니다.
iProperty.com.my 말레이시아에서 시장을 선도하는 부동산 포털이며 현재 PropertyGuru 그룹의 일부입니다. iProperty.com.my 부동산을 찾는 사람들이 시장에서 구할 수 있는 수천 개의 부동산 목록을 살펴볼 수 있는 검색 경험을 제공합니다. 검색 기능은 이미 소비자의 잠재적 속성을 좁히는 목적으로 사용되지만, iProperty.com.my 소비자 검색 경험을 개선할 수 있는 새로운 방법을 찾기 위해 끊임없이 노력하고 있습니다.
국내 소비자를 위한 재창조의 주요 원동력 iProperty.com.my 데이터 및 머신 러닝(ML)을 기반으로 하며 ML 모델은 거의 매일 소비자를 위해 교육, 재교육 및 배포됩니다. 이러한 혁신에는 검색 행동 및 사용자 프로필을 기반으로 목록 집합을 표시하는 속성 보기 및 위치 기반 추천이 포함됩니다.
그러나 더 많은 ML 워크로드가 배포되면서 규모와 관련된 문제가 표면화되기 시작했습니다. 이 게시물에서 우리는 그러한 도전과제에 대해 논의하고 iProperty.com.my 데이터 과학 팀은 다음을 사용하여 워크플로를 자동화했습니다. 아마존 세이지 메이커.
대규모 ML 프로젝트를 실행하는 과제
때 iProperty.com.my 데이터 과학 팀은 ML 여정을 시작했으며 팀의 주요 초점은 소비자에게 도움이 될 ML 기능을 식별하고 배포하는 것이었습니다. 에 iProperty.com.my , 새로 정의된 가설을 빠르게 실험하고 검증하는 것이 일반적인 관행입니다. 그러나 ML 발자국이 커짐에 따라 팀의 초점은 점차 새로운 경험을 발견하는 것에서 차별화되지 않은 무거운 작업으로 옮겨졌습니다. 다음은 그들이 직면한 몇 가지 도전 과제입니다.
- 운영 오버헤드 – 시간이 지남에 따라 scikit-learn, TensorFlow 및 PyTorch와 같이 유지 관리할 다양한 도구와 프레임워크가 있음을 깨달았습니다. 다양한 사용 사례에 다양한 ML 프레임워크가 사용되었습니다. 팀은 많은 시간이 소요되는 여러 자체 관리 컨테이너 이미지를 통해 이러한 프레임워크 업데이트를 관리하는 방법에 의존했습니다. 이러한 ML 프레임워크 각각에 대한 최신 업데이트를 유지하려면 컨테이너 이미지를 자주 업데이트해야 했습니다. 그 결과 더 높은 수준의 유지 관리가 수행되어 팀이 소비자를 위한 새로운 경험을 구축하는 데 집중할 수 없게 되었습니다.
- 자동화 및 셀프 서비스 기능 부족 – ML 프로젝트에는 데이터 엔지니어링, 데이터 과학, 플랫폼 엔지니어링 및 제품 팀과 같은 여러 팀이 참여했습니다. 엔드 투 엔드 자동화가 없으면 특히 여러 팀에서 처리해야 하는 작업의 경우 기능을 출시하기 위한 작업 완료에 더 많은 시간이 소요되었습니다. 더 많은 프로젝트가 들어감에 따라 팀 간의 대기 시간이 증가하여 기능이 시장에 출시되는 시간에 영향을 미쳤습니다. 셀프 서비스 기능의 부족도 서로를 기다리는 데 더 많은 시간을 소비하는 원인이 되었습니다.
- 고비용 – ML은 모델 관련성을 유지하기 위해 재교육이 필요한 반복 프로세스입니다. 사용 사례와 데이터의 양에 따라 강력한 가상 머신을 사용해야 하기 때문에 교육에 비용이 많이 들 수 있습니다. 직면한 또 다른 문제는 배포된 모든 ML 모델에 자체 추론 인스턴스가 있다는 것이었습니다. 즉, 더 많은 ML 모델이 배포될수록 비용이 선형적으로 증가했습니다.
이러한 문제에 비추어 팀은 모델을 구축, 교육 및 배포하는 프로세스를 재고할 필요가 있다고 결론지었습니다. 또한 운영 효율성을 개선하고 비용 효율적으로 관리하기 위해 도구를 재평가해야 할 필요성도 확인했습니다.
SageMaker로 ML 전달 자동화
많은 연구 끝에 팀은 Amazon SageMaker가 문제를 해결한 가장 포괄적인 ML 플랫폼이라는 결론을 내렸습니다. SageMaker를 사용하면 데이터 과학자와 개발자가 ML 모델을 빠르고 쉽게 구축 및 교육한 다음 프로덕션 준비 호스팅 환경에 직접 배포할 수 있습니다. 서버를 관리할 필요 없이 탐색 및 분석을 위해 데이터 소스에 쉽게 액세스할 수 있도록 통합 Jupyter 노트북에 대한 셀프 서비스 액세스를 제공합니다. PyTorch, TensorFlow 및 MXNet과 같은 다양한 ML 프레임워크에 대한 기본 및 사전 구축 지원을 통해 SageMaker는 특정 워크플로에 맞게 조정되는 유연한 분산 교육 옵션을 제공합니다. 교육 및 호스팅 비용은 최소 비용과 선불 약정 없이 초 단위로 청구됩니다. SageMaker는 다음과 같은 다른 매력적인 비용 최적화 기능도 제공합니다. 관리 현장 훈련, 비용을 최대 90%까지 절감할 수 있으며, SageMaker 절감 계획및 다중 모델 끝점 단일 호스트가 여러 모델을 제공할 수 있도록 합니다.
모든 것을 하나로 묶은 마지막 부분은 SageMaker와 SageMaker의 통합이었습니다. iProperty.com.my의 지속적 통합 및 지속적 전달(CI/CD) 도구입니다.
ML 제공을 자동화하기 위해 팀은 SageMaker를 모델 개발, 교육 및 호스팅을 위한 기본 서비스로 사용하여 ML 워크플로를 재설계했습니다. iProperty.com.my의 CI/CD 도구를 사용하여 새로운 ML 애플리케이션 업데이트를 릴리스하는 데 필요한 단계를 자동화합니다. 다음 섹션에서는 새롭게 디자인된 워크플로에 대해 설명합니다.
데이터 준비 워크플로
SageMaker가 도입되면서 SageMaker 노트북은 사전 처리된 데이터에 액세스할 수 있는 셀프 서비스 환경을 제공하여 데이터 과학자가 필요한 CPU 또는 GPU 리소스로 더 빠르게 이동할 수 있게 되었습니다.
팀은 데이터 준비 및 큐레이션을 위해 서비스에 의존했습니다. 컴퓨팅 인스턴스와 파일 스토리지를 설정할 필요 없이 모델을 빌드, 교육 및 배포하는 데 필요한 각 단계에 대한 완전한 액세스, 제어 및 가시성을 제공하는 통합된 웹 기반 시각적 인터페이스를 제공했습니다.
팀은 또한 Apache Airflow를 워크플로 엔진으로 사용하여 복잡한 데이터 파이프라인을 예약하고 실행했습니다. 그들은 Apache Airflow를 사용하여 선별된 데이터에 대한 액세스를 제공하는 초기 데이터 사전 처리 워크플로를 자동화합니다.
다음 다이어그램은 업데이트된 워크플로를 보여줍니다.
데이터 준비 워크플로에는 다음 단계가 있습니다.
- 데이터 과학 팀은 데이터 레이크에서 랩톱의 샘플 데이터를 검사하고 ETL(추출, 변환 및 로드) 스크립트를 빌드하여 다운스트림 탐색을 위해 데이터를 준비합니다. 이러한 스크립트는 Apache Airflow에 업로드됩니다.
- 에서 추출한 여러 데이터세트 iProperty.com.my의 데이터 레이크는 여러 단계의 데이터 변환(조인, 필터링 및 보강 포함)을 거칩니다. 초기 데이터 사전 처리 워크플로는 Apache Airflow에 의해 조정되고 실행됩니다.
- Parquet의 형태로 전처리된 데이터는 저장되고 사용 가능합니다. 아마존 단순 스토리지 서비스 (Amazon S3) 참여 데이터 버킷.
- SageMaker 노트북 인스턴스에서 데이터 과학 팀은 참여 데이터 S3 버킷의 데이터를 다음으로 다운로드합니다. 아마존 탄성 파일 시스템 (Amazon EFS)를 사용하여 로컬 탐색 및 테스트를 수행합니다.
- 참여 데이터를 예측 모델에 기본 문제를 더 잘 나타내는 기능으로 변환하기 위해 더 많은 데이터 탐색 및 데이터 사전 처리 활동이 발생합니다.
- 선별된 데이터는 선별된 데이터 S3 버킷에 저장됩니다.
- 데이터가 준비된 후 팀은 다음을 수행합니다. 로컬 ML 교육 및 추론 테스트 SageMaker 노트북 인스턴스에서. 이 단계에서 선별된 데이터의 하위 집합이 사용됩니다.
- 5, 6, 7단계는 만족스러운 결과가 얻어질 때까지 반복됩니다.
ML 모델 교육 및 배포 워크플로
ML 모델 교육 및 배포 워크플로는 팀의 비공개 Git 리포지토리에 의존하여 CI/CD 파이프라인에 구현된 워크플로를 트리거했습니다.
구현된 방법은 Git이 구성 설정 및 소스 코드에 대한 유일한 진실 소스 역할을 한다는 것이었습니다. 이 접근 방식을 사용하려면 시스템의 원하는 상태가 버전 제어에 저장되어 누구나 변경 사항의 전체 감사 추적을 볼 수 있어야 했습니다. 원하는 상태에 대한 모든 변경 사항은 커미터 정보, 커밋 ID 및 타임스탬프와 관련된 완전히 추적 가능한 커밋입니다. 즉, 이제 애플리케이션과 인프라 모두 코드를 통해 버전이 지정되고 표준 소프트웨어 개발 및 제공 방법론을 사용하여 감사할 수 있습니다.
다음 다이어그램은이 워크 플로우를 보여줍니다.
워크 플로우에는 다음 단계가 있습니다.
- 데이터 준비 워크플로에서 선별된 데이터를 사용하여 SageMaker 노트북 인스턴스에서 로컬 교육 및 추론 테스트가 반복적으로 수행됩니다.
- 원하는 결과가 달성되면 데이터 과학 팀은 구성 설정을 Git에 커밋합니다. 구성에는 다음이 포함됩니다.
- 데이터 소스 위치
- 클러스터 인스턴스 유형 및 크기
- SageMaker 사전 빌드 컨테이너 이미지 PyTorch, TensorFlow 또는 scikit-learn과 같은 ML 프레임워크 선택
- 스팟 또는 온디맨드 인스턴스를 선택하는 요금 모델.
- Git 커밋은 CI/CD 파이프라인을 트리거합니다. CI/CD 파이프라인은 Python Boto3 스크립트를 실행하여 SageMaker 인프라를 프로비저닝합니다.
- 개발 AWS 계정에서 스팟 인스턴스를 사용하여 커밋된 구성 설정으로 새 SageMaker 교육 작업이 프로비저닝됩니다. 선별된 데이터의 S3 버킷에 있는 데이터 세트가 훈련 클러스터로 다운로드되고 훈련이 즉시 시작됩니다.
- ML 교육 작업이 완료되면 모델 아티팩트가 생성되어 Amazon S3에 저장됩니다. 훈련 작업의 모든 에포크, 평가 지표 및 로그는 다음 위치에 저장됩니다. Amazon CloudWatch 로그.
- 모델 아티팩트가 Amazon S3에 저장되면 다음을 호출하는 이벤트가 트리거됩니다. AWS 람다 학습 작업이 완료되었다는 Slack 알림을 생성하는 함수입니다. 알림에는 검토를 위해 교육 작업의 CloudWatch Logs에 대한 링크가 포함됩니다.
- 데이터 과학 팀이 평가 보고서에 만족하면 팀은 CI/CD 파이프라인의 승인 기능을 통해 파이프라인의 차단을 해제하고 Python Boto3 스크립트를 시작하여 추가 추론 테스트를 위해 SageMaker 호스팅 인프라에 ML 모델을 배포합니다.
- 유효성 검사 후 팀은 Git 풀 요청을 제기하여 iProperty.com.my의 ML 엔지니어가 최종 검토를 수행합니다. ML 엔지니어는 결과를 검증하기 위해 개발 환경의 SageMaker 추론 엔드포인트에 대해 더 많은 테스트를 실행할 수 있습니다.
- 모든 것이 예상대로 작동하면 ML 엔지니어는 CI/CD 파이프라인을 트리거하는 풀 요청을 병합하여 새 모델을 데이터 프로덕션 환경에 배포합니다. CI/CD 파이프라인은 Python 스크립트를 실행하여 SageMaker 다중 모델 엔드포인트에 모델을 배포합니다. 그러나 추론 결과에 문제가 있는 경우 피드백이 제공된 상태에서 pull 요청이 거부됩니다.
- SageMaker 호스팅 인프라가 프로비저닝되고 CI/CD 워크플로가 SageMaker 추론 끝점에 대해 상태 확인 스크립트를 실행하여 추론 끝점의 상태를 확인합니다.
ML 모델 제공 및 API 계층 워크플로
ML 사용 사례의 경우 ML 모델이 소비자에게 제공되기 전에 적절한 비즈니스 로직이 적용되어야 합니다. 비즈니스 로직은 사용 사례 요구 사항을 충족하기 위해 다양한 계산 및 계산으로 ML 추론 출력(SageMaker에서)을 래핑합니다. 에 iProperty.com.my의 경우 비즈니스 로직은 모든 ML 사용 사례에 대해 별도의 Lambda 함수와 함께 AWS Lambda에서 호스팅됩니다. AWS Lambda는 단순성과 비용 효율성 때문에 선택되었습니다.
Lambda를 사용하면 서비스에서 처리하는 확장 및 가용성을 통해 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있습니다. 사용한 컴퓨팅 시간에 대해서만 비용을 지불하고 코드가 실행되지 않을 때는 요금이 부과되지 않습니다.
서버리스 애플리케이션 개발을 관리하려면 iProperty.com.my SLS(Serverless Framework)를 사용하여 Lambda에서 비즈니스 로직을 개발하고 유지 관리합니다. CI/CD 파이프라인은 Lambda에 새 업데이트를 배포합니다.
Lambda 함수는 기반으로 구축된 GraphQL API를 통해 소비자에게 노출됩니다. Amazon Elastic Kubernetes 서비스 (아마존 EKS) AWS 파게이트.
다음 다이어그램은이 워크 플로우를 보여줍니다.
워크 플로우에는 다음 단계가 포함됩니다.
- ML 교육 및 배포 워크플로에서 계속, 여러 ML 모델을 SageMaker 호스팅 인프라에 배포할 수 있습니다. ML 모델은 소비자에게 제공되기 전에 관련 비즈니스 로직(Lambda에서 구현됨)으로 오버레이됩니다.
- 비즈니스 로직에 대한 업데이트가 있는 경우 데이터 과학자는 Serverless Framework에서 소스 코드를 업데이트하고 Git 리포지토리에 커밋합니다.
- Git 커밋은 CI/CD 파이프라인을 트리거하여 Lambda 함수를 최신 업데이트로 교체합니다. 이 활동은 개발 계정에서 실행되며 프로덕션 계정에서 반복되기 전에 유효성이 검사됩니다.
- 여러 Lambda 함수는 SageMaker 추론 엔드포인트를 쿼리하는 연결된 비즈니스 로직과 함께 배포됩니다.
API 계층에 대한 모든 API 요청에 대해 GraphQL API는 요청을 처리하고 해당 Lambda 함수로 요청을 전달합니다. 호출된 함수는 하나 이상의 SageMaker 추론 끝점을 쿼리하고 요청자에게 응답을 제공하기 전에 비즈니스 논리를 처리할 수 있습니다.
배포된 ML 모델의 효율성을 평가하기 위해 프로덕션에서 ML 모델의 성능을 시각화하기 위해 모든 ML 모델에 대한 메트릭(예: 클릭률 또는 개방률)을 추적하는 대시보드가 생성됩니다. 이러한 측정항목은 iProperty.com.my 계속해서 ML 모델을 반복하고 개선합니다.
사업 실적
XNUMXD덴탈의 iProperty.com.my 팀은 개선된 워크플로에서 가치 있는 결과를 관찰했습니다.
Mohammad는 "SageMaker와 기존 CI/CD 도구 전반에 걸쳐 데이터 과학 워크플로를 구현함으로써 자동화 및 운영 오버헤드 감소를 통해 ML 모델 향상 활동에 집중할 수 있었고 ML 모델의 출시 시간을 60% 단축할 수 있었습니다."라고 말합니다. Aluddin, 데이터 과학 및 엔지니어링 책임자 "그뿐만 아니라 간단한 스위치로 활성화된 SageMaker 스팟 인스턴스를 사용하여 데이터 과학 인프라 비용을 75%까지 절감할 수 있었습니다. 마지막으로 ML 모델의 출시 시간을 개선함으로써 소비자 피드백을 수집하는 능력도 가속화되어 목록 추천 클릭률을 250%까지 조정하고 개선할 수 있었습니다.”
요약 및 다음 단계
팀은 비즈니스 결과에 대해 깊은 격려를 받았지만 여전히 소비자 경험을 개선할 여지가 많습니다. 다음을 포함하여 ML 모델 제공 워크플로를 더욱 향상시킬 계획이 있습니다. A / B 테스트 및 모델 모니터링 기능을 제공합니다.
미분화 작업을 더욱 줄이기 위해 팀은 또한 SageMaker 프로젝트 ML 워크플로의 관리 및 유지 관리를 단순화하고 SageMaker 파이프 라인 데이터 로드, 데이터 변환, 교육 및 조정, 대규모 배포와 같은 단계를 자동화합니다.
PropertyGuru 그룹 및 iProperty.com.my 정보
iProperty.com.my 말레이시아 쿠알라룸푸르에 본사를 두고 있으며 200명 이상의 직원을 고용하고 있습니다. iProperty.com.my는 시장을 선도하는 부동산 포털로서 영어와 말레이시아어로 검색 경험을 제공합니다. iProperty.com.my는 다음과 같은 소비자 솔루션도 제공합니다. 론케어 – 주택 융자 자격 지표, 뉴스 및 라이프스타일 채널 – 소비자의 자산 여정을 향상시키는 콘텐츠, 이벤트 – 부동산 찾는 사람을 에이전트 및 개발자와 오프라인으로 연결하는 등의 작업을 수행합니다. 이 회사는 동남아시아 최고의 부동산 기술 회사인 PropertyGuru Group의 일부입니다.1.
구루 동남아시아 최고의 부동산 기술 회사입니다. 2007년에 설립된 PropertyGuru는 싱가포르, 베트남, 말레이시아 및 태국에서 선도적인 위치를 차지하는 동남아시아 최고의 디지털 부동산 시장으로 성장했습니다. 회사는 현재 월간 1만 개 이상의 부동산 목록을 호스팅하고 있으며 인도네시아, 말레이시아, 싱가포르, 태국, 베트남 등 동남아시아 2.8대 경제 대국에서 50천만 명 이상의 부동산 구직자와 50,000명 이상의 활성 부동산 중개인에게 서비스를 제공합니다.
1 SimilarWeb 데이터를 기반으로 한 상대적 참여 시장 점유율 측면에서.
이 게시물의 내용과 의견은 제 XNUMX 자 작성자의 것이며 AWS는이 게시물의 내용이나 정확성에 대해 책임을지지 않습니다.
저자에 관하여
모하마드 알라딘 PropertyGuru 그룹의 데이터 엔지니어링 관리자입니다. 지난 15년 동안 그는 Telco, Airline 및 PropTech 디지털 산업에서 데이터 분석, 데이터 엔지니어링 및 기계 학습 프로젝트에 기여했습니다. 그는 또한 데이터 및 AI 공개 행사에서 연설합니다. 여가 시간에는 가족과 함께 실내 활동, 독서, TV 시청을 즐깁니다.
MD 카말 호세인 PropertyGuru 그룹의 수석 데이터 과학자입니다. 그는 클라우드 서비스를 사용하여 종단 간 AI/ML 솔루션을 구상, 설계 및 생산하기 위해 DS CoE(Data Science Center of Excellence)를 이끌고 있습니다. Kamal은 강화 학습과 인지 과학에 특히 관심이 있습니다. 여가 시간에는 독서를 좋아하고 아이들과 함께 하려고 노력합니다.
파비안 탄 Amazon Web Services의 수석 솔루션 아키텍트입니다. 그는 소프트웨어 개발, 데이터베이스, 데이터 분석 및 기계 학습에 대한 강한 열정을 가지고 있습니다. 그는 말레이시아 개발자 커뮤니티와 긴밀히 협력하여 아이디어를 실현할 수 있도록 돕습니다.
- '
- &
- 000
- 100
- 7
- 84
- ACCESS
- 계정
- 활동적인
- 방과 후 액티비티
- 자치령 대표
- AI
- 항공 회사
- All
- 아마존
- 아마존 세이지 메이커
- Amazon Web Services
- 분석
- 분석
- 아파치
- API를
- API
- 어플리케이션
- 애플리케이션 개발
- 아시아
- 회계 감사
- 자동화
- 자동화
- 유효성
- AWS
- AWS 람다
- 빌드
- 건물
- 사업
- 가지 경우
- 요금
- 클라우드
- 클라우드 서비스
- 암호
- 인지
- 협동
- 공통의
- 커뮤니티
- 회사
- 계산
- 소비
- 소비자
- 소비자
- 컨테이너
- 함유량
- 계속
- 기여
- 계기반
- 데이터
- 데이터 분석
- 데이터 레이크
- 데이터 과학
- 데이터 과학자
- 데이터베이스
- 배달
- 디자인
- 개발
- 개발자
- 개발자
- 개발
- 디지털
- 운전
- 효율성
- 직원
- 종점
- 기사
- 엔지니어링
- 엔지니어
- 영어
- 환경
- 재산
- 이벤트
- 이벤트
- 경험
- 체험
- 탐구
- 가족
- 특색
- 특징
- 지우면 좋을거같음 . SM
- 최종적으로
- 초점
- 소비자 용
- 형태
- 뼈대
- 기능
- 힘내
- GPU
- 그래프
- 그룹
- 머리
- 건강
- 홈
- 호스팅
- 방법
- HTTPS
- 포함
- 인도네시아 공화국
- 산업
- 정보
- 인프라
- 완성
- 관심
- 참여
- 문제
- IT
- 일
- 아이
- Kubernetes
- 휴대용 퍼스널 컴퓨터
- 최근
- 시작
- 리드
- 지도
- 배우기
- 라이프 스타일
- 빛
- LINK
- 리스팅
- 목록
- 하중
- 차관
- 지방의
- 기계 학습
- 기계
- 주요한
- 말레이시아
- 구축
- 시장
- 시장을 선도하는
- 시장
- 통계
- 백만
- ML
- 모델
- 움직임
- 노트북
- 공고
- 제공
- 제공
- 열 수
- 의견
- 옵션
- 기타
- 지불
- 성능
- 플랫폼
- 많은
- 포털
- 교장
- 사설
- 프로덕트
- 생산
- 프로필
- 프로젝트
- 재산
- 공개
- Python
- 파이 토치
- 제기
- 읽기
- 부동산
- 감소
- 강화 학습
- 신고
- 요구조건 니즈
- 연구
- 제품 자료
- 응답
- 결과
- 재교육
- 리뷰
- 달리기
- 달리는
- 현자
- 규모
- 스케일링
- 과학
- 과학자
- 검색
- 셀프 서비스
- 서버리스
- 서비스
- 피복재
- 세트
- 공유
- 비슷한 웹
- 단순, 간단, 편리
- 싱가포르
- 느슨하게
- 소프트웨어
- 소프트웨어 개발
- 솔루션
- 동남 아시아
- Spot
- 시작
- 주 정부
- 저장
- SUPPORT
- 표면
- 스위치
- 체계
- Technology
- 통신
- 텐서 흐름
- 지원
- 테스트
- 태국
- 소스
- 시간
- 트레이닝
- 변환
- tv
- 업데이트
- us
- 버전 관리
- 베트남
- 관측
- 온라인
- 가시성
- 음량
- 기다리다
- 웹
- 웹 서비스
- 이내
- 작업
- 워크플로우
- 일
- 년