반응형

Data Science 18

GPT-3에 대한 얕고 넓은 지식

"기사 쓰는 인공지능", "사람이냐, AI냐?!", "초거대 AI" 언제부턴가, 당장이라도 인간을 충분히 대체할 수 있는 인공지능이 개발된 듯한 기사가 쏟아지기 시작했고, 그것과 함께 따라오는 단어가 있었다. "GPT-3"다. GPT-3는 뭘까. GPT-3는 어떻게 인간을 대신할 수 있다고 할 정도로 뛰어난 성능을 보일 수 있게 되었을까. GPT-3 GPT-3(Generative Pre-trained Transformer 3)는 OpenAI사에서 만든 자연어 처리 모델 / 언어 모델이다. 다르게 표현하면, 딥러닝을 이용해 인간다운 텍스트를 만들어내는 인공지능이다. 이를 통해, 소설, 뉴스 기사 생성 등에 사용 가능하다. (참고로, OpenAI는 일론머스크가 설립했다.) GPT라는 모델은 시간에 따라 업그..

스파크 MLlib + 선형회귀법, Spark MLlib + Linear Regression - (2) Feature extraction

앞서 (1)편에서 얘기했던, 4가지의 과정 중에서 이번에는 Feature extraction에 대해서 얘기해볼것이다. (가장 첫번째 단계인 데이터 수집 및 준비 단계는 이미 이루어졌다고 가정한다.) 0. Feature Extraction Feature란, 어떤 결과의 원인에 해당하는 일이라고 설명했다. 우리가 머신러닝을 하는 대표적인 이유가 예측을 하기 위한 것이다. 그렇다면 "어떤 조건에 대한", "어떤 값에 대한" 예측을 할 것인지가 정해져야 하는데, 그 "조건"과 "값"이 원인 요소에 해당하는 것이고. 그것을 우리는 Feature라고 한다. 만약에 우리가 지도 학습을 하게 되는거라면, 다양한 이미 답이 만들어져 있는 것으로 학습을 시키게 될 것이다. 가령, 온도와 아이스크림 판매량 데이터를 가지고,..

스파크 MLlib + 선형회귀법, Spark MLlib + Linear Regression - (1) 기초

