Chris Choi

Archive for the ‘Tech’ Category

인터넷의 힘

leave a comment »

인터넷의 힘을 처음 느꼈던 것은, Desktop과 인터넷만으로 어학 연수를 준비하고 떠났던 일. 2002년의 나에게는 굉장한 일이었다.

Advertisements

Written by Chris Choi

September 24, 2019 at 4:25 am

Posted in Tech

팀 쿡

leave a comment »

대단한 인물이다. Steve Jobs 사후 큰 굴곡 없이 여러 해 Apple을 이끌고 있다는 것만으로도. 그리고 Steve Jobs의 총애를 받았다는 것만으로도.

 

팀 쿡_Image 1.jpg

[Image 1. 『팀 쿡』 출처: 교보문고]

 

나는 결코 그처럼 완벽 지향적인 삶을 살 수 없을 것 같다. 그리고, 그럴 마음도 없다.

Written by Chris Choi

September 16, 2019 at 10:49 pm

Posted in Tech

JupyterLab + Altair

leave a comment »

Project Jupyter를 좀 더 편리하게 사용할 수 있게 되었다. 바로 JupyterLab 이다.

Jyputerlab을 사용하기 위해서는 버전 4.3 이상의 Jupyter Notebook이 설치되어 있는지 확인한다.

—————————————————————————————————————————-

jupyter notebook –version

—————————————————————————————————————————-

 

pip로 JupyterLab을 설치한다.

—————————————————————————————————————————-

Pip install jupyterlab

—————————————————————————————————————————-

 

Visualization Library인 Altair와 JupterLab을 함께 사용할 수도 있다. 먼저 함께 설치한다.

—————————————————————————————————————————-

pip install –U altair vega_datasets jupyterlab

—————————————————————————————————————————-

 

JupyterLab을 실행한다. 브라우저가 자동으로 실행된다.

—————————————————————————————————————————-

jupyter lab

—————————————————————————————————————————-

 

Altair는 Dataframe을 기반으로 한다. Chart는 Altair의 기본적인 Object이다.

—————————————————————————————————————————-

import altair as alt // Altair Library를 import 한다.

from vega_datasets import data

 

df = data.seattle_weather() // Seattle 날씨 데이터를 DataFrame에 저장한다.

 

alt.Chart (df).mark_tick().encode ( // ‘mark_tick()’은 1차원 분포도를 그린다. ‘encode()’는 데이터의 채널을 만드는 역할을 한다.

x = ‘precipitation’

)

—————————————————————————————————————————-

 

JupyterLab Altair_Image 1.png

[Image 1]

 

텍스트로 데이터를 확인하려면 JSON으로 변환해 확인할 수 있다.

—————————————————————————————————————————-

charts = alt.Chart (df).mark_tick().encode (

x = ‘precipitation’

)

print (charts.to_json())

—————————————————————————————————————————-

 

alt.Chart (df).mark_bar().encode ( // ‘mark_bar()’는 Bar chart를 그린다.

alt.X (‘precipitation’, bin = True), // x = alt.X (‘precipitation’, bin = alt.Bin(maxbins = 50)),

y = ‘count()’

)

 

JupyterLab Altair_Image 2.png

[Image 2]

 

chart = alt.Chart (df).mark_line().encode (

x = ‘month(date):T’,

y = ‘average (precipitation)’ // 평균 값을 계산한다.

)

print (chart.to_json())

 

alt.Chart(df).mark_line().encode (

x = ‘yearmonth(date):T’,

y = ‘max(temp_max)’

)

 

alt.Chart(df).mark_line().encode (

x = ‘year(date):T’,

y = ‘mean(temp_max)’

)

 

alt.Chart(df).mark_bar().encode(

x = ‘mean(temp_max)’,

y = ‘year(date):O’

)

 

alt.Chart(df).mark_bar().encode (

x = ‘mean(temp_range):Q’,

y = ‘year(date):O’

).transform_calculate(

temp_range = “datum.temp_max – datum.temp_min”

)

