티스토리 뷰

(해당 포스트에서 소개되는 책은 비제이퍼블릭으로부터 제공받았음을 알려드립니다.)

2017년 구글의 "Attention is All you need" 이라는 논문을 통해서 처음 소개된 transformer는 언어 데이터를 처리할 때 단어 간의 관계를 효율적으로 파악하는 Attention 메카니즘을 통해서 좋은 성능을 보여준다. 그리고 최근에 GPT를 필두로 인기를 끌고 있는 생성형 AI 분야에서도 번역이나 챗봇, 텍스트 요약, 감정 분석 등에 많이 활용되고 있다. 물론 이런 자연어처리 뿐만 아니라 이미지 생성이나 연속 의사 결정 과정에서도 transformer 구조는 다른 신경망 구조에 비해서 좋은 성능을 보여주고 있다. 

 사실 이 구조가 개발자들 사이에서 널리 활용되게 된 기반에는 허깅페이스의 역할이 크다. 처음에는 챗봇 서비스를 하는 스타트업이었던 회사였던 허깅페이스는 transformers 라는, transformer를 쉽게 사용하고, 모델을 배포/활용할 수 있는 패키지를 만듦으로써, 어떻게 보면 transformer를 사용해야되는 개발자 입장에서는 필수적으로 사용하는 일종의 개발자 허브가 되었다. 그래서 물론 transformer를 처음부터 만들어서 활용하는 개발자도 있겠지만, 거진 대부분의 개발자가 활용하게 되었고 시중에도 이 패키지의 활용한 서비스와 패키지를 쉽게 사용할 수 있게 가이드를 제공하는 책들이 많이 등장하고 있다. 오늘 소개할 책도 이 허깅페이스에서 제공하는 transformers 패키지와 transformer를 학습시킬때 활용하는 강화학습 패키지인 trl 의 활용법에 대해서 서술한 책이다.

 이전에도 관련 서적 (10가지 프로젝트로 끝내는 트랜스포머 활용 가이드 with 파이토치, 트랜스포머를 활용한 자연어 처리) 몇권 리뷰한 적이 있지만, 트랜스포머에 대해서 다루는 책은 대부분이 처음에 트랜스포머의 구조에 대해서 자세하게 설명하고, 직접 구현해보는 책이거나 아니면 허깅페이스 transformers 패키지를 통해서 모델 학습이나 활용, 미세 조정같은 기능을 다루는 예제들이 소개된 책들일텐데, 이 책은 전형적인 후자의 책, 활용 방안에 대해서 중점적으로 소개하는 책이다. 그래서 책의 대부분의 내용이 패키지 활용 방법과 transformers를 활용하면서 아마 같이 사용하게 될 tokenizer, accelerate, evaluate 같은 주변 패키지를 같이 활용해볼 수 있는 예시로 구성되어 있다. 그리고 역서가 아닌 국내 서적이기에, 책에서 다뤄지는 모델이나 예시도 klue나 kobert 같은 국내 모델을 활용하는 예시로 되어 있다. 

다른 책과 차별화시킬 수 있는 부분이라면 앞에서 소개했던 TRL 관련 내용이 다뤄지고 있다는 점이다. 사실 허깅페이스 관련 서적이라면 대부분의 책들이 모델 학습이나 활용, 미세조정, 조금 더 나아가면 양자화나 모델 서빙에 대해 다 잘 다뤄지고 있지만, 최근에 LLM 학습에 활용되는 RLHF나 DPO 같은 강화학습 기법에 대해서 소개된 책이 거의 전무하다. 허깅페이스에서도 transformer RL 이라는 패키지를 통해서 트랜스포머를 활용한 강화학습 패키지도 같이 배포하고 있고, 이 책에서는 이 TRL 패키지를 통해서 Reward Model을 학습하는 예시를 제공하고 있다. 물론 전체 책 내용과 대비했을때 분량이 많지는 않지만, LLM을 학습할때 활용되는 강화학습 기법 (DPO나 CPO, KTO 같은)을 활용해보고자 하는 사람이 있으면 이 책을 통해서 접해도 좋을 것 같다.

 책을 읽으면서 약간의 오타가 조금 거슬리긴 했지만, 최근에 나온 서적인 만큼 최신 라이브러리에 대응된 예시와 특히 국내서에 맞게 모델 예시가 같이 제공되는 점, 무엇보다 바로 앞에서 소개했던 것처럼 trl에 대해서 다뤄진 부분이 있는 거의 유일한 책이란 점에서 허깅페이스 transformer를 활용한 예시를 직접 작성해보고 학습하고자 하는 개발자에게 도움이 될 책이라 생각한다.

댓글