딥러닝을 처음 접하면 이런 의문이 생긴다.
“신경망을 직접 만들 수도 있을 텐데, 굳이 PyTorch나 TensorFlow 같은 프레임워크를 왜 써야 하지?”
나도 처음에는 프레임워크가 거창한 무언가라고 생각했지만, 실컷 공부하고 나니까 결론은 의외로 단순했다.
딥러닝은 결국 ‘숫자 계산 덩어리’다. 그런데 이 계산이 너무 방대하다 보니, 사람이 일일이 처리할 수 없어서 프레임워크가 필요해진 것이다.
1. 딥러닝은 결국 거대한 연산 프로그램이다
신경망은 입력을 받아 여러 층을 통과시키고, 각각의 층에서 수많은 곱셈과 덧셈을 반복한다.
이미지 모델이라면 한 장의 사진이 수십만 개의 픽셀로 쪼개져서 Tensor 형태로 계산되고, 언어 모델이라면 문장이 수천 개의 숫자 토큰으로 변환되어 GPU 위에서 빠르게 흘러간다.
이 계산을 매번 직접 구현하려면 굉장히 복잡해진다.
예를 들어, 역전파(backpropagation)만 해도 미분 방정식이 반복적으로 일어나는데, 이를 매 스텝마다 손으로 짜려면 학습 자체가 불가능하다.
그래서 등장한 것이 딥러닝 프레임워크다.
2. 프레임워크의 역할은 생각보다 단순하다
딥러닝 프레임워크는 다음 네 가지를 대신 처리해준다.
- 대규모 연산을 GPU에서 자동으로 처리
- 신경망 구조를 코드로 손쉽게 만들 수 있게 함
- 역전파를 자동으로 계산
- 모델 학습 루프를 안전하게 관리
결국 프레임워크의 목적은 연구자나 개발자가 모델의 아이디어에만 집중할 수 있도록 복잡한 부분을 대신 맡아주는 것이다.
3. 왜 다양한 프레임워크가 생겨났을까?
처음에는 여러 프레임워크가 혼재했다.
Theano, CNTK, Caffe, Torch, Chainer 등 지금은 거의 쓰이지 않는 도구들이 존재했다.
이후 TensorFlow와 PyTorch가 살아남았는데, 둘이 남은 이유는 단순했다.
TensorFlow는 구글이 만들었고,
PyTorch는 페이스북 연구자들이 만들었다.
딥러닝 연구가 급격히 발전하던 시기에 이 두 프레임워크가 가장 빠르게 진화했고, 개발자 경험도 좋아 많은 사람들이 선택했다.
4. 요즘은 PyTorch가 더 많이 쓰인다
현재 대부분의 최신 연구나 LLM 모델은 PyTorch 기반이다.
코드가 파이썬스럽고, 디버깅이 쉽고, 실험하기 좋은 구조이기 때문이다.
물론 TensorFlow에도 장점은 있다.
특히 배포나 모바일 환경에서는 여전히 강점이 있다.
그러나 연구자들이 빠르게 프로토타입을 만들고 실험하기에는 PyTorch가 훨씬 편했다.
이 흐름이 계속 이어져 지금은 사실상 표준처럼 쓰이고 있다.
5. 이 시리즈에서 다룰 내용
이 시리즈는 딥러닝을 처음 접하는 입문자가 PyTorch와 TensorFlow를 자연스럽게 이해하고, 나중에는 LLM의 구조까지 연결해서 이해할 수 있도록 설계되어 있다.
너무 깊은 이론을 파고들기보다는, 흐름을 잡고 쉽게 따라갈 수 있게 구성할 예정이다.