를 사용하여 모델을 서비스로 게시 Sensei Machine Learning API

이 자습서에서는 다음을 사용하여 모델을 서비스로 게시하는 프로세스에 대해 설명합니다. Sensei Machine Learning API.

시작하기

이 자습서에서는 Adobe Experience Platform 데이터 과학 작업 영역에 대한 작업 이해가 필요합니다. 이 자습서를 시작하기 전에 다음을 검토하십시오. 데이터 과학 작업 영역 개요 를 참조하십시오.

이 자습서와 함께 따르려면 기존 ML 엔진, ML 인스턴스 및 실험이 있어야 합니다. API에서 이러한 구성 요소를 만드는 방법에 대한 단계는에서 자습서를 참조하십시오. 패키지된 배합식 가져오기.

마지막으로, 이 자습서를 시작하기 전에 시작하기 에 성공적으로 호출하기 위해 알아야 하는 중요한 정보는 개발자 안내서의 섹션 을 참조하십시오 Sensei Machine Learning 이 자습서 전체에서 사용되는 필수 헤더를 포함한 API:

  • {ACCESS_TOKEN}
  • {ORG_ID}
  • {API_KEY}

모든 POST, PUT 및 PATCH 요청에는 추가 헤더가 필요합니다.

  • Content-Type: application/json

주요 용어

다음 표에서는 이 자습서에서 사용되는 몇 가지 일반적인 용어를 간략하게 설명합니다.

용어
정의
머신 러닝 인스턴스(ML 인스턴스)
의 인스턴스 Sensei 특정 데이터, 매개 변수 및 Sensei 코드.
실험
교육 실험 실행, 채점 실험 실행 또는 둘 다를 실행하기 위한 umbrella 엔티티입니다.
예약된 실험
사용자 정의 일정에 의해 관리되는 교육 또는 채점 실험 실행의 자동화를 설명하는 용어입니다.
실험 실행
교육 또는 채점 실험의 특정 인스턴스. 특정 실험의 여러 실험 실행은 교육 또는 채점에 사용되는 데이터 세트 값이 다를 수 있습니다.
교육된 모델
검증, 평가 및 최종 모델에 도달하기 전에 기능 엔지니어링을 실험하고 프로세스를 통해 생성된 머신 러닝 모델입니다.
게시된 모델
교육, 유효성 검사 및 평가 후에 최종 버전 모델이 도착했습니다.
머신 러닝 서비스(ML 서비스)
API 끝점을 사용하여 교육 및 채점에 대한 온디맨드 요청을 지원하기 위해 서비스로 배포된 ML 인스턴스. 훈련된 기존 실험 실행을 사용하여 ML 서비스를 만들 수도 있습니다.

기존 교육 실험 실행 및 예약된 채점으로 ML 서비스 만들기

교육 실험 실행을 ML 서비스로 게시할 때 POST 요청의 페이로드에 채점 실험 실행에 대한 세부 정보를 제공하여 채점을 예약할 수 있습니다. 그 결과 채점에 대해 예약된 실험 개체가 생성됩니다.

API 형식

POST /mlServices

요청

curl -X POST
  https://platform.adobe.io/data/sensei/mlServices
  -H 'Authorization: {ACCESS_TOKEN}'
  -H 'x-api-key: {API_KEY}'
  -H 'x-gw-ims-org-id: {ORG_ID}'
  -H 'Content-Type: application/json'
  -d '{
        "name": "Service name",
        "description": "Service description",
        "trainingExperimentId": "c4155146-b38f-4a8b-86d8-1de3838c8d87",
        "trainingExperimentRunId": "5c5af39c73fcec153117eed1",
        "scoringDataSetId": "5c5af39c73fcec153117eed1",
        "scoringTimeframe": "20000",
        "scoringSchedule": {
          "startTime": "2019-04-09T00:00",
          "endTime": "2019-04-10T00:00",
          "cron": "10 * * * *"
        }
      }'
속성
설명
mlInstanceId
기존 ML 인스턴스 식별, ML 서비스를 만드는 데 사용되는 교육 실험 실행은 이 특정 ML 인스턴스에 해당해야 합니다.
trainingExperimentId
ML 인스턴스 식별에 해당하는 실험 식별.
trainingExperimentRunId
ML 서비스 게시에 사용되는 특정 교육 실험 실행.
scoringDataSetId
예약된 채점 실험 실행에 사용될 특정 데이터 세트를 참조하는 식별.
scoringTimeframe
실험 실행 채점에 사용될 데이터 필터링의 시간(분)을 나타내는 정수 값입니다. (예: 값) 10080 은(는) 각 예약된 채점 실험 실행에 대해 지난 10080분 또는 168시간의 데이터가 사용됨을 의미합니다. 값: 0 는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터는 점수에 사용됩니다.
scoringSchedule
예약된 채점 실험 실행에 대한 세부 정보를 포함합니다.
scoringSchedule.startTime
채점을 시작할 시기를 나타내는 날짜/시간입니다.
scoringSchedule.endTime
채점을 시작할 시기를 나타내는 날짜/시간입니다.
scoringSchedule.cron
실험 실행을 평가할 간격을 나타내는 크론 값.

