[Tensor Flow] 논문읽기 / JANUS: Fast and Flexible Deep Learning via Symbolic Graph Execution of…

Source: Deep Learning on Medium


Go to the profile of Sumin

Imperative DL framework 쉬운 프로그래밍 장점과 Symbolic DL framwork 방식의 속도를 동시에 만족하는 새로운 Framework : JANUS
(TF Eager 방식으로 짠 프로그래밍을 TF 속도로 수행하게 함)


Tensorflow Eager Execution

구글에서 2017년 10월에 공개
대화형 명령 스타일로 프로그래밍 할수 있도록 한다. 기존 그래프 방식에서 벗어나 그래프 생성 없이 연산을 즉시 실행하는 명령형 프로그래밍이다.
각 연산들은 나중에 실행할 계산 그래프를 만드는게 아니라, 실제 값이 반환되는 형식으로 연산된다. 장점은 Tensorflow를 쉽게 나다갈수 있고 모델을 디버그 할수 있다는 장점이 있다. 또한 불필요한 상용구를 줄인다.


Symbolic graph execution vs Imperative program execution.
이 논문에서는 두 방식의 장점, 성능과 편리성의 장점을 모두 활용하기 위해 Imperative program을 Symbolic graph 형식으로 바꿔주는 프레임워크를 개발했다. dynamic semantics 를 Symbolic graph 화 하는게 어려웠다고 한다. 바꿔줄 때는 과거의 예시을 참고해 ‘Assumption’ 하는 방식으로 개발했다고 하는데, 이 점이 한계인듯 하다. 잘못 가정할 경우, 아예 프로그램이 다른 방식으로 수행될수 있지않나? 그래서 이 연구논문에서도 보면, 현재는 subset of python에만 적용했다고 적혀있다.