2020.01.31

블로그ㅣ머신러닝에 관심있다면?··· 이제는 파이토치다 

Matt Asay | Computerworld
아직 비주류긴 하지만, 쉽고 간단한 딥러닝 프레임워크 파이토치(PyTorch)가 데이터 과학 분야에서 부상하고 있다. 

페이스북 인공지능 연구팀에서 만든 파이토치는 현재 가장 인기 많은 프로그래밍 언어인 파이썬을 기반으로 한다는 점에서 의미가 있다. 그러나 이것이 얼마나 의미가 있는지 거의 짐작하지 못했다. 아무리 많은 것들(훌륭한 공식 문서, 탄탄한 기술 기반 등)을 지원하더라도 오픈소스 프로젝트의 성공에는 운이 따라야 하기 때문이다. 
 
ⓒGetty Images

그렇다면 파이토치는 운이 좋다. 아니, 축복받았다고 봐도 무방하다. 파이토치는 최근 빠르게 성장하고 있다. 애널리스트 토마스 딘스모어는 “2020년 말에는 파이토치 사용자가 텐서플로우 사용자를 추월할 것"이라고 전망했다. 사용자가 더 많아지고, 더 많이 채택되는 것은 무엇을 의미할까? 2015년 공개된 텐서플로우가 주류로 자리잡은 업계에서 그 경쟁자인 파이토치가 큰 발걸음을 내딛고 있다는 것이다.  

폭발적인 성장
오픈허브(OpenHub)에 따르면, 텐서플로우와 파이토치는 지난 12개월간 막상막하의 사용자 수를 기록했다. 텐서플로우는 906명, 파이토치는 900명이었다. 2015년 공개된 텐서플로우와 비교하면, 파이토치의 점유율은 물론 사용자 수가 빠르게 증가하고 있음을 알 수 있다.

이는 데이터 과학자 제프 헤일의 분석 자료에서도 확인할 수 있다. 헤일은 채용 관련 데이터를 기반으로 데이터 과학자와 함께 어떤 키워드가 나타났는지 조사했는데, 지난해 파이토치는 2018년 대비 108.1% 증가했다. 
 
ⓒJeff Hale

물론 그의 분석 자료가 상대적 성장세를 표현했다는 점을 감안해야 한다. 텐서플로우의 사용자 커뮤니티 규모가 아직 파이토치보다 훨씬 크다. 파이토치가 거의 하룻밤 사이에 소수에서 무시무시한 다수로 변했지만 말이다. 하지만 모든 사항을 고려해볼 때 파이토치가 곧 텐서플로우와의 격차를 좁힐 수 있을 것으로 예측된다. 

특히 파이토치에는 비교우위가 하나 더 있다. 전 세계에서 가장 인기 많은 파이썬의 존재가 바로 그것이다. 

데이터 과학의 장벽을 낮추다 
2017년 파이토치가 처음 공개될 당시 인포월드의 수석기자 세다르 예굴알프는 다음과 같이 보도했다. "파이토치의 가장 큰 장점은 파이썬과의 뛰어난 호환성이다. 방대한 파이썬 라이브러리와 소프트웨어 생태계에 연결하기 쉽다. 파이썬 개발자는 기존 익숙한 방식 그대로 파이토치를 사용할 수도 있다."

즉, 파이토치는 문턱이 낮다는 이점을 가진다. 파이토치는 공식 문서가 워낙 잘 만들어져 있고,  개발자들로부터 도움을 받을 수 있는 자체 운영 포럼도 있다. 

파이토치는 연산 그래프 설정에서도 장점이 있다. 이와 관련해 컴퓨터 엔지니어 사반 비살파라는 아래와 같이 언급했다. 

“텐서플로우가 ‘Define and Run’ 방식이라면, 파이토치는 ‘Define by Run’ 방식이다. ‘Define and Run’ 프레임워크에서는 연산 그래프를 먼저 정의하고 값을 넣어 결과를 얻는다. ‘Define by Run’ 프레임워크는 연산 그래프가 정의되는 동시에 연산이 이루어진다. 후자가 더 자연스러운 코딩 방식이다.” 

