Amazon Machine Learning 시작하기

무료 계정 생성

12개월 동안 AWS 프리 티어에 액세스하여 연중무휴 24시간 고객 서비스, 지원 포럼 등을 비롯한 AWS Basic Support의 기능을 사용해 보십시오.

현재 Amazon Machine Learning은 AWS 프리 티어에서 제공되지 않는다는 점에 유의하십시오.

Q: Amazon Machine Learning은 무엇입니까?

Amazon Machine Learning은 부정 탐지, 수요 예측, 클릭 예측을 비롯한 예측 애플리케이션을 쉽게 구축하도록 해주는 머신 서비스입니다. Amazon Machine Learning은 강력한 알고리즘을 사용하여 기존 데이터에서 패턴을 찾아내고, 신규 데이터가 제공될 때 이러한 패턴을 통해 신규 데이터로부터 예측을 생성하는 기계 학습 모델을 만들 수 있습니다. AWS Management Console과 API는 애플리케이션 요구 사항에 맞추어 기계 학습 모델을 생성하고, 생성된 모델의 품질을 측정하고, 예측을 미세 조정하는 프로세스를 지원하는 마법사와 데이터 및 모델 시각화 도구를 제공합니다. 모델이 생성되면, 사용자 지정 예측 생성 코드를 구현하거나 인프라도 관리할 필요 없이 간단한 API를 사용하여 애플리케이션에 대한 예측을 생성할 수 있습니다. Amazon Machine Learning은 확장성이 뛰어나고, 매일 수십억 개의 예측을 생성할 수 있으며, 이러한 예측을 높은 처리량과 함께 실시간으로 제공합니다. Amazon Machine Learning은 설치 비용이 없고 종량 과금제로 지불하게 되므로, 작게 시작하여 애플리케이션이 증가함에 따라 확장할 수 있습니다.

Q: Amazon Machine Learning으로 어떤 작업을 할 수 있습니까?

Amazon Machine Learning은 다양한 예측 애플리케이션을 생성하는데 사용할 수 있습니다. 예를 들어, Amazon Machine Learning을 사용하면 의심스러운 거래 표시, 부정 거래 탐지, 요구 예측, 콘텐츠 개인화, 사용자 행동 예측, 리뷰 필터링, 소셜 미디어 확인, 자유 형식의 텍스트 분석, 항목 추천 등이 가능한 애플리케이션을 구축할 수 있습니다.

Q: 기계 학습이란 무엇입니까?

기계 학습(ML)은 기록 데이터를 사용하여 정보를 바탕으로 한 비즈니스 의사 결정이 가능하도록 해주는 기술입니다. 기계 학습 알고리즘은 데이터에서 패턴을 찾아내고 이러한 패턴을 사용하여 수학적 모델을 구축합니다. 그런 다음, 이 모델을 사용하여 미래 데이터에 대한 예측을 생성할 수 있습니다. 예를 들어, 기계 학습에서 적용 가능한 애플리케이션 중 하나는 과거에 성공한 구매와 실패한 구매 둘 다를 기반으로 부정 거래를 탐지하는 것입니다.

Q: Amazon Machine Learning은 어떻게 시작합니까?

Amazon Machine Learning은 Amazon Machine Learning Developer Guide에 포함된 자습서를 따라 하는 것이 가장 좋은 방법입니다. 자습서에는 샘플 데이터 세트로 기계 학습 모델을 생성하고, 해당 모델을 평가한 후 예측 생성에 사용하는 방법이 설명되어 있습니다. 자습서를 완료하면 Amazon Machine Learning을 사용하여 각자의 상황에 맞는 기계 학습 모델을 생성할 수 있습니다. 자세한 내용은 Amazon Machine Learning Developer GuideAmazon Machine Learning API Reference를 참조하십시오.

Q: 교육 데이터는 무엇입니까?

