추천 시스템에서 광범위하고 심층적인 모델 빌드

예제 Notebook을 사용하여 이 문서에서는 광범위하고 심층적인 모델을 사용하여 추천 시스템을 빌드하는 방법에 대해 설명합니다. 광범위하고 심층적인 추천 시스템의 기계 학습 파이프라인을 빌드하려면 이 다이어그램에 표시된 단계가 포함됩니다.

Workflow for a wide-and-deep recommender

이 참조 솔루션은 파란색으로 표시된 단계를 다룹니다.

  • 모델 학습 및 평가
  • 모델 내보내기 및 버전 관리
  • 일괄 처리 모델 유추
  • 온라인 모델 서비스

다루지 않는 단계에 대한 자세한 내용은 다루지 않는 프로젝트 단계를 참조하세요.

광범위하고 심층적인 모델은 무엇인가요?

추천 시스템에 효과적인 선택인 와이드 및 딥 모델은 선형 모델과 딥 러닝 모델의 기능을 결합합니다. 선형 모델은 고객 선택과 관련된 기록 데이터를 분석하는 반면, 딥 러닝 기능은 일반화하여 관련 권장 사항의 선택을 확장합니다.

자세한 내용은 이 학술 논문인 추천 시스템용 Wide & Deep Learning을 참조하세요.

Databricks 도구 강조 표시

Notebook은 기계 학습 파이프라인 빌드를 간소화하는 Azure Databricks에 제공되는 여러 도구를 다룹니다.

  1. SparkDatasetConverter
  2. MLflow 모델 레지스트리
  3. MLflow 모델 서비스 제공

사용자 데이터 세트를 설명하는 Notebook

이 Notebook에서 사용되는 데이터 세트는 다음 델타 테이블로 구성됩니다.

  • user_profile: user_id 값 및 해당 정적 프로필을 포함합니다.
  • item_profile: item_id 값 및 해당 정적 프로필을 포함합니다.
  • user_item_interaction: 사용자가 항목과 상호 작용하는 이벤트를 포함합니다. 이 테이블은 모델을 빌드하고 평가하기 위해 세 개(train, validationtest)의 델타 테이블로 임의로 분할됩니다.

이 데이터 형식은 권장 사항 문제에 일반적입니다. 다음은 몇 가지 예입니다.

  • 광고 추천의 경우 항목은 광고이고 사용자 항목 상호 작용은 광고를 클릭하는 사용자의 레코드입니다.
  • 온라인 쇼핑 추천의 경우 항목은 제품이며 사용자 항목 상호 작용은 사용자가 검토하거나 주문 내역을 기록한 레코드입니다.

이 Notebook을 데이터 세트에 맞게 조정하는 경우 델타 테이블에 데이터를 저장하고 테이블 이름과 위치를 입력하기만 하면 됩니다. 데이터를 로드하는 코드는 대부분 재사용할 수 있습니다.

자세한 내용은 데이터 세트 생성 Notebook을 참조하세요.

데이터 세트 Notebook 생성 및 저장

전자 필기장 가져오기

Notebook 예제: 와이드 및 딥 모델

와이드 및 딥 모델은 와이드 선형 모델을 심층 신경망과 결합하여 좋은 권장 사항에 필요한 암기 및 일반화를 처리합니다.

이 모델은 추천 문제 또는 일반적으로 기계 학습 파이프라인에 대한 많은 딥 러닝 모델 중 하나의 예일 뿐입니다. 여기서는 워크플로를 빌드하는 방법을 중점으로 설명합니다. 사용자 고유의 사용 사례에 대해 다른 모델을 교환하고 더 나은 평가 메트릭을 위해 모델을 조정할 수 있습니다.

추천 시스템 Notebook에서 광범위하고 심층적인 모델 빌드 및 제공

전자 필기장 가져오기

프로젝트 스테이지는 다루지 않습니다.

Notebook이 추천 시스템을 구현하는 방법을 보여 주는 데 집중하기 위해 다음 단계는 다루지 않습니다. 이러한 단계는 워크플로 다이어그램에서 회색 블록으로 표시됩니다.

  1. 데이터 수집 및 예비 데이터 분석. Azure Databricks에서 첫 번째 ETL 워크로드 실행을 참조하세요.
  2. 기능 엔지니어링. 기능 엔지니어링은 추천 시스템의 중요한 부분이며 이 항목에서 많은 정보를 확인할 수 있습니다. 이 Notebook에서는 사용자 항목 상호 작용을 포함하는 큐레이팅된 데이터 세트가 있다고 가정합니다. 이 Notebook에서 사용되는 데이터 세트에 대한 자세한 내용은 사용자 데이터 세트를 설명하는 Notebook을 참조 하세요. 기능 엔지니어링에 대한 자세한 내용은 다음 리소스를 참조하세요.
  3. 모델 튜닝. 모델 튜닝에는 기능 엔지니어링, 모델 구조, 모델 하이퍼 매개 변수를 비롯한 기존 파이프라인의 코드를 수정하거나 데이터 수집 단계를 업데이트하여 모델의 성능을 향상시키는 작업이 포함됩니다. Azure Databricks에서 모델 튜닝을 위한 도구에 대한 자세한 내용은 하이퍼 매개 변수 튜닝을 참조하세요.