—————————————————————————————————————————-

Written by Chris Choi

July 18, 2019 at 8:23 pm

Posted in Tech

Tagged with , ,

자동화와 효율성

leave a comment »

‘자동화’와 ‘효율성’. 기업들이 좋아하는 단어다. (효율성 대신 ‘생산성’이라는 단어를 사용해도 무방하다.) 후자가 목표라면 전자는 과정이다. 자동화를 통해 효율성을 높이려는 시도는 자연스러운 일이다. 다만 자동화를 통해 효율성을 ‘감시’한다면? 각 Task에 소요되는 시각을 정확히 측정한다. Task의 결과 역시 정량적으로 측정한다.

Cogito는 실시간으로 전화 통화 내용을 기반으로 점수를 매긴다. 고객과 상담사의 통화 톤을 분석한다. 고객의 입장에서 만족스러운 전화 상담을 제공하는 데 도움이 될 것이다. 하지만 상담사 입장에서는 일거수일투족이 평가되고 감시받는다는 느낌을 받을 수 있다. 그 기준은 물론 함께 합의한 것은 아니다. 판단은 AI가 한다.

Written by Chris Choi

July 18, 2019 at 12:13 pm

Posted in Tech

NVIDIA AI Conference 2019

with one comment

2017년과 2018년에 이어 NVIDIA AI Conference에 참석했습니다. 기업 인수와 신규 칩셋 등 NVIDIA의 최신 소식을 접할 수 있었고, NVIDIA와 국내 기업들이 협업을 흥미롭게 살펴볼 수 있었습니다.

 

[Link 1. ‘NVIDIA Deep Learning Day 2017’]

[Link 1. ‘NVIDIA AI Conference 2018’]

 

(덧붙인 내용은 이탤릭으로 표시했습니다.)

 

[Video 1. ‘I AM AI: GTC 2019 Kickoff’ 출처: NVIDIA YouTube Channel]

 

Keynote (Marc Hamilton, VP of Solutions Architecture and Engineering)

방콕의 한 호텔입니다. 실제 모습이 아닙니다. 실제 모습으로 착각할 수 있을 만큼 정교한 시각화입니다. 호텔을 건설하기 전에 시각화를 통해 창문, 빛, 반사, 그림자, 조형물의 색상, 소재 등을 시뮬레이션 해 볼 수 있습니다.

 

NVIDIA CEO Jensen Huang 벤쿠버에서 열린 ‘SIGGRAPH 2018’ 컨퍼런스의 Keynote 발표 영상으로, NVIDIA Turing GPU Architecture 기반의 데모를 시연하는 장면입니다. , 명암의 변화에 집착했던 레오나르도 빈치가 르네상스 미술에 획을 그은 것처럼, 21세기의 NVIDIA 여러 영역 중에서도 Graphics 변혁을 이끌고 있는 합니다. 모든 액션이 실시간으로 처리됩니다.

 

[Video 2. ‘SIGGRAPH 2018 – NVIDIA CEO Jensen Huang – Reinventing Computer Graphics’ 출처: NVIDIA YouTube Channel]

 

AI는 2030년에 이르면 Global GDP 기준 16조 달러를 기여할 것으로 예측됩니다. Smart city, Healthcare 등 모든 산업에 영향을 미치게 돌 것입니다. NVIDIA는 ‘Inception Program’을 통해 4천 개 이상의 Startup을 지원하고 있습니다.

CPU + GPU Architecture로 많은 난제들을 해결해 왔습니다. 2006년에 출시된 CUDA GPU는 이후로 열 차례 Version release를 통해 속도와 에너지 효율성을 개선하며 성장을 이어가고 있습니다. GPU를 사용하는 Super Computer의 수가 1년 사이 25% 증가했으며, 1위와 2위를 비롯한 다수의 Super Computer가 NVIDIA GPU를 사용하고 있습니다. GPU 개발자가 늘수록 CUDA App도 늘고 있습니다.

