◈ 이 책에서 다루는 내용 ◈
◆ 다양한 데이터셋, 모델 아키텍처로 맞춤형 모델 제작
◆ 이미지 인식, 자연어 처리, 시계열 등 다양한 딥러닝 모델의 개념
◆ 시를 쓰고(준지도 학습) 가짜 이미지를 만드는(GAN) 심화 모델 제작
◆ 자기 지도 학습(대조 학습)을 통해 라벨이 없는 이미지를 사용한 모델 학습
◆ 사전 학습 모델의 전이 학습을 통한 비용 절감
◆ Lightning Flash를 통해 SOTA 모델 활용 방법
◆ ONNX 형식을 이용한 모델 배포와 추론
◆ 혼합 정밀도 방식과 여러 개의 GPU를 사용한 모델 학습과 추론
◈ 이 책의 대상 독자 ◈
딥러닝이 항상 궁금했지만 어디서 시작해야 할지 몰랐거나 거대한 신경망의 복잡함에 주저했던 경험이 있다면 이 책이 적합하다. 딥러닝이 식은 죽 먹기처럼 쉬워진다!
문제를 해결하기 위해 딥러닝을 배우려는 비전공 데이터 과학자를 위한 책이다. 다른 프레임워크를 사용하다가 파이토치 라이트닝으로 넘어오려고 하는 전문 데이터 과학자에게도 도움이 된다. 파이토치 라이트닝으로 딥러닝 모델을 코딩해 보려는 딥러닝 연구자에게도 실용적인 코드가 많다.
내용을 최대한 이해하려면 파이썬 프로그래밍에 대한 실무 지식과 통계학, 딥러닝 기본기에 대한 중급 수준의 이해도가 필요하다.
◈ 이 책의 구성 ◈
1장, ‘파이토치 라이트닝 탐험’에서는 딥러닝에 대한 짧은 역사로 시작해서 파이토치가 가장 사랑받는 프레임워크인 이유를 알아본다. 파이토치 라이트닝이 무엇인지, 어떻게 만들어졌는지, 파이토치와는 무엇이 다른지 살펴본다. 파이토치 라이트닝의 모듈 구조를 다루면서 파이토치 라이트닝이 모델링을 위한 엔지니어링에 드는 에너지를 줄이고 연구에 집중할 수 있게 만드는 방법을 다룬다.
2장, ‘첫 번째 딥러닝 모델 시작하기’에서는 파이토치 라이트닝으로 모델 구축을 시작하는 방법을 다룬다. 실습으로 간단한 MLP(Multilayer Perceptron) 모델부터 실제 이미지 인식에 사용하는 CNN 모델까지 만들어본다.
3장, ‘사전 학습 모델을 사용한 전이 학습’에서는 사전 학습 모델을 통해 많은 학습 시간과 비용 없이 훌륭한 성능의 모델을 만들 수 있는지 다양한 데이터 세트로 알아본다. 이미지와 자연어에 대한 사전 학습 모델을 수정하는 작업을 진행한다.
4장, ‘라이트닝 플래시를 통한 사전학습 모델 활용’에서는 최고 성능(SOTA, State-Of-The-Art) 모델 라이브러리인 파이토치 라이트닝 플래시를 다룬다. 사람들이 자주 사용하는 알고리즘과 프레임워크를 바로 사용할 수 있도록 대부분 지원해서 데이터 과학자가 빠르게 벤치마킹과 실험을 수행할 수 있도록 돕는다. 비디오 분류 모델과 음성 인식 모델을 다룬다.
5장, ‘시계열 모델’에서는 시계열 모델을 집중적으로 다룬다. 실제 사용 사례를 살펴보면서 기본부터 RNN(Recurrent Neural Networks)와 LSTM(Long Short Term Memory) 모델 같은 심화 기술까지 순차적으로 살펴본다.
6장, ‘심층 생성 모델’에서는 단계별로 존재하지 않는 이미지를 생성할 때 사용하는 GAN과 같은 생성형 딥러닝 모델의 작동과 구현을 알아본다.
7장, ‘준지도 학습’에서는 준지도 학습 모델의 작동 방법과 파이토치 라이트닝을 통한 구현 방법을 살펴본다. 또한 CNN과 RNN 모델을 함께 사용해 라벨과 이미지 캡션을 생성하는 준지도 학습 모델을 기초부터 심화까지 실습하면서 자세히 알아본다.
8장, ‘자기 지도 학습’에서는 라벨 없는 데이터로 동작하는 자기 지도 학습이라는 새로운 분야에 집중해서 자기 지도 학습 모델의 작동 방법과 파이토치 라이트닝을 통한 구현 방법을 살펴본다. 대조 학습(contrastive learning) 실습을 다루고 SimCLR 모델과 같은 기술도 알아본다.
9장, ‘모델 배포 및 예측 수행’에서는 딥러닝 모델을 그 자체로 배포하는 기술과 ONNX 같은 상호 운영 가능한 형식으로 배포하는 방법을 구체적으로 다룬다. 또 대량의 데이터로 모델 평가를 수행하는 방법을 알아본다.
10장, ‘훈련 확장 및 관리’에서는 대규모로 모델을 학습하고 관리할 때 만나는 여러 문제를 살펴본다. 자주 발생하는 문제와 그 문제를 해결하는 팁을 알아본다. 또한 실험을 세팅하는 방법, 모델 학습을 재개하고 하드웨어를 효율적으로 활용하는 방법 등을 다룬다.
◈ 지은이의 말 ◈
딥러닝은 기계를 사람처럼 만든다. 딥러닝은 기계가 비전 모델을 통해 ‘볼 수 있게’ 하고, 알렉사와 같은 음성 장치를 통해 ‘듣게 하고’, 챗봇을 통해 ‘말하게 하고’, 준지도 학습 모델을 통해 ‘쓰게’ 하며, 심지어 생성형 모델을 통해 예술가처럼 그림도 ‘그리게’ 한다.
파이토치 라이트닝을 사용하면 연구자들이 복잡성에 대한 걱정 없이 딥러닝 모델을 빠르고 쉽게 만들 수 있다. 딥러닝 프로젝트에서 모델 공식에서 구현까지 최대한의 유연성을 확보하면서 생산성을 극대화할 수 있도록 돕는 책이다.
파이토치 라이트닝으로 딥러닝 모델을 구현하는 실습과 관련된 기법을 이해하면 즉시 실무를 수행할 수 있다. 클라우드 환경에서 파이토치 라이트닝을 구성하는 방법을 알아보고 아키텍처 구성 요소를 이해하면서 다양한 산업 솔루션을 구축하기 위해 파이토치 라이트닝이 어떻게 만들어졌는지 살펴본다. 다음으로 신경망 아키텍처를 만들고 애플리케이션에 배포해보면서 프레임워크가 제공하는 기능을 넘어 자신의 요구사항에 맞춰 확장하는 방법을 알아본다. 또한 CNN(Convolutional Neural Nets)과 자연어 처리(NLP, Natural Language Processing), 시계열 데이터, 자기 지도 학습(Self-Supervised Learning), 준지도 학습(Semi-Supervised Learning), 생성적 적대 신경망(GAN, Generative Adversarial Network)과 같은 모델을 파이토치 라이트닝을 통해 만들고 학습하는 방법을 설명한다.
◈ 옮긴이의 말 ◈
파이토치 라이트닝은 코드를 구조화하고 재사용성을 높이기 위해 파이토치 사용자가 이용하는 프레임워크입니다. 사용 방법이 직관적이고 문서화가 잘 돼 있기는 하지만 사용자층에 비해 사용 방법을 소개한 책은 국내에는 물론 해외에도 거의 없습니다. 이번 기회에 파이토치 라이트닝을 소개하는 책을 번역하게 돼 기쁩니다.
원서 출간 시기와 번역서 출간 시기 사이에 파이토치와 파이토치 라이트닝의 메이저 버전이 모두 업그레이드됐습니다. 그로 인해 원서와 코드나 코드 설명이 달라지는 부분이 있었습니다. 코드를 모두 확인했지만 혹시 문제가 발생한다면 알려주시기 바랍니다.
작년 말, 호기롭게 두 권을 번역하기로 하고 드디어 그중 한 권인 『파이토치 라이트닝으로 시작하는 딥러닝』의 역자 서문을 쓰고 있습니다. 원서를 자주 읽어 번역이 어렵지 않겠다고 생각했는데 난관의 연속이었습니다. 다른 사람의 코드를 읽기는 쉽지만 직접 작성하려고 하면 라인마다 멈칫하게 되는 것처럼, 번역도 직접 하려니 몇 단어를 넘기지 못하고 막히곤 했습니다.
난관을 지나 책의 번역을 무사히 마쳤습니다. 번역 경험이 없음에도 믿고 좋은 기회를 주신 에이콘출판사에 감사드리며 특히 번역 과정에서 지속적인 도움을 주신 분들께 감사드립니다.