2017년 1월 13일 금요일

IBM의 Watson

출처: IBM Watson Group
빅데이터 기반의 의료 서비스하면 IBM의 왓슨이 떠오른다. 최근 IBM을 비롯하여 마이크로소프트, 애플, 구글, 페이스북 등 글로벌 IT 기업들은 인공지능의 딥러닝 기술에 열을 올리고 있다.
IBM은 코그너티브 비즈니스(Cognitive Business) 전략 아래에서 인공지능 플랫폼 왓슨을 다양한 비지니스에 접목시키고자 하고 있다. 코그너티브 비즈니스는 인지 기술 기반 사업으로 비즈니스에 필요한 앱, 디바이스, 프로세스, 시스템 등에 사고 인지 컴퓨팅을 적용시키는 것이고, 인지 컴퓨팅은 인공지능과 머신러닝이 결합되어 컴퓨터가 인간의 언어로 상호작용하는 기술이다. IBM에서는 2020년이 되면 매일 인당 143GB를 생성하며 그 중 85%가 비정형 데이터일 것으로 예측했다(그림8).


<그림8> 개인의 빅데이터 생성 비율


왓슨은 기존 검색이나 답의 한계를 초월한 의사결정을 지원하는데 그림9에서 보는 것처럼 데이터베이스에 저장된 데이터를 조회하는 수준이 아니라 데이터를 이해하고 연관 있는 것들을 추론, 분석하는 것은 물론 신뢰도까지 계산해서 함께 전달하는 것이 특징이다(그림10).


<그림9> 왓슨의 기존 검색엔진과의 차이점


<그림10> 왓슨의 질문에 대한 답의 추론 예


왓슨은 인지 컴퓨팅을 위해 다양한 종류의 빅데이터를 수집하여 분석, 통합하고(Ingest), 과학적 실체와 관계에 대해 학습하고 이해한다(Learn). 이에 대한 결과를 바탕으로 전문가 집단과 교육을 통해 학습을 하고(Test), 학습 결과를 통해 판단하면서(Experience) 성장하고 있다.


<그림11> 왓슨의 데이터 수집 및 분석(Ingest)


그림11에서 보는 것처럼, 왓슨은 수분 안에 수백 가지 이상의 데이터 소스를 연결하고 분석하여 통찰력을 발견하도록 되어 있다. 이렇게 수집하고 분석, 통합한 데이터를 바탕으로 심도 깊은 자연어 이해 기술로 데이터 간의 연관 관계를 찾아 이해한다(그림12).


<그림12> 왓슨의 학습과 이해(Learn)

SW 공학기술 적용 - 사업 수행 내용 중심으로


현황분석


 가이드작성


역량강화교육



GoLang과 다른 언어의 성능차이 추적

Hello 10만개 출력하기-Go와 Java Thread 성능차이



그럼 위 언어 쓰는건 OK? 성능 추적은?
   •Java야–이미 언어차원에서 여러 성능 지표 수집기능을 지원
   •하지만 다른 언어는 미비..(node.js, golang, ..등) 해결책은 Dtrace


Dtrace는 Kernel및 Application을 추적하는 언어



Dtrace의  지원언어 및 추적영역