본문 바로가기

추천 검색어

실시간 인기 검색어

JAX/Flax로 딥러닝 레벨업

제이펍

2024년 12월 09일 출간

국내도서 : 2024년 09월 23일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (10.99MB)
ISBN 9791193926925
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
이벤트 소득공제
소장
정가 : 16,800원

판매가 15,120

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

JAX(잭스)는 대규모 계산의 확장성을 염두에 두고 설계된 고성능 라이브러리로, LLM 시대 애물단지로 전락한 파이토치를 빠르게 대체하고 있다. 모두의연구소 JAX/Flax LAB이 집필한 이 책은 JAX, 그리고 JAX와 함께 쓰이는 Flax(플랙스)를 본격적으로 다루는 국내 최초의 책이다. JAX 기초와 함수형 프로그래밍, 병렬처리 등의 특장점을 살펴보고, JAX와 Flax를 조합해서 CNN, ResNet, DCGAN, CLIP 모델을 실제로 구현해본다. 새로운 시대, 새로운 딥러닝의 방식을 익혀보자.
베타리더 후기 viii
지은이 소개 x
JAX/Flax LAB 소개 xii
들어가며 xiii
이 책에 대하여 xiv

CHAPTER 1 JAX/Flax를 공부하기 전에 1
1.1 JAX/Flax에 대한 소개와 예시 1
__1.1.1 JAX란 1
__1.1.2 Flax란 2
__1.1.3 JAX로 이루어진 기타 프레임워크들 3
__1.1.4 JAX 프레임워크 사용 예시 3
1.2 함수형 프로그래밍에 대한 이해 5
__1.2.1 부수 효과와 순수 함수 5
__1.2.2 불변성과 순수 함수 7
__1.2.3 정리하며 8
1.3 JAX/Flax에서 자주 사용하는 파이썬 표준 라이브러리 9
__1.3.1 functools.partial() 10
__1.3.2 typing 모듈 12
__1.3.3 정리하며 13
1.4 JAX/Flax 설치 방법 14
__1.4.1 로컬에 JAX/Flax 설치하기 14
__1.4.2 코랩에서 TPU 사용하기 14

CHAPTER 2 JAX의 특징 17
2.1 NumPy에서부터 JAX 시작하기 18
__2.1.1 JAX와 NumPy 비교하기 18
__2.1.2 JAX에서 미분 계산하기 19
__2.1.3 손실 함수의 그레이디언트 계산하기 21
__2.1.4 손실 함수의 중간 과정 확인하기 22
__2.1.5 JAX의 함수형 언어적 특징 이해하기 23
__2.1.6 JAX로 간단한 학습 돌려보기 25
2.2 JAX의 JIT 컴파일 28
__2.2.1 JAX 변환 이해하기 29
__2.2.2 함수를 JIT 컴파일하기 32
__2.2.3 JIT 컴파일이 안 되는 경우 34
__2.2.4 JIT 컴파일과 캐싱 37
2.3 자동 벡터화 39
__2.3.1 수동으로 벡터화하기 39
__2.3.2 자동으로 벡터화하기 41
2.4 자동 미분 42
__2.4.1 고차 도함수 43
__2.4.2 그레이디언트 중지 46
__2.4.3 샘플당 그레이디언트 49
2.5 JAX의 난수 52
__2.5.1 NumPy의 난수 52
__2.5.2 JAX의 난수 56
2.6 pytree 사용하기 59
__2.6.1 pytree의 정의 60
__2.6.2 pytree 함수 사용법 61
2.7 JAX에서의 병렬처리 65
2.8 상태를 유지하는 연산 69
__2.8.1 상태에 대한 이해 69
__2.8.2 모델에 적용하기 72

CHAPTER 3 Flax 소개 77
3.1 Flax CNN 튜토리얼 79
__3.1.1 패키지 로드하기 79
__3.1.2 데이터 로드하기 80
__3.1.3 모델 정의와 초기화 81
__3.1.4 메트릭 정의하기 84
__3.1.5 TrainState 초기화 84
__3.1.6 훈련 스텝과 평가 스텝 정의하기 85
__3.1.7 모델 학습하기 87
__3.1.8 모델 추론하기 89
3.2 심화 튜토리얼 90
__3.2.1 배치 정규화 적용 91
__3.2.2 드롭아웃 적용 95
__3.2.3 학습률 스케줄링 98
__3.2.4 체크포인트 관리 103