교육 데이터는 기계 학습 모델을 생성하는데 사용되며, 과거의 이미 알고 있는 데이터 요소로 구성됩니다. Amazon Machine Learning을 사용하여 이 데이터에서 패턴을 추출하고 추출한 패턴으로 기계 학습 모델을 구축할 수 있습니다.

Q: 대상 속성은 무엇입니까?

대상 속성은 교육 데이터의 특별 속성으로 Amazon Machine Learning에서 예측하고자 하는 정보를 포함하고 있습니다. 거래가 부정 거래인지 여부를 예측하는 모델을 구축한다고 예를 들어 보겠습니다. 교육 데이터는 거래가 궁극적으로 은행에서 거절된 경우 "1", 승인된 경우는 "0"의 대상 속성을 지닌 과거 거래에 대한 메타데이터를 포함합니다. Amazon Machine Learning을 사용하여 대상 속성과 거래 메타데이터(다른 모든 속성)를 연결하는 패턴을 찾을 수 있습니다. 대상 속성 없이 예측을 생성할 수 있도록 이러한 패턴을 기반으로 한 기계 학습 모델을 사용합니다. 이 예제에서는 은행의 거래 거절 또는 승인 여부를 알기 전에 메타데이터를 기반으로 거래의 부정 여부를 예측하는 것을 말합니다.

Q: Amazon Machine Learning이 모델 생성에 사용하는 알고리즘은 무엇입니까?

Amazon Machine Learning은 현재 산업 표준 로지스틱 회귀 알고리즘을 사용하여 모델을 생성합니다.

Q: 어떤 AWS 리전에서 Amazon Machine Learning을 사용할 수 있습니까?

Amazon Machine Learning을 지원하는 AWS 리전 목록은 모든 AWS 글로벌 인프라가 나와 있는 AWS 리전 테이블을 참조하십시오.  자세한 내용은 AWS General ReferenceRegions and Endpoints를 참조하십시오.

Q: Amazon Machine Learning의 서비스 가용성은 어떻습니까?

Amazon Machine Learning은 가용성이 높게 설계되었습니다. 유지 관리 창이나 예약된 가동 중지 시간이 없습니다. 모델 교육, 평가 및 배치 예측용 API는 가용성이 뛰어나고 입증된 Amazon 데이터 센터에서 실행되며 각 AWS 리전의 시설 세 곳에 서비스 스택 복제가 구성되어 있어 서버 오류나 가용 영역 중단 시에 내결함성을 제공합니다.

Q: Amazon Machine Learning의 보안 조치에는 어떤 것이 있습니까?

Amazon Machine Learning에서는 전송 중이거나 보관 중인 기계 학습 모델과 기타 시스템 아티팩트가 암호화됩니다. Amazon Machine Learning API 및 콘솔에 대한 요청은 안전한 SSL 연결을 통해 진행됩니다. AWS Identity and Access Management(IAM)를 사용하여 특정 Amazon Machine Learning 작업 및 리소스에 액세스가 가능한 IAM 사용자를 제어할 수 있습니다.

맨 위로 이동 >>

Q: 데이터는 어디에 저장합니까?

Amazon Machine Learning을 사용하여 (a) Amazon S3에 하나 이상의 파일, (b) Amazon Redshift 쿼리의 결과, (c) MySQL 엔진으로 실행 중인 데이터베이스에서 실행된 Amazon Relational Database Service(RDS) 쿼리의 결과 등 세 곳의 데이터 스토어에서 데이터를 읽을 수 있습니다. 다른 제품의 데이터는 보통 Amazon S3에 CSV 파일로 내보낼 수 있어 Amazon Machine Learning에서 액세스가 가능합니다. Amazon Machine Learning이 세 곳의 데이터 스토어에 액세스할 수 있도록 권한을 구성하는 자세한 지침은 Amazon Machine Learning Developer Guide를 확인하십시오.

Q: 교육에 사용할 데이터 세트의 크기에 제한이 있습니까?

