Share via


AutoML 예측에 대한 질문과 대답

적용 대상: Python SDK azure-ai-ml v2(현재)

이 문서에서는 AutoML(자동 기계 학습) 예측에 대한 일반적인 질문에 답변합니다. AutoML의 예측 방법에 대한 일반적인 내용은 AutoML의 예측 방법 개요 문서를 참조하세요.

AutoML에서 예측 모델을 빌드하려면 어떻게 시작해야 하나요?

먼저 시계열 예측 모델 학습을 위한 AutoML 설정 문서를 참조하세요. 여러 Jupyter Notebooks에서 실습 예를 찾을 수도 있습니다.

내 데이터에서 AutoML이 느린 이유는 무엇인가요?

우리는 AutoML을 더욱 빠르고 확장 가능하게 만들기 위해 항상 노력하고 있습니다. 일반적인 예측 플랫폼으로 작동하기 위해 AutoML은 광범위한 데이터 유효성 검사와 복잡한 기능 엔지니어링을 수행하고 대규모 모델 공간을 검색합니다. 이러한 복잡성을 처리하려면 데이터 및 구성에 따라 많은 시간이 필요할 수 있습니다.

느린 런타임의 일반적인 원인 중 하나는 수많은 시계열이 포함된 데이터에 대한 기본 설정으로 AutoML을 학습하는 것입니다. 여러 예측 방법의 비용은 시계열 수에 비례하여 증가합니다. 예를 들어 지수 평활법 및 Prophet과 방법은 학습 데이터의 시계열마다 모델을 학습시킵니다.

AutoML의 많은 모델 기능은 컴퓨팅 클러스터 전체에 학습 작업을 분산하여 이러한 시나리오에 맞게 크기 조정됩니다. 수백만 개의 시계열 데이터에 성공적으로 적용되었습니다. 자세한 내용은 다양한 모델 문서 섹션을 참조하세요. 상위 프로필 경쟁 데이터 세트에서 많은 모델의 성공에 대해서도 읽어보세요.

AutoML의 속도를 높이려면 어떻게 해야 하나요?

사용자의 경우 AutoML이 느린 이유를 이해하려면 내 데이터에서 AutoML이 느린 이유는 무엇인가요? 답변을 참조하세요.

작업 속도를 높일 수 있는 다음 구성 변경을 고려합니다.

  • ARIMA 및 Prophet과 같은 시계열 모델 차단
  • 지연 및 롤링 기간과 같은 되돌아보기 기능 끄기
  • 줄이기:
    • 시도/반복 횟수.
    • 시도/반복 시간 제한
    • 실험 시간 제한
    • 교차 유효성 검사 접기 수.
  • 조기 종료를 사용하도록 설정

어떤 모델링 구성을 사용해야 하나요?

AutoML 예측은 네 가지 기본 구성을 지원합니다.

구성 시나리오 장점 단점
기본 AutoML 데이터 세트의 시계열 수가 적고 시계열의 기록 동작이 거의 비슷한 경우에 적합합니다. - 코드/SDK 또는 Azure Machine Learning 스튜디오에서 간단하게 구성할 수 있습니다.

- 회귀 모델이 학습 시 모든 계열을 함께 풀링하므로 AutoML은 다양한 시계열에 걸쳐 학습할 수 있습니다. 자세한 내용은 모델 그룹화를 참조하세요.
- 학습 데이터에 포함된 시계열이 동작이 서로 다르면 회귀 모델의 정확도가 떨어질 수 있습니다.

- 학습 데이터에 계열 수가 많은 경우 시계열 모델을 학습하는 데 시간이 오래 걸릴 수 있습니다. 자세한 내용은 내 데이터에서 AutoML이 느린 이유는 무엇인가요? 답변을 참조하세요.
딥 러닝을 사용하는 AutoML 1,000개 이상의 관측치가 포함된 데이터 세트와 잠재적으로 복잡한 패턴을 나타내는 수많은 시계열에 권장됩니다. 이 구성을 사용하면 AutoML은 학습 중에 임시 TCN(나선형 신경망) 모델을 스윕합니다. 자세한 내용은 딥 러닝 사용을 참조하세요. - 코드/SDK 또는 Azure Machine Learning 스튜디오에서 간단하게 구성할 수 있습니다.

- TCN이 모든 시리즈에 걸쳐 데이터를 모으기 때문에 교차 학습 기회가 있습니다.

- DNN(심층 신경망) 모델의 대용량으로 인해 정확도가 더 높아질 수 있습니다. 자세한 내용은 AutoML의 예측 모델을 참조하세요.
- DNN 모델의 복잡성으로 인해 학습 시간이 훨씬 더 오래 걸릴 수 있습니다.