CHAPTER 4 JAX/Flax를 활용한 딥러닝 모델 만들기 105
4.1 순수 JAX로 구현하는 CNN 106
__4.1.1 패키지 로드하기 107
__4.1.2 데이터 로드하기 108
__4.1.3 레이어 구현 108
__4.1.4 네트워크 정의하기 115
__4.1.5 학습 및 평가 준비 116
__4.1.6 학습 및 평가 118
__4.1.7 추론 121
4.2 ResNet 122
__4.2.1 패키지 로드하기 123
__4.2.2 데이터 로드하기 123
__4.2.3 모델 정의 및 초기화 124
__4.2.4 메트릭 정의하기 129
__4.2.5 TrainState 초기화 129
__4.2.6 훈련 스텝과 평가 스텝 정의하기 131
__4.2.7 모델 학습하기 132
__4.2.8 결과 시각화하기 135
4.3 DCGAN 136
__4.3.1 패키지 로드하기 136
__4.3.2 데이터 로드하기 137
__4.3.3 모델 정의 및 초기화 138
__4.3.4 학습 방법 정의하기 140
__4.3.5 TrainState 초기화 143
__4.3.6 모델 학습하기 145
__4.3.7 결과 시각화하기 146
4.4 CLIP 148
__4.4.1 CIFAR10 데이터셋으로 CLIP 미세조정 진행하기 150
__4.4.2 JAX로 만들어진 데이터셋 구축 클래스 150
__4.4.3 이미지 데이터 구축 함수 뜯어보기 151
__4.4.4 CLIP 모델 불러오기 154
__4.4.5 CLIP에 사용하기 위한 전처리 및 미세조정 155
__4.4.6 모델 학습에 필요한 함수 정의하기 156
__4.4.7 하이퍼파라미터 설정과 TrainState 구축하기 160
__4.4.8 모델 저장하고 체크포인트 만들기 161
__4.4.9 요약 클래스 만들기 162
__4.4.10 학습에 필요한 스텝 정의와 랜덤 인수 복제 163
__4.4.11 모델 학습하기와 모델 저장하기 163
4.5 DistilGPT2 미세조정 학습 166
__4.5.1 패키지 설치 167
__4.5.2 환경 설정 168
__4.5.3 토크나이저 학습 169
__4.5.4 데이터셋 전처리 171
__4.5.5 학습 및 평가 173
__4.5.6 추론 178

CHAPTER 5 TPU 환경 설정 181
5.1 코랩에서 TPU 설정하기 181
5.2 캐글에서 TPU 세팅하기 182
5.3 TRC 프로그램 신청하기 183

마무리하며 186
찾아보기 188

JAX는 구글에서 개발한 고성능 수치 계산 라이브러리로, 특히 병렬 가속화 기능을 통해 대규모 모델의 효율적인 학습과 추론이 가능합니다. Flax는 JAX 기반의 심플한 신경망 라이브러리로, JAX의 장점을 살려 유연하고 확장 가능한 모델 구축을 지원합니다. 이 책은 모두의연구소 JAX/Flax LAB이 다양한 경험과 지식을 바탕으로 JAX를 어떻게 실용적으로 활용할 수 있는지에 중점을 두고 집필한 책입니다. 이론만을 설명하는 것이 아니라 실제 예제를 통해 적용 방법까지 소개합니다. (xiv쪽)

JAX에서는 해당 메서드를 데커레이터(decorator)로 활용합니다. 데커레이터로 사용하면 코드 간결성이나 코드 재사용이 늘어난다는 장점을 갖고 있습니다. (…) 이번 예제는 @partial에만 집중해서 살펴보겠습니다. 해당 데커레이터는 jax.jit라는 함수에서 고정시키고 싶은 인수인 n을 static_argnames로 고정시키고 컴파일됩니다. 이 방식을 취하면 n은 컴파일되어 추가적인 계산을 진행하지 않습니다. / 따라서 JAX에서 partial 데커레이터를 사용하면 굳이 선언할 필요 없이 병렬처리를 할 수 있게 도와줍니다. (11쪽)

먼저 SELU(scaled exponential linear unit)를 구현한 예시를 봅시다. (…) 이 출력 결과는 구글 코랩의 T4 가속기에서 실행한 결과입니다. 이제 XLA 컴파일러를 이용해보겠습니다. JAX는 jax.jit 변환을 통해 JAX와 호환되는 함수들을 JIT 컴파일합니다. 얼마나 빨라지는지 확인해보겠습니다. (…) 7배 이상 빨라진 것을 확인할 수 있습니다. jax.jit이 함수 selu()를 selu_jit()으로 변환해준 덕입니다. (33쪽)

드롭아웃에서는 뉴런의 무작위적 삭제를 위한 무작위 연산이 필요합니다. 따라서 PRNG 상태를 제공해야 하며, 이를 위해 PRNG 키가 필요합니다. 즉 기존에 사용했던 키 외에 추가적인 키가 필요하게 됩니다. 이미 알고 있는 것처럼 JAX에는 PRNG 키를 제공하는 명시적인 방법이 있습니다. key, subkey = jax.random.split(key)처럼 split 메서드를 사용하여 추가적인 키를 발급할 수 있습니다. (…) TrainState의 초기화 방법에도 변화가 있습니다. 먼저 사용자 정의 TrainState 클래스에 key 필드를 추가해야 합니다. 이제 TrainState에서 PRNG 키 또한 상태로 관리할 수 있습니다. 이를 위해 TrainState.create() 메서드에 dropout_key를 전달합니다. (96쪽)