Amazon Machine Learning에서는 모델 교육에 최대 100GB까지 데이터 세트를 사용할 수 있습니다.

Q: 데이터에 오류가 있는지 어떻게 알 수 있습니까?

Amazon Machine Learning으로 데이터 형식 오류를 탐지할 수 있습니다. Amazon Machine Learning 서비스 콘솔의 데이터 통찰력 기능을 사용하면 공백인 필드나 예기치 않은 값이 포함된 필드와 같이 좀더 심층적인 데이터 오류를 찾아낼 수 있습니다. Amazon Machine Learning은 기계 학습 모델을 교육할 수 있고 얼마 안 되는 두 종류의 데이터 오류가 있는 곳에 정확한 예측을 생성할 수 있어 일부 데이터 관찰이 잘못되거나 부정확하더라도 예측 요청을 성공적으로 수행할 수 있습니다.

Q: 데이터가 불완전하거나 일부 정보가 누락된 경우 어떻게 해야 합니까?

언제나 데이터를 가능한 완전하고 정확하게 유지하는 것이 중요합니다. Amazon Machine Learning의 학습 알고리즘에서는 모델 품질에 부정적인 영향을 주지 않으면서 소량의 불완전하거나 누락된 정보를 허용할 수 있지만 이러한 데이터가 증가할수록 모델 품질은 저하됩니다. 처리에 실패한 레코드 수가 데이터 세트 내 전체 레코드의 10% 또는 10,000건을 초과하는 경우(먼저 해당되는 조건이 적용됨), Amazon Machine Learning에서 모델 교육 요청을 중지합니다.

불완전하거나 누락된 정보를 수정하려면, 마스터 데이터 소스로 돌아가서 소스 내의 데이터를 수정하거나 Amazon Machine Learning 모델 교육에 사용된 데이터 세트에서 불완전하거나 누락된 정보에 대한 관찰 값을 제외해야 합니다. 예를 들어 Amazon Redshift 테이블에서 잘못된 값이 포함된 일부 행을 발견한 경우, Amazon Machine Learning에서 사용할 데이터 선택용 쿼리를 수정하여 해당 행을 제외하도록 할 수 있습니다.

Q: 모델이 생성한 예측이 정확한지 어떻게 알 수 있습니까?

Amazon Machine Learning에는 강력한 모델 평가 기능이 포함되어 있습니다. 어느 모델이든 Amazon Machine Learning을 사용하여 산업 표준 평가 지표를 컴퓨팅함으로써 해당 모델의 예측 품질을 확인할 수 있습니다. 평가 목적으로 교육 데이터 일부를 보류하도록 Amazon Machine Learning을 설정하여 모델 평가의 비편향성을 확인할 수 있습니다. 이를 통해 모델이 교육 시간에 본 데이터 요소로 절대 평가되지 않음을 알 수 있습니다. Amazon Machine Learning 서비스 콘솔은 모델 평가 결과를 탐색하고 이해할 수 있는 강력하고 사용이 간편한 도구를 제공합니다.

Q: 원하는 결과를 얻지 못하는 경우 모델을 어떻게 튜닝합니까?

모델 품질을 개선하는 가장 좋은 방법은 교육에 좀 더 좋은 품질의 데이터를 사용하는 것입니다. 더 많은 관찰 값을 추가하고, 정보 유형을 추가하고(기능), 학습 프로세스를 최적화하기 위해 데이터를 변환하는(기능 엔지니어링) 것은 모두 모델의 예측 정확성을 높이는 좋은 방법입니다. Amazon Machine Learning을 사용하여 다수의 프로토타입 모델을 생성할 수 있으며, Amazon Machine Learning의 내장 데이터 프로세서를 사용하여 내장 "레시피" 언어에서 열을 하나 수정하는 것처럼 간단하게 몇 가지 공통 유형의 기능 엔지니어링을 만들 수 있습니다. 또한, Amazon Machine Learning은 사용자가 데이터를 가리키는 신규 데이터 소스 객체를 생성할 때, 해당 데이터를 기반으로 제안된 데이터 변환 레시피를 자동으로 생성할 수 있습니다. 해당 레시피는 데이터 콘텐츠에 따라 자동으로 최적화됩니다.