- 기록의 양이 적은 시계열은 이 모델을 사용해도 도움이 될 가능성이 낮습니다.
여러 모델 대량의 예측 모델을 확장 가능한 방식으로 학습시키고 관리해야 하는 경우에 적합합니다. 자세한 내용은 다양한 모델 문서 섹션을 참조하세요. - 확장성.

- 시계열의 동작이 서로 다를 때 정확도가 높아질 수 있습니다.
- 시계열에 따른 학습이 없습니다.

- Azure Machine Learning 스튜디오에서는 많은 모델 작업을 구성하거나 실행할 수 없습니다. 현재는 코드/SDK 환경만 사용할 수 있습니다.
HTS(계층적 시계열) 데이터의 시계열이 중첩된 계층 구조이고 집계된 계층 구조 수준에서 학습시키거나 예측해야 하는 경우에는 HTS를 사용하는 것이 좋습니다. 자세한 내용은 계층적 시계열 예측 문서 섹션을 참조하세요. - 집계된 수준에서 학습시키면 리프 노드 시계열의 노이즈를 줄이고 모델의 정확도를 높일 수 있습니다.

- 학습 수준에서 예측을 집계하거나 분할하여 계층 구조의 모든 수준에 대한 예측을 검색할 수 있습니다.
- 학습의 집계 수준을 제공해야 합니다. AutoML에는 현재 최적의 수준을 찾는 알고리즘이 없습니다.

참고 항목

높은 DNN 용량을 최대한 활용하기 위해 딥 러닝을 사용하도록 설정한 경우에는 GPU와 함께 컴퓨팅 노드를 사용하는 것이 좋습니다. CPU만 있는 노드에 비해 학습 시간이 훨씬 빨라질 수 있습니다. 자세한 내용은 GPU 최적화 가상 머신 크기 문서를 참조하세요.

참고 항목

HTS는 계층 구조의 집계된 수준에서 학습 또는 예측이 필요한 작업을 위해 설계되었습니다. 리프 노드 학습 및 예측만 필요한 계층적 데이터의 경우 대신 많은 모델을 사용합니다.

과잉 맞춤과 데이터 누출을 어떻게 방지할 수 있나요?

AutoML은 교차 유효성 검사 모델 선택과 같은 기계 학습 모범 사례를 사용하여 많은 과잉 맞춤 문제를 완화합니다. 그러나 과잉 맞춤의 다른 잠재적인 원인이 있습니다.

  • 입력 데이터에는 간단한 수식을 사용하여 대상에서 파생된 기능 열이 포함됩니다. 예를 들어 대상의 정배수인 기능은 거의 완벽한 학습 점수를 달성할 수 있습니다. 그러나 모델은 샘플 외 데이터로 일반화되지 않을 가능성이 높습니다. 모델을 학습시키기 전에 데이터를 살펴보면서 대상 정보를 "누락"하는 열을 삭제하는 것이 좋습니다.

  • 학습 데이터는 예측 범위까지 미래에 알려지지 않은 기능을 사용합니다. AutoML의 회귀 모델은 현재 모든 기능이 예측 범위까지 알려져 있다고 가정합니다. 학습 전에 데이터를 탐색하고 역사적으로만 알려진 기능 열을 제거하는 것이 좋습니다.

  • 데이터의 학습, 유효성 검사 또는 테스트 사이에는 상당한 구조적 차이(체제 변화)가 있습니다. 예를 들어, 2020년과 2021년 동안 거의 모든 상품에 대한 수요에 대한 코로나19 팬데믹의 영향을 생각해 보세요. 이는 정권 변화의 전형적인 예입니다. 정권 변화로 인한 과잉 맞춤은 시나리오에 따라 크게 달라지고 식별하려면 깊은 지식이 필요할 수 있기 때문에 해결하기 가장 어려운 문제입니다.

    첫 번째 방어선으로 전체 기록의 10~20%의 유효성을 검사 데이터 또는 교차 유효성 검사 데이터용으로 예약해 보세요. 학습 기록이 적으면 항상 이 정도 양의 유효성 검사 데이터를 예약할 수 있는 것은 아니지만, 이렇게 하는 것이 가장 좋습니다. 자세한 내용은 학습 및 유효성 검사 데이터를 참조하세요.

내 학습 작업이 완벽한 유효성 검사 점수를 달성한다는 것은 무엇을 의미하나요?

학습 작업에서 유효성 검사 메트릭을 볼 때 만점을 볼 수 있습니다. 만점은 유효성 검사 집합의 예측값과 실제값이 동일하거나 거의 동일함을 의미합니다. 예를 들어, 제곱 평균 오차는 0.0이거나 R2 점수는 1.0입니다.