CUDA-X는 이제 모든 플랫폼에서 사용 가능합니다. Workstation, Server, Cloud에 관계가 없으며, Expedia, Twitter, Microsoft 등의 기업들이 CUDA-X를 도입했습니다.

 

NVIDIA AI Conference 2019_Image 1.png

[Image 1. CUDA-X 출처: NVIDIA]

 

Supercomputer에 비해 Hyperscale은 서버 당 속도가 현저하게 낮습니다. 대신 서버 간 연결이 많습니다. 동일한 하드웨어 상에서 소프트웨어 업데이트만으로 세 배의 속도 개선 효과를 거뒀습니다. (HPL-AI, Mixed-precisions) Data Science의 등장으로 Supercomputer 보다는 Supercomputer와 Hyperscale의 중간 정도 서버의 수요가 늘고 있습니다. 가장 빠른 단일 서버인 DGX-2는 AI를 위해 설계되었습니다.

AI Datacenter는 전통적인 Enterprise Datacenter와 다릅니다. 엄청난 컴퓨팅을 소화할 수 있는 모델을 만들어야 합니다. 96개의 DGX를 모은 DGX SuperPOD는 Supercomputer 중 22위에 올랐습니다.

 

RAPIDS, GPU Accelerated Platform for Data Science (이상문 전무, NVIDIA)

RAPIDS는 GPU를 이용해 Data Science를 수행하기 위한 Library입니다. Data Science의 Pipeline을 End to End로 구현할 수 있습니다. cdDF, cdML, cdGraph 등의 기능을 활용해 Data Preparation, Model Training, Visualization을 수행합니다.

 

NVIDIA AI Conference 2019_Image 2.png

[Image 2. Data Science Pipeline with GPUs and RAPIDS 출처: NVIDIA Developer Blog]

 

함수들과 Machine Learning 알고리듬이 Library화 되어 있습니다. csv 파일을 로드하는 code입니다.

 

import cudf

gdf = cudf.read_csv(‘path/to/file.csv’)

for column in gdf.columns:

print(gdf[column].mean())

 

기존에는 GPU에서 CPU로 데이터를 보내 연산을 했지만, 이제는 GPU 상에서 연산을 수행할 수 있습니다.

 

Deep Learning Research of NAVER Clova for AI-Enhanced Business (하정우 리더, NAVER)

HDTS Hybrid Dnn Text to Speech 기술로 Clova는 유인나 배우님의 목소리를 합성해 낼 수 있었습니다. 단 네 시간의 음성 녹음만으로 가능했습니다. 그 밖에도 Speech enhancement를 통한 배경 잡음 제거, 상대편 음성 제거 등을 구현했습니다. Google Dupex와 유사한 식당 예약 서비스도 시작했습니다.

특정 인물이 나오는 화면만 편집해 보여 주는 Auto Cut, 특정 인물만을 Cropping 한 Auto Cam도 Clova가 구현한 기술입니다.

 

Kakao OCR Inference 성능 최적화 (이현수, Kakao)

OCR은 Detection Model과 Recognition Model로 구성됩니다. TensorFlow Model을 TensorRT로 변환했습니다.

TensorFlow 모델을 Export 합니다. 복수 개의 Type을 사용할 수 없으므로 Cast를 사용할 수 없으며, Data type을 통일합니다. 가변 Input보다 고정 Input으로 처리하는 것이 좋습니다.

FP32, FP16은 큰 차이가 없으나, INF8은 정확도가 떨어질 수 있어 Network Quantization이 필요할 수 있습니다.

결과적으로 Detector는 4~5배 개선되었고, GPU Memory는 절반 수준으로 사용하게 되어 효율성이 높아졌습니다. Recognizer는 1.5배 가량 개선되었습니다. 개선이 크지 않은 이유는 이미지의 사이즈 자체가 작아 Inference 최적화에 어려움이 있었기 때문입니다.

Written by Chris Choi

July 3, 2019 at 11:38 pm

Posted in Tech

Tagged with ,