Amazon Machine Learning은 (a) 모델의 목표 크기, (b) 데이터 전송 수, (c) 모델에 적용할 규칙의 유형 및 수와 같이 학습 프로세스 조정을 위한 몇 가지 파라미터도 제공합니다. Amazon Machine Learning의 기본 설정으로 대부분의 실제 기계 학습 작업이 잘 수행되지만, 서비스 콘솔이나 API를 사용하여 필요에 따라 설정을 변경할 수 있습니다.

마지막으로 고려해야 할 모델 튜닝의 중요한 측면은 기계 모델에서 생성한 예측을 기업 목표에 최적화되도록 애플리케이션에서 어떻게 해석하는가입니다. Amazon Machine Learning은 해석 한계 점수를 바이너리 분류 모델에 맞게 조정하도록 지원하여 교육된 모델에서 발생할 수 있는 여러 종류의 실수 사이에서 합리적으로 균형을 맞출 수 있습니다. 예를 들어, 일부 애플리케이션은 거짓 긍정 오류에 대해서는 허용 한계가 높지만 거짓 부정에 대해서는 엄격합니다. Amazon Machine Learning 서비스 콘솔을 사용하여 이러한 요구 사항에 맞게 한계 점수를 조정할 수 있습니다. 자세한 내용은 Amazon Machine Learning Developer GuideEvaluating ML Models를 확인하십시오.

Q: Amazon Machine Learning에서 모델을 내보낼 수 있습니까?

아니요.

Q: 기존 모델을 Amazon Machine Learning으로 가져올 수 있습니까?

아니요.

Q: 기계 학습 모델을 생성하기 위해서는 Amazon Machine Learning에서 데이터의 영구 사본을 만들어야 합니까?

아니요. Amazon Machine Learning에서는 데이터 내 패턴을 찾아 추출하기 위한 데이터 읽기 액세스만 필요하며 기계 학습 모델에 패턴을 저장합니다. 기계 학습 모델은 데이터 사본이 아닙니다. Amazon Redshift 또는 Amazon RDS에 저장된 데이터를 액세스할 때, Amazon Machine Learning에서 사용자가 선택한 S3 위치로 쿼리 결과를 내보낸 다음 S3로부터 결과를 읽습니다. 임시 데이터 사본에 대한 소유권은 전적으로 사용자에게 있으며 Amazon Machine Learning 작업이 완료된 후 제거할 수 있습니다.

맨 위로 이동 >>

Q: 모델이 준비되면, 애플리케이션에 대한 예측을 어떻게 가져옵니까?

Amazon Machine Learning을 사용하여 배치 API 또는 실시간 API라는 두 가지 방법으로 예측을 가져올 수 있습니다. 배치 API는 대용량 입력 데이터 레코드에 대한 예측 요청 시 사용합니다. 오프라인으로 작동하며 모든 예측을 한번에 반환합니다. 실시간 API는 개별 입력 데이터 레코드에 대한 예측 요청 시 사용하며 예측을 즉시 반환합니다. 실시간 API는 높은 처리량으로 사용할 수 있으며, 병렬 요청에 대해 동시에 여러 예측을 생성합니다.

Amazon Machine Learning으로 구축된 기계 학습 모델은 모두 배치 API 또는 실시간 API를 사용할 수 있으며 애플리케이션 요구 사항에 따라 선택하면 됩니다. 일반적으로 대량의 데이터 레코드로 운영되는 애플리케이션은 배치 API를 사용하고 대화형 웹, 모바일, 데스크톱 애플리케이션에는 실시간 API를 사용합니다.

Q: Amazon Machine Learning 실시간 API는 얼마나 빠르게 예측을 생성할 수 있습니까?

