클래식 Studio(클래식) 웹 서비스 재학습 및 배포
적용 대상: Machine Learning Studio(클래식) 는 적용되지 않습니다.
Important
Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.
2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.
- ML Studio(클래식)에서 Azure Machine Learning으로 기계 학습 프로젝트 이동에 대한 정보를 참조하세요.
- Azure Machine Learning에 대해 자세히 알아보세요.
ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
기계 학습 모델을 재학습하는 것은 정확한 상태를 유지하고 사용 가능한 가장 관련성이 큰 데이터를 기반으로 하는 한 가지 방법입니다. 이 문서에서는 클래식 Studio(클래식) 웹 서비스를 다시 학습하는 방법을 보여 줍니다. 새 Studio(클래식) 웹 서비스를 다시 학습하는 방법에 대한 가이드는 이 방법 문서를 참조하세요.
필수 조건
이 문서에서는 재학습 실험과 예측 실험이 모두 이미 있다고 가정합니다. 이러한 단계는 기계 학습 모델 재교육 및 배치에 설명되어 있습니다. 그러나 기계 학습 모델을 새로운 웹 서비스로 배포하는 대신, 예측 실험을 클래식 웹 서비스로 배포하겠습니다.
새 엔드포인트 추가
배포한 예측 웹 서비스는 원래의 학습 및 점수 매기기 실험 학습된 모델과 동기화를 유지하는 기본 점수 매기기 엔드포인트를 포함합니다. 웹 서비스를 학습된 새 모델로 업데이트하려면 새 점수 매기기 엔드포인트를 만들어야 합니다.
웹 서비스에 새 엔드포인트를 추가할 수 있는 두 가지 방법이 있습니다.
- 프로그래밍 방식
- Azure Web Services 포털 사용
참고 항목
학습 웹 서비스가 아닌 예측 웹 서비스에 엔드포인트를 추가해야 합니다. 학습 및 예측 웹 서비스를 모두 올바르게 배포한 경우 두 개의 별도 웹 서비스가 나열됩니다. 예측 웹 서비스는 "[예측 exp.]"로 끝나야 합니다.
프로그래밍 방식으로 엔드포인트 추가
이 GitHub 리포지토리에 제공된 샘플 코드를 사용하여 점수 매기기 엔드포인트를 추가할 수 있습니다.
Azure Web Services 포털을 사용하여 엔드포인트 추가
- Machine Learning Studio(클래식)의 왼쪽 탐색 열에서 웹 서비스를 클릭합니다.
- 웹 서비스 대시보드 아래쪽에서 엔드포인트 관리 미리 보기를 클릭합니다.
- 추가를 클릭합니다.
- 새 엔드포인트의 이름과 설명을 입력합니다. 로깅 수준 및 샘플 데이터 사용 여부를 선택합니다. 자세한 내용은 Machine Learning 웹 서비스에 대해 로깅 사용을 참조하세요.
추가된 엔드포인트의 학습된 모델 업데이트
패치 URL 검색
웹 포털을 사용하여 올바른 PATCH URL을 가져오려면 다음 단계를 수행합니다.
- Azure Machine Learning 웹 서비스 포털에 로그인합니다.
- 맨 위에 있는 웹 서비스 또는 클래식 웹 서비스를 클릭합니다.
- 사용 중인 점수 매기기 웹 서비스를 클릭합니다(웹 서비스의 기본 이름을 수정하지 않은 경우 “[Scoring Exp.]”로 끝남).
- +새로 만들기를 클릭합니다.
- 엔드포인트를 추가한 후 엔드포인트 이름을 클릭합니다.
- 패치 URL 아래에서 API 도움말을 클릭하여 패치 도움말 페이지를 엽니다.
참고 항목
예측 웹 서비스 대신 학습 웹 서비스에 엔드포인트를 추가한 경우 리소스 업데이트 링크를 클릭하면 다음과 같은 오류가 발생합니다. "죄송합니다. 하지만 이 기능은 지원되지 않거나 이 컨텍스트에서 사용할 수 없습니다. 이 웹 서비스에 업데이트할 수 있는 리소스가 없습니다. 불편을 드려 죄송합니다.이 워크플로를 개선하기 위해 노력하고 있습니다."
PATCH 도움말 페이지에는 사용해야 하는 PATCH URL이 포함되어 있으며 이를 호출하는 데 사용할 수 있는 샘플 코드를 제공합니다.
엔드포인트 업데이트
이제 학습된 모델을 사용하여 이전에 만든 점수 매기기 엔드포인트를 업데이트할 수 있습니다.
다음 샘플 코드에서는 BaseLocation, RelativeLocation, SasBlobToken 및 PATCH URL을 사용하여 엔드포인트를 업데이트하는 방법을 보여 줍니다.
private async Task OverwriteModel()
{
var resourceLocations = new
{
Resources = new[]
{
new
{
Name = "Census Model [trained model]",
Location = new AzureBlobDataReference()
{
BaseLocation = "https://esintussouthsus.blob.core.windows.net/",
RelativeLocation = "your endpoint relative location", //from the output, for example: "experimentoutput/8946abfd-79d6-4438-89a9-3e5d109183/8946abfd-79d6-4438-89a9-3e5d109183.ilearner"
SasBlobToken = "your endpoint SAS blob token" //from the output, for example: "?sv=2013-08-15&sr=c&sig=37lTTfngRwxCcf94%3D&st=2015-01-30T22%3A53%3A06Z&se=2015-01-31T22%3A58%3A06Z&sp=rl"
}
}
}
};
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
using (var request = new HttpRequestMessage(new HttpMethod("PATCH"), endpointUrl))
{
request.Content = new StringContent(JsonConvert.SerializeObject(resourceLocations), System.Text.Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.SendAsync(request);
if (!response.IsSuccessStatusCode)
{
await WriteFailedResponse(response);
}
// Do what you want with a successful response here.
}
}
}
호출에 대한 apiKey 및 endpointUrl은 엔드포인트 대시보드에서 가져올 수 있습니다.
리소스의 Name 매개 변수 값은 예측 실험에서 저장된 학습된 모델의 리소스 이름과 일치해야 합니다. 리소스 이름을 얻으려면 다음을 수행합니다.
- Azure Portal에 로그인합니다.
- 왼쪽 메뉴에서 Machine Learning을 클릭합니다.
- 이름 아래에서 작업 영역을 클릭한 다음 웹 서비스를 클릭합니다.
- 이름 아래에서 인구 조사 모델 [예측 exp.]을 클릭합니다.
- 추가한 새 엔드포인트를 클릭합니다.
- 엔드포인트 대시보드에서 리소스 업데이트를 클릭합니다.
- 웹 서비스의 리소스 API 설명서 업데이트 페이지에서 업데이트할 수 있는 리소스 아래에서 리소스 이름을 찾을 수 있습니다.
엔드포인트 업데이트를 완료하기 전에 SAS 토큰이 만료되는 경우 작업 ID를 사용하여 GET을 수행하여 새 토큰을 가져와야 합니다.
코드가 성공적으로 실행된 경우 새 엔드포인트는 다시 학습된 모델을 사용하여 약 30초 내에 시작해야 합니다.
다음 단계
웹 서비스를 관리하거나 여러 실험 실행을 추적하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.