본문 바로가기
AI & Data

[Data Science] 파이토치(PyTorch)를 배워야 하는 이유

by Henry Cho 2021. 6. 9.
728x90

파이토치(PyTorch)를 배워야 하는 이유


딥러닝 프레임워크 파이토치

파이토치란 데이터에 대한 딥러닝 분석을 쉽게 할 수 있도록 제공하는 오픈소스 기반 딥러닝 프레임워크이다.

Data Science 분야의 개발자로 프로그래밍을 하기 위해서 꼭 사용해야 하는 툴 중 하나가 딥러닝 프레임워크(Deep Learning Frameworks)인데 그중에 하나가 바로 파이토치(PyTorch)인 것이다.

딥러닝 프레임워크를 툴로써 제공하기 때문에 개발자는 보다 손쉽게 프로그래밍을 할 수 있다.

예를 들어 딥러닝 프레임워크는 요리사에게 재료 준비와 손질까지 된 환경을 제공해준다고 볼 수 있다.

 

텐서플로우와 파이토치

5년 전까지만 해도 데이터 사이언스에 대한 공부를 한다고 하면 텐서플로우를 꼭 알아야 했다.

구글에서 개발하고 운영되는 오픈소스 딥러닝 프레임워크인 텐서플로우는 영향력이 상당히 컸다.

물론 현재도 많은 개발자들이 텐서플로우를 활용하고 있으며, 어느샌가 개발자들 사이에서 젊은 꼰대 취급을 받는 필자도 텐서플로우를 이용하고 있다.

 

하지만 구글 내에서도 개발자들 사이에서 텐서플로우를 사용하지 않고 파이토치를 사용한다는 소문이 있을 정도로 많은 개발자들이 파이토치 기반의 Data Science Programming을 하고 있다.

사실 3년 전부터 이미 파이토치냐 텐서플로우냐에 대한 논쟁이 개발자들 사이에서는 있어 왔다.

그런데 굳이 지금 시점에서 논쟁이 커지는 이유는 파이토치에 대한 영향력이 커졌기 때문이다.

 

사용의 편리성, 파이토치

개발자에게 필요한 중요한 요소 중 하나는 바로 사용의 편리성이다.

우리가 사용하는 개발 툴이나 소스들은 사실 최종적인 목적을 이루기 위해서 사용하는 것이다.

프로그램 개발 또는 완성이라는 목적하에 사용되는 것이기 때문에 똑같은 결과를 도출할 수 있다면 개발자는 효율성이 높은 방식을 선호할 수밖에 없다.

파이토치는 파이썬 기반으로 바로 사용할 수 있다는 점에서 개발 과정이 텐서플로우보다 심플하다.

Data Science라는 분야를 학부생조차 접근하기가 쉬운 분야는 아닌 건 사실이다.

하지만 파이토치를 사용한다면 보다 더 데이터사이언스 분야에 관심 있는 개발자들이 쉽게 접근하고 배울 수 있겠다는 생각이 들었다.

 

필자는 파이토치보다 오랫동안 텐서플로우를 써왔고, 둘 다 장단점이 있다고 생각한다.

하지만 처음 딥러닝이나 머신러닝 또는 전반적인 데이터사이언스에 대한 공부를 해보고 싶은 학부생이나 개발자가 있다면 파이토치로 연습을 해보는 것이 좋다고 생각한다.

 

파이토치의 대중화

프로그래머에게 중요한 요인 중 또 하나는 대중화이다.

현실적으로 1인 개발자로 활동하거나 본인이 직접 팀을 꾸려 비즈니스를 할 것이 아니라면 기업에서 필요로 하는 프로그래밍 언어나, 툴을 사용해야 한다.

과거 초반에는 파이토치보다 텐서플로우를 사용하는 곳이 많았다.

일단 구글에서 텐서플로우를 사용하다보니 필자도 텐서플로우 프레임워크를 사용해왔었다.

하지만 파이토치의 기능적으로 쉽고 편리한 요소들 덕분과 페이스북에서 개발한 딥러닝 프레임워크라는 요소가 파이토치가 다양한 분야에서 활용될 수 있게 되었다.

해외 기업뿐만 아니라 국내 유명한 IT 기업에서도 Data Science 분야 개발자를 채용할 때 PyTorch를 사용할 수 있다면 우대사항으로 채용할 정도로 파이토치는 기업, 개발자들 사이에서 많이 사용하는 프레임워크가 되었다.

따라서 Data Science 분야에 대한 공부를 시작한다면, 파이토치로 시작해보는 것도 나쁘지 않다고 생각한다.


 

TensorFlow

모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 환경입니다.

www.tensorflow.org

 

PyTorch

An open source machine learning framework that accelerates the path from research prototyping to production deployment.

pytorch.org

728x90

댓글