완벽한 유효성 검사 점수는 보통데이터 누출로 인해 모델이 심각하게 과잉 맞춤되었음을 나타냅니다. 가장 좋은 작업은 데이터 누출을 검사하고 누출을 유발하는 열을 삭제하는 것입니다.

시계열 데이터에 주기적인 관찰이 없으면 어떻게 해야 하나요?

AutoML의 예측 모델은 일정과 관련하여 학습 데이터에 주기적 관측 간격이 있어야 합니다. 이 요구 사항에는 관찰 사이의 일 수가 다를 수 있는 월간 또는 연간 관찰이 포함됩니다. 시간 종속 데이터는 다음 두 가지 경우에 이 요구 사항을 충족하지 못할 수 있습니다.

  • 데이터의 빈도는 잘 정의되어 있지만 관측값이 누락되어 계열에 간격이 생깁니다. 이 경우 AutoML은 빈도를 검색하고, 간격에 대한 새로운 관찰을 채우고, 누락된 대상 및 기능 값을 대치하려고 시도합니다. 선택적으로 사용자는 SDK 설정이나 웹 UI를 통해 대치 방법을 구성할 수 있습니다. 자세한 내용은 사용자 지정 기능화를 참조하세요.

  • 데이터의 빈도가 잘 정의되지 않았습니다. 즉, 관찰 사이의 기간에는 식별 가능한 패턴이 없습니다. POS 시스템의 데이터와 같은 트랜잭션 데이터를 예로 들 수 있습니다. 이 경우 선택한 빈도로 데이터를 집계하도록 AutoML을 설정할 수 있습니다. 데이터 및 모델링 목표에 가장 적합한 주기적 빈도를 선택할 수 있습니다. 자세한 내용은 데이터 집계를 참조하세요.

기본 메트릭을 어떻게 선택해야 하나요?

기본 메트릭은 유효성 검사 데이터에 대한 값이 암호화 및 선택 과정에서 최상의 모델을 결정하기 때문에 중요합니다. 예측 작업의 기본 메트릭에 가장 적합한 선택은 일반적으로 NRMSE(정규화된 제곱 평균 오차) 또는 NMAE(정규화된 절대 평균 오차)입니다.

NRMSE는 오류의 제곱을 사용하기 때문에 학습 데이터의 이상값을 NMAE보다 많이 처벌한다는 점을 염두에 두고 둘 중에 선택하면 됩니다. 모델이 이상값에 덜 중요해지기를 원하는 경우 NMAE가 더 나은 선택일 수 있습니다. 자세한 내용은 회귀 및 예측 메트릭을 참조하세요.

참고 항목

R2 점수 또는 R2를 예측의 기본 메트릭으로 사용하지 않는 것이 좋습니다.

참고 항목

AutoML은 기본 메트릭으로 사용자 지정 또는 사용자 제공 함수를 지원하지 않습니다. AutoML에서 지원하는 미리 정의된 기본 메트릭 중 하나를 선택해야 합니다.

모델의 정확도를 개선하려면 어떻게 해야 하나요?

  • 데이터에 가장 적합한 방법으로 AutoML을 구성합니다. 자세한 내용은 어떤 모델링 구성을 사용해야 하나요? 답변을 참조하세요.
  • 예측 모델을 빌드하고 개선하는 방법에 대한 단계별 가이드는 예측 레시피 Notebook을 확인하세요.
  • 여러 예측 주기에 걸쳐 역방향 테스트를 사용하여 모델을 평가합니다. 이 절차는 예측 오류를 보다 강력하게 예측하며 개선 효과를 측정할 수 있는 기준을 제공합니다. 예를 보려면 역방향 테스트 Notebook을 참조하세요.
  • 데이터에 노이즈가 많으면 데이터 집계 빈도를 줄여서 신호 대 노이즈 비율을 높이는 것이 좋습니다. 자세한 내용은 빈도 및 대상 데이터 집계를 참조하세요.
  • 대상을 예측하는 데 도움이 될 수 있는 새로운 기능을 추가합니다. 학습 데이터를 선택할 때 주체 전문 지식이 큰 도움이 될 수 있습니다.
  • 유효성 검사 및 테스트 메트릭 값을 비교하고 선택한 모델이 데이터에 과소 맞춤 또는 과잉 맞춤되었는지 유효성을 검사합니다. 이를 통해 학습 구성을 향상할 수 있습니다. 예를 들어 과잉 맞춤에 대응하여 더 많은 교차 유효성 검사 폴드를 사용해야 한다고 결정할 수 있습니다.

AutoML은 항상 동일한 학습 데이터 및 구성에서 동일한 최상의 모델을 선택하나요?

AutoML의 모델 검색 프로세스는 결정적이지 않으므로 항상 동일한 데이터 및 구성에서 동일한 모델을 선택하지는 않습니다.

