TabTransformer - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

TabTransformer

TabTransformer지도 학습을 위한 새로운 심층 테이블 형식 데이터 모델링 아키텍처입니다. 이 TabTransformer 아키텍처 구축 self-attention-based 트랜스포머. Transformer 계층은 범주형 특징의 임베딩을 강력한 컨텍스트 임베딩으로 변환하여 더 높은 예측 정확도를 달성합니다. 또한 문맥 임베딩은 다음에서 배웠습니다. TabTransformer 누락된 데이터 기능과 잡음이 있는 데이터 기능 모두에 대해 매우 강력하며 더 나은 해석 가능성을 제공합니다.

사용 방법 SageMaker TabTransformer

이 기능을 사용할 수 TabTransformer 아마존으로 SageMaker 기본 제공 알고리즘. 다음 단원에서는 사용 방법에 대해 설명합니다. TabTransformer 와 함께 SageMaker Python SDK. 사용 방법에 대한 자세한 내용은 TabTransformer 아마존 출신 SageMaker Studio UI 단원을 참조하십시오.SageMaker JumpStart.

  • 사용 TabTransformer 기본 제공 알고리즘으로

    사용 TabTransformer 기본 제공 알고리즘 TabTransformer 다음 코드 예제에 표시된 교육 컨테이너. 자동으로 찾을 수 있습니다. TabTransformer 기본 제공 알고리즘 이미지 URI SageMaker image_uris.retrieveAPI (또는get_image_uri를 사용하는 경우 API아마존 SageMaker Python SDK버전 2).

    다음을 지정한 후 TabTransformer 이미지 URI를 사용할 수 있습니다. TabTransformer 컨테이너를 사용하여 추정기를 구성할 수 있습니다. SageMaker 예측기 API를 사용하여 교육 작업을 시작합니다. 이 TabTransformer 내장 알고리즘은 스크립트 모드에서 실행되지만 학습 스크립트가 제공되므로 교체할 필요가 없습니다. 스크립트 모드를 사용하여 SageMaker 교육 직업, 그러면 자신의 것을 통합 할 수 있습니다. TabTransformer 교육 스크립트.

    from sagemaker import image_uris, model_uris, script_uris train_model_id, train_model_version, train_scope = "pytorch-tabtransformerclassification-model", "*", "training" training_instance_type = "ml.p3.2xlarge" # Retrieve the docker image train_image_uri = image_uris.retrieve( region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope, instance_type=training_instance_type ) # Retrieve the training script train_source_uri = script_uris.retrieve( model_id=train_model_id, model_version=train_model_version, script_scope=train_scope ) train_model_uri = model_uris.retrieve( model_id=train_model_id, model_version=train_model_version, model_scope=train_scope ) # Sample training data is available in this bucket training_data_bucket = f"jumpstart-cache-prod-{aws_region}" training_data_prefix = "training-datasets/tabular_multiclass/" training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}" output_bucket = sess.default_bucket() output_prefix = "jumpstart-example-tabular-training" s3_output_location = f"s3://{output_bucket}/{output_prefix}/output" from sagemaker import hyperparameters # Retrieve the default hyper-parameters for training the model hyperparameters = hyperparameters.retrieve_default( model_id=train_model_id, model_version=train_model_version ) # [Optional] Override default hyperparameters with custom values hyperparameters[ "n_epochs" ] = "50" print(hyperparameters) from sagemaker.estimator import Estimator from sagemaker.utils import name_from_base training_job_name = name_from_base(f"built-in-algo-{train_model_id}-training") # Create SageMaker Estimator instance tabular_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location ) # Launch a SageMaker Training job by passing the S3 path of the training data tabular_estimator.fit( {"training": training_dataset_s3_path}, logs=True, job_name=training_job_name )

    설정 방법에 대한 자세한 내용은 TabTransformer 기본 제공 알고리즘으로 다음 노트북 예제를 참조하십시오.

입/출력 인터페이스 TabTransformer 알고리듬

TabTransformer 는 테이블형 데이터에서 작동합니다. 행은 관측치를 나타내고 1개 열은 대상 변수 또는 레이블을 나타내며, 나머지 열은 특징을 나타냅니다.

이 SageMaker 구현입니다. TabTransformer 학습 및 추론을 위해 CSV를 지원합니다.

  • 훈련 ContentType, 유효한 입력은text/csv.

  • 추론 ContentType, 유효한 입력은text/csv.