응답

성공적인 응답은 고유한 사항을 포함하여 새로 생성된 ML 서비스의 세부 사항을 반환합니다 idscoringExperimentId 해당 채점 실험의 경우.

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mlInstanceId": "string",
  "trainingExperimentId": "string",
  "trainingExperimentRunId": "string",
  "scoringExperimentId": "string",
  "scoringDataSetId": "string",
  "scoringTimeframe": "integer",
  "scoringSchedule": {
    "startTime": "2019-03-13T00:00",
    "endTime": "2019-03-14T00:00",
    "cron": "30 * * * *"
  },
  "created": "2019-04-08T14:45:25.981Z",
  "updated": "2019-04-08T14:45:25.981Z"
}

기존 ML 인스턴스에서 ML 서비스 만들기

특정 사용 사례 및 요구 사항에 따라 ML 인스턴스로 ML 서비스를 만들면 교육 일정 조정 및 실험 실행 채점 측면에서 유연합니다. 이 튜토리얼에서는 다음과 같은 특정 사례를 살펴봅니다.

ML 서비스는 교육 또는 채점 실험 예약 없이 ML 인스턴스를 사용하여 만들 수 있습니다. 이러한 ML 서비스는 일반적인 실험 개체 및 교육 및 채점을 위한 단일 실험 실행을 만듭니다.

채점을 위한 실험이 예약된 ML 서비스 ml-service-with-scheduled-experiment-for-scoring

점수에 대해 예약된 실험 실행이 있는 ML 인스턴스를 게시하여 ML 서비스를 만들 수 있으며, 이는 교육을 위한 일반 실험 엔티티를 만듭니다. 교육 실험 실행이 생성되며 모든 예약된 채점 실험 실행에 사용됩니다. 다음을 확인합니다. mlInstanceId, trainingDataSetId, 및 scoringDataSetId ml 서비스를 만들고, 존재하고 유효한 값인지 확인하는 데 필요합니다.

API 형식

POST /mlServices

요청

curl -X POST
  https://platform.adobe.io/data/sensei/mlServices
  -H 'Authorization: {ACCESS_TOKEN}'
  -H 'x-api-key: {API_KEY}'
  -H 'x-gw-ims-org-id: {ORG_ID}'
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
        "name": "Service name",
        "description": "Service description",
        "mlInstanceId": "c4155146-b38f-4a8b-86d8-1de3838c8d87",
        "trainingDataSetId": "5c5af39c73fcec153117eed1",
        "trainingTimeframe": "10000",
        "scoringDataSetId": "5c5af39c73fcec153117eed1",
        "scoringTimeframe": "20000",
        "scoringSchedule": {
          "startTime": "2019-04-09T00:00",
          "endTime": "2019-04-10T00:00",
          "cron": "10 * * * *"
        }
      }'
JSON 키
설명
mlInstanceId
ML 서비스를 만드는 데 사용되는 ML 인스턴스를 나타내는 기존 ML 인스턴스 식별.
trainingDataSetId
교육 실험에 사용할 특정 데이터 세트를 참조하는 식별
trainingTimeframe
교육 실험에 사용될 데이터 필터링에 걸리는 시간을 나타내는 정수 값입니다. (예: 값) "10080" 은(는) 지난 10080분 또는 168시간의 데이터가 교육 실험 실행에 사용됨을 의미합니다. 값: "0" 는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터가 교육에 사용됩니다.
scoringDataSetId
예약된 채점 실험 실행에 사용될 특정 데이터 세트를 참조하는 식별.
scoringTimeframe
실험 실행 채점에 사용될 데이터 필터링의 시간(분)을 나타내는 정수 값입니다. (예: 값) "10080" 은(는) 각 예약된 채점 실험 실행에 대해 지난 10080분 또는 168시간의 데이터가 사용됨을 의미합니다. 값: "0" 는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터는 점수에 사용됩니다.
scoringSchedule
예약된 채점 실험 실행에 대한 세부 정보를 포함합니다.
scoringSchedule.startTime
채점을 시작할 시기를 나타내는 날짜/시간입니다.
scoringSchedule.endTime
채점을 시작할 시기를 나타내는 날짜/시간입니다.
scoringSchedule.cron
실험 실행을 평가할 간격을 나타내는 크론 값.

