Top

파이토치 라이트닝으로 시작하는 딥러닝 [파이썬으로 빠르게 고성능 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원 (eBook 28,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장, ‘훈련 확장 및 관리’에서는 대규모로 모델을 학습하고 관리할 때 만나는 여러 문제를 살펴본다. 자주 발생하는 문제와 그 문제를 해결하는 팁을 알아본다. 또한 실험을 세팅하는 방법, 모델 학습을 재개하고 하드웨어를 효율적으로 활용하는 방법 등을 다룬다.

저자/역자 소개

지은이의 말

딥러닝은 기계를 사람처럼 만든다. 딥러닝은 기계가 비전 모델을 통해 ‘볼 수 있게’ 하고, 알렉사와 같은 음성 장치를 통해 ‘듣게’ 하고, 챗봇을 통해 ‘말하게’ 하고, 준지도 학습 모델을 통해 ‘쓰게' 하며 심지어 생성형 모델을 통해 예술가처럼 그림도 ‘그리게’ 한다.
파이토치 라이트닝을 사용하면 연구자들이 복잡성에 대한 걱정 없이 딥러닝 모델을 빠르고 쉽게 만들 수 있다. 딥러닝 프로젝트의 모델 공식에서부터 구현까지 최대한의 유연성을 확보하면서 생산성을 극대화할 수 있도록 돕는 책이다.
파이토치 라이트닝으로 딥러닝 모델을 구현하는 실습과 관련된 기법을 이해하면 즉시 실무를 수행할 수 있다. 클라우드 환경에서 파이토치 라이트닝을 구성하는 방법을 알아보고 아키텍처 구성요소를 이해하면서 다양한 산업 솔루션을 구축하기 위해 파이토치 라이트닝이 어떻게 만들어졌는지 살펴본다. 다음으로 신경망 아키텍처를 만들고 애플리케이션에 배포해보면서 프레임워크가 제공하는 기능을 넘어 자신의 요구사항에 맞춰 확장하는 방법을 알아본다. 또한 CNN(Convolutional Neural Networks)과 자연어 처리(NLP, Natural Language Processing), 시계열 데이터, 자기 지도 학습(Self-Supervised Learning), 준지도 학습(Semi-Supervised Learning), 생성적 적대 신경망(GAN, Generative Adversarial Networks)과 같은 모델을 파이토치 라이트닝을 통해 만들고 학습하는 방법을 설명한다.

지은이 소개

쿠날 사와르카르(Kunal Sawarkar)

수석 데이터 과학자이자 AI 권위자로, 최근 혁신적인 제품을 개발하는 AI 빌드 랩(Build Labs)을 이끌고 있다. 과거 여러 AI 제품 연구소를 출범시켰고 제품을 폭발적으로 성장시킨 경험이 있다. 하버드대학교에서 응용통계학으로 석사 학위를 받았고 산업계와 사회에서 풀리지 않던 문제를 머신러닝(특히 딥러닝)을 활용해 풀고 있다. 머신러닝 분야에서 20개 이상의 특허와 논문을 보유하고 있다. AI를 통한 지속가능성(Sustainability)에 집중하는 엔젤투자자이면서 자문위원으로도 활동 중이다.

시밤 R 솔란키(Shivam R Solanki)

비즈니스, 데이터, 기술의 경계에 있는 선임 데이터 과학자다. 텍사스A&M대학교에서 응용 통계학 전공으로 석사 학위를 받았다. 통계학, 머신러닝, 딥러닝을 활용해 비즈니스 문제를 해결하는 데 관심이 많다.

아밋 조글카르(Amit Joglekar)

디자인에 중점을 둔 숙련된 머신러닝 엔지니어다. 열정적으로 새로운 기술을 배우며, 클라우드 기반 기술과 딥러닝 프로그래밍을 매우 즐긴다.

옮긴이의 말

파이토치 라이트닝은 코드를 구조화하고 재사용성을 높이기 위해 파이토치 사용자가 이용하는 프레임워크입니다. 사용 방법이 직관적이고 문서화가 잘 돼 있기는 하지만 사용자층에 비해 사용 방법을 소개한 책은 국내에는 물론 해외에도 거의 없습니다. 이번 기회에 파이토치 라이트닝을 소개하는 책을 번역하게 돼 기쁩니다.
원서 출간 시기와 번역서 출간 시기 사이에 파이토치와 파이토치 라이트닝의 메이저 버전이 모두 업그레이드됐습니다. 그로 인해 원서와 코드나 코드 설명이 달라지는 부분이 있었습니다. 코드를 모두 확인했지만 혹시 문제가 발생한다면 알려주시기 바랍니다.
작년 말, 호기롭게 두 권을 번역하기로 하고 드디어 그중 한 권인 『파이토치 라이트닝으로 시작하는 딥러닝』의 역자 서문을 쓰고 있습니다. 원서를 자주 읽어 번역이 어렵지 않겠다고 생각했는데 난관의 연속이었습니다. 다른 사람의 코드를 읽기는 쉽지만 직접 작성하려고 하면 라인마다 멈칫하게 되는 것처럼, 번역도 직접 하려니 몇 단어를 넘기지 못하고 막히곤 했습니다.
난관을 지나 책의 번역을 무사히 마쳤습니다. 번역 경험이 없음에도 믿고 좋은 기회를 주신 에이콘출판사에 감사드리며 특히 번역 과정에서 지속적인 도움을 주신 분들께 감사드립니다.

옮긴이 소개

허정준

서울대학교 기계공학과를 졸업하고 롯데면세점 빅데이터 팀 분석가를 거쳐 현재는 프리랜서 마켓 크몽의 데이터 엔지니어로 일하고 있다. 데이터 기반 문제 해결에 큰 즐거움을 느끼며, 최근에는 자연어 처리와 챗GPT를 이용한 기능 개발에 특히 관심이 있다.

목차

목차
  • 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.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p. 47 : 첫 번째 링크]
https://github.com/PacktPublishing/Deep-Learning-with-Py-Torch-Lightning
->
https://github.com/PacktPublishing/Deep-Learning-with-PyTorch-Lightning