마스터링 트랜스포머 (BERT에서 LLM, 스테이블 디퓨전까지, Transformers 라이브러리와 함께하는 트랜스포머 탐구)
Description
트랜스포머 기반 언어 모델을 살펴보고 NLP 및 컴퓨터비전 작업을 탐구하면서 문제를 효과적으로 해결해 보자!
BERT, T5, GPT, DALL-E, ChatGPT 같은 트랜스포머 기반 언어 모델이 자연어 처리(NLP) 연구를 주도하며 새로운 패러다임을 형성하고 있다. 정확하고 빠른 미세조정 능력 덕분에 이 모델들은 까다로운 자연어 이해(NLU) 문제에서 전통적인 머신러닝 기반 접근 방식을 능가하는 성능을 보여준다.

트랜스포머는 NLP뿐만 아니라 현재 빠르게 성장 중인 다중 모달 학습과 생성형 AI 분야에서도 주목할 만한 성과를 내고 있다. 이 책을 통해 독자는 다양한 텍스트 기반 NLP 작업은 물론이고 텍스트-이미지 변환을 포함한 다중 모달 솔루션과 트랜스포머 기반 컴퓨터비전(CV) 솔루션도 익히고 구현할 수 있다. 이 책은 먼저 다양한 트랜스포머 모델을 소개하고, GPT나 XLNet 같은 자기회귀 언어 모델을 훈련하는 방법을 설명한다. 모델의 성능을 개선하는 방법과 텐서보드(TensorBoard) 도구모음을 이용해서 모델 훈련 과정을 추적하는 방법도 익힐 수 있다. 책의 후반부에서는 비전 트랜스포머(ViT)를 활용해 컴퓨터비전 문제를 해결하는 데 초점을 맞춘다. 마지막으로는 트랜스포머의 능력을 시계열 데이터의 모델링과 예측에 적용하는 방법을 살펴본다.

이 책을 통해 독자는 트랜스포머 모델을 이해하고, NLP와 컴퓨터비전 분야의 여러 작업을 트랜스포머로 해결하는 방법을 터득하게 될 것이다.

★ 이 책에서 다루는 내용 ★

◎ 간단하거나 복잡한 여러 NLP 문제를 파이썬을 이용해서 해결하는 데 집중한다.
◎ 전통적인 NLP 접근 방식으로 분류/회귀 문제를 해결하는 방법을 익힌다.
◎ 언어 모델을 학습시키고 하위 작업에 맞게 미세조정하는 방법을 이해한다.
◎ 생성형 AI와 컴퓨터 비전 작업에 트랜스포머를 활용하는 방법을 익힌다.
◎ 허깅 페이스의 Transformers 라이브러리를 이용해 트랜스포머 기반 NLP 앱을 구축한다.
◎ 기계번역과 대화형 AI 등 다국어 언어 생성 작업을 수행한다.
◎ 트랜스포머 모델의 추론 속도를 높이고 지연 시간을 단축하기 위한 효율성 개선 기법을 설명한다.
저자

사바슈이을드름,메이삼아스가리지헤낙흘루

사바슈이을드름은이스탄불공과대학교컴퓨터공학과를졸업하고트라키아대학교에서자연어처리(NLP)분야로박사학위를받았다.현재터키이스탄불빌기대학교의부교수이자캐나다라이어슨대학교의방문연구원으로재직중이다.머신러닝(기계학습),딥러닝,자연어처리분야에서20년이상의강의경력을가진적극적인강사이자연구자이다.여러오픈소스소프트웨어와자료를개발해서터키NLP커뮤니티에중요한공헌을해왔다.또한AI기업들의R&D프로젝트에대해포괄적인자문도제공한다.여가시간에는단편영화를쓰고연출하며요가를즐긴다.

목차

[01부]이분야의최근발전상황,실습준비,그리고첫번째헬로월드프로그램

▣01장:BoW(단어주머니)에서트랜스포머까지
1.1NLP접근방식들의진화과정
1.2전통적인NLP접근방식의요약
__1.2.1언어모델의설계와생성
1.3딥러닝활용
__1.3.1RNN모델을사용한단어순서고려
__1.3.2LSTM및게이트순환유닛
__1.3.3문맥적단어임베딩과전이학습
1.4트랜스포머아키텍처의개요
__1.4.1주의메커니즘
__1.4.2다중헤드주의메커니즘
1.5트랜스포머를이용한전이학습(TL)활용
1.6다중모달학습
요약
참고문헌

