오늘 할 일: 끝내주게 숨쉬기
article thumbnail

1월 중순 쯤 글쓰기 동호회 지인을 통해 한빛미디어에서 나는리뷰어다2024 모집을 한다는 것을 알게 되었습니다. 한번쯤은 지원 받은 도서를 리뷰해보고 싶다!! 생각했는데, 기회가 닿아 서평단에 선정이 되었네요.🎉🎉 
 
제가 서평단으로서 선정한 첫 번째 도서는 <쉽고 빠르게 익히는 실전 LLM> 입니다.

https://www.hanbit.co.kr/store/books/look.php?p_code=B7077705203

 

쉽고 빠르게 익히는 실전 LLM

LLM 입문자도 당장 시작할 수 있게 해 주는 단계별 가이드

www.hanbit.co.kr

 



도서 선정 이유


AI 업계에서 일하다보니 가만히 있어도 산업 동향이 들립니다. 특히 챗지피티 등장 이후로 급격하게 판도가 바뀌고 있는 것을 느끼고 있습니다. 챗지피티 이후로 1년이 지났는데 영향력은 더 강해지고, 무시할 수 없는 흐름이 되어가고 있네요. 조금 늦었지만 이제부터라도 LLM을 제대로 이해해보고자 신청하였습니다.


개발자를 비롯하여 직접 LLM을 설계를 해야하는 분이라면 LLM이 어떻게 학습하는 지 등 그 구조를 상세하게 이해하는 것이 중요할텐데요. 다만 저는 빠르게 개괄을 이해하고자 이 책을 선정했습니다. 제목부터 “쉽고 빠르게 익히는 실전 LLM”이라고하여, 전반적인 아키텍처와 실전 모델 도입 시 고려해야할 점으로 무엇을 고려해야 하는지를 배울 수 있을 거라 기대하고 읽었습니다.



목차 구성



책은 크게 세 부분, 1) LLM 소개, 2) LLM 활용법, 3) 고급 LLM 사용법으로 나뉘어져 있습니다.


1부에서는 LLM이 무엇이고 어떻게 동작하는지 등 기초적인 내용을 다룹니다. 자연어 처리를 공부한 적이 있다면 다들 들어봤을 텍스트 임베딩, 어텐션, 트랜스포머와 같은 개념들을 간단하게 짚고 갑니다. 요즘엔 거의 챗지피티로 통용되는 자연어 처리 과제인 의미 기반 검색(Semantic Search)에 대해서는 한 챕터를 투자하여 설명합니다. 실전 LLM에서 사용하는 분야가 대체로 바로 저 의미 기반 검색이기 때문인 것 같습니다. LLM 도입을 위해 오픈 소스 프레임워크와 임베딩 시스템을 도입했을 때 월 비용이 얼마나 드는지 계산하는 과정(2.6 클로즈드 소스 구성 요소의 비용)은 흥미롭고 아주 유용해 보였습니다. 또 프롬프트 엔지니어링을 위한 퓨샷 러닝과 출력 구조화하기, 페르소나 지정하기를 설명합니다. 저자가 프롬프트 엔지니어링은 언어 모델의 성능을 향상시키기 위해 중요한 작업이라고 강조를 하니, 요즘 프롬프트 엔지니어를 따로 두려는 이유를 이해하게 되었어요.


다음으로 2부에서는 LLM 활용을 위해 조금 더 딥한 내용을 다룹니다. 장기적으로 비용을 절감하기 위해 파운데이션 모델을 파인튜닝을 하는 과정, 데이터를 준비하는 방법, 실전 예제까지 제공하고 있습니다. 고급 프롬프트 엔지니어링 파트에서는 어떻게 프롬프트가 공격을 당하는지, 공격에 어떻게 대비해야하는지를 설명해줍니다. 앞서 1부에서 퓨샷 러닝 개념을 설명했다면 여기서는 코드 예제와 함께 성능을 높이는 과정도 자세하게 보여줍니다. 챗지피티 프롬프트에 요구사항을 왕창 작성하고 답변을 봤을 때 왜 그렇게 마지막 문장에만 집중해서 답변을 내놓았던 건지..😅 챗지피티를 이해하게 되고 연쇄적 사고를 가능하게 하도록 구성(5.6 연쇄적 사고 프롬프트, 5.7 퓨삿 학습 다시보기)하는 것이 매우 중요하다는 것을 배웠네요.


여기 2부까지만 잘 익혀도 “쉽고 빠르게” LLM을 익혔다고 주장해도 될 것 같습니다. 3부는 기존 모델들을 결합해 LLM 아키텍처를 구성하는 방법, 더 정밀한 모델을 위한 파인튜닝 방법들을 설명하고 있습니다. 개인적으로 3부는 아직 어렵더라고요.. 하하 1, 2부 개념을 복습하고 코드도 직접 실행해보면서 이후에 3부를 다시 봐야겠다고 생각했습니다.



도서의 장단점



이 책은 IT 실용서답게 깃허브에서 예시 자료를 제공하고 있습니다.


https://github.com/sinanuozdemir/quick-start-guide-to-llms

 

GitHub - sinanuozdemir/quick-start-guide-to-llms

Contribute to sinanuozdemir/quick-start-guide-to-llms development by creating an account on GitHub.

github.com



저는 이 책을 통해 우선은 LLM 개괄을 이해하는 것이 목적이었기 때문에 코드까지 깊게 확인하진 않았습니다.(사실 시간이 많이 없어서..🥲) 깃허브에서 실습 데이터도 제공하고, 주피터노트북에 상세하게 주석으로 설명도 달아놓아서 이미 AI 실습을 해본 분이라면 어렵지 않게 동작시킬 수 있을 것 같습니다. 책에서 모든 코드를 설명하고 있지는 않으니 조금이라도 AI 코드 경험이 있어야 어렵지 않게 전반적인 내용을 이해할 수 있을 듯 합니다.


그리고 번역도 아주 잘되어있습니다! 간혹 특정 분야 서적들이 번역이 제대로 되어있지 않아서 불가피하게 원서까지 찾아봤다.. 라는 후기를 볼 수 있는데요, 이 책은 문장이 무슨 얘기인지 모르겠어서 다시 읽는 경우는 잘 없었습니다(다시 읽어도 제가 사전 지식이 부족해서 읽는 경우 정도..😅).


어펜딕스에서는 각종 용어 설명과 LLM과 관련된 QnA를 제공하고 있습니다. 오픈 소스 모델 배포 시 주의 사항은 무엇인지, 과적합이나 과소적합은 어떻게 다룰 수 있는지 등을 설명해줍니다.


이 책은 실용서이고 LLM이라는 방대한 개념을 근본적으로 이해시키기 위한 도서인만큼, 처음으로 LLM을 이해해보고 싶은 분이라면 강력 추천드립니다! 다만 더 나아가 LangChain 개념이나 LLM 모델의 하이퍼파라미터 튜닝 방안, LLM 모델의 거버넌스 요소(편향성, 공정성, 해석 가능성 등)까지 설명하고 있지는 않습니다. 이미 LLM을 어느 정도 이해하고 있고 다뤄본 경험이 있다면 굳이 이 책은 필요하지 않을 수 있겠네요. 그리고 딥러닝, 자연어 처리의 기본적인 개념과 파이썬 코드도 어느 정도 익힌 상태여야 잘 이해하실 것 같습니다. 책 고르실 때 고려하시길!
 

 


 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.