데이터 과학자이자 머신러닝 전문가인 디라즈 쿠마르도 동의하는 부분이다. 그는 과학자들이 이러한 동적인 모델을 통해 "모든 연산을 확인할 수 있고, 정확히 무슨 일이 일어나고 있는지 알 수 있다"라고 주장했다.

확실히 구글이 텐서플로우 2.0을 '더 쉽게' 만들기는 했다. 인포월드의 기자 마틴 헬러는 "텐서플로우 2.0의 ‘즉시실행(Eager execution)’ 모드는 코드가 정의될 때 연산이 실행됨을 의미한다. 기존처럼 실행 전에 노드와 엣지로 이뤄진 그래프를 생성할 필요가 없다"라고 설명했다. 

즉시실행 모드는 파이토치에 대응해 텐서플로우의 사용 편의성을 향상한다. 하지만 머신러닝 전문가 호레이스 히는 다음과 같은 사항도 경고했다. "텐서플로우 2.0에서 즉시실행은 기본 설정으로 활성화돼 있다. 이는 사용자가 어쩔 수 없이 즉시실행 모드를 선택하도록 만든다." 

이어서 그는 "파이토치의 토치스크립트는 선택권을 준다. 기본 설정보다는 이것이 사용자 니즈에 부합할 가능성이 크다"라고 덧붙였다. 또한 텐서플로의 즉시실행 모드는 2019년 7월 성능 문제가 제기되기도 했다. 

물론 아직까지는 텐서플로우가 현업에서 많이 사용되고 있다. 하지만 배우기 쉽고, 간단하며, 세계에서 가장 대중적인 프로그래밍 언어를 기반으로 하는 파이토치의 접근 방법이 유효한 것으로 증명되고 있다. 현재 파이토치를 가장 빠르게 수용하는 곳은 학계이지만, 머지않아 산업 현장에서도 파이토치 사용이 계속 증가할 것으로 전망된다. 

* Matt Asay는 인포월드에 기고하는 기술 전문 저술가다. ciokr@idg.co.kr



2020.01.31

블로그ㅣ머신러닝에 관심있다면?··· 이제는 파이토치다 

Matt Asay | Computerworld
아직 비주류긴 하지만, 쉽고 간단한 딥러닝 프레임워크 파이토치(PyTorch)가 데이터 과학 분야에서 부상하고 있다. 

페이스북 인공지능 연구팀에서 만든 파이토치는 현재 가장 인기 많은 프로그래밍 언어인 파이썬을 기반으로 한다는 점에서 의미가 있다. 그러나 이것이 얼마나 의미가 있는지 거의 짐작하지 못했다. 아무리 많은 것들(훌륭한 공식 문서, 탄탄한 기술 기반 등)을 지원하더라도 오픈소스 프로젝트의 성공에는 운이 따라야 하기 때문이다. 
 
ⓒGetty Images

그렇다면 파이토치는 운이 좋다. 아니, 축복받았다고 봐도 무방하다. 파이토치는 최근 빠르게 성장하고 있다. 애널리스트 토마스 딘스모어는 “2020년 말에는 파이토치 사용자가 텐서플로우 사용자를 추월할 것"이라고 전망했다. 사용자가 더 많아지고, 더 많이 채택되는 것은 무엇을 의미할까? 2015년 공개된 텐서플로우가 주류로 자리잡은 업계에서 그 경쟁자인 파이토치가 큰 발걸음을 내딛고 있다는 것이다.  

폭발적인 성장
오픈허브(OpenHub)에 따르면, 텐서플로우와 파이토치는 지난 12개월간 막상막하의 사용자 수를 기록했다. 텐서플로우는 906명, 파이토치는 900명이었다. 2015년 공개된 텐서플로우와 비교하면, 파이토치의 점유율은 물론 사용자 수가 빠르게 증가하고 있음을 알 수 있다.

이는 데이터 과학자 제프 헤일의 분석 자료에서도 확인할 수 있다. 헤일은 채용 관련 데이터를 기반으로 데이터 과학자와 함께 어떤 키워드가 나타났는지 조사했는데, 지난해 파이토치는 2018년 대비 108.1% 증가했다. 
 
