반응형

머신러닝과 딥러닝을 이용한 데이터 분석은 대량의 데이터를 다룰 뿐만 아니라 처리 속도가 높아야 하므로 기기의 하드웨어 스펙도 높은 성능을 보유해야 합니다.

 

01. 분산 컴퓨팅과 병렬 컴퓨팅

기본적으로 많은 컴퓨팅 자원이 있어야 하므로 대규모 계산기 시스템 또는 대형 계산기 시스템이라고도 합니다.

 

02. 분산 컴퓨팅 하드웨어 환경

그리드 컴퓨팅

컴퓨터 다수를 서로 연결해서 계산 처리를 분산하는 슈퍼컴퓨터가 있습니다.

스토리지 시스템

컴퓨터 다수가 서로 통신하면서 계산 처리를 하는 컴퓨터 집합을 컴퓨터 클러스트라고 하며 컴퓨터 클러스터를 이용해 대규모 계산량이 필요한 고도의 처리를 고성능 컴퓨팅High Performace computing이라고 합니다. 

 

GCP: GOOGLE CLOUD Platform

GPGPU: 화상 처리 장치 Graphics Processing Unit, GPU :그래픽 가속기의 중심

 

매니코어 cpu

Many-core: 수백개의 코어를 가진 CPU 

 

FPGA: Field-Programmable Gate Array: 전용 개발 환경을 이용해 회로를 자유롭게 고칠 수 있는 것 

장점:

스트리밍 데이터를 고속으로 처리하므로 비디오 압축과 변환 등 실시간 데이터 처리가 필요할 때 이용합니다.

전용 LSI 와 비교했을 때 속도나 회로 집적도는 낮지만 하드웨어와 소프트웨어 모두에 대응한다는 편의성이 있으므로 프로토타입 구축 등에 많이 사용합니다.

gpu등과 비교 했을 떄 소비 전력이 작으므로 부동 소수점 연산까지 정밀도를 요구하지 않는 연산 처리에 유용합니다.

 

03. 분산 컴퓨팅 소프트웨어 환경 

멀티 프로세스 

멀티태스킹은 프로세스마다 처리해야 할  역할이나 데이터를 나눠서 데이터 처리를 효율화하려는 목적이 있습니다.

부모프로세스 , 자식 프로세스 

여러개 cpu에서 프로세스를 병렬 처리하는 표준 규격으로 MPI Message Passing Interface가 있습니다.

 

멀티 스레드

프로세스 안의 메모리 공간을 공유해서 부모 스레드가 자식 스레드를 생성하고 호출할 수 있습니다.

 

아파치 하둡 Apache Hadoop은 야후 리서치의 더그 커팅이 개발한 대규모 분산 처리 프레임워크입니다.

구글에서 개발한 구글 파일 시스템과 맵리듀스의 개념을 기반으로 둔 클론 소프트웨어로 개발한 것입니다.

 

HDFS " 마스터 노드인 네임 노드 와 슬레이브 노드인 데이터 노드로 구성된 클러스터입니다.

 

맵리듀스

여러 프로세스가 각각  키-값 형태로 데이터를 취합하는 맵 처리 , 집계가 끝난 키-값 형태의 데이터를 통합하는 셔플처리 , 맵 처리를 정리하는 리듀스 처리로 나눠 데이터를 다룹니다.

 

YARN Yet-Another-Resource-Negotiator은 하둡의 맵리듀스 처리 부분을 새롭게 만든 하둡 2.0 이상의 자원 처리 플랫폼입니다.

 

아파치 스파크: 하둡 기반 대규모 데이터 분산 처리 시스템

 

04. 머신러닝과 딥러닝 개발 환경

머신러닝 개발에 이용하는 주요 환경

구글 클라우드 플랫폼 => 구글 예측 API

마이크로소프트 애저 머신러닝  => 마이크로 애저 머신러닝(AzureML) ,아마존 머신러닝(AmazonML)

아마존 머신러닝 : AWS와의 친환성이 강점인 머신러닝 환경입니다.

IBM 블루믹스 : 

IBM 왓슨 : 자연어 분류와 대화 , 검색과 순위 매기기, 문서 변환, 음성 인식, 음성 합성 등의 고급 기능을 통해 애플리케이션 개발을 지원하는 플랫폼입니다.

 

딥러닝 개발에 이용하는 주요 환경

카페 : 버클리 버전& 러닝 센터가 중심이 되어 개발하는 딥러닝 프로임워크입니다. 파이썬과 MATLAB에서 사용할 수 있습니다.

테아노: 딥러닝을 위한 파이썬 라이브러리입니다.  이미지 인식 등 특정 처리 용도의 라이브러리가 아니고 수치 계산 전반을 실행하는 딥러닝 도구라는 성격이 강합니다.

체이너  : 일본 기업인 프리퍼터 네트워크스가 제공하는 오픈 소스 딥러닝 프레임워크입니다. 일본어 지원을 받기 쉬운것이 장점입니다.

텐서플로 : 알파고 

MXNet 2016년에 들어 주목받는 딥러닝 라이브러리

케라스 : 

 

머시러닝과 딥러닝 개발을 위한 프로그래밍 언어

 

 

 

 

출처 : 처음 배우는 인공지능

반응형

+ Recent posts