▣02장:실습환경준비와기본지식
2.1기술적요구사항
2.2아나콘다로Transformer라이브러리설치
__2.2.1리눅스에아나콘다설치
__2.2.2Windows에아나콘다설치
__2.2.3macOS에아나콘다설치
__2.2.4텐서플로,파이토치,Transformer설치
__2.2.5구글코랩에서Transformers설치및사용
2.3언어모델과토크나이저다루기
2.4커뮤니티제공모델활용
2.5다중모달트랜스포머활용하기
2.6벤치마크와데이터셋활용
__2.6.1주요벤치마크
__2.6.2GLUE벤치마크
__2.6.3SuperGLUE벤치마크
__2.6.4XTREME벤치마크
__2.6.5XGLUE벤치마크
__2.6.6SQuAD벤치마크
__2.6.7API를이용한데이터셋접근
2.7datasets라이브러리를이용한데이터다루기
__2.7.1정렬,첨자접근,뒤섞기
__2.7.2캐싱과재사용성
__2.7.3filter함수를이용한필터링
__2.7.4map함수를이용한데이터처리
__2.7.5지역파일다루기
__2.7.6모델학습을위한데이터셋준비
2.8속도와메모리사용량벤치마크
요약

[02부]여러가지트랜스포머모델:오토인코더에서자기회귀모델까지

▣03장:오토인코딩언어모델
3.1기술적요구사항
3.2BERT:오토인코딩언어모델의하나
__3.2.1BERT언어모델의사전훈련작업
__3.2.2자세히살펴본BERT언어모델
3.3임의의언어를위한오토인코딩언어모델의훈련
3.4커뮤니티와모델공유하기
3.5그밖의오토인코딩모델들
__3.5.1ALBERT소개
__3.5.2RoBERTa모델
__3.5.3ELECTRA
__3.5.4DeBERTa모델
3.6토큰화알고리즘다루기
__3.6.1BPE
__3.6.2WordPiece토큰화
__3.6.3SentencePiece토큰화
__3.6.4tokenizers라이브러리
요약

▣04장:생성형모델에서LLM(대규모언어모델)으로
4.1기술적요구사항
4.2GLM소개
4.3GLM다루기
__4.3.1GPT모델계열
__4.3.2Transformer-XL
__4.3.3XLNet
4.4텍스트투텍스트모델다루기
__4.4.1T5를이용한다중작업학습
__4.4.2T0모델을이용한제로샷텍스트일반화
__4.4.3BART:또다른잡음제거기반seq2seq모델
4.5GLM훈련
4.6자동회귀모델을이용한자연어생성
요약
참고문헌

▣05장:텍스트분류를위한언어모델미세조정
5.1기술적요구사항
5.2텍스트분류개요
5.3단일문장이진분류를위한BERT모델미세조정
5.4네이티브파이토치를사용한분류모델훈련
5.5다중클래스분류를위한BERT모델미세조정(커스텀데이터셋활용)
5.6문장쌍회귀를위한BERT모델미세조정
5.7다중레이블텍스트분류
5.8run_glue.py를활용한모델미세조정
요약
참고문헌

▣06장:토큰분류를위한언어모델미세조정
6.1기술적요구사항
6.2토큰분류소개
__6.2.1NER의이해
__6.2.2품사태깅의이해
__6.2.3질의응답(QA(QuestionAnswering))의이해
6.3개체명인식을위한언어모델미세조정
6.4토큰분류를이용한질의응답
6.5다양한작업을위한질의응답
요약

▣07장:텍스트표현
7.1기술적요구사항
7.2문장임베딩소개
__7.2.1교차인코더대이중인코더
7.3문장유사도모델의벤치마킹
7.4BART모델을이용한제로샷학습
7.5FLAIR를이용한의미유사성실험
__7.5.1평균단어임베딩
__7.5.2RNN기반문서임베딩
__7.5.3트랜스포머기반BERT임베딩
__7.5.4SBERT임베딩
7.6SBERT를이용한텍스트군집화
__7.6.1BERTopic을이용한주제모델링
7.7SBERT를이용한의미검색
7.8지시문미세조정임베딩모델
요약
더읽을거리