참고

CSV 교육의 경우 알고리즘은 대상 변수가 첫 번째 열에 있고 CSV에는 헤더 레코드가 없다고 추정합니다.

CSV 추론의 경우 알고리즘은 CSV 입력에 레이블 열이 없다고 추정합니다.

입력하기 위해 훈련 데이터의 형식을 지정하는 방법에 유의하십시오. TabTransformer 모델. 교육에 대한 하위 디렉터리와 선택적 검증 데이터를 포함하는 Amazon S3 버킷의 경로를 제공해야 합니다. 범주형 피처 목록을 포함할 수도 있습니다.

  • 훈련 데이터 입력 형식: 훈련 데이터는 라는 하위 디렉토리에 있어야 합니다.train/OTAdata.csv파일. 대상 변수는 의 첫 번째 열에 있어야 합니다.data.csv. 예측 변수 (특징) 는 나머지 열에 있어야 합니다.

  • 검증 데이터 입력 형식: 선택적으로 라는 다른 디렉토리를 포함할 수 있습니다.validation/그 또한data.csv파일. 검증 데이터는 각 부스팅 반복이 끝날 때 검증 점수를 계산하는 데 사용됩니다. 조기 중지는 검증 점수가 증가하지 않을 때 적용됩니다. 검증 데이터가 제공되지 않으면 훈련 데이터의 20% 가 랜덤하게 샘플링되어 검증 데이터로 사용됩니다.

  • 범주형 기능 입력 형식: 예측자에 범주형 특징이 포함된 경우 라는 JSON 파일을 제공할 수 있습니다.categorical_index.json데이터 디렉터리와 같은 위치에 있습니다. 이 파일은 키가 문자열인 파이썬 사전을 포함해야 합니다."cat_index_list"값은 고유한 정수의 목록입니다. 값 목록의 각 정수는 훈련 데이터 CSV 파일에 있는 해당 범주형 피처의 열 인덱스를 나타내야 합니다. 각 값은 양의 정수여야 합니다 (0이 목표값을 나타내므로 0보다 큼).Int32.MaxValue2147483647) 에 해당하며 총 열 수 미만입니다. 범주형 인덱스 JSON 파일은 하나만 있어야 합니다.

CSV 교육 입력 모드의 경우 알고리즘에 대해 사용 가능한 전체 메모리 (인스턴스 수) 에 대해 사용 가능한 메모리를 곱한 값InstanceType) 는 훈련 데이터세트를 보유할 수 있어야 합니다.

Amazon EC2 인스턴스 권장 사항 TabTransformer알고리듬

SageMaker TabTransformer 는 단일 인스턴스 CPU 및 단일 인스턴스 GPU 교육을 지원합니다. 높은 인스턴스당 비용에도 불구하고 GPU는 더욱 빠르게 교육하여 더욱 효율적입니다. GPU 훈련을 활용하려면 인스턴스 유형을 GPU 인스턴스 중 하나로 지정하십시오 (예: P3). SageMaker TabTransformer 현재 는 다중 GPU 교육을 지원하지 않습니다.

TabTransformer 샘플 노트북

다음 표에는 Amazon의 다양한 사용 사례를 다루는 다양한 샘플 노트북이 요약되어 있습니다. SageMaker TabTransformer 알고리즘.

노트북 제목 설명

아마존을 통한 테이블 형식 분류 SageMaker TabTransformer 알고리듬

이 노트북은 Amazon 사용을 보여 줍니다. SageMaker TabTransformer표 형식 분류 모델을 훈련시키고 호스팅하는 알고리즘입니다.

아마존을 사용한 테이블 형식 회귀 SageMaker TabTransformer 알고리듬

이 노트북은 Amazon 사용을 보여 줍니다. SageMaker TabTransformer테이블 형식 회귀 모델을 훈련시키고 호스트하는 알고리즘입니다.

에서 예제 실행에 사용할 수 있는 Jupyter 노트북 인스턴스를 생생하고 이 인스턴스에 액세스하는 방법에 대한 지침은 SageMaker단원을 참조하십시오Amazon SageMaker 노트북 인스턴스 사용. 노트북 인스턴스를 생성한 후 열고 난 후에는SageMaker예제:탭을 클릭하여 목록을 확인합니다. SageMaker 샘플. 노트북을 열려면 사용 탭을 선택한 후 Create copy(사본 생성)를 선택합니다.