10 Breakthrough Technologies by Bill Gates

with one comment

매년 MIT Technology Review‘10 Breakthrough Technologies’를 발표합니다.

 

  • Robot dexterity
  • New-wave nuclear power
  • Predicting preemies
  • Gut probe in a pill
  • Custom cancer vaccines
  • The cow-free burger
  • Carbon dioxide catcher
  • An ECG on your wrist
  • Sanitation without sewers
  • Smooth-talking AI assistants

 

10가지 기술 중 건강과 환경에 관한 기술 세 가지를 소개해 드립니다.

 

Predicting preemies

온타리오 공대 교수인 Carolyn McGregor는 이전에는 충분히 활용하지 못했던 심장 박동 수, 호흡 수, 체온, 혈압, 혈중 산소 수준 등의 데이터 흐름을 분석해 미숙아의 감염 여부를 선제적으로 대응하는 데 활용했습니다.

그런데 출산 전에 미숙아 여부를 알 수는 없을까요? 한 해에 1,500만명에 이르는 미숙아가 태어나고, 그 중에서 안타깝게도 사망으로 이어지는 태아도 적지 않다고 합니다. 정밀 검사를 위해 감염의 위험이 있는 양수 검사를 하기도 합니다. 스탠포드大의 Stephen Quake는 산모와 태아에 위험이 없는 미숙아 여부 검사를 개발하고 있습니다. 저비용의 혈액 검사로 산모의 혈액 내 RNA의 변화를 측정하는 방식입니다. 고가의 초음파 측정과 비교해도 출산 예정 일자와 미숙아 여부 측정의 정확도는 뒤지지 않습니다.

 

Gut probe in a pill

제목은 기억 나지 않지만, 어린 시절 TV에서 본 외화 시리즈가 하나 생각납니다. 박사와 탐험가가 몸을 축소시켜 인체 곳곳을 탐험하는 내용이었습니다. 꿈 같은 이야기가 현실이 될 지도 모르겠습니다. 캡슐로 인체를 분석하는 기술입니다.

EED Environmental Enteric Dysfunction 같은 장 기능 장애로 인해 수백만 명에 이르는 저소득층 국가의 아이들이 정상적인 성장에 어려움을 겪고 있습니다. 기존에는 소아에게 마취를 하거나 관을 삽입해 검사를 해야 했으며, 경제적 부담도 컸습니다. 물론 치료 역시 쉽지 않았습니다. 이제는 카메라와 라이트가 포함된 알약 형태의 기기를 삼켜 검사를 용이하게 하고, 비용을 낮춰 부담을 덜게 하는 시도를 하고 있습니다. 단, 무선은 아니며, 선을 통해 전력을 공급하며 카메라가 찍은 장 내 영상과 사진을 받게 됩니다.

 

Carbon dioxide catcher

기후 변화는 이제 인류의 과제가 되었습니다. 그 중에서도 CO2는 지구 온난화의 주범으로 꼽힙니다. CO2의 배출량을 줄이는 일은 좀처럼 진전이 없으며, 마냥 기다릴 수만은 없습니다. 근원적인 해결책이 되지는 않더라도, 배출된CO2를 재활용하는 기술이 꾸준히 연구되고 있습니다.

공기를 통과시켜 CO2를 흡수합니다. 수분을 통과시켜CO2를 수집해 합성 연료를 만들거나, 매탄을 만들어 탄산 음료 회사에 판매합니다. Carbon EngineeringClimeworks가 선두 주자입니다. Bill Gates는 Carbon Engineering에 투자했습니다.

 

Quality of Life

인류가 그 동안 ‘Quantity’, ‘양’에 초점을 맞춰 왔다면, 이제는 ‘Quality’, ‘질’의 차례입니다. Bill Gates가 선정한 10대 기술은 의료, 환경 등 인류의 ‘삶의 질’을 향상시키는 데 초점이 맞춰져 있습니다. Bill & Melinda Gates Foundation이 지향하는 방향입니다.

 