0. 스파크 MLlib을 이용해서, 선형회귀(Linear regression)를 구현해보자.우선은, 선형회귀에 대한 기본적인 이해는 되어있다는 것으로 전제한다.만약에 안되어 있다면 이곳을 참고하자. 1. 스파크 MLlib의 디자인과 철학은 단순하다."모든 데이터가 RDD로 표현된 분산 데이터셋에서 다양한 알고리즘을 가져다 쓸수 있게 해주는 것" 가령, 스팸 메일 분류를 위해 MLlib을 쓴다고 하면 다음과 같은 과정이 있을 것이다.메일 메세지를 표현하는 문자열들이 담긴 RDD를 준비한다.MLlib의 feature 추출 알고리즘들 중 하나를 써서 문자열을 수치화된 특성으로 변환한다 (머신러닝에 적합하도록). 이는 벡터들의 RDD를 되돌려 줄 것이다.벡터의 RDD에 분류 알고리즘을 호출한다(예: 선형 회귀(..

선형 회귀, Linear Regression

우선, 선형 회귀를 분석한다고 할때. "회귀 분석"의 의미는 둘 또는 그 이상의 변수들 간의 인과 관계를 파악하는 것을 의미한다. 가령, 날씨와 아이스크림 판매량의 관계를 분석한다고 했을때.날씨가 더우면 -> 아이스크림 판매량이 올라간다.날씨가 추우면 -> 아이스크림 판매량이 내려간다.와 같이 밀접한 인과 관계를 분석하는 것을 회귀 분석한다고 말한다. 이때, 회귀 분석은, 둘 또는 그 이상의 변수들 간의 상관 관계를 파악하는, 상관 분석에 포함되는 개념이다. (상관 분석의 예는, 어떤 학생의 수학 점수와 영어 점수 간의 관계 같은 것이다. 어떤 관계가 있다고 하더라도, 인과 관계는 형성될 수 없는 관계를 나타낼 때. 상관 관계는 있으나, 인과 관계는 없다고 말할 수 있다) 그럼, 요즘 머신 러닝에서 가장..

스파크 스트리밍 + 카프카, Spark streaming + Kafka

요즘에 구상하고 있는 연구의 모델이, 각 서버로 부터 실시간 로그를 받아서 값을 분석하여 최적화하는거라 스파크 스트리밍을 보고있다. 스파크 스트리밍을 선택하자라는 결론에 도달했을때, 입력 소스는 어떻게 할 것인가 하는 고민이 있었다. 뭐, 다양한 방법이 있을 수 있겠지만. 요새 핫하다는 아파치 카프카를 사용해봐야겠다고 마음먹었다. (엔지니어라면 핫한 기술에 손이 가기 마련이니..) 무엇보다, 스파크 공식 홈페이지에서 카프카와 연동하는 방법에 대해 아주 잘 기술되어 있어서 기술을 적용하는데에 있어서도 어려움이 상대적으로 적다고 할 수 있다. 그렇다면, 아파치 카프카(Apache Kafka)는 무엇일까.카프카는 대용량 실시간 처리를 위해 사용하는 메시징 시스템이며, Pub-Sub 구조를 이용한다.요즘 잘나간..

스파크 스트리밍, Spark Streaming

1. 배경 모바일 디바이스와 더불에 IoT 시대로 들어서면서, 데이터는 양만큼이나 빠른 속도가 중요해졌다. 빅데이터가 만족시켜야 하는 3가지 요소, (3V, Volume, Velocity, Variety), 중 속도(Velocity)의 중요성이 더욱 커졌다는 것이다. 그에 따라, 우리가 평소에도 많이 들어본 것 처럼, "실시간" 처리가 중요해졌고, 그와 밀접한 기술적 명명인 "스트림" 처리가 중요해졌다. 스파크 스트리밍은 그런 니즈로 부터 나왔다고 할 수 있다. 스파크 스트리밍을 통해서, 우리는 사용자로 부터 혹은 서버로 부터 실시간으로 데이터를 받아들여서 처리하고 분석할 수 있다. 2. 스파크 스트리밍과 DStream RDD의 개념을 바탕으로 구축된 스파크처럼 스파크 스트리밍은 DStream (Disc..

[책] 헬로 데이터과학 -(5) 탐색적 데이터 분석

헬로 데이터과학 - (5) "진정한 발견은 새로운 장소를 찾는 것이 아니라, 새로운 관점을 찾는 것이다" - 마르셀 프루스트 데이터가 수집되었다면, 먼저 그 데이터의 모든 측면을 철저히 이해하고 노력해야한다. 그것이 데이터 수집 후의 첫번째 과정이라고 할 수있다. 따라서,수집한 데이터가 들어왔을 때,그 데이터를 다양한 각도에서 관찰하고 이해하는 과정을 탐색적 데이터 분석(Exploratory Data Analysis, EDA)이라고 부른다. 탐색적 데이터 분석이 필요한 이유는 다음과 같이 정리할 수 있다.데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견할 수 있다.이를 통해, 본격적인 분석에 들어가기에 앞서 데이터를 다시 수집하거나 추가로 ..

아파치 카프카 (Apache Kafka) 설치 및 예제 실행

스파크 스트리밍과 같은 것을 이용하기 위해서는, 입력(Input) 도구로 아파치 카프카(Apache Kafka)를 많이 쓴다. 이번 포스팅에는 그 아파치 카프카를 설치하고, 간단한 예제를 실행시켜보는 것까지 하겠다. 시스템 환경은Macbook Air OS X EI Capitan version 10.11.6 이다. 1. 카프카 다운로드 아파치 카프카 공식 홈페이지에 가면, 다운로드 페이지(https://kafka.apache.org/downloads)에서 다운로드 받을 수 있다. 나의 경우 Binary로 Scala 2.11 버전을 다운받았다.다운로드 후, 압축을 풀면 끝. 2. 카프카 브로커(서버) 실행 카프카는 주키퍼(zookeeper)를 사용한다. 만약 사용하는 시스템에 현재 주키퍼가 따로 없다면, 내..

Data Science/Kafka 2017.11.01

IntelliJ + Maven + Scala 으로 Jar 파일 만들기

이전에 포스팅했던, "아파치 스파크 개발 환경 구축 및 예제 실습 - IntelliJ + Maven + Scala + Mac"에서IntelliJ 상에서 프로그램을 실행(Run)시키는 것을 해보았다. IDE 툴을 이용하여, 프로그램을 개발하고 간단한 테스트를 하는 것은 문제없지만만약에 그 프로그램을 어딘가 배포시키려는 목적이 있다면, 아마도 Jar 파일 추출시켜야 할 것이다. 나의 경우에도 연구실의 내 자리에 있는 PC에서 개발 및 간단한 테스트를 진행하고,본격적인 실험을 위해선 그 프로그램을 서버에 포팅시키는 작업이 필요했다. 그래서 Jar 파일을 만든 후, 터미널에서 spark-submit을 이용해 실행시키기 위한 긴.... 여정을 떠났다. 이번 포스팅에서 그 길었던 여정에 대해서 이야기해볼 참이다. ..

아파치 스파크 (Apache Spark) 설치 - Window 10 환경

스파크를 개발할 때, 윈도우 환경에서 개발을 하고, Jar 파일을 만들어서 리눅스에 배포하여 실행시키는 방식을 꽤 많이 하는 것 같다. 우리나라 사람들이 유독 윈도우를 많이 써서 그런건가.. 아무튼, 그래서 오늘은 윈도우 환경에서 스파크를 설치하는 것을 해본다. 스파크를 실행시키기 위해서는 기본적으로 설치해줘야 하는 것들이 몇 가지 있다.Scala, Java(JDK), Winutils 또는 Hadoop, Spark 참고로, 스파크는 하둡을 설치하지 않고도 설치하여 실행이 가능하다.다만 그러기 위해선, Winutils을 따로 다운로드 받아서 설치해야한다.(하둡을 설치하면 그 안에 Winutils가 있다.) 그리고, hadoop-2.7.1 버전 (혹은 그 버전의 winutils.exe)를 사용하는 경우에는 ..

반응형