파이토치 라이트닝은 딥러닝 프레임워크인 파이토치의 유연성은 유지하면서 작동에 필요한 코드량을 줄여 모델과 연구에 집중할 수 있도록 돕는 프레임워크다. 파이토치 라이트닝을 활용한 모델 제작부터 훈련과 배포까지 실용적인 가이드를 제시하고자 한다. 또한 다양한 데이터(시계열, 이미지, 자연어 등)와 아키텍처(GAN, 지도 학습, 자기 지도 학습 등)를 다루기 때문에 딥러닝의 중요 개념을 익히는 데에도 도움이 된다. 책의 후반부에서는 모델 배포를 위한 기술적인 팁을 다루기도 한다. 딥러닝을 처음 접하는 독자부터 다른 프레임워크에서 전환을 고려하는 실무자들까지 폭넓게 도움이 될 것이다.
Contents
1부. 파이토치 라이트닝 시작하기
1장. 파이토치 라이트닝 탐험
__파이토치 라이트닝이 특별한 이유
____딥러닝의 시작
____다양한 프레임워크
____파이토치 VS 텐서플로
____중용 - 파이토치 라이트닝
__〈pip install〉 - 라이트닝 탐험
__파이토치 라이트닝의 주요 구성요소
____딥러닝 파이프라인
____파이토치 라이트닝 추상화 계층
__파이토치 라이트닝을 활용한 AI 애플리케이션 제작
____이미지 인식 모델
____전이학습
____자연어 처리 트랜스포머 모델
____라이트닝 플래시
____LSTM을 사용한 시계열 모델
____오토인코더를 사용한 적대적 생성 네트워크
____CNN과 RNN을 결합한 준지도 학습 모델
____대조 학습을 활용한 자기 지도 학습 모델
____모델 배포 및 평가
____모델 규모 확장 및 생산성 팁
__추가 자료
__요약
2장. 첫 번째 딥러닝 모델 시작하기
__기술 요구사항
__신경망 시작하기
____왜 신경망일까?
____XOR 연산자
____MLP 아키텍처
__Hello World MLP 모델 만들기
____라이브러리 가져오기
____데이터 준비하기
____모델 설정하기
____모델 학습하기
____모델 불러오기
____예측 수행하기
__첫 번째 딥러닝 모델 구축
____모델이 깊다는 게 뭘까?
____CNN 아키텍처
__이미지 인식을 위한 CNN 모델 구축
____패키지 가져오기
____데이터 수집하기
____데이터 준비하기
____모델 구축하기
____모델 학습하기
____모델 정확도 평가하기
____모델 개선 연습
__요약
3장. 사전 학습 모델을 사용한 전이 학습
__기술 요구사항
__전이 학습 시작하기
__사전 학습한 ResNet-50 아키텍처를 사용한 이미지 분류기
____데이터 준비
____모델 생성
____모델 학습
____모델 정확도 평가
__BERT를 사용한 텍스트 분류
____데이터 수집
____데이터 로더 인스턴스 생성
____모델 생성
____모델 학습 및 테스트 설정
____모델 학습
____모델 평가
__요약
4장. 라이트닝 플래시를 통한 사전 학습 모델 활용
__기술 요구사항
__라이트닝 플래시 시작하기
__플래시는 매우 간단하다
__플래시를 이용한 비디오 분류
____Slow와 SlowFast 아키텍처
____라이브러리 가져오기
____데이터 세트 불러오기
____백본 네트워크 설정
____모델 미세 조정
____예측 수행하기
__플래시를 사용한 음성 인식
____라이브러리 설치하기
____라이브러리 가져오기
____데이터 세트 불러오기
____백본 네트워크 설정하기
____모델 학습 및 미세 조정하기
____예측 수행하기
__추가 학습
__요약
2부. 파이토치 라이트닝을 사용한 문제 해결
5장. 시계열 모델
__기술 요구사항
__시계열 소개
____딥러닝을 이용한 시계열 예측
__시계열 모델 시작하기
__LSTM 시계열 모델을 이용한 교통량 예측
____데이터 세트 분석
____피처 엔지니어링
____데이터 세트 생성
__파이토치 라이트닝을 사용한 LSTM 모델 구성
____모델 정의하기
____옵티마이저 설정하기
____모델 학습
____학습 손실 측정
____모델 불러오기
____테스트 데이터 세트 예측
____다음 단계
__요약
6장. 심층 생성 모델
__기술 요구사항
____GAN 모델 시작하기
____GAN
__GAN으로 가짜 음식 만들기
____데이터 세트 불러오기
____피처 엔지니어링 유틸리티 함수
____판별기 모델 구성
____생성기 모델 구성
____적대적 생성 모델
____GAN 모델 학습
____모델이 생성한 가짜 이미지
__GAN을 사용해 새로운 나비 종 만들기
__GAN 학습 도전 과제
__DCGAN으로 새 이미지 생성하기
__요약
7장. 준지도 학습
__기술 요구사항
__준지도 학습 시작하기
__CNN-RNN 아키텍처 알아보기
__이미지에 대한 캡션 생성하기
____데이터 세트 다운로드
____데이터 정리
____모델 학습
____하이브리드 CNN-RNN 모델
____캡션 생성
____다음 단계
__요약
8장. 자기 지도 학습
__기술 요구사항
__자기 지도 학습 시작하기
____자기 지도의 의미
__대조 학습
__SimCLR 아키텍처
____SimCLR의 작동 방식
__이미지 인식을 위한 SimCLR 모델
____데이터 세트 수집
____데이터 증강 설정
____데이터 세트 불러오기
____학습 구성
____모델 학습
____모델 평가
____다음 단계
__요약
3부. 심화 과정
9장. 모델 배포 및 예측 수행
__기술 요구사항
__파이토치 라이트닝 방식으로 모델 배포 및 예측하기
____pickle(.PKL) 모델 파일 형식
____딥러닝 모델 배포
____플라스크를 사용해 배포 및 예측하기
__ONNX 방식으로 모델 배포 및 예측하기
____ONNX 형식과 중요성
____ONNX 모델 저장 및 불러오기
____플라스크를 사용해 ONNX 모델 배포 및 예측하기
__다음 단계
__읽을거리
__요약
10장. 훈련 확장 및 관리
__기술 요구사항
__학습 관리
____모델 하이퍼파라미터 저장
____효율적인 디버깅
____텐서보드를 활용한 학습 손실 모니터링
__훈련 규모 확장
____여러 워커를 사용한 모델 학습 속도 향상
____GPU/TPU 학습
____혼합 정밀도 학습/16비트 정밀도 학습
__학습 제어
____클라우드 사용 시 모델 체크포인트 저장
____체크포인트 기능의 기본 동작 변경
____저장한 체크포인트에서 교육 재개
____클라우드에서 다운로드 또는 병합한 데이터 저장
__읽을거리
__요약
Author
쿠날 사와르카르,시밤 R 솔란키,아밋 조글카르,허정준
수석 데이터 과학자이자 AI 권위자로, 최근 혁신적인 제품을 개발하는 AI 빌드 랩(Build Labs)을 이끌고 있다. 과거 여러 AI 제품 연구소를 출범시켰고 제품을 폭발적으로 성장시킨 경험이 있다. 하버드대학교에서 응용통계학으로 석사 학위를 받았고 산업계와 사회에서 풀리지 않던 문제를 머신러닝(특히 딥러닝)을 활용해 풀고 있다. 머신러닝 분야에서 20개 이상의 특허와 논문을 보유하고 있다. AI를 통한 지속가능성(Sustainability)에 집중하는 엔젤 투자자이면서 자문위원으로도 활동 중이다.
수석 데이터 과학자이자 AI 권위자로, 최근 혁신적인 제품을 개발하는 AI 빌드 랩(Build Labs)을 이끌고 있다. 과거 여러 AI 제품 연구소를 출범시켰고 제품을 폭발적으로 성장시킨 경험이 있다. 하버드대학교에서 응용통계학으로 석사 학위를 받았고 산업계와 사회에서 풀리지 않던 문제를 머신러닝(특히 딥러닝)을 활용해 풀고 있다. 머신러닝 분야에서 20개 이상의 특허와 논문을 보유하고 있다. AI를 통한 지속가능성(Sustainability)에 집중하는 엔젤 투자자이면서 자문위원으로도 활동 중이다.