메모리 부족 오류는 어떻게 해결하나요?

메모리 오류에는 두 가지 형식이 있습니다.

  • RAM 메모리 부족
  • 디스크 메모리 부족

먼저 데이터에 가장 적합한 방법으로 AutoML을 구성합니다. 자세한 내용은 어떤 모델링 구성을 사용해야 하나요? 답변을 참조하세요.

기본 AutoML 설정의 경우 RAM이 더 많은 컴퓨팅 노드를 사용하여 RAM 메모리 부족 오류를 수정할 수 있습니다. 일반적인 규칙은 기본 설정으로 AutoML을 실행하려면 사용 가능한 RAM의 양이 원시 데이터 크기보다 최소 10배 커야 한다는 것입니다.

컴퓨팅 클러스터를 삭제하고 새 클러스터를 만들어 디스크 메모리 부족 오류를 해결할 수 있습니다.

AutoML은 어떤 고급 예측 시나리오를 지원하나요?

AutoML은 다음과 같은 고급 예측 시나리오를 지원합니다.

  • 분위수 예측
  • 롤링 예측을 통한 강력한 모델 평가
  • 예측 기간을 넘어서는 예측
  • 학습 기간과 예측 기간 사이에 시간 차이가 있는 경우 예측

예와 세부 정보를 보려면 고급 예측 시나리오 Notebook을 참조하세요.

학습 작업 예측에서 메트릭을 보려면 어떻게 해야 하나요?

학습 및 유효성 검사 메트릭 값을 찾으려면 스튜디오에서 작업 또는 실행에 대한 정보 보기를 참조하세요. 스튜디오의 AutoML 작업 UI에서 모델로 이동하고 메트릭 탭을 선택하면 AutoML에서 학습된 모든 예측 모델에 대한 메트릭을 볼 수 있습니다.

AutoML 예측 모델의 메트릭 인터페이스를 보여 주는 스크린샷.

예측 학습 작업의 실패를 디버그하려면 어떻게 해야 하나요?

AutoML 예측 작업이 실패하면 스튜디오 UI의 오류 메시지가 문제를 진단하고 해결하는 데 도움이 될 수 있습니다. 오류 메시지 이외에 오류에 대한 가장 좋은 정보 출처는 작업의 드라이버 로그입니다. 드라이버 로그를 찾는 방법에 대한 지침은 MLflow를 사용하여 작업/실행 정보 보기를 참조하세요.

참고 항목

다중 모델 또는 HTS 작업의 경우 일반적으로 다중 노드 컴퓨팅 클러스터에서 학습이 이루어집니다. 이러한 작업의 로그는 노드 IP 주소마다 있습니다. 이 경우 각 노드에서 오류 로그를 검색해야 합니다. 오류 로그는 드라이버 로그와 함께 각 노드 IP의 user_logs 폴더에 있습니다.

예측 학습 작업에서 모델을 배포하려면 어떻게 해야 하나요?

다음 방법 중 하나로 예측 학습 작업에서 모델을 배포할 수 있습니다.

  • 온라인 엔드포인트: 배포에 사용된 채점 파일을 확인하거나 스튜디오의 엔드포인트 페이지에서 테스트 탭을 선택하여 배포에서 예상하는 입력 구조를 이해합니다. 예를 보려면 이 Notebook을 참조하세요. 온라인 배포에 대한 자세한 내용은 온라인 엔드포인트에 AutoML 모델 배포를 참조하세요.
  • 일괄 처리 엔드포인트: 이 배포 방법을 사용하려면 사용자 지정 채점 스크립트를 개발해야 합니다. 예를 보려면 이 Notebook을 참조하세요. 일괄 처리 배포에 대한 자세한 내용은 일괄 처리 채점을 위해 일괄 처리 엔드포인트 사용을 참조하세요.

UI 배포의 경우 다음 옵션 중 하나를 사용하는 것이 좋습니다.

  • 실시간 엔드포인트
  • 일괄 처리 엔드포인트

AutoML 예측 모델 배포 옵션의 스크린샷.

첫 번째 옵션인 실시간 엔드포인트(빠른)를 사용하지 마세요.

참고 항목

현재로서는 SDK, CLI 또는 UI를 통한 학습 작업 예측에서 MLflow 모델 배포를 지원하지 않습니다. 시도하면 오류가 발생합니다.

작업 영역/환경/실험/컴퓨팅 인스턴스/컴퓨팅 대상이란 무엇인가요?

Azure Machine Learning 개념에 익숙하지 않은 경우 Azure Machine Learning이란?Azure Machine Learning 작업 영역이란? 문서부터 시작합니다.

다음 단계