ⓒJeff Hale

물론 그의 분석 자료가 상대적 성장세를 표현했다는 점을 감안해야 한다. 텐서플로우의 사용자 커뮤니티 규모가 아직 파이토치보다 훨씬 크다. 파이토치가 거의 하룻밤 사이에 소수에서 무시무시한 다수로 변했지만 말이다. 하지만 모든 사항을 고려해볼 때 파이토치가 곧 텐서플로우와의 격차를 좁힐 수 있을 것으로 예측된다. 

특히 파이토치에는 비교우위가 하나 더 있다. 전 세계에서 가장 인기 많은 파이썬의 존재가 바로 그것이다. 

데이터 과학의 장벽을 낮추다 
2017년 파이토치가 처음 공개될 당시 인포월드의 수석기자 세다르 예굴알프는 다음과 같이 보도했다. "파이토치의 가장 큰 장점은 파이썬과의 뛰어난 호환성이다. 방대한 파이썬 라이브러리와 소프트웨어 생태계에 연결하기 쉽다. 파이썬 개발자는 기존 익숙한 방식 그대로 파이토치를 사용할 수도 있다."

즉, 파이토치는 문턱이 낮다는 이점을 가진다. 파이토치는 공식 문서가 워낙 잘 만들어져 있고,  개발자들로부터 도움을 받을 수 있는 자체 운영 포럼도 있다. 

파이토치는 연산 그래프 설정에서도 장점이 있다. 이와 관련해 컴퓨터 엔지니어 사반 비살파라는 아래와 같이 언급했다. 

“텐서플로우가 ‘Define and Run’ 방식이라면, 파이토치는 ‘Define by Run’ 방식이다. ‘Define and Run’ 프레임워크에서는 연산 그래프를 먼저 정의하고 값을 넣어 결과를 얻는다. ‘Define by Run’ 프레임워크는 연산 그래프가 정의되는 동시에 연산이 이루어진다. 후자가 더 자연스러운 코딩 방식이다.” 

데이터 과학자이자 머신러닝 전문가인 디라즈 쿠마르도 동의하는 부분이다. 그는 과학자들이 이러한 동적인 모델을 통해 "모든 연산을 확인할 수 있고, 정확히 무슨 일이 일어나고 있는지 알 수 있다"라고 주장했다.

확실히 구글이 텐서플로우 2.0을 '더 쉽게' 만들기는 했다. 인포월드의 기자 마틴 헬러는 "텐서플로우 2.0의 ‘즉시실행(Eager execution)’ 모드는 코드가 정의될 때 연산이 실행됨을 의미한다. 기존처럼 실행 전에 노드와 엣지로 이뤄진 그래프를 생성할 필요가 없다"라고 설명했다. 

즉시실행 모드는 파이토치에 대응해 텐서플로우의 사용 편의성을 향상한다. 하지만 머신러닝 전문가 호레이스 히는 다음과 같은 사항도 경고했다. "텐서플로우 2.0에서 즉시실행은 기본 설정으로 활성화돼 있다. 이는 사용자가 어쩔 수 없이 즉시실행 모드를 선택하도록 만든다." 

이어서 그는 "파이토치의 토치스크립트는 선택권을 준다. 기본 설정보다는 이것이 사용자 니즈에 부합할 가능성이 크다"라고 덧붙였다. 또한 텐서플로의 즉시실행 모드는 2019년 7월 성능 문제가 제기되기도 했다. 

물론 아직까지는 텐서플로우가 현업에서 많이 사용되고 있다. 하지만 배우기 쉽고, 간단하며, 세계에서 가장 대중적인 프로그래밍 언어를 기반으로 하는 파이토치의 접근 방법이 유효한 것으로 증명되고 있다. 현재 파이토치를 가장 빠르게 수용하는 곳은 학계이지만, 머지않아 산업 현장에서도 파이토치 사용이 계속 증가할 것으로 전망된다. 

* Matt Asay는 인포월드에 기고하는 기술 전문 저술가다. ciokr@idg.co.kr

X