파이토치 라이트닝으로 시작하는 딥러닝 [파이썬으로 빠르게 고성능 AI 모델 만들기]
- 원서명Deep Learning with PyTorch Lightning: Swiftly build high-performance Artificial Intelligence (AI) models using Python (ISBN 9781800561618)
- 지은이쿠날 사와르카르(Kunal Sawarkar), 시밤 R 솔란키(Shivam R Solanki), 아밋 조글카르(Amit Joglekar)
- 옮긴이허정준
- ISBN : 9791161757841
- 35,000원
- 2023년 09월 26일 펴냄
- 페이퍼백 | 404쪽 | 188*235mm
- 시리즈 : 데이터 과학
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/dl-pytorch-lightning
요약
파이토치 라이트닝은 딥러닝 프레임워크인 파이토치의 유연성은 유지하면서 작동에 필요한 코드량을 줄여 모델과 연구에 집중할 수 있도록 돕는 프레임워크다. 파이토치 라이트닝을 활용한 모델 제작부터 훈련과 배포까지 실용적인 가이드를 제시하고자 한다. 또한 다양한 데이터(시계열, 이미지, 자연어 등)와 아키텍처(GAN, 지도 학습, 자기 지도 학습 등)를 다루기 때문에 딥러닝의 중요 개념을 익히는 데에도 도움이 된다. 책의 후반부에서는 모델 배포를 위한 기술적인 팁을 다루기도 한다. 딥러닝을 처음 접하는 독자부터 다른 프레임워크에서 전환을 고려하는 실무자들까지 폭넓게 도움이 될 것이다.
이 책에서 다루는 내용
◆ 다양한 데이터 세트, 모델 아키텍처로 맞춤형 모델 제작
◆ 이미지 인식, 자연어 처리, 시계열 등 다양한 딥러닝 모델의 개념
◆ 시를 쓰고(준지도 학습) 가짜 이미지를 만드는(GAN) 심화 모델 제작
◆ 자기 지도 학습(대조 학습)을 통해 라벨이 없는 이미지를 사용한 모델 학습
◆ 사전 학습 모델의 전이 학습을 통한 비용 절감
◆ 라이트닝 플래시를 통한 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장, ‘훈련 확장 및 관리’에서는 대규모로 모델을 학습하고 관리할 때 만나는 여러 문제를 살펴본다. 자주 발생하는 문제와 그 문제를 해결하는 팁을 알아본다. 또한 실험을 세팅하는 방법, 모델 학습을 재개하고 하드웨어를 효율적으로 활용하는 방법 등을 다룬다.
목차
목차
- 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비트 정밀도 학습
- 학습 제어
- 클라우드 사용 시 모델 체크포인트 저장
- 체크포인트 기능의 기본 동작 변경
- 저장한 체크포인트에서 교육 재개
- 클라우드에서 다운로드 또는 병합한 데이터 저장
- 읽을거리
- 요약
도서 오류 신고
정오표
정오표
[p. 47 : 첫 번째 링크]
https://github.com/PacktPublishing/Deep-Learning-with-Py-Torch-Lightning
->
https://github.com/PacktPublishing/Deep-Learning-with-PyTorch-Lightning