이번 절에서는 Flax와 TPU를 활용하여 허깅 페이스의 Transformers 라이브러리에 있는 DistilGPT2 모델을 미세조정 학습하는 과정을 다룰 것입니다. 이 예제는 고성능 하드웨어의 이점을 최대한 활용하면서도 최신 소프트웨어 도구의 유연성을 결합하여 효과적인 학습 파이프라인을 구축하는 방법을 보여줍니다. (…) DistilGPT2는 GPT-2(Generative Pre-trained Transformer 2)의 가장 작은 버전으로, 영어를 지원하는 사전 훈련된 모델입니다. 지식 증류(knowledge distillation) 기법을 활용하여 기존 124 M개의 매개변수를 가진 모델을 82 M의 매개변수로 축소한 모델입니다. 이를 통해 모델의 크기를 줄이면서도 성능을 유지하는 효율적인 학습이 가능해집니다. (166~167쪽)

LLM 시대 모두가 기다려온 확장 가능한 고성능 딥러닝 라이브러리 JAX/Flax
파이토치는 쓸 만한 라이브러리였다. LLM 전성시대가 닥치기 전까지는. JAX는 파이토치가 부족했던 부분을 채우며 부상했다. 대규모 계산의 병렬처리 등 바로 이 시대에 무엇보다 우선시되는 ‘확장성’을 염두에 두고 설계되었기 때문이다.
이 책은 국내 JAX 전문가들이 모인 모두의연구소 JAX/Flax LAB이 집필한 최초의 JAX+Flax 도서다. JAX 기초부터 시작해 함수형 프로그래밍, JIT 컴파일, 병렬처리 등 JAX의 특장점을 살펴본 다음, 현재 JAX와 가장 많이 조합되는 신경망 라이브러리인 Flax를 설명한다. CNN, ResNet, DCGAN, CLIP, DistilGPT2 모델의 관련 이론을 간단히 살펴보며 JAX와 Flax를 조합해서 우아하게 구현하는 방법을 보여준다. 새 술은 새 부대에. 파이토치는 놓아주고 새로운 시대에 맞는 새로운 라이브러리를 익혀보자.

주요 내용함수형 프로그래밍, 파이썬 라이브러리 등 JAX 사용 시 알아야 할 기초JIT 컴파일, 자동 벡터화, pytree, 병렬처리 등 JAX의 주요 특징CNN 튜토리얼로 알아보는 Flax 기초ResNet, DCGAN, CLIP 모델을 구축하며 Flax에 익숙해지기코랩, 캐글에서 TPU 환경 설정하기

작가정보

저자(글) 이영빈

모두의연구소에서 AI 교육을 진행하고 있으며 JAX/Flax LAB짱을 맡고 있다.

저자(글) 유현아

IT 업계의 세미나와 커뮤니티 활동에 힘쓰며 JAX KR 커뮤니티의 운영진으로 활동하고 있다. AI 기술의 긍정적인 가능성에 대한 깊은 관심과 열정을 가지고 있다.

저자(글) 김한빈

P&G에서 데이터 사이언티스트로 근무하고 있다. AI/ML을 활용하여 비즈니스 임팩트를 창출하는 것에 큰 관심이 있다.

저자(글) 조영빈

클라우드 분야에서 ML 엔지니어로 일하고 있다. 모델을 서빙하고 서비스에 적용하는 것에 관심이 있다.

저자(글) 이태호

머신러닝을 연구해 비전, 음성, 로봇, 자동차, 재료공학, 공장자동화 등의 분야에서 상용 서비스를 만들었으며, 다양한 연구 성과를 내고 있다.

저자(글) 장진우

제조업 분야에서 데이터 과학자로 일하고 있다. 다양한 분야에서 데이터를 활용한 문제 해결 방법에 관심이 있다.

저자(글) 박정현

ML 엔지니어로 일하고 있으며, Keras Korea의 Organizer로 활동하고 있다.

저자(글) 김형섭

ML 엔지니어. 2018년부터 의료영상, 버추얼아이돌, 패션 도메인의 스타트업들에서 StyleGAN, VAE, 스테이블 디퓨전 등 딥러닝 생성 모델의 활용을 연구하고 서비스화했다.

저자(글) 이승현

컴퓨터 비전, 자연어 처리 등 다양한 분야의 딥러닝 모델을 최적화 및 경량화하여, 더 적은 비용으로 효과적인 서비스를 제공하는 방법을 연구하고 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    JAX/Flax로 딥러닝 레벨업 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    JAX/Flax로 딥러닝 레벨업 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    JAX/Flax로 딥러닝 레벨업
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)