ݺߣ

ݺߣShare a Scribd company logo
Pytorch냐 TensorFlow냐
그것이 문제로다
Pytorch or TensorFlow, This is the question
우지철
굉장히 분란을 조장하는 제목이죠?
사실 의도한
그럴 의도는 아니옶습니다
요새 아무래도 딥러닝이 하죠?
오늘은
딥러닝 프레임워크에 대한
간단한 이야기를 나눠보려고 해요
그럼 어떤 걸 쓰면 되는지
알려주시나요?
그건 답을 정해드릴 수 없어요
대신 제 생각과 경험을
공유 드리려고
합니다
공감하실 수도
공감하지 못하실 수도
공감하신다면
공감하지 못하시더라도
세상사에 관심이 많은 머신러닝 엔지니어입니다
발표자에 대한 TMI
분야를 가리지 않습니다
커피가 없으면 살 수 없어요
커피가 좋을 뿐, 원두 맛 구별은 잘 못한다는 함정
게임 회사에서 시작해서
현재는 카카오에서 분석 및 모델링 업무를 합니다
데이터를 활용해 새로운 가치를 찾는다
우리 팀이 하는 일
다양한 카카오 데이터를 활용해 분석&모델링
현재 제주도에서
일하고 계신 분?
저는 판교에서 일하고 있습니다
제주도 아님
여기 아님 여기임
판교 -> 김포공항
오늘의 여정
머나먼 여정의 시작
김포공항 -> 제주공항
비행기라니
제주공항 -> 지금 이 곳
드디어!
?
왜 여기까지 왔는지
궁금하시죠?
지금 시작합니다
제주도에서 발표하게 된 이유
Part 1
GDG DevFest 제주
평소 살고 싶었던 도시
Part 1. 제주도에서 발표하게 된 이유
GDG DevFest 제주
카카오 본사
Part 1. 제주도에서 발표하게 된 이유
GDG DevFest 제주
Part 1. 제주도에서 발표하게 된 이유
GDG 제주
제주스러움
GDG DevFest 제주
Part 1. 제주도에서 발표하게 된 이유
GDG 제주
제주스러움
Remote
GDG DevFest 제주
Part 1. 제주도에서 발표하게 된 이유
GDG 제주
제주스러움
Cooperation
GDG DevFest 제주
Part 1. 제주도에서 발표하게 된 이유
GDG 제주
CooperationRemote +
GDG DevFest 제주
그래서 무슨 내용을 설명할 건가요?
Part 1. 제주도에서 발표하게 된 이유
딥러닝 프레임워크제주스러움 +
딥러닝 프레임워크 춘추전국시대
Part 2
GDG DevFest 제주
다양한 딥러닝 프레임워크들
Part 2. 딥러닝 프레임워크 춘추전국시대
GDG DevFest 제주
다양한 딥러닝 프레임워크들
Part 2. 딥러닝 프레임워크 춘추전국시대
Reference: AWS
GDG DevFest 제주
이 쯤에서 드는 궁금증
Part 2. 딥러닝 프레임워크 춘추전국시대
누가 1등일까요?
GDG DevFest 제주
파워 랭킹
Part 2. 딥러닝 프레임워크 춘추전국시대
GDG DevFest 제주
논문 구현체에 쓰인 횟수
Part 2. 딥러닝 프레임워크 춘추전국시대
https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/
GDG DevFest 제주
Google Trends
Part 2. 딥러닝 프레임워크 춘추전국시대
GDG DevFest 제주
Google Trends (한국)
Part 2. 딥러닝 프레임워크 춘추전국시대
GDG DevFest 제주
좀 더 알아볼까요?
Part 2. 딥러닝 프레임워크 춘추전국시대
시간 관계 상 3개만
GDG DevFest 제주
TensorFlow
Part 2. 딥러닝 프레임워크 춘추전국시대
갓구글이 만든 딥러닝 프레임워크
사실상 딥러닝 부흥기를 초기 선점하여 아직까지도 널리 쓰임
다양한 보조도구들이 존재
공식 document/tutorial, 커뮤니티, Tensorboard(시각화툴)
Production에 유리
TF Serving, Distributed Training, TFLite, TFJS
Static Graph (Define and Run)
Graph를 그려놓고, session을 흘려보내는 방식
GDG DevFest 제주
Pytorch
Part 2. 딥러닝 프레임워크 춘추전국시대
갓페이스북이 만든 딥러닝 프레임워크
연구 집단에서 주로 쓰여온 경향이 있음
다양한 보조도구들이 존재
공식 document/tutorial, 커뮤니티, Tensorboard(시각화툴) 지원
Dynamic Graph (Define by Run)
매 iteration을 통해 새로운 graph를 생성
GDG DevFest 제주
여기서 잠깐
Part 2. 딥러닝 프레임워크 춘추전국시대
Dynamic Graph
Static Grpah
vs
GDG DevFest 제주
Static vs Dynamic
Part 2. 딥러닝 프레임워크 춘추전국시대
GDG DevFest 제주
Part 2. 딥러닝 프레임워크 춘추전국시대
Static vs Dynamic
GDG DevFest 제주
Part 2. 딥러닝 프레임워크 춘추전국시대
Define and Run Define by Run
장점 Graph 구축 후 반복적으로 사용 -> Graph 최적화 가능
코드가 깔끔해지고, 러닝커브가 완만함
데이터에 따라 네트워크 구조를 유연하게 가져갈 수 있음
(Forward Computation으로부터 Network가 정의되므로)
Static vs Dynamic
GDG DevFest 제주
Keras
Part 2. 딥러닝 프레임워크 춘추전국시대
숄레가 만든 딥러닝 프레임워크
프로토타이핑이 쉬워서 입문자들이 많이 사용
다양한 보조도구들이 존재
공식 document/tutorial, 커뮤니티, 편리한 함수들
TensorFlow Based
Backend를 TensorFlow로 채택
GDG DevFest 제주
세상에서 제일 재밌는 싸움구경
Part 2. 딥러닝 프레임워크 춘추전국시대
나는 어떻게 관심을 가지게 되었는가?
Part 3
GDG DevFest 제주
추천 시스템
Part 3. 나는 어떻게 관심을 가지게 되었는가?
Memorisation Generalisation
펭귄은 날 수 없어요
앵무새는 날 수 있어요
타조는 날 수 없어요
조류는 날 수 있어요
GDG DevFest 제주
케라스를 한번..?
Part 3. 나는 어떻게 관심을 가지게 되었는가?
GDG DevFest 제주
Pytorch 좋은데?
Part 3. 나는 어떻게 관심을 가지게 되었는가?
GDG DevFest 제주
fast.ai는 또 뭐야?
Part 3. 나는 어떻게 관심을 가지게 되었는가?
GDG DevFest 제주
다양한 궁금증 및 실험들
Part 3. 나는 어떻게 관심을 가지게 되었는가?
Pytorch nn.Linear는 왜 Transpose된 형태로 weight를 관리할까?
BatchNorm은 어디다 쓰는 게 가장 좋을까?
BERT의 레이어를 얕게 쌓아도 잘 동작할까?
GDG DevFest 제주
실제로 구현하니 재밌네
Part 3. 나는 어떻게 관심을 가지게 되었는가?
GDG DevFest 제주
실제로 구현해보면 좋은 점
Part 3. 나는 어떻게 관심을 가지게 되었는가?
구현체만 가져다 쓰는 것보다 이해도가 높아짐
다양한 삽질의 과정 속에서 배움
유사한 다른 논문에 쉽게 적용
한 논문을 성공적으로 구현하면 유사한 논문도 쉽게 구현 가능
무엇보다 뿌듯함
성취감이 없으면 지속하기 힘들지 않을까요?
GDG DevFest 제주
TensorFlow 2.0
Part 3. 나는 어떻게 관심을 가지게 되었는가?
GDG DevFest 제주
우리 팀은?
Part 3. 나는 어떻게 관심을 가지게 되었는가?
Pytorch vs TensorFlow2.0
Part 4
GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Eager Execution by default
모델 정의 -> flow session 과정으로 진행하지 않아도 됨
Keras를 High-Level API로 차용
기존 몇 가지 High-Level API를 Keras 사용으로 일원화 유도
GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Eager Execution by default
모델 정의 -> flow session 방식으로 진행하지 않아도 됨
GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Keras를 High-Level API로 차용
기존 몇 가지 High-Level API를 Keras 사용으로 일원화 유도
Pytorch TensorFlow 2.0
GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Keras를 High-Level API로 차용
기존 몇 가지 High-Level API를 Keras 사용으로 일원화 유도
Pytorch TensorFlow 2.0
제주스러움 + 딥러닝 엔지니어스러움
Part 6
GDG DevFest 제주
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
그래서 뭘 써야 좋다는 건가요?
GDG DevFest 제주
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
Pytorch? TensorFlow?
GDG DevFest 제주
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
둘 다 씁시다!
그래서 뭘 써야 좋다는 건가요?
GDG DevFest 제주
그래서 뭘 써야 좋다는 건가요?
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
GDG DevFest 제주
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
혼자하면 힘들고 헤멜 수 있으니
같이 해보자
너무하시네요
GDG DevFest 제주
딥러닝 프레임워크제주스러움 +
누구나 다같이
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
GDG DevFest 제주
누구나 다같이
Part 6. 제주스러움 + 딥러닝엔지니어스러움?
LINK: https://github.com/coffeedjimmy/Pytorch-TensorFlow2-Comparison
GDG DevFest 제주
들어주셔서 감사합니다 :)

More Related Content

제주 GDG 발표자료