유머천국 코하비닷컴
https://cohabe.com/sisa/194275

초심자를 위한 머신러닝, 딥러닝에 대한 공부 및 조언

안녕하세요. 현재 IT쪽 현업으로 일하고있는

엔지니어겸 개발자입니다.

업무정리겸 제가 알아본정보에 대해서 조언을 드리고자 시간내어 한번 써봤습니다.

들어와서 본업보다 군게에 오래 글을 썼네요.

메모형식으로 정리해봤습니다.

업무상, 직업특성상 영어가 많이 섞여있으니 미리 양해구합니다.



머신러닝딥러닝 관련 공부

=>엄청난 설계가 가능할정도의 사람이 아니라면 

여러사람의 Contribute 필요한 학문이라고 보시면 됩니다.

 

 

현재 딥러닝용 슈퍼컴퓨터를 하드웨어적으로 보면

Nvidia DGX-1(Intel Dual Xeon+Nvidia Tesla P100 x8)

vs 

Intel Dual Xeon+Intel Xeon Phi 7290F x4 

라고 보시면되고 비교한건 밑에 있습니다.

https://www.nvidia.com/object/justthefacts.html

 

전자는 cpu2개에 gpu8개(Tesla P100)가 들어가고 엔비디아 전용보드(NVLink).

후자는 cpu2개에 cpu가속기(Xeon Phi x200 7290F) 4개까지 가능한것으로 알고있습니다

인텔안에서 현재 가장 빠른  7290F는 PCIe는 지원이 안되는것으로 알고있고 

전용보드에서만 Phi가 돌아가는것으로 알고있습니다.

 

엔비디아 장점은 작은코어를 엄청나게 모아서 연산속도가 빠르다는게 장점입니다.

단점은 Nvidia 퍼포먼스를 위해 gpu 코드인 CUDA 사용해야되는거고

Intel 장점은  반대죠손쉽게 사용 가능합니다

단, 코어가 적어서 Nvidia 속도만큼 안나옵니다.

 

현재까지는 딥러닝용 하드웨어에서 편의성을 제외할경우

Nvidia 앞서있다는걸 알수있죠.

 

제가 경험한것&업계전문가 의견을 빌리자면

아직 소프트웨어는 하드웨어를 쫒아가지 못하는 게 정설입니다.


Infiniband 전부 활용 못하는중이죠.

듀얼포트 구성시

Infiniband 100Gb/s x2 = 200Gb/s 전부 사용불가능

올해말 200Gb/s 출시예정

HPC(High Performance Computing)분야는

Low Latency 생명.


PCIe 3.0 x16 120Gb/s.

PCIe 4.0 올해 목표로 출시준비중


결국 이걸 활용하는 방법은 더욱 중요해질듯 합니다.



 

결론은 Deep Learning용 Framework develop 필요.

그래서 프로그래머 게시판에 글을 남겼습니다.

많은분들이 Deep Learning에 참여하셔서 

이쪽 분야가 활성화 되었으면 좋겠다는 마음으로 작성하였습니다.

 

 

Nvidia DGX-1에서 지원하는 Framework살펴보기

https:[email protected]/* */[email protected]/* */0b06


https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software


Caffe=>초기 딥러닝. Single node 지원.

Chainer=>이미지를 chain처럼 엮는데 자주 쓰이는것으로 보임.

CNTK=>MS에서 제공하는 deep learning framework.

MXNet=>아마존에서 사용중인 deep learning framework. AI, AWS deep learning 사용.

Theano =>maintenance 좋고 유저포럼이 있다고함

https://groups.google.com/forum/#!forum/theano-users

Torch=>NYU에서 만든 Deep Learning Framework.

Tensorflow=>Multi-GPU, Multi-Node 지원.

단점이라면 기존 Framework보다 후발주자.

자체보드(Tensorboard) 생산하고있음.


특히 최신기술최신제품은 대부분 영어로 나옴. 영어는 필수입니다.

https://groups.google.com/forum/#!forum/tensorflow

 

개인적으로 tensorflow 사용해봤기 때문에 

다른정보는 명확하지 않아서 전문가 및 사용자 feedback 기다리겠습니다.

 

 

우선 딥러닝에서 영어수학(미분,적분,선형대수학)은 절대적입니다.

Linear Algebra, Calculus. Integral.

 

수학을 시작하시는 분들이라면 영어로 수학을 공부할것을 추천합니다.

 

머신러닝기초에 배워두면 좋을것들

https://www.moreagile.net/2015/05/how-to-start-machine-learning-study.html

코딩을 쉽게 배우는법

https://www.moreagile.net/2016/02/learning-new-stuff.html

개발자를 위한 임백준님 칼럼

www.zdnet.co.kr/column/column_master_list.asp

머신러닝 기초강좌(한글)

https://www.whydsp.org/237

머신러닝 기업자료

https://kr.mathworks.com/campaigns/products/offer/machine-learning-with-matlab.html?s_eid=PEP_15433

 

