Cloud Logging으로 모델 아키텍처 보기

이 페이지에서는 Cloud Logging을 사용하여 AutoML Tables 모델의 세부정보를 보는 방법에 대한 정보를 제공합니다. Logging에서는 최종 모델 초매개변수뿐 아니라 모델 학습 및 조정 중에 사용된 초매개변수와 객체 값을 확인할 수 있습니다.

프로젝트의 AutoML Tables에 대한 일반 로그도 확인할 수 있습니다.

로깅된 데이터

AutoML Tables에서 생성되는 로깅 메시지는 다음을 제공합니다.

  • 키-값 쌍으로 구성된 최종 모델 초매개변수
  • 조정 시도 중에 사용된 초매개변수와 객체 값

기본적으로 로그는 30일 후에 삭제됩니다.

시작하기 전에

이 작업에 필요한 권한

이 작업에는 다음과 같은 권한이 있어야 합니다.

  • 프로젝트에 대한 logging.logServiceIndexes.list 권한
  • 프로젝트에 대한 logging.logServices.list 권한

학습 로그 보기

Google Cloud Console에서 모델 로그에 액세스

AutoML Tables에서 직접 최종 초매개변수 로그와 조정 시도 초매개변수 로그에 액세스할 수 있습니다.

  1. Google Cloud Console의 AutoML Tables 페이지로 이동합니다.

    AutoML Tables 페이지로 이동

  2. 왼쪽 탐색창에서 모델 탭을 선택하고 모델을 클릭하여 엽니다.

  3. 모델 탭을 선택합니다.

    '모델' 및 '시도' 링크를 보여주는 모델 세부정보

  4. 최종 초매개변수 로그를 보려면 모델을 클릭합니다.

  5. 조정 시도 초매개변수 보려면 시도를 클릭합니다.

  6. 아래와 같이 페이로드를 확장합니다.

    확장된 모델 로그

모델 아키텍처 로그 읽기

활동 로그는 LogEntry 유형 문서에 설명된 대로 구조화됩니다.

AutoML Tables 모델 로그에 포함된 필드 중 일부는 다음과 같습니다.

  • log_type 필드의 값인 automl_tables
  • 로그 항목의 특정 세부정보가 포함된 jsonPayload
  • 모델이 생성된 시점을 설명하는 timestamp

페이로드 콘텐츠

로그 항목의 콘텐츠는 JSON 객체 형식으로 제공되며 jsonPayload 필드에 저장됩니다. jsonPayload 필드에는 다음 정보가 포함됩니다.

필드 유형 설명
modelStructure JSON

AutoML Tables 모델 구조에 대한 설명입니다. 이 필드에는 사용된 각 모델의 초매개변수를 포함하는 1개 이상이 modelParameters 필드가 포함됩니다. 2개 이상의 모델이 사용된 경우 여러 모델이 하나의 앙상블로 결합되어 최종 모델을 구성합니다.

자세한 내용은 초매개변수 목록을 참조하세요.

trainingObjectivePoint JSON 모델 학습에 사용되는 최적화 목표입니다. 이 항목에는 로그 항목이 기록된 시점의 타임스탬프와 객체 값이 포함됩니다.

초매개변수 목록

로그에 제공된 초매개변수 데이터는 모델 유형별로 다릅니다. 다음 섹션에서는 각 모델 유형의 초매개변수를 설명합니다.

AdaNet 모델

  • 모델 유형: AdaNet
  • AdaNet 람다
  • 복잡성 유형
  • 초기 레이어 수
  • 마지막 레이어 유형(logits 또는 prelogits)
  • 레이어 크기 확장
  • 조합 가중치 학습(True 또는 False)
  • 잔차 학습(True 또는 False)
  • 부스팅 반복
  • 옵티마이저(adagrad 또는 adam)

    오픈소스 Python 참조

AdaNet AutoEnsemble 모델

  • 모델 유형: AdaNet AutoEnsembler
  • 히든 레이어 수
  • 히든 레이어 크기
  • 드롭아웃
  • L1 정규화 강도
  • L2 정규화 강도
  • L2 축소 정규화 강도
  • 트리 복잡성
  • 최대 트리 깊이
  • 중심 편향(True 또는 False)
  • 성장 모드(layer 또는 tree)
  • 부스팅 반복
  • DNN 옵티마이저(adagrad 또는 adam)

    오픈소스 Python 참조

DNN 선형 모델

  • 모델 유형: DNNLinear
  • 히든 레이어 수
  • 히든 레이어 크기
  • 드롭아웃
  • L1 정규화 강도
  • L2 정규화 강도
  • L2 축소 정규화 강도

    오픈소스 Python 참조