[Video 2. ‘Q&A with Bill Gates, 2019 Breakthrough Technologies’ 출처: MIT Technology Review YouTube Channel]

Written by Chris Choi

March 11, 2019 at 12:54 am

Satya Nadella and Microsoft

leave a comment »

한 때 Tech 업계의 최강자 중 하나였던 Microsoft. 2000년대 들어서는 명성이 퇴색했습니다. Apple, Facebook, Google 등의 기업들이 언론의 중심을 차지하고 있을 때, Microsoft를 찾아 보기는 어려웠습니다. 그것이 끝은 아니었습니다. 2018년 말, Microsoft는 Apple을 2위로 끌어 내리며 시가 총액 1위 기업으로 올라섰습니다.

 

Satya Nadella and Microsoft_Image 1.png

[Image 1. Microsoft의 최근 5년 추가 출처: Google]

 

구원 투수, Satya Nadella

Bill Gates에 이어 Microsoft의 수장이 된 Steve Ballmer의 십 여 년은 정체의 연속이었습니다. 의사 결정과 혁신의 속도는 점점 느려지고, 관료화를 피하기 어려웠습니다. 부활은 점점 먼 얘기가 되어 가고 있던 어느 날, Satya Nadella가 구원 투수로 등장했습니다.

Microsoft가 다시금 최강자로 올라설 수 있었던 계기를 한 두 가지 이유로 설명하기는 어렵습니다. 하지만 분명한 점은 Satya Nadella가 불러온 ‘변화’는 Microsoft의 DNA를 되살렸다는 것입니다. $40 즈음의 주가는 Satya Nadella 취임 이후 $120 수준까지 반등했습니다.

 

Mobile-first, Cloud-first

오랜 시간 동안 Microsoft 하면 떠오르는 것은 Windows, Microsoft Office였습니다. 이제는 다릅니다. Microsoft의 Cloud 서비스인 Azure는 전체 매출의 3분의 1을 차지할 정도로 Microsoft의 중요 사업 중 하나가 되었습니다. 그것은 당연한 전략적 수순입니다. Mobile化라는 트렌드 앞에 Windows 위주의 전략은 어울리지 않습니다. 前 CEO인 Steve Ballmer는 Nokia의 스마트폰 사업부를 인수함으로써 탈 Windows 전략을 추진했습니다. Software는 물론 Hardware 역량까지 필요로 하는 영역에 도전했지만 성공하지 못했습니다. Satya Nadella의 결정은 현명했습니다. Office를 Cloud로 제공하는 변신은 Microsoft의 유연성을 보여 주는 대목입니다.

 

Collaboration

협력을 중요한 가치로 여기는 Satya Nadella의 면모를 볼 수 있는 에피소드가 있습니다. 그는 한 컨퍼런스에서 Windows 스마트폰이 아닌 iPhone을 사용하는 모습을 보였습니다. iPad용 Microsoft Office를 개발한 것이 기존의 시각으로는 불편한 일이었을지 몰라도, 협력이라는 가치 앞에서는 당연한 일이 되었습니다.

Steve Ballmer는 Linux와 Open source를 일종의 적으로 생각한 측면이 없지 않습니다. Satya Nadella는 경쟁사들과의 파트너쉽과 더불어 Linux와 Open source와의 파트너쉽을 중요하게 생각합니다. Azure가 Linux를 지원하게 했으며, GitHub을 인수했습니다. 대립에서 협력으로 방향을 선회했습니다.

 

Stack Ranking

협력에 관한 철학은 평가의 변화에도 영향을 미쳤습니다. Microsoft는 이전까지 ‘Stack Ranking’ 혹은 ‘Forced Ranking’이라 불리는 상대 평가를 고수해 왔습니다. 실적 위주로 구성원들을 줄 세워 포상과 해고를 결정하는 것입니다. 모든 팀원들이 훌륭한 역할을 수행해도 누군가는 저평가자가 되어야 합니다. 반대도 마찬가지입니다. 구성원들은 자연스럽게 협력보다는 경쟁에 방점을 두었고, 관료화와 사내 정치는 강화될 수밖에 없었습니다. 경쟁사와의 경쟁보다 동료들과의 경쟁이 더 중요했습니다. 실적 압박은 단기 성과에 집착하도록 했습니다.

 