위에보다 Deep하게 들어가거나 설계하고 싶을경우 ,박사는 필수입니다.

개인적으로 멀지않은 미래에 활용만 가능하면 편하게 사용할수 있게 바뀌지 않을까라는 생각을 하게합니다.

Nvidia에서도 OpenACC를 편의성때문에 많이 권장하는게 그 이유죠.


비즈니스 관점에서 보면 data mining 통한 deep learning 시킨뒤 

얻은결과로 비즈니스 모델탐색이  중요할듯 합니다.

 

캐나다 토론토대 AI 전공카이스트 인공지능배우는 전산학전공등.

인공지능의 대부 제프리 힌튼 교수 인터뷰

https://news.joins.com/article/20382230

 

항상 트렌드 파악은 필수이고 이메일로 subscribe 자주 활용하실경우

정보획득에 도움이 많이됩니다.

 

github, stackoverflow, googling 체크를 생활화 하세요

전문가도 모르는것을 구글신은 자주 알려줍니다^^

얼마전에도 문제가 생겼는데 구글링 덕분에 5시간은 아꼈다고 칭찬받았습니다 ㅎㅎ



ps. 제가 직접 쓴글이고 외부펌은 금지합니다. 

피드백 및 오류수정은 환영합니다.

 

 

댓글
  • 디비디비밥 2017/04/21 22:55

    it쪽을 공부하면서 영어는 안배우면 손해겠구나라는걸 계속 느껴요 ㅜㅜ 영어진짜 못하는데
    한국어로만 구글링하면 나오지않는 정보들이 많은데 영어로하면 수두륵하고 해석은 못하겠고ㅋㅋ

    (6rDIio)

  • 리턴제로 2017/04/21 23:51

    머신러닝에는 현재로선 크게 관심없는데
    중간에 링크된 자료에서 최근에 저에게 굉장히 필요한 내용이 담겨있네요
    http://www.moreagile.net/2016/02/learning-new-stuff.html
    정말 감사드립니다 큰 도움이 될 것 같습니다

    (6rDIio)

  • lifeall 2017/04/22 01:08

    덧붙이자면 TensorFlow는 구글 브레인에서 Jeff Dean이 적극 참여하면서 개발중이기 때문에 앞으로 성능이 점점 좋아질 것입니다.
    알파고를 개발한 딥마인드도 구글에 인수되기 전까지는 Torch를 사용하다가 인수 후부터는 당연히 TensorFlow로 갈아탔구요.
    저라면 딥러닝 개발을 처음 시작하시는 분께 TensorFlow를 추천해드리겠습니다.
    Theano는 딥러닝 3대장 중 하나라고 볼 수 있는 몬트리올 대학의 Yoshua Bengio 교수의 그룹에서 개발한 프레임웍입니다.
    저같은 경우에는 Theano를 주로 사용하다가 올해 초부터 TensorFlow로 넘어왔는데 사실 두 프레임웍 다 파이썬 기반이고, 개발 철학도 겹치는 부분이 많아서 갈아 타기에는 비교적 수월했습니다.
    하지만 대학원의 랩이 개발하는 툴과 구글같은 회사가 개발하는 툴이 속도, 안정성, 유지보수 측면에서 같을 수는 없겠죠.
    제가 TensorFlow로 갈아탄 이유도 이것 때문이고 다른 분들에게 TensorFlow를 추천하는 이유도 같습니다.

    (6rDIio)

  • Kennbisi 2017/04/22 01:42

    좋은 자료 감사합니다. 현재 코세라에서 앤드류 응 교수의 머신러닝을 듣고 있으며, 그 이후는 파이썬 공부면 될까..하고 있었는 데, 길을 제시 받는 듯 하여 매우 도움이 되었습니다. 감사합니다.

    (6rDIio)

  • 사포가미끌 2017/04/24 05:01

    잘 모르지만 관심은 좀 있는분야여서.. 추천합니다!

    (6rDIio)

  • pop-eye 2017/04/24 05:47

    정성글은 추천이죠.

    (6rDIio)

  • TeamDKs 2017/04/24 06:33

    Plus 확률과 통계도 필수 학문입니다

    (6rDIio)

  • 잼있네요 2017/04/24 08:00

    텐서보드는 하드웨어가 아니라..
    실행 결과를 그래프로 볼 수 있는 소프트웨어 툴 입니다~

    (6rDIio)

  • 물속의현자 2017/04/24 08:49

    추천!

    (6rDIio)

  • 유연 2017/04/24 08:50

    좋은글 감사합니다

    (6rDIio)

  • visfactory 2017/04/24 11:11

    tf

    (6rDIio)

  • 목화씨내놔 2017/04/24 12:13

    추천추천

    (6rDIio)

  • 소씨 2017/04/24 12:14

    런닝머신으로 보고왔는데 무ㅕ여
    영어가 나와

    (6rDIio)

(6rDIio)