책소개
이 책은 허깅페이스를 처음 접하는 사람부터 트랜스포머 모델을 깊이 있게 공부하고 싶은 사람까지 모두에게 추천합니다. 또한, QLoRA, RLHF, DPO 등의 구현 코드를 직접 실습하며 직관적으로 이해하고 싶은 독자에게도 유용한 책입니다.
목차
1 자연어 처리와 허깅페이스
_1.1 허깅페이스 소개 __1.1.1 Datasets __1.1.2 Models __1.1.3 Spaces __1.1.4 Docs _1.2 자연어 처리와 허깅페이스의 관계 2 환경 구축 _2.1 구글 코랩 환경 구축 __2.1.1 계정 생성 __2.1.2 새 노트북 만들기 __2.1.3 코드 실행 __2.1.4 파일 저장 __2.1.5 깃 코드 열기 _2.2 구글 드라이브 마운트 3 허깅페이스 주요 라이브러리 _3.1 Datasets 라이브러리 __3.1.1 Datasets 설치 __3.1.2 Datasets 실습 _3.2 Transformers 라이브러리 __3.2.1 Transformers 설치 __3.2.2 Tokenizer __3.2.3 DataCollator __3.2.4 Model __3.2.5 AutoClass __3.2.6 Trainer, TrainingArguments __3.2.7 Pipeline _3.3 미세조정 __3.3.1 토크나이저와 모델 준비 __3.3.2 데이터 준비 및 전처리 __3.3.3 학습 파라미터 선정 __3.3.4 학습 진행 __3.3.5 성능 평가 __3.3.6 모델 저장 _3.4 허깅페이스 허브 등록 __3.4.1 push_to_hub() __3.4.2 CLI __3.4.3 huggingface-hub 4 보조 라이브러리 _4.1 Tokenizers 라이브러리 __4.1.1 Tokenizer 학습 __4.1.2 모델 초기화 후 학습 _4.2 Evaluate 라이브러리 __4.2.1 Evaluate 평가 __4.2.2 커스텀 메트릭 만들기 __4.2.3 Trainer 적용 5 언어 모델 구조 및 학습 _5.1 트랜스포머 모델 _5.2 인코더 기반 모델 __5.2.1 기본 구조 __5.2.2 Sequence Classification __5.2.3 Multiple Choice __5.2.4 Token Classification __5.2.5 Question Answering _5.3 디코더 기반 모델 __5.3.1 기본 구조 __5.3.2 Causal LM __5.3.3 Question Answering __5.3.4 Sequence Classification _5.4 인코더-디코더 기반 모델 __5.4.1 기본 구조 __5.4.2 Conditional Generation __5.4.3 Sequence Classification __5.4.4 Question Answering 6 모델 활용 _6.1 모델 미세조정 __6.1.1 인코더 - Sequence Classification __6.1.2 디코더 - Causal LM __6.1.3 인코더-디코더 - Conditional Generation __6.1.4 언어 모델 문장 생성 _6.2 모델 서빙 7 모델 경량화 _7.1 모델 경량화 개요 _7.2 PEFT _7.3 양자화 _7.4 QLoRA 미세조정 8 TRL _8.1 TRL 라이브러리 개요 _8.2 RLHF _8.3 보상 모델 트레이닝 _8.4 SFT _8.5 PPO _8.6 Best-of-N 샘플링 _8.7 DPO _8.8 KTO _8.9 CPO _8.10 ORPO |
서평
이 책은 허깅페이스의 소개를 시작으로 환경 구축, 주요 라이브러리 사용법을 상세히 설명하며, 허깅페이스를 처음 접하는 사람들도 쉽게 따라갈 수 있도록 구성되어 있습니다. 데이터 전처리부터 학습, 모델 등록까지 전 과정을 코드와 함께 설명하기 때문에 실습을 통해 자연스럽게 익힐 수 있습니다. 특히 5장부터는 트랜스포머 모델을 본격적으로 다루며, 배경지식과 함께 토큰 임베딩, 세그먼트 임베딩, 포지션 임베딩 등 핵심 구성 요소를 코드와 함께 설명합니다. 다양한 NLP 태스크 수행 방식과 greedy search, beam search, top-k sampling 같은 생성 기법도 예제와 출력 결과를 통해 직관적으로 이해할 수 있도록 돕고 있습니다. 또한, 학습된 모델을 Docker를 이용해 서빙하는 과정까지 다뤄 실전 활용에 대한 감각도 익힐 수 있습니다.
개인적으로, Transformer의 구조와 코드에 대한 기본 이해가 있는 입장에서 가장 도움이 되었던 부분은 7장 모델 경량화 이후의 내용이었습니다. QLoRA, RLHF, PPO, DPO 등의 세부적인 방법론이 개념 설명과 함께 실습 코드로 제공되어 직접 구현하며 학습할 수 있었습니다. 다만, 논문에서 다루는 깊이 있는 세부 사항까지 모두 담기에는 책의 분량상 한계가 있다는 점이 아쉬웠지만, 코드가 포함되어 있어 부족한 부분은 추가 학습을 통해 보완할 수 있었습니다.
빠르게 전체적인 흐름을 파악하고 개념을 보충하며, 직접 구현을 통해 실습해보고 싶다면 이 책을 추천합니다.