경사 강화 의사 결정 트리 모델

  • 모델 유형: GBDT
  • 최대 트리 깊이
  • 트리 L1 정규화
  • 트리 L2 정규화
  • 트리 복잡성
  • 트리 수
  • 중심 편향(True 또는 False)

    오픈소스 Python 참조

순방향 신경망(FFN) 모델

  • 모델 유형: nn
  • 히든 레이어 크기
  • 드롭아웃 비율
  • 숫자 임베딩 사용 설정(True 또는 False)
  • L1 사용 설정(True 또는 False)
  • L2 사용 설정(True 또는 False)
  • 임베딩 L1사용 설정(True 또는 False)
  • 임베딩 L2사용 설정(True 또는 False)
  • layerNorm 사용 설정(True 또는 False)
  • batchNorm 사용 설정(True 또는 False)
  • 히든 레이어 수
  • 교차 레이어 수
  • 연결 유형 건너뛰기(dense, disable, concat 또는 slice_or_padding)
  • 숫자 열 정규화(True 또는 False)

샘플 로그 항목

다음 예시는 model_type 매개변수로 표시된 nn 모델의 최종 모델 아키텍처에 대한 로그 항목을 보여줍니다. 2개 이상의 모델을 사용해 최종 모델을 만든 경우 각 모델의 초매개변수는 위치별 색인(0, 1, 2 등)이 생성된 modelParameters 배열에 항목으로 반환됩니다.

{
 insertId: "qx7z0ifhtjpkv"
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial"
  modelStructure: {
   modelParameters: [
    0: {
      Dropout rate: 0.75
      Embedding numerical embedding: "True"
      Enable L1: "False"
      Enable L2: "False"
      Enable batchNorm: "True"
      Enable embedding L1: "False"
      Enable embedding L2: "False"
      Enable layerNorm: "False"
      Hidden layer size: 16
      Normalize numerical column: "True"
      Number of cross layers: "1"
      Number of hidden layers: "2"
      Skip connections type: "dense"
      Model type: "nn"
    }
   ]
  }
  trainingObjectivePoint: {
   createTime: "2019-10-15T04:52:00Z"
   value: 0.002069325
  }
 }
 labels: {
  log_type: "automl_tables"
 }
 logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning"
 receiveTimestamp: "2019-10-15T10:46:06.916277805Z"
 resource: {
  labels: {
   job_id: "109476078648557568"
   project_id: "project-id"
   region: "us-central1"
  }
  type: "cloudml_job"
 }
 severity: "INFO"
 timestamp: "2019-10-15T10:46:06.916277805Z"
}

다음 예시는 조정 도중 모델 아키텍처의 로그 항목을 보여줍니다.

{
 insertId: "nl7815f7p0cjb"
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial"
  modelStructure: {
   modelParameters: [
    0: {
     hyperparameters: {
      Boosting iterations: "2"
      Grow layer size: "30"
      Initial number of layers: "1"
      Last layer type: "prelogits"
      Learn residuals: "False"
      Model type: "AdaNet"
      Optimizer: "adam"
      }
    }
   ]
  }
  trainingObjectivePoint: {
   createTime: "2019-10-13T20:42:25Z"
   value: 0.0000011595778
  }
 }
 labels: {
  log_type: "automl_tables"
 }
 logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning"
 receiveTimestamp: "2019-10-13T21:20:08.189302731Z"
 resource: {
  labels: {
   job_id: "2804289077287845888"
   project_id: "project-id"
   region: "us-central1"
  }
  type: "cloudml_job"
 }
 severity: "INFO"
 timestamp: "2019-10-13T21:20:08.189302731Z"
}

일반 AutoML Tables 로그 보기

Google Cloud Console에서 로그 탐색기를 통해 프로젝트의 활동 로그를 볼 수 있습니다.

  1. Google Cloud Console의 Logging 페이지로 이동합니다.
  2. 로그 탐색기의 첫 번째 드롭다운 메뉴에서 리소스 유형을 선택하여 필터링합니다.
  3. AutoML Tables 로그를 보려면 모든 로그 드롭다운 메뉴에서 automl.googleapis.com/tuning을 선택합니다.

로그 내보내기

로그를 BigQuery, Cloud Storage 또는 Pub/Sub로 내보낼 수도 있습니다.

활동 로그를 내보내는 방법에 대해 알아보려면 Logging 문서에서 로그 내보내기 구성을 읽어보세요.