이전 elasticsearch 검색 api를 마무리하고 이제 더 효율적이고 정확한 검색을 위한 자연어 처리 모델을 만들어 시도해 보려고 한다! AI/머신러닝/딥러닝에 사용되는 툴로 아주 유명한 Tensorflow, 그리고 pytorch가 있는데 이 둘을 비교해보고 pytorch로 고르게 되었다.
Tensorflow란? -> 나무위키에서 보기
Pytorch란 ?
Python을 위한 오픈소스 머신러닝/딥러닝 라이브러리이다. Tensorflow와 마찬가지로 GPU를 사용하여 상당이 빠르며 자연어 처리와 같은 애플리케이션을 위해 사용된다.
Pytorch의 특징
- 가장 유명한 딥러닝 프레임워크 중 하나이다.
- Numpy스러운 tensor연산이 GPU로도 가능하다.
- 직관적이고 간결한 코드로 구성되어 이해와 디버깅이 쉽다.
- python 라이브러리 (Numpy, Scipy, Cython)와 높은 호환성을 가진다.
- Python 언어로 빠른 딥러닝 코드를 작성한다. (한 개의 GPU 또는 많은 GPU들 위에서 가능하다.)
- 자동 미분 시스템을 이용해 DDN (Direct Network)을 짤 수 있다.
- Whole stack : 데이터 처리, 모델화, application/cloud에 배포 가능하다.
- 수많은 pre-built learning models를 참고할 수 있다. (Torch Hub/ torchvision.models)
- Facebook/Meta 내부에서 사용하기위해 만들어졌지만 현재 무료 오픈소스로 테슬라, Microsoft, OpenAI와 같은 굴지의 대기업들도 활발히 사용 중이다.
Pytorch vs Tensorflow
pytorch와 tensorflow를 비교한 표
pytorch | Tensorflow | |
페러다임 | defind and run | define by run |
언어 | Python | Python |
그래프 형태 | 정적 | 동적 |
자체 운영 포럼 | 없음 | 있음 |
참고할 코드/소스 | 적었지만 현재 많아지고 있는 편 | 많은 편 (이전부터 많이 써왔기 때문) |
사용자 입장에서 | 간결하고 구현이 빨라 익히기 쉬움 |
pytorch보다는 어려움 |
developed by | Meta(Facebook) | |
공통점 | 무료 / 오픈소스 소프트웨어 라이브러리이다. Numpy 배열을 Tensor로 가져올 수 있다. GPU상에 올려 빠른 연산이 가능하다. |
아래 그래프를 보면 확실히 pytorch가 주류가 되었다.
아래 웹사이트에서 과거, 현재까지 어떠한 AI/머신러닝/딥러닝 framework가 얼마나 사용되고 있는지 직관적으로 잘 보여준다.
https://paperswithcode.com/trends
tensorflow 와 pytorch 중 무엇을 사용할지 처음엔 고민이 되었지만 더 직관적으로 표현할 수 있고 사용자가 많아지면서 영향력이 더 커진 pytorch를 사용해보기로 결정했다 !
'pytorch' 카테고리의 다른 글
[최신] colab mecab 사용자사전 쉽게 추가하고 사용하기 (0) | 2022.10.12 |
---|---|
colab mecab 사용자 정의 사전 세팅, 추가 및 사용하기 실패한 글 (0) | 2022.10.12 |
[colab] konlpy mecab 설치 및 사용하기 on macOSX (0) | 2022.09.30 |
[머신러닝/딥러닝] 도대체 Tensor란 무엇인가!!! (0) | 2022.09.20 |
[머신러닝 vs 딥러닝] 비교 및 차이 알아보기 (0) | 2022.09.20 |