본문 바로가기

Develop/DevOps

[Cloud OnBoard] 4 - 빅데이터 및 머신러닝

2019년 11월 26일 세종대학교에서 있었던 Google Cloud OnBoard에서 나누어준 자료집의 정리본입니다


모듈4 빅데이터 및 머신러닝

0. 추가자료

Google 빅데이터 플랫폼 : https://cloud.google.com/products/big-data

Google AI Platform : https://cloud.google.com/products/ai

1. Google Cloud 빅데이터 플랫폼

1-1.Google Cloud의 빅데이터 서비스

  • 확장가능한 완전 관리형 서비스
  1. Cloud Dataproc : 관리형 Hadoop 맵리듀스, Spark, Pig, Hive 서비스
  2. Cloud Dataflow : 스트리밍 및 일괄 처리, 파이프라인 통합 및 관소화
  3. BigQuery : 분석 데이터베이스, 데이터 스트리밍 속도 초당 100,000원
  4. Cloud Pub/Sub : 확장 가능하고 유연한 엔터프라이즈 메시징
  5. Cloud Datalab : 대화형 데이터 탐색

1-2. Cloud Dataproc

  • 특징
    • 관리형 Hadoop
    • GCP Hadoop 및 Spark/Hive/Pig를 관리형으로 빠르고 쉽게 실행하는 방법
    • 클러스터 생성 시간 평균 90초 이하
    • 작업 실행 중에도 클러스터 규모 확장 및 축소
  • 사용해야하는 이유
    • 온프레미스 Hadoop 작업을 클라우드로 손쉽게 마이그레이션 합니다.
    • Cloud Storage에 저장된 로그 등의 데이터를 빠르게 분석하고, 평균 90초 이내에 클러스터를 생성하고, 즉시 삭제 합니다.
    • Spark/Spark SQL을 사용하여 데이터 마이닝 및 분석을 빠르게 수행합니다.
    • Spark 머신러닝 라이브러리(MLlib)를 사용하여 분류 알고리즘을 실행합니다.

1-3. Cloud Dataflow

  • 특징
    • 관리형 데이터 파이프라인
    • Compute Engine 인스턴스를 사용하여 데이터 처리
      • 클러스터 크기 자동 조절
      • 자동화된 확장, 인스턴스 프로비저닝이 필요하지 않음
    • 코드를 한 번만 작성하여 일괄 처리 및 스트리밍
      • 변환 기반 프로그래밍 모델
    • Dataflow 파이프라인으로 변환을 통해 소스의 데이터가 이동

  • 사용해야하는 이유
    • ETL (추출/변환/로드) 파이프라인으로 데이터 이동, 필터링, 다변화 및 형성
    • 데이터 분석: 일괄 연선 또는 스트리밍을 사용한 연속 연산
    • 오케스트레이션 : 외부 서비스를 포함하여 여러 서비스를 조율하는 파이프라인 작성
    • Cloud Storage, Cloud Pub/Sub, BigQuery, Bigtable 등의 GCP 서비스와 통합
      • 오픈 소스 Java 및 Python SDK

1-4. BigQuery

  • 완전 관리형 데이터 웨어하우스
    • 방대한 데이터세트 (수백 TB)에 대한 실시간에 가까운 대화형 분석 제공
    • SQL 구문(SQL 2011)을 사용하는 쿼리
    • 클러스터 유지보수가 필요하지 않음
  • Google의 고성능 인프라에서 실행
    • 컴퓨팅과 스토리지가 테라비트급 네트워크로 분리됨
    • 사용된 스토리지 및 처리에 대해서만 지불
    • 장기 데이터 스토리지 자동할인

1-5. Cloud Pub/Sub

  • 특징
    • 확장가능하고 안정적인 메시징
    • 다대다 비동기 메시징 지원 : 애플리케이션 구성요소에서 주제에 대한 push/pull 구독 작성
    • 오프라인 소비자 지원 포함
    • 검증된 Google 기술 활용
  • 사용해야하는 이유
    • Dataflow, 사물인터넷(IoT), 마케팅 분석의 데이터 수집을 위한 구성 요소
    • Dataflow 스트리밍의 기반
    • 클라우드 기반 애플리케이션의 푸시 알림
    • Google Cloud Platform에 속하는 여러 애플리케이션 연결(Compute Engine과 App Engine 사이에 push/pull)

1-6. Cloud Datalab

  • 특징
    • 대화형 데이터 탐색 제공
    • 대규모 데이터 탐색, 변환, 분석, 시각화를 위한 대화형 도구
    • 통합, 오픈 소스 : Jupyter(Ipython)를 기반으로함
  • 사용해야하는 이유
    • 코드, 문서, 결과, 시각화를 직관적인 메모장 형식으로 생성 및 관리
      손쉬운 시각화를 위해 Google Charts 또는 matplotlib 사용
    • Python SQL, 자바스크립트를 사용하여 BigQuery, ComputeEngine, Cloud Storage에서 데이터를 분석
    • BigQuery에 모델을 손쉽게 배포

2. Google Cloud AI Platform

2-1. Cloud AI Platform

  • 신경망 모델을 빌드 및 실행하는 오픈 소스 도구
    • 폭넓은 플랫폼 지원 : CPU 또는 GPU, 모바일, 서버, 클라우드
  • 완전 관리형 머신러닝 서비스
    • 익숙한 메모장 기반 개발자 환경
    • Google 인프라에 최적화, BigQuery 및 Cloud Storage와 통합
  • Google에서 빌드한 선행 학습된 머신러닝 모델
    • 음성: 결과를 실시간으로 스트리밍 하고, 80개의 언어를 이해함
    • 비전: 객체, 랜드마크, 텍스트, 콘텐츠 식별
    • 번역: 언어 감지 및 번역
    • 자연어: 텍스트의 의미, 구조
  • 구조화된 데이터 : 분류 및 회귀 / 추천 / 이상감지
  • 구조화되지 않은 데이터 : 이미지 및 동영상 분석 / 텍스트 분석

2-2. Cloud Vision API

  • 단순한 REST API로 이미지 분석
    • 로고 감지, 라벨 인식 등
  • Cloud Vision API에서 제공하는 기능
    • 이미지에서 유용한 정보 확보
    • 부적절한 콘텐츠 감지
    • 정서 분석
    • 텍스트 추출

2-3. Cloud Speech API

  • 80개 이상 언어 및 변형어 인식
  • 실시간으로 텍스트 반환 가능
  • 소음이 심환 환경에서도 높은 정확도 제공
  • 모든 기기에서 액세스
  • Google 머신러닝 기반

2-4. Cloud Natural Language API

  • 머신러닝 모델을 사용하여 텍스트의 구조와 의미를 파악합니다
  • 텍스문서, 뉴스기사, 블로그 글에서 언급된 사안에 관한 정보를 추출합니다.
  • 요청시 업로드된 텍스트를 분석하거나 Cloud Storage와 통합합니다.

2-5. Cloud Translation API

  • 수많은 언어 쌍 사이에서 임의 문자열 번역
  • 문서의 언어를 프로그래매틱 방식으로 감지
  • 수십 개의 언어 지원

2-6. Cloud Video Intelligence API

  • 동영상 콘텐츠에 특수효과 적용
  • 장면 변화 감지
  • 부적절한 콘텐츠 신고
  • 다양한 동영상 형식 지원