본문 바로가기
Artificial Intelligence

책 "BERT와 GPT로 배우는 자연어 처리" 후기 - 한국어 언어모델 입문서적으로 최고인 책

by sohyunwriter 2022. 1. 10.

책 "BERT와 GPT로 배우는 자연어 처리"

 

몇 달 전에 대화요약 해커톤을 나가고 난 후,

언어 모델에 대한 공부가 필요하다고 느껴 신청하게 된 도서다.

운 좋게 서평이벤트에 당첨됐고 이 책을 읽으면서 내가 해커톤에서 주먹구구식으로 썼던 개념들에 대해 정리할 수 있게 됐다.

 

자연어처리가 처음이라면, 정말 추천하는 책이다.

사실 그동안 출간되어 있는 nlp 관련 서적들 중에 통계적인 언어모델을 다루거나,

기본적인 RNN, LSTM 정도 혹은 많이 나간다 해도 Transformers 논문 정도까지만 나온 책이 많았다.

즉, Transformers 논문 이후 나온 Transformers 기반의 여러 언어 모델에 대한 개념서가 없었고,

이에 대한 갈증을 늘 느끼고 있던 터였다.

 

근데 딱 이런 책이 Do it! 시리즈에서 나와 반가웠다.

이 책은 Transformers 핵심원리부터 BERT, GPT 등을 설명하고

NLP 파이프라인 만드는 법과

5가지 NLP task에 대한 예제가 들어있다.

 

정말 한국어 언어모델 입문서적으로 완전 최고인 책이다.

 

 

목차

(기본 지식) 1장 - 처음 만나는 자연어 처리

(기본 지식) 2장 - 문장을 작은 단위로 쪼개기

(주요 이론) 3장 - 숫자 세계로 떠난 자연어

(과제 실습) 4~8장 - 문서에 꼬리표 달기, 문장 쌍 분류하기, 단어에 꼬리표 달기, 질문에 답하기, 문장 생성하기

 

NLP 모델의 전체 파이프라인은 다음과 같다.

 

각종 설정값 정하기 -> 데이터 내려받기 -> 프리트레인을 마친 모델 준비하기 -> 토크나이저 준비하기 -> 데이터 로더 준비하기 -> 태스크 정의하기 -> 모델 학습하기

 

아마 대부분의 해커톤이나 프로젝트들은 기존에 잘 만들어진 pretrained model을 허깅페이스에서 불러서

태스크를 정의하고 fine tuning하는 식으로 진행된다.

이 책은 이렇게 nlp 모델의 전체 파이프라인이 어떤지부터 1장에서 설명하고 있다.

 

2장은 토큰화, 3장은 트랜스포머(Transformers) 원리에 대해 설명하고 있다.

트랜스포머는 2017년에 나온 sequence-to-sequence 모델인데,

이 책에서는 트랜스포머 구조에서 가장 중요한 self-attention의 원리에 대해 예시와 함께 자세히 설명하고 있는 게 인상적이었다.

nlp 모델러 면접 질문에 자주 나오는 걸로 알고 있는데,

nlp쪽으로 취준 중이라면 이 책의 2, 3장은 꼭 읽어보면 좋을 것 같다!!

 

 

그리고 4장부터는 한 챕터마다 새로운 nlp 태스크가 주어지고 코드 설명이 이어진다.

책 디자인이 너무 이쁜 것 같다. 계속 보고 싶은 책이다.

 

 

특히, 나는 문장 생성에 관심이 많아서 마지막 8장에 관심이 많았다.

pytorch를 할 줄 알고 transformers의 원리를 알아도

사실 huggingface를 모르면 코드 짤 때 힘든데 (-> 물론 다른 패키지도 있지만 nlp 하시는 분들은 허깅페이스를 제일 많이 쓰시는 것 같다)

이 책은 허깅페이스 코드까지 같이 들어 있어서 좋다.

 

generate할 때 각각의 파라미터들이 무얼 의미하는지, beam search는 뭔지 잘 나와있고,

top-k sampling, top-p sampling 등에 대한 설명도 잘 나와 있었다.

사실 top-p sampling은 잘 몰랐던 부분인데 이 책에서 여기까지 다루고 있는 게 신기했다.

 

 

책을 읽었을 때 nlp 입문하기에 참 좋은 책이라고 느꼈다.

나는 nlp 태스크를 "밑바닥부터 시작하는 딥러닝 2"로 입문하게 됐는데,

정말 밑바닥부터 코딩하는 거여서 개념을 이해하거나 코딩실력은 높일 수 있어도,

최신 모델에 대한 이해나 huggingface에 익숙해지는데는 어려움이 있었다.

하지만 이 책은 BERT, GPT 등을 다루고 있고,

huggingface 기반으로 설명하고 있으니 기존에 출간된 책들에서 못 다룬 부분들을 충분히 다루고 있다.

 

또, 한국어 언어모델 task로 예제가 들어있으니까

한국어 언어모델 task 공부하기에 딱인 것 같다!!

 

 

이런 사람들에게 추천합니다

-NLP 입문하는 사람

-NLP 관련 해커톤이나 대회, 프로젝트를 준비하는데 NLP를 1도 모르는 사람

-NLP 기본 개념을 원리부터 꼼꼼하게 정리하고 싶은 사람

-"밑바닥부터 시작하는 딥러닝2" 정도는 봤는데, 허깅페이스를 어떻게 쓰는지 모르는 사람

-NLP 여러 태스크에 대한 예제를 풀어보고 싶은 사람

-영어 말고 한국어 언어모델 task 예제를 보고 싶은 사람

 

 

 

 

위 후기는 이지스퍼블리싱에서 도서 지원받아 책 읽고 작성한 후기입니다.