▣08장:모델성능향상
8.1기술적요구사항
8.2데이터증강을통한성능향상
__8.2.1문자수준증강
__8.2.2단어수준증강
__8.2.3문장수준증강
__8.2.4데이터증강을통한IMDb텍스트분류성능향상
8.3모델을도메인적응시키기
8.4최적의초매개변수를결정하기위한HPO기법
요약

▣09장:매개변수효율적미세조정
9.1기술적요구사항
9.2PEFT소개
9.3여러유형의PEFT
__9.3.1가산적방법
__9.3.2선택적방법
__9.3.3저계수미세조정
9.4PEFT실습
__9.4.1어댑터조정을통한BERT체크포인트미세조정
__9.4.2NLI작업을위한FLAN-T5의효율적미세조정(LoRA이용)
__9.4.3QLoRA를이용한미세조정
요약
참고문헌

[03부]고급주제들

▣10장:LLM(대규모언어모델)
10.1기술적요구사항
10.2LLM이중요한이유
__10.2.1보상함수의중요성
__10.2.2LLM의instruction-following능력
10.3대규모언어모델의미세조정
요약

▣11장:NLP와설명가능한AI(XAI)
11.1기술적요구사항
11.2주의헤드의해석
__11.2.1exBERT를사용한주의헤드시각화
__11.2.2BertViz를이용한주의헤드의다중스케일시각화
__11.2.3탐침분류기를이용한BERT내부구조이해
11.3모델결정설명하기
__11.3.1LIME을이용한트랜스포머결정해석
__11.3.2SHAP(SHapleyAdditiveexPlanations)을이용한트랜스포머결정해석
요약

▣12장:efficienttransformer
12.1기술적요구사항
12.2효율적이고가볍고빠른트랜스포머모델소개
12.3모델크기축소
__12.3.1DistilBERT를이용한지식증류
__12.3.2트랜스포머모델의가지치기
__12.3.3양자화
12.4효율적인자기주의메커니즘활용
__12.4.1고정패턴기반희소자기주의
__12.4.2학습가능패턴
__12.4.3저계수분해,핵방법및기타접근방식
12.5bitsandbytes를이용한좀더쉬운양자화
요약
참고문헌

▣13장:교차언어및다국어언어모델링
13.1기술적요구사항
13.2번역언어모델링과교차언어지식공유
13.3XLM과mBERT
__13.3.1mBERT모델
__13.3.2XLM
13.4교차언어유사성작업
__13.4.1교차언어텍스트유사성
__13.4.2언어간텍스트유사성의시각화
13.5교차언어분류
13.6교차언어제로샷학습
13.7대규모다국어번역
__13.7.1미세조정한다국어모델의성능
요약
참고문헌

▣14장:트랜스포머모델의서비스제공
14.1기술적요구사항
14.2FastAPI를이용한트랜스포머모델서비스제공
14.3API의도커화
14.4TFX를이용한좀더빠른트랜스포머모델서비스제공
14.5Locust를이용한부하테스트
14.6ONNX를이용한더빠른추론
14.7SageMaker추론
요약
더읽을거리

▣15장:모델추적및모니터링
15.1기술적요구사항
15.2모델지표추적
__15.2.1텐서보드를이용한모델훈련추적
__15.2.2W&B를이용한실시간모델훈련추적
요약
더읽을거리

[04부]NLP이외의트랜스포머활용

▣16장:비전트랜스포머(ViT)
16.1기술적요구사항
16.2비전트랜스포머(ViT)
16.3트랜스포머를이용한이미지분류
16.4트랜스포머를이용한의미론적분할과물체검출
16.5시각적프롬프트모델
요약

▣17장:생성형다중모달트랜스포머
17.1기술적요구사항
17.2다중모달학습
__17.2.1생성형다중모달AI
17.3텍스트-이미지생성을위한스테이블디퓨전
17.4스테이블디퓨전을이용한이미지생성
17.5MusicGen을이용한음악생성
17.6트랜스포머를이용한텍스트-음성생성(음성합성)
요약

▣18장:시계열데이터를위한트랜스포머아키텍처의재고찰
18.1기술적요구사항
18.2시계열데이터의기본개념
18.3트랜스포머와시계열모델링
요약