응답

성공적인 응답은 새로 생성된 ML 서비스의 세부 정보를 반환합니다. 여기에는 서비스의 고유 항목이 포함됩니다 id, 및 trainingExperimentIdscoringExperimentId 에 해당하는 교육 및 채점 실험 각각에 대해 설명합니다.

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mlInstanceId": "string",
  "trainingExperimentId": "string",
  "trainingDataSetId": "string",
  "trainingTimeframe": "integer",
  "scoringExperimentId": "string",
  "scoringDataSetId": "string",
  "scoringTimeframe": "integer",
  "scoringSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-10T00:00",
    "cron": "10 * * * *"
  },
  "created": "2019-04-09T08:58:10.956Z",
  "updated": "2019-04-09T08:58:10.956Z"
}

교육 및 채점을 위한 예약된 실험이 포함된 ML 서비스 ml-service-with-scheduled-experiments-for-training-and-scoring

교육 및 채점 실험 실행이 예약된 기존 ML 인스턴스를 ML 서비스로 게시하려면 교육 및 채점 일정을 모두 제공해야 합니다. 이 구성의 ML 서비스가 생성되면 교육 및 채점 모두에 대해 예약된 실험 엔티티도 생성됩니다. 교육 및 채점 일정이 동일하지 않아도 됩니다. 채점 작업 실행 중에 예약된 교육 실험 실행에서 생성된 최신 교육 모델을 가져와 예약된 채점 실행에 사용합니다.

API 형식

POST /mlServices

요청

curl -X POST 'https://platform.adobe.io/data/sensei/mlServices'
  -H 'Authorization: Bearer {ACCESS_TOKEN}'
  -H 'x-api-key: {API_KEY}'
  -H 'x-gw-ims-org-id: {ORG_ID}'
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
        "name": "string",
        "description": "string",
        "mlInstanceId": "string",
        "trainingDataSetId": "string",
        "trainingTimeframe": "string",
        "scoringDataSetId": "string",
        "scoringTimeframe": "string",
        "trainingSchedule": {
          "startTime": "2019-04-09T00:00",
          "endTime": "2019-04-10T00:00",
          "cron": "10 * * * *"
        },
        "scoringSchedule": {
          "startTime": "2019-04-09T00:00",
          "endTime": "2019-04-10T00:00",
          "cron": "10 * * * *"
        }
      }'
JSON 키
설명
mlInstanceId
ML 서비스를 만드는 데 사용되는 ML 인스턴스를 나타내는 기존 ML 인스턴스 식별.
trainingDataSetId
교육 실험에 사용할 특정 데이터 세트를 참조하는 식별
trainingTimeframe
교육 실험에 사용될 데이터 필터링에 걸리는 시간을 나타내는 정수 값입니다. (예: 값) "10080" 은(는) 지난 10080분 또는 168시간의 데이터가 교육 실험 실행에 사용됨을 의미합니다. 값: "0" 는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터가 교육에 사용됩니다.
scoringDataSetId
예약된 채점 실험 실행에 사용될 특정 데이터 세트를 참조하는 식별.
scoringTimeframe
실험 실행 채점에 사용될 데이터 필터링의 시간(분)을 나타내는 정수 값입니다. (예: 값) "10080" 은(는) 각 예약된 채점 실험 실행에 대해 지난 10080분 또는 168시간의 데이터가 사용됨을 의미합니다. 값: "0" 는 데이터를 필터링하지 않으며, 데이터 세트 내의 모든 데이터는 점수에 사용됩니다.
trainingSchedule
예약된 교육 실험 실행에 대한 세부 정보를 포함합니다.
scoringSchedule
예약된 채점 실험 실행에 대한 세부 정보를 포함합니다.
scoringSchedule.startTime
채점을 시작할 시기를 나타내는 날짜/시간입니다.
scoringSchedule.endTime
채점을 시작할 시기를 나타내는 날짜/시간입니다.
scoringSchedule.cron
실험 실행을 평가할 간격을 나타내는 크론 값.

응답

성공적인 응답은 새로 생성된 ML 서비스의 세부 정보를 반환합니다. 여기에는 서비스의 고유 항목이 포함됩니다 id, 및 trainingExperimentIdscoringExperimentId 각각 해당 교육 및 채점 실험. 아래 예제 응답에서 trainingSchedulescoringSchedule 교육 및 채점을 위한 실험 개체가 예약된 실험임을 제안합니다.

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mlInstanceId": "string",
  "trainingExperimentId": "string",
  "trainingDataSetId": "string",
  "trainingTimeframe": "integer",
  "scoringExperimentId": "string",
  "scoringDataSetId": "string",,
  "scoringTimeframe": "integer",
  "trainingSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-10T00:00",
    "cron": "10 * * * *"
  },
  "scoringSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-10T00:00",
    "cron": "10 * * * *"
  },
  "created": "2019-04-09T08:58:10.956Z",
  "updated": "2019-04-09T08:58:10.956Z"
}