Satya Nadella and Microsoft_Image 22.png

[Image 2. ‘Organizational Charts’ 출처: Bonkers World, Manu Cornet]

 

Satya Nadella는 Stack Ranking을 폐지했습니다. 개인과 개인 간, 팀과 팀 간의 협력을 평가의 주요 요소로 삼았습니다. 숫자로 표현되는 실적에 매몰되지 않도록 했습니다. 냉정한 평가 피드백을 다양한 관점과 의견, 공유가 대신하게 되었습니다. 그 바탕에는 ‘Growth Mindset’이 있습니다.

 

Fixed Mindset vs. Growth Mindset

Carol Dweck 스탠포드대 심리학과 교수는 저서 “Mindset”에서 성장 가능성에 대해 다룹니다. ‘Fixed Mindset’은 성장의 가능성은 좀처럼 변화하지 않으며 정해져 있다고 말합니다. ‘Growth Mindset’ 성장의 가능성은 정해져 있는 것이 아니며 누구에게나 열려 있다고 말합니다. 성장에 초점을 맞추면 성공은 물론 실패를 노력의 결과로 존중하게 됩니다. 실패를 성장의 기회로 발판 삼을 수 있습니다.

 

Satya Nadella and Microsoft_Image 2.jpg

[Image 2. “Mindset: The New Psychology of Success”, Carol S. Dweck]

 

결과적으로 나는 사람들이 갖가지 재능을 지녔음을 깨달았다. 그리고 사랑과 창의력이 어떤 성과를 내는지도 더욱 깊이 이해하게 됐다.

“히트 리프레시”, 25P, 사티아 나델라, 흐름출판

 

How I Work

NVIDA의 CEO인 Jensen Huang은 빠른 의사 결정을 중요하게 생각합니다. 그래서 의사 결정을 필요로 하는 시간과 장소에 함께 하려고 노력합니다.

 

Rene Haas, a senior executive at British semiconductor design company ARM, recalls six-hour meetings where Nvidia’s general managers would offer the CEO status updates for their lines of business. If Huang didn’t like what he heard—a roadblock, a missed goal—he would move to solve the problem then and there. “A head of software, a mid-level engineer, it didn’t matter—he would call those people and bring them to the conference room and determine the root cause of the issue,” Haas says. “If something had to be reprioritized and rescheduled to get it back on track, he would do it in real time, and the rest of the meeting was aborted. It was incredibly liberating. And he would never do it in a way that was diminishing. It might feel like that at the beginning, but then you’d realize that he’s trying to expedite the process by getting the right people in the room.”

‘This Man Is Leading an AI Revolution in Silicon Valley—And He’s Just Getting Started’, Andrew Nusca, Fortune, November 16 2017

 

Satya Nadella도 같은 생각입니다. 더 많이 듣고 (Listen more) 적게 말하며 (Talk less) 의사 결정을 적시에 한다 (Be decisive when the time comes) 는 것입니다.

 

[Video 1. ‘Microsoft CEO Satya Nadella: How I Work’ 출처: Wall Street Journal YouTube Channel]

 

Team Microsoft

‘Team Microsoft’. 팀을 우선하고 공감을 중시하는 CEO. 20여 년 내부인으로 근무했던 CEO가 문화를 혁신할 수 있었던 것은, 기존의 시각을 내려놓고 제3자의 시각으로 조직의 방향성을 확인하고 구성원들과 공감했기 때문이 아닐까 생각해 봅니다.

 

References

  • 『히트 리프레시』, 사티아 나델라, 흐름출판
  • 『마인드셋』, 캐럴 드웩, 스몰빅라이프

Written by Chris Choi

February 18, 2019 at 1:22 am