2020.1월 4주 – OpenAI, DeepRL Base로 PyTorch를 선택

OpenAI, DeepRL Base로 PyTorch를 선택

실습 프레임워크인 “Spinning Up in Deep RL”의 PyTorch 버전 공개

Block-Sparse GPU Kernel도 곧 PyTorch 버전으로 공개 예정


2020년 1월 4주, Tensorflow에서 PyTorch로

PyTorch 배워야겠다…

들어가며…

그 동안 여러가지로(주로 여행 다니며 번역하는 일로,,,) 바쁜 나머지 밀린 포스팅을 이제야 올리려 합니다. 기존 파이썬 뉴스레터를 포함해 Google AI, Faceboo AI, DeepMind, Open AI 등 여러 글로벌 메이저 AI 블로그 사이트를 돌아보니 그 동안 놓친 여러 재미있는 뉴스가 많았습니다. 그 중에서도 1월 4주차에서 꼭 다루어야(었어야) 했던 것은 단연 OpenAI가 DeepRL 표준으로 PyTorch를 선택한 것입니다.

OpenAI는 전 인류를 위한 AI 기술, 정확히는 AGI(Artificial General Intelligence)를 개발하고 발전시키는 것을 목표로 하는 비영리 공공 AI 연구 기관입니다. AGI, 다른 말로 “인공 일반 지능”이란 위키피디아에 따르면 인간이 할 수 있는 어떠한 지적인 업무도 성공적으로 해낼 수 있는 기계의 지능을 말합니다. 즉, 이 기관의 궁극적인 목표는 연구자들이 아닌 일반 사람들이 생각하는 인공지능(예를 들면 스타워즈의 C3PO)을 개발하는 것이며 특정 이익 집단이 아닌 전 인류에게 공헌하기 위함입니다.

OpenAI는 강화학습, 로보틱스, NLU 등 여러 분야에서 많은 성과를 거두었습니다. 특히 DeepRL 사용자에게 OpenAI Gym으로 만든 Environment Interface는 거의 표준으로 자리잡았다고 봐도 과언이 아닙니다. 저도 Gym과 Tensorflow로 제 주식투자 모델을 위한 Customized Environment를 만들어 사용했는데, 그냥 RL를 공부하고 혼자 만든 Environment Class보다 확실히 더 편하고 구성이 체계적이었습니다. Environment를 어떻게 구성해야 할지 골치가 아플 때 시간을 절약하는데 큰 도움이 되는 프레임워크입니다. 또 일단 프레임워크를 도입하면 A2C, ACKTR 등 DeepRL의 Baseline 알고리즘과 여러 Custom Model을 쉽고 빠르게 사용할 수 있는 것도 큰 장점입니다.

OpenAI, TensorFlow → PyTorch

OpenAI는 자사의 딥러닝 프레임워크 표준을 PyTorch로 제공하기로 결정했습니다. 지금까지는 OpenAI가 진행하는 프로젝트마다 요구되는 특징이 있으면, 해당 특징을 제공하는 딥러닝 프레임워크를 사용했었습니다. 이제는 모든 OpenAI 프로젝트 팀이 최적화된 코드를 구현하고 도입하기 위해 PyTorch로 프레임워크를 표준화하기로 결정했습니다.

먼저, OpenAI는 Spinning Up in Deep RL의 PyTorch 버전을 공개했습니다. Spinning Up in Deep RL이란 RL의 주요 개념과 알고리즘을 간단히 소개하고 여러 실습용 Environment로 실행해볼 수 있는 DeepRL 교육용 프레임워크입니다.

또한 Dense Network를 동일한 non-zero weights를 가지면서도 더 Sparse한 Network로 치환함으로서 GPU가 모델을 더 빠르게 학습할 수 있도록 하는 Block-Sparse GPU Kernels또한 PyTorch 버전으로 공개할 예정입니다.

PyTorch로 프레임워크를 표준화하는 주된 이유는 OpenAI가 보유한 GPU 가용성을 높여 연구를 더 효율적으로 진행하기 위함입니다. PyTorch를 사용하면 새로운 아이디어를 시도하고 테스트해보는 일이 매우 쉽습니다. 예를 들어 PyTorch로 생성 모델을 연구할 때 연구 주기(새로운 아이디어를 입안, 구현, 테스트, 결과 확인하는 연구 생애 주기)는 몇 주에서 몇 일로 단축되었습니다. OpenAI는 GPU 확장성과 성능을 한계까지 끌어올리는 일에 Facebook, Microsoft 및 여러 개발 커뮤니티와 함께하길 원합니다.

앞으로 특별한 기술적 이유가 있는 경우를 제외하고는 PyTorch가 OpenAI 딥러닝 프레임워크로 사용될 것입니다. 저희 팀원 중 여럿은 이미 PyTorch로 프로젝트 전환을 완료했고, 앞으로 PyTorch 커뮤니티에 기여할 것을 기쁘게 생각하며 고대합니다.

댓글 남기기

워드프레스닷컴으로 이처럼 사이트 디자인
시작하기