ML 서비스 조회 retrieving-ml-services

다음을 만들어 기존 ML 서비스를 조회할 수 있습니다. GET 요청 대상 /mlServices 및 고유한 id 경로에 있는 ML 서비스의 입니다.

API 형식

GET /mlServices/{SERVICE_ID}
매개변수
설명
{SERVICE_ID}
고유 id 조회하고 있는 ML 서비스

요청

curl -X GET 'https://platform.adobe.io/data/sensei/mlServices/{SERVICE_ID}'
  -H 'Authorization: Bearer {ACCESS_TOKEN}'
  -H 'x-api-key: {API_KEY}'
  -H 'x-gw-ims-org-id: {ORG_ID}'
  -H 'x-sandbox-name: {SANDBOX_NAME}'

응답

성공적인 응답은 ML 서비스의 세부 정보를 반환합니다.

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mlInstanceId": "string",
  "trainingExperimentId": "string",
  "trainingDataSetId": "string",
  "trainingTimeframe": "integer",
  "scoringExperimentId": "string",
  "scoringDataSetId": "string",
  "scoringTimeframe": "integer",
  "trainingSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-10T00:00",
    "cron": "10 * * * *"
  },
  "scoringSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-10T00:00",
    "cron": "10 * * * *"
  },
  "created": "2019-05-13T23:46:03.478Z",
  "updated": "2019-05-13T23:46:03.478Z"
}
NOTE
다른 ML 서비스를 검색하면 키-값 쌍이 더 많거나 적은 응답이 반환될 수 있습니다. 위의 응답은 를 나타냅니다. 예약된 교육 및 채점 실험 실행이 모두 있는 ML 서비스.

교육 또는 채점 예약

이미 게시된 ML 서비스에 대한 채점 및 교육을 예약하려는 경우 PUT 요청 날짜: /mlServices.

API 형식

PUT /mlServices/{SERVICE_ID}
매개변수
설명
{SERVICE_ID}
고유 id 업데이트 중인 ML 서비스의 ID입니다.

요청

다음 요청은 을 추가하여 기존 ML 서비스에 대한 교육 및 채점을 예약합니다. trainingSchedulescoringSchedule 해당 키가 있는 키 startTime, endTime, 및 cron 키.

curl -X PUT 'https://platform.adobe.io/data/sensei/mlServices/{SERVICE_ID}'
  -H 'Authorization: {ACCESS_TOKEN}'
  -H 'x-api-key: {API_KEY}'
  -H 'x-gw-ims-org-id: {ORG_ID}'
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
        "name": "string",
        "description": "string",
        "mlInstanceId": "string",
        "trainingExperimentId": "string",
        "trainingDataSetId": "string",
        "trainingTimeframe": "integer",
        "scoringExperimentId": "string",
        "scoringDataSetId": "string",
        "scoringTimeframe": "integer",
        "trainingSchedule": {
          "startTime": "2019-04-09T00:00",
          "endTime": "2019-04-11T00:00",
          "cron": "20 * * * *"
        },
        "scoringSchedule": {
          "startTime": "2019-04-09T00:00",
          "endTime": "2019-04-11T00:00",
          "cron": "20 * * * *"
        }
      }'
WARNING
을(를) 수정하지 마십시오. startTime 기존 예약된 교육 및 채점 작업에 대해. 다음과 같은 경우 startTime 을(를) 수정해야 합니다. 동일한 모델을 게시하고 교육 및 채점 작업 일정을 다시 설정하는 것이 좋습니다.

응답

성공적인 응답은 업데이트된 ML 서비스의 세부 정보를 반환합니다.

{
  "id": "string",
  "name": "string",
  "description": "string",
  "mlInstanceId": "string",
  "trainingExperimentId": "string",
  "trainingDataSetId": "string",
  "trainingTimeframe": "integer",
  "scoringExperimentId": "string",
  "scoringDataSetId": "string",
  "scoringTimeframe": "integer",
  "trainingSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-11T00:00",
    "cron": "20 * * * *"
  },
  "scoringSchedule": {
    "startTime": "2019-04-09T00:00",
    "endTime": "2019-04-11T00:00",
    "cron": "20 * * * *"
  },
  "created": "2019-04-09T08:58:10.956Z",
  "updated": "2019-04-09T09:43:55.563Z"
}
recommendation-more-help
cc79fe26-64da-411e-a6b9-5b650f53e4e9