인공 지능(AI)은 기술 커뮤니티에서 중요하고 대중적인 주제가 되었습니다. AI가 발전함에 따라 다양한 유형의 기계 학습(ML) 모델이 등장했습니다. 로 알려진 한 가지 접근 방식 앙상블 모델링, 데이터 과학자와 실무자 사이에서 빠르게 주목을 받고 있습니다. 이 게시물에서는 앙상블 모델이 무엇인지, 앙상블 모델을 사용하는 것이 왜 도움이 되는지에 대해 설명합니다. 그런 다음 다음을 사용하여 사용자 지정 앙상블을 훈련, 최적화 및 배포하는 방법에 대한 예를 제공합니다. 아마존 세이지 메이커.
앙상블 학습은 단일 개별 학습 알고리즘보다 더 정확한 예측을 얻기 위해 여러 학습 모델 및 알고리즘을 사용하는 것을 말합니다. 사이버 보안[1], 사기 탐지, 원격 감지, 재무 의사 결정, 의료 진단, 심지어 컴퓨터 비전 및 자연어 처리(NLP) 작업에서 가장 좋은 다음 단계 예측과 같은 다양한 응용 프로그램 및 학습 설정에서 효율적인 것으로 입증되었습니다. 우리는 앙상블을 훈련하는 데 사용되는 기술, 구성 및 다양한 예측을 단일 추론으로 병합하는 방식에 따라 앙상블을 분류하는 경향이 있습니다. 이러한 범주에는 다음이 포함됩니다.
- 증폭 – 여러 약한 학습자를 순차적으로 교육합니다. 여기서 시퀀스의 이전 학습자로부터 각각의 잘못된 예측은 다음 학습자에게 더 높은 가중치와 입력을 부여하여 더 강력한 학습자를 만듭니다. 예를 들면 AdaBoost, Gradient Boosting 및 XGBoost가 있습니다.
- 가방 – 여러 모델을 사용하여 단일 모델의 분산을 줄입니다. 예를 들면 Random Forest 및 Extra Trees가 있습니다.
- 스태킹(블렌딩) – 종종 각 개별 추정기의 예측이 함께 쌓이고 예측을 처리하는 최종 추정기에 대한 입력으로 사용되는 이기종 모델을 사용합니다. 이 최종 추정기의 훈련 과정은 종종 교차 검증을 사용합니다.
예측을 모델이 최종적으로 생성하는 단일 예측으로 결합하는 방법에는 여러 가지가 있습니다. 또는 앙상블 회귀 평균.
여러 라이브러리 및 프레임워크가 XGBoost, CatBoost 또는 scikit-learn의 랜덤 포레스트와 같은 앙상블 모델의 구현을 제공하지만 이 게시물에서는 고유한 모델을 가져와 스택 앙상블로 사용하는 데 중점을 둡니다. 그러나 각 모델에 전용 리소스를 사용하는 대신(전용 교육 및 튜닝 작업과 모델당 엔드포인트 호스팅) 단일 SageMaker 교육 작업과 단일 튜닝 작업을 사용하여 사용자 지정 앙상블(여러 모델)을 교육, 튜닝 및 배포하고 단일 엔드포인트에 배포하여 가능한 비용 및 운영 오버헤드를 줄입니다.
BYOE: 나만의 앙상블 가져오기
SageMaker로 이기종 앙상블 모델을 교육하고 배포하는 방법에는 여러 가지가 있습니다. 별도의 훈련 작업 다음을 사용하여 각 모델을 개별적으로 최적화합니다. Amazon SageMaker 자동 모델 조정. 이러한 모델을 호스팅할 때 SageMaker는 동일한 테넌트 인프라에서 여러 모델을 호스팅할 수 있는 다양한 비용 효율적인 방법을 제공합니다. 이러한 종류의 설정에 대한 자세한 배포 패턴은 다음에서 찾을 수 있습니다. Amazon SageMaker의 모델 호스팅 패턴, 1부: Amazon SageMaker에서 ML 애플리케이션을 구축하기 위한 일반적인 디자인 패턴. 이러한 패턴에는 여러 엔드포인트(훈련된 각 모델에 대해) 또는 단일 엔드포인트 사용이 포함됩니다. 다중 모델 엔드 포인트, 또는 단일 다중 컨테이너 끝점 여기서 컨테이너는 개별적으로 호출되거나 파이프라인에 연결될 수 있습니다. 이러한 모든 솔루션에는 메타 추정기가 포함됩니다(예: AWS 람다 함수) 각 모델을 호출하고 혼합 또는 투표 기능을 구현합니다.
그러나 여러 훈련 작업을 실행하면 특히 앙상블에 동일한 데이터에 대한 훈련이 필요한 경우 운영 및 비용 오버헤드가 발생할 수 있습니다. 마찬가지로 별도의 엔드포인트 또는 컨테이너에서 서로 다른 모델을 호스팅하고 정확도를 높이기 위해 예측 결과를 결합하려면 여러 번의 호출이 필요하므로 추가 관리, 비용 및 모니터링 노력이 필요합니다. 예를 들어 SageMaker는 다음을 지원합니다. Triton 추론 서버를 사용하는 앙상블 ML 모델, 하지만 이 솔루션은 모델 또는 모델 앙상블이 Triton 백엔드에서 지원되어야 합니다. 또한 Triton 서버를 설정하고 다양한 Triton 백엔드가 작동하는 방식을 이해하기 위한 추가 학습을 위해 고객의 추가 노력이 필요합니다. 따라서 고객은 엔드포인트에 호출을 한 번만 보내면 되고 최종 출력을 생성하기 위해 결과를 집계하는 방법을 유연하게 제어할 수 있는 솔루션을 구현하는 보다 간단한 방법을 선호합니다.
솔루션 개요
이러한 문제를 해결하기 위해 단일 교육 작업을 사용하는 앙상블 교육의 예를 살펴보고 모델의 하이퍼파라미터를 최적화하고 단일 컨테이너를 사용하여 서버리스 엔드포인트에 배포합니다. 우리는 앙상블 스택에 CatBoost와 XGBoost라는 두 가지 모델을 사용합니다(둘 다 부스팅 앙상블임). 데이터의 경우 다음을 사용합니다. 당뇨병 데이터 세트 [2] scikit-learn 라이브러리에서: 10개의 특징(연령, 성별, 체질량, 혈압 및 1가지 혈청 측정치)으로 구성되며, 우리 모델은 기본 특징이 수집된 후 XNUMX년 후 질병 진행을 예측합니다(회귀 모델).
전체 코드 저장소는 다음에서 찾을 수 있습니다. GitHub의.
단일 SageMaker 작업에서 여러 모델 교육
모델 교육을 위해 스크립트 모드에서 SageMaker 교육 작업을 사용합니다. 스크립트 모드를 사용하면 SageMaker 프레임워크 컨테이너를 사용하는 동안 사용자 지정 교육(및 이후 추론 코드)을 작성할 수 있습니다. 프레임워크 컨테이너를 사용하면 필요한 모든 구성 및 모듈을 포함하는 AWS에서 관리하는 기성품 환경을 사용할 수 있습니다. 예를 들어 프레임워크 컨테이너를 사용자 지정하는 방법을 시연하기 위해 XGBoost 및 CatBoost 패키지를 포함하지 않는 미리 빌드된 SKLearn 컨테이너를 사용합니다. 이러한 패키지를 추가하는 두 가지 옵션이 있습니다. 내장 컨테이너 확장 CatBoost 및 XGBoost를 설치(그런 다음 사용자 지정 컨테이너로 배포)하거나 SageMaker 교육 작업 스크립트 모드 기능을 사용하여 다음을 제공할 수 있습니다. requirements.txt
트레이닝 추정기를 생성할 때 파일. SageMaker 교육 작업은 나열된 라이브러리를 다음 위치에 설치합니다. requirements.txt
런타임 동안 파일. 이렇게 하면 자체 Docker 이미지 리포지토리를 관리할 필요가 없으며 추가 Python 패키지가 필요한 학습 스크립트를 실행하는 데 더 많은 유연성을 제공합니다.
다음 코드 블록은 교육을 시작하는 데 사용하는 코드를 보여줍니다. 그만큼 entry_point
매개변수는 학습 스크립트를 가리킵니다. 또한 SageMaker SDK API의 두 가지 강력한 기능을 사용합니다.
- 먼저 소스 디렉토리의 로컬 경로와 종속성을
source_dir
및dependencies
매개변수. SDK는 해당 디렉터리를 압축하여 다음 위치에 업로드합니다. 아마존 단순 스토리지 서비스 (Amazon S3) 및 SageMaker는 작업 디렉터리 아래의 교육 인스턴스에서 사용할 수 있도록 합니다./opt/ml/code
. - 둘째, SDK를 사용합니다.
SKLearn
SageMaker가 해당 컨테이너를 가져올 수 있도록 선호하는 Python 및 프레임워크 버전을 사용하여 estimator 객체를 생성합니다. 우리는 또한 사용자 지정 교육 메트릭 '을 정의했습니다.validation:rmse
', 교육 로그에 내보내고 SageMaker에서 캡처합니다. 나중에 이 메트릭을 튜닝 작업의 목표 메트릭으로 사용합니다.
hyperparameters = {"num_round": 6, "max_depth": 5}
estimator_parameters = {
"entry_point": "multi_model_hpo.py",
"source_dir": "code",
"dependencies": ["my_custom_library"],
"instance_type": training_instance_type,
"instance_count": 1,
"hyperparameters": hyperparameters,
"role": role,
"base_job_name": "xgboost-model",
"framework_version": "1.0-1",
"keep_alive_period_in_seconds": 60,
"metric_definitions":[
{'Name': 'validation:rmse', 'Regex': 'validation-rmse:(.*?);'}
]
}
estimator = SKLearn(**estimator_parameters)
다음으로 훈련 스크립트를 작성합니다(multi_model_hpo.py). 스크립트는 간단한 흐름을 따릅니다. 하이퍼파라미터 캡처 작업이 구성되고 CatBoost 모델 훈련 및 XGBoost 모델. 우리는 또한 k-폴드 크로스 유효성 검사 기능. 다음 코드를 참조하십시오.
if __name__ == "__main__":
parser = argparse.ArgumentParser() # Sagemaker specific arguments. Defaults are set in the environment variables.
parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
parser.add_argument("--train", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
parser.add_argument("--validation", type=str, default=os.environ["SM_CHANNEL_VALIDATION"])
.
.
.
"""
Train catboost
"""
K = args.k_fold
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
rmse_list, model_catboost = cross_validation_catboost(train_df, K, catboost_hyperparameters)
.
.
.
"""
Train the XGBoost model
""" hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
"objective": args.objective,
"num_round": args.num_round,
} rmse_list, model_xgb = cross_validation(train_df, K, hyperparameters)
모델이 훈련된 후 CatBoost 및 XGBoost 예측의 평균을 계산합니다. 결과, pred_mean
, 앙상블의 최종 예측입니다. 그런 다음, 우리는 mean_squared_error
유효성 검사 세트에 대해. val_rmse
훈련 중 전체 앙상블의 평가에 사용됩니다. 또한 RMSE 값을 다음에서 사용한 정규식에 맞는 패턴으로 인쇄합니다. metric_definitions
. 나중에 SageMaker 자동 모델 튜닝은 이를 사용하여 목표 메트릭을 캡처합니다. 다음 코드를 참조하십시오.
pred_mean = np.mean(np.array([pred_catboost, pred_xgb]), axis=0)
val_rmse = mean_squared_error(y_validation, pred_mean, squared=False)
print(f"Final evaluation result: validation-rmse:{val_rmse}")
마지막으로 스크립트는 두 모델 아티팩트를 다음에 있는 출력 폴더에 저장합니다. /opt/ml/model
.
교육 작업이 완료되면 SageMaker는 교육 작업의 콘텐츠를 패키징하고 복사합니다. /opt/ml/model
작업 구성에서 지정한 S3 위치에 압축된 TAR 형식의 단일 개체로 디렉터리를 복사합니다. 우리의 경우 SageMaker는 TAR 파일에 두 모델을 묶고 교육 작업이 끝날 때 Amazon S3에 업로드합니다. 다음 코드를 참조하십시오.
model_file_name = 'catboost-regressor-model.dump'
# Save CatBoost model
path = os.path.join(args.model_dir, model_file_name)
print('saving model file to {}'.format(path))
model.save_model(path)
.
.
.
# Save XGBoost model
model_location = args.model_dir + "/xgboost-model"
pickle.dump(model, open(model_location, "wb"))
logging.info("Stored trained model at {}".format(model_location))
요약하면 이 절차에서 데이터를 한 번 다운로드하고 단일 교육 작업을 사용하여 두 모델을 교육했음을 알 수 있습니다.
자동 앙상블 모델 튜닝
우리는 ML 모델 컬렉션을 구축하고 있기 때문에 가능한 모든 하이퍼파라미터 순열을 탐색하는 것은 비현실적입니다. SageMaker 제안 자동 모델 튜닝(AMT), 지정한 범위 내에서 가장 유망한 값 조합에 초점을 맞춰 최상의 모델 하이퍼파라미터를 찾습니다(탐색할 올바른 범위를 정의하는 것은 사용자에게 달려 있음). SageMaker는 여러 최적화 방법을 지원합니다. 당신을 위해 선택할 수 있습니다.
최적화 프로세스의 두 부분인 목표 메트릭과 조정하려는 하이퍼파라미터를 정의하는 것으로 시작합니다. 이 예에서는 유효성 검사 RMSE를 대상 메트릭으로 사용하고 튜닝합니다. eta
및 max_depth
(다른 하이퍼파라미터는 다음을 참조하십시오. XGBoost 하이퍼 파라미터 및 CatBoost 하이퍼파라미터):
from sagemaker.tuner import (
IntegerParameter,
ContinuousParameter,
HyperparameterTuner,
) hyperparameter_ranges = {
"eta": ContinuousParameter(0.2, 0.3),
"max_depth": IntegerParameter(3, 4)
}
metric_definitions = [{"Name": "validation:rmse", "Regex": "validation-rmse:([0-9.]+)"}]
objective_metric_name = "validation:rmse"
우리는 또한 교육 스크립트 하이퍼파라미터는 하드코딩되지 않고 SageMaker 런타임 인수에서 가져옵니다.
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker는 또한 하이퍼파라미터를 JSON 파일에 기록하고 다음에서 읽을 수 있습니다. /opt/ml/input/config/hyperparameters.json
교육 인스턴스에서.
CatBoost와 마찬가지로 XGBoost 모델의 하이퍼파라미터도 캡처합니다. objective
및 num_round
조정되지 않음):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
마지막으로 다음 구성을 사용하여 하이퍼파라미터 튜닝 작업을 시작합니다.
tuner = HyperparameterTuner(
estimator,
objective_metric_name,
hyperparameter_ranges,
max_jobs=4,
max_parallel_jobs=2,
objective_type='Minimize'
)
tuner.fit({"train": train_location, "validation": validation_location}, include_cls_metadata=False)
작업이 완료되면 최상의 교육 작업에 대한 값을 검색할 수 있습니다(최소 RMSE 사용).
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
AMT에 대한 자세한 내용은 다음을 참조하십시오. SageMaker로 자동 모델 튜닝 수행.
전개
맞춤형 앙상블을 배포하려면 추론 요청을 처리하고 SageMaker 호스팅을 구성하는 스크립트를 제공해야 합니다. 이 예에서는 훈련 코드와 추론 코드를 모두 포함하는 단일 파일을 사용했습니다(multi_model_hpo.py). SageMaker는 if 아래의 코드를 사용합니다. _ name _ == "_ main _"
훈련과 기능을 위해 model_fn
, input_fn
및 predict_fn
모델을 배포하고 제공할 때.
추론 스크립트
교육과 마찬가지로 자체 추론 스크립트와 함께 SageMaker SKLearn 프레임워크 컨테이너를 사용합니다. 이 스크립트는 SageMaker에 필요한 세 가지 방법을 구현합니다.
첫째, model_fn
메서드는 저장된 모델 아티팩트 파일을 읽고 메모리에 로드합니다. 우리의 경우 메서드는 앙상블을 다음과 같이 반환합니다. all_model
, Python 목록이지만 모델 이름이 있는 사전을 키로 사용할 수도 있습니다.
def model_fn(model_dir):
catboost_model = CatBoostRegressor()
catboost_model.load_model(os.path.join(model_dir, model_file_name))
model_file = "xgboost-model"
model = pickle.load(open(os.path.join(model_dir, model_file), "rb"))
all_model = [catboost_model, model]
return all_model
둘째, input_fn
메서드는 추론 처리기로 전달될 요청 입력 데이터를 역직렬화합니다. 입력 핸들러에 대한 자세한 내용은 다음을 참조하십시오. 자신의 추론 컨테이너 조정.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
셋째, predict_fn
메서드는 모델에서 예측을 가져오는 역할을 합니다. 이 메서드는 모델과 반환된 데이터를 사용합니다. input_fn
매개변수로 최종 예측을 반환합니다. 이 예에서는 모델 목록의 첫 번째 구성원에서 CatBoost 결과를 얻습니다(model[0]
) 및 두 번째 구성원의 XGBoost(model[1]
), 두 예측의 평균을 반환하는 혼합 함수를 사용합니다.
def predict_fn(input_data, model):
predictions_catb = model[0].predict(input_data)
dtest = xgb.DMatrix(input_data)
predictions_xgb = model[1].predict(dtest,
ntree_limit=getattr(model, "best_ntree_limit", 0),
validate_features=False)
return np.mean(np.array([predictions_catb, predictions_xgb]), axis=0)
이제 훈련된 모델과 추론 스크립트가 있으므로 앙상블을 배포하도록 환경을 구성할 수 있습니다.
SageMaker 서버리스 추론
거기 있지만 SageMaker의 다양한 호스팅 옵션, 이 예에서는 서버리스 엔드포인트를 사용합니다. 서버리스 엔드포인트는 컴퓨팅 리소스를 자동으로 시작하고 트래픽에 따라 확장 및 축소합니다. 이렇게 하면 서버 관리의 획일적인 부담이 사라집니다. 이 옵션은 트래픽 급증 사이에 유휴 기간이 있고 콜드 스타트를 허용할 수 있는 워크로드에 이상적입니다.
인스턴스 유형을 선택하거나 조정 정책을 관리할 필요가 없기 때문에 서버리스 엔드포인트 구성은 간단합니다. 메모리 크기와 최대 동시성이라는 두 가지 매개변수만 제공하면 됩니다. 서버리스 엔드포인트는 선택한 메모리에 비례하여 컴퓨팅 리소스를 자동으로 할당합니다. 더 큰 메모리 크기를 선택하면 컨테이너가 더 많은 vCPU에 액세스할 수 있습니다. 항상 모델 크기에 따라 엔드포인트의 메모리 크기를 선택해야 합니다. 제공해야 하는 두 번째 매개변수는 최대 동시성입니다. 단일 엔드포인트의 경우 이 매개변수를 최대 200개까지 설정할 수 있습니다(이 글을 쓰는 시점에서 리전의 총 서버리스 엔드포인트 수 제한은 50개임). 개별 엔드포인트의 최대 동시성은 최대값을 초과하는 모든 엔드포인트 호출이 제한되기 때문에 해당 엔드포인트가 계정에 허용된 모든 호출을 차지하지 못하도록 합니다(리전당 모든 서버리스 엔드포인트의 총 동시성에 대한 자세한 내용은 다음 참조). 에게 Amazon SageMaker 엔드 포인트 및 할당량).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
이제 엔드포인트를 구성했으므로 마침내 하이퍼파라미터 최적화 작업에서 선택한 모델을 배포할 수 있습니다.
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
정리
서버리스 엔드포인트는 사용하지 않을 때 비용이 들지 않지만 이 예제 실행을 완료하면 엔드포인트를 삭제해야 합니다.
predictor.delete_endpoint(predictor.endpoint)
결론
이 게시물에서는 맞춤형 앙상블을 훈련, 최적화 및 배포하는 한 가지 접근 방식을 다루었습니다. 단일 교육 작업을 사용하여 여러 모델을 교육하는 프로세스, 자동 모델 튜닝을 사용하여 앙상블 하이퍼파라미터를 최적화하는 방법, 여러 모델의 추론을 혼합하는 단일 서버리스 엔드포인트를 배포하는 방법을 자세히 설명했습니다.
이 방법을 사용하면 잠재적 비용 및 운영 문제가 해결됩니다. 학습 작업 비용은 사용 기간 동안 사용하는 리소스를 기반으로 합니다. 두 모델을 교육하기 위해 데이터를 한 번만 다운로드함으로써 작업의 데이터 다운로드 단계와 데이터를 저장하는 사용된 볼륨을 절반으로 줄여 교육 작업의 전체 비용을 줄였습니다. 또한 AMT 작업은 4개의 교육 작업을 실행했으며 각각 앞서 언급한 시간과 저장 공간이 줄어들어 비용이 XNUMX배 절감되었습니다! 서버리스 엔드포인트의 모델 배포와 관련하여 두 모델에 대해 엔드포인트를 한 번만 호출하여 처리된 데이터 양에 대해서도 비용을 지불하므로 I/O 데이터 요금의 절반을 지불합니다.
이 게시물에서는 두 가지 모델의 이점만 보여 주었지만 이 방법을 사용하여 수많은 앙상블 모델을 훈련, 조정 및 배포하여 훨씬 더 큰 효과를 볼 수 있습니다.
참고자료
[1] 라지 쿠마르, P. 아룬; Selvakumar, S. (2011). “신경 분류기의 앙상블을 이용한 분산 서비스 거부 공격 탐지”. 컴퓨터 통신. 34(11): 1328–1341. doi:10.1016/j.comcom.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone 및 Robert Tibshirani(2004) "최소 각도 회귀", 통계 연보(논의 포함), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
저자에 관하여
멜라니 리 박사, 호주 시드니에 본사를 둔 AWS의 선임 AI/ML 전문가 TAM입니다. 그녀는 기업 고객이 AWS에서 최신 AI/ML 도구를 활용하여 솔루션을 구축하도록 돕고 모범 사례를 통해 기계 학습 솔루션을 설계 및 구현하는 방법에 대한 지침을 제공합니다. 여가 시간에는 야외에서 자연을 탐험하고 가족 및 친구들과 시간을 보내는 것을 좋아합니다.
우리 로젠버그 유럽, 중동 및 아프리카의 AI 및 ML 전문 기술 관리자입니다. 이스라엘에 기반을 둔 Uri는 엔터프라이즈 고객이 ML 워크로드를 대규모로 설계, 구축 및 운영할 수 있도록 지원합니다. 여가 시간에는 자전거 타기, 하이킹, RMSE 최소화를 즐깁니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 자동차 / EV, 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- BlockOffsets. 환경 오프셋 소유권 현대화. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- :있다
- :이다
- :아니
- :어디
- ][피
- $UP
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- 소개
- ACCESS
- 에 따르면
- 계정
- 정확한
- 더하다
- 추가
- 또한
- 주소
- 아프리카
- 후
- 반대
- 나이
- AI
- AI / ML
- 연산
- 알고리즘
- All
- 수
- 수
- 또한
- 항상
- 아마존
- 아마존 세이지 메이커
- Amazon Web Services
- 중
- 양
- an
- 및
- 어떤
- 어플리케이션
- 접근
- 있군요
- 인수
- AS
- At
- 공격
- 호주
- Automatic
- 자동적으로
- 가능
- 평균화
- 떨어져
- AWS
- 백엔드
- 기반으로
- 기준
- BE
- 때문에
- 가
- 된
- 존재
- 유익한
- 혜택
- BEST
- 모범 사례
- 더 나은
- 사이에
- 그 너머
- 혼합
- 조화
- 블록
- 피
- 고혈압
- 몸
- 증폭
- 두
- 가져
- 가져
- 빌드
- 건물
- 내장
- 묶음
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 계산하다
- CAN
- 포착
- 캡처
- 케이스
- 카테고리
- 묶인
- 요금
- 왼쪽 메뉴에서
- 분류
- 암호
- 저온
- 수집
- 조합
- 결합
- 공통의
- 커뮤니케이션
- 커뮤니티
- 강요하는
- 완전한
- 계산
- 컴퓨터
- 컴퓨터 비전
- 우려 사항
- 구성
- 구성
- 구성
- 컨테이너
- 용기
- 함유량
- 제어
- 동
- 비용
- 비용 효율적인
- 적용
- 만들기
- 관습
- 고객
- 고객
- 사용자 정의
- 사이버 보안
- 데이터
- 의사 결정
- 전용
- 기본값
- 밝히다
- 한정된
- 정의
- 보여
- 서비스 거부
- 의존
- 배포
- 배치
- 전개
- 디자인
- 디자인 패턴
- 상세한
- Detection System
- 결정
- 다른
- 디렉토리
- 토론
- 토론
- 질병
- 몇몇의
- 도커
- 하지 않습니다
- 말라
- 다운로드
- 덤프
- 지속
- ...동안
- 마다
- 동쪽
- 효과
- 효율적인
- 효율적으로
- 노력
- 중
- 벗어나 다
- 능력을 키우다
- 가능
- end
- 종점
- 확인
- Enterprise
- 환경
- 환경
- 특히
- 유럽
- 평가
- 조차
- 진화
- 예
- 예
- 탐험
- 탐색
- 여분의
- 가족
- 특색
- 특징
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 최후의
- 최종적으로
- 금융
- 먼저,
- 유연성
- 흐름
- 초점
- 초점
- 수행원
- 다음
- 럭셔리
- 숲
- 체재
- 발견
- 사
- 뼈대
- 프레임 워크
- 사기
- 사기 탐지
- 친구
- 에
- 가득 찬
- 기능
- 기능
- 게다가
- 이득
- 획득
- 생성
- 얻을
- 점점
- 주어진
- 큰
- 지도
- 반
- 핸들
- 처리
- 있다
- he
- 무거운
- 무거운 리프팅
- 도움이
- 그녀의
- 더 높은
- 그의
- 주인
- 호스팅
- 방법
- How To
- 그러나
- HTML
- HTTP
- HTTPS
- 하이퍼 파라미터 최적화
- 하이퍼 파라미터 튜닝
- 이상
- 유휴
- if
- 영상
- 구현
- 구현
- 구현하다
- 중대한
- in
- 포함
- 포함
- 개인
- 개별적으로
- 정보
- 인프라
- 입력
- 설치
- 예
- 를 받아야 하는 미국 여행자
- 인텔리전스
- 으로
- 소개
- 소개합니다
- 호출
- 호출
- 이스라엘
- 문제
- IT
- 일
- 작업
- JPG
- JSON
- 키
- 종류
- 알려진
- 언어
- 큰
- 후에
- 시작
- 배우기
- 레버리지
- Li
- 도서관
- 도서관
- 리프팅
- 제한
- 명부
- 상장 된
- 잔뜩
- 지방의
- 위치한
- 위치
- 로깅
- 봐라.
- loves
- 기계
- 기계 학습
- 본관
- 과반수
- 확인
- 관리
- 관리
- 구축
- 매니저
- 관리
- 질량
- 최고
- 평균
- 측정 시간 상관관계
- 의료
- 회원
- 메모리
- 병합
- 방법
- 방법
- 메트릭
- 중간
- 중동
- 수도
- 최소의
- 최소화
- ML
- 모드
- 모델
- 모델
- 모듈
- 모니터링
- 배우기
- 가장
- 여러
- name
- 이름
- 자연의
- 자연 언어 처리
- 자연
- 필요한
- 필요
- 다음 것
- nlp
- 알아채다..
- 번호
- 다수의
- 대상
- 목표
- of
- 제공
- 자주
- on
- 일단
- ONE
- 만
- 운영
- 운영
- 최적화
- 최적화
- 최적화
- 선택권
- 옵션
- or
- OS
- 기타
- 우리의
- 아웃
- 야외에서
- 출력
- 전체
- 자신의
- 패키지
- 매개 변수
- 매개 변수
- 부품
- 부품
- 합격
- 통로
- 무늬
- 패턴
- 지불
- 용
- 미문
- 상
- 관로
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 전철기
- 정책
- 인기 문서
- 가능한
- 게시하다
- 가능성
- 사례
- 예측
- 예측
- 예측
- Predictor
- 예측
- 취하다
- 선호하는
- 압박
- 방지
- 너무 이른
- 인쇄
- 순서
- 방법
- 처리됨
- 처리
- 생산
- 진행
- 장래가 촉망되는
- 증명 된
- 제공
- 제공
- Python
- 닥치는대로의
- 빠르게
- 읽기
- 감소
- 감소
- 감소
- 의미
- 생각하다
- 정규식
- 지방
- 먼
- 저장소
- 대표
- 의뢰
- 필수
- 필요
- 제품 자료
- 각기
- 책임
- 결과
- 결과
- return
- 반품
- 연락해주세요
- ROBERT
- 직위별
- 달리기
- 달리는
- s
- 현자
- SageMaker 자동 모델 튜닝
- 같은
- 찜하기
- 절약
- 규모
- 스케일링
- 과학자
- 사이 킷 학습
- 스크립트
- SDK
- 둘째
- 참조
- 본
- 선택된
- 보내다
- 연장자
- 별도의
- 순서
- 세럼
- 서버리스
- 서버
- 서비스
- 서비스
- 피복재
- 세트
- 설정
- 몇몇의
- 성별
- 그녀
- 영상을
- 보여
- 쇼
- 비슷하게
- 단순, 간단, 편리
- 단일
- SIX
- 크기
- So
- 해결책
- 솔루션
- 해결
- 출처
- 전문가
- 구체적인
- 지정
- 지출
- 스택
- 쌓인
- 스태킹
- stanford
- 스타트
- 시작
- 최첨단
- 통계
- 단계
- 저장
- 저장
- 상점
- 똑 바른
- 강한
- 이러한
- 개요
- 지원
- 지원
- 확인
- 시드니
- 소요
- 복용
- 목표
- 작업
- 테크니컬
- 기법
- Technology
- 거주자
- 보다
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그때
- 그곳에.
- 그것에 의하여
- 따라서
- Bowman의
- 그들
- 이
- 그
- 그래도?
- 세
- 을 통하여
- 시간
- 시대
- 에
- 함께
- 검색을
- 화제
- 금액
- 견인
- 교통
- Train
- 훈련 된
- 트레이닝
- 나무
- 트레버
- 소라 고둥
- 두
- 유형
- 아래에
- 이해
- 용법
- 사용
- 익숙한
- 사용
- 사용
- 확인
- 가치
- 마케팅은:
- 여러
- 버전
- 시력
- 음량
- 투표
- 필요
- 였다
- 방법..
- 방법
- we
- 웹
- 웹 서비스
- 무게
- 했다
- 뭐
- 언제
- 어느
- 동안
- 모든
- why
- 의지
- 과
- 이내
- 작업
- 일하는
- 일
- 쓰다
- 쓰기
- XGBoost
- year
- 자신의
- 너의
- 제퍼 넷
- 제로