본문 바로가기

분류 전체보기325

[OSS] AutoKeras로 자동학습(AutoML) 하기 최근 회사 업무를 하면서 AutoML을 조사할 일이 있었는데, AutoKeras가 작년말 정식 Release 되었다는 것을 알았다. AutoKeras는 Texas A&M에서 만든 것으로 많은 AutoML솔루션들이 Table 데이터 처리를 위한 최적의 머신러닝 모델을 찾아주는 것에 반해, Google AutoML과 마찬가지로 비정형 데이터까지 모델링 해 준다. AutoKeras는 무엇보다 설치가 간단하다. 기존에 사용하던 머신에 AutoKeras 패키지만 설치해 주면 잘 동작한다(설치조건: Tensorflow 2.1, Python 3.6). GPU 설정은 공통된 부분이고, 요즘은 AWS SageMaker나 GCP AI Platform에서 설정되어 나오니 크게 신경쓰지 않아도 된다. pip install a.. 2020. 3. 4.
[AWS] DataSync로 데이터 이전하기 흔하지는 않지만 프로젝트가 통합되거나 다른 Region으로 옮긴다고 했을 때, 데이터를 같이 이동하지 않으면 Outbound로 인해 네트워크 요금이 지속 발생할 수 있다. AWS에서는 이런 경우를 위해 DataSync라는 안정성 있는 이전 서비스를 제공하고 있다. 위의 그림은 EFS to EFS의 예시를 보여주고 있는데, S3 to EFS나 S3 to S3도 가능하다. 기본적인 원리는 데이터를 보내고자 하는 Source 쪽에 Data 이전을 담당할 Agent를 EC2로 구성하고, Destination의 DataSync 서비스로 해당 Agent와 연결하여, Source의 데이터에 직접 접근하지 않으면서 Data Transfer를 수행하는 구조다. 첫번째 단계로 소스쪽의 Agent를 구성해야 하는데, EC2.. 2020. 3. 4.
[GCP] 청구된 비용 환불 요청하기 GCP 학습 목적으로 Free-Tier를 신청해서 쓰곤하는데, 최근 GCP 한국 리젼 설치와 함께 계정 이동 요청을 받았다. 그 과정을 거치다보니 내계정으로 100불 가까이 청구된 것을 보고 부랴부랴 프로젝트와 결제계정을 닫았다. 하지만, 미납된 비용은 청구되었고, 그저 학습 목적으로 사용한 것이 아주 큰 돈은 아니지만 억울함이 이만저만이 아니었다. E-Mail을 통한 요청을 했는데, 확인 메일이 오지 않아 걱정을 하던차 채팅에 도전했다. 복잡하게 할 것 없이 GCP로 들어가 지원->채팅 지원을 선택하고 Billing ID와 어떤 문제인지 영어로 적으면(한글지원은 9시-5시 사이만 지원) 바로 채팅이 시작된다. 유료 계정으로 전환(12개월이 지나거나 Free Limit을 다 사용한 경우 물어봄)한다고 명.. 2020. 3. 4.
[GCP] Argo로 Workflow 만들기 사실 Production 레벨로 가지 않으면, ML개발에 Workflow를 사용할 일은 많지 않다. 대부분 샘플데이터로 전처리 한후 그 데이터를 공유해서 각자 모델을 개발하게 되는데, Production Level에서는 계속 새로운 데이터가 발생하기 때문에 데이터 수집부터 배포까지 하나의 파이프라인으로 관리해야할 필요성이 생긴다. Argo는 컨테이너 기반으르 파이프라인을 구성해주는 도구로 Kubeflow에서도 Workflow Orchestration은 Argo를 사용한다. Kubeflow Pipeline Overview Argo 설치 curl -sSL -o /usr/local/bin/argo https://github.com/argoproj/argo/releases/download/v2.2.1/argo-.. 2020. 3. 4.
[GCP] 터미널에서 kubectl 사용하기 GKE에서 Kubernetes 클러스터를 생성했다면, Cloud Shell에서 바로 Kubectl을 이용해 Kubernetes 환경에 접근할 수 있다. 하지만, Cloud Shell 환경은 설치된 라이브러리나 소프트웨어가 향후에 사라질 수 있기 때문에, 인스턴스를 만들어 SSH연결이나 터미널 클라이언트를 사용하곤 한다. 터미널 클라이언트의 사용은 아래의 내용을 참고하면 된다. 터미널에서 Putty 사용하기 kubectl을 사용하기 위해서는 google cloud sdk를 설치해야하는데, 설치 방법도 위의 내용을 참고하면 된다. kubectl의 설치는 아래와 같이 한다. sudo apt-get update && sudo apt-get install -y apt-transport-https curl -s h.. 2020. 3. 4.
[GCP] Apache Beam 사용하기 대량의 데이터를 전처리하는 건 많은 시간이 소요된다. Cloud 상에서 가용한 자원들을 동적으로 할당해서 좀 더 빠르게 해줄 수 있으면 좋은데, 병렬처리라는 게 또 공부하려면 만만찮아서인지 GCP에는 Cloud Dataflow라는 서비스가 이를 대신해 준다. Cloud Dataflow는 병렬로 실행시키는 일종의 흐름을 제어하는 서비스이고, 어떤 형태로 병렬 처리할지 그 구조를 Pipeline 형태로 잡아 놓는 것이 Google이 기증한 ‘Apache Beam’이 된다. Apache Beam으로 형성된 Pipeline은 Local에서 ‘DirectRunner’를 통해 수행(병렬처리는 안됨)하거나, Apache Flink 혹은 Spark로도 실행할 수 있다. Beam의 예제로 자주 등장하는 단락 내에 단어 .. 2020. 3. 4.