대부분의 실시간 예측 요청은 100MS 이내에 반환되어 대화형 웹, 모바일 또는 데스크톱 애플리케이션에 손색이 없습니다. 실시간 API의 정확한 예측 생성 소요 시간은 입력 데이터 레코드의 크기와 예측을 생성하는 기계 학습 모델과 관련된 데이터 처리 "레시피"의 복잡도에 따라 달라집니다.

Q: Amazon Machine Learning에서는 동시에 몇 개의 실시간 API 요청을 처리할 수 있습니까?

실시간 예측이 활성화된 각 기계 학습 모델에는 엔드포인트 URL이 할당됩니다. 기본적으로 어느 실시간 예측 엔드포인트에서나 초당 200건의 트랜잭션(TPS)을 요청할 수 있습니다. 애플리케이션의 필요에 따라 이러한 제한이 불충분한 경우 고객 지원 센터에 문의하십시오.

Q: Amazon Machine Learning은 얼마나 빨리 배치 예측을 반환할 수 있습니까?

배치 예측 API는 빠르고 효율적입니다. 배치 예측 결과 반환에 소요되는 시간은 (a) 입력 데이터 크기, (b) 예측을 생성하는 기계 학습 모델과 관련된 데이터 처리 "레시피"의 복잡도, (c) 사용자 계정에서 동시에 실행 중인 다른 배치 작업(데이터 처리, 모델 교육, 평가, 다른 배치 처리 요청)의 수를 비롯하여 몇 가지 요소에 따라 달라집니다. 기본적으로 Amazon Machine Learning은 동시에 다섯 개까지 배치 작업을 실행합니다. 애플리케이션의 필요에 따라 이러한 기준치가 불충분한 경우 고객 지원 센터에 문의하십시오.

Q: 예측이 잘 수행되고 있는지 모니터링은 어떻게 합니까?

예측 성능 모니터링에는 (a) 배치 및 실시간 예측 트래픽의 볼륨 모니터링과 (b) 예측 모델의 품질 모니터링의 두 가지 기본 유형이 있습니다.

Amazon Machine Learning에서 고객의 CloudWatch 계정으로 게시하는 Amazon CloudWatch 지표를 통해 예측 트래픽의 볼륨을 모니터링할 수 있습니다. 모니터링 기간 동안 배치 예측 또는 실시간 예측을 수신한 각 기계 학습 모델 ID에 대해 Amazon Machine Learning에서 예측이 성공적으로 생성된 데이터 레코드 수와 구문 분석 오류로 예측 생성이 안된 기계 학습 레코드 수를 게시합니다.

시간을 두고 기계 학습 모델의 품질을 모니터링하기 위한 업계 모범 사례는 예측을 위해 애플리케이션이 제출한 데이터 레코드의 무작위 샘플을 정기적으로 캡처하고, 정답("대상")을 확보한 다음, Amazon Machine Learning을 사용하여 결과 데이터 세트를 평가하는 것입니다. Amazon Machine Learning이 생성된 예측과 대상을 비교하여 모델 품질 지표를 컴퓨팅하게 됩니다. 품질 지표가 시간에 걸쳐 하락하는 경우는 초기에 모델 교육에 사용했던 데이터가 더 이상 현재 상황에 맞지 않으므로 신규 데이터 요소로 새로운 모델을 교육해야 함을 의미합니다. 예를 들어, 기계 학습 모델로 부정 거래를 탐지하는 경우 모델 교육 당시에는 알려지지 않았던 새로운 유형의 거래 사기가 나타나기 때문에 시간이 지나면서 품질이 저하되는 것을 볼 수 있습니다. 최신의 부정 거래 예제로 신규 기계 학습 모델을 교육하면 Amazon Machine Learning이 이러한 거래를 파악하는 패턴을 찾아낼 수 있으므로 시간에 따른 품질 저하에 대처할 수 있습니다.

맨 위로 이동 >>