"똥인지 된장인지 꼭 찍어먹어 봐야 아나? '척하면 척이지"라고 말하는 사람들도 있다. 하지만 평소라면 굳이 찍어먹지 않아도 척 보면 알 수 있는 것도 있지만, 개발자에게는 뭔가 블랙박스를 열어보고 싶은 본능이라는게 있는 것 같다. 요즘같은 大 AI 시대에, "LLM은 어떻게 돌아가는 거야?"라는 질문에 "그냥 마법이야. API만 쓰면 되지"라고 대답할 수는 없는 노릇이다. 호기심으로 인해 직접 만들어보고, 운영하다가 망가지기도 하고, 그걸 고치면서 다시 깨달음을 얻고.. 이 과정을 반복한 것이 개발자의 인생 아니었나. 그래서 LLM의 이해를 돕기 위해 살펴본 책이 <밑바닥부터 만들면서 배우는 LLM>(세바스찬 라시카 지음, 박해선님 번역, 길벗 출간)이다.

 

 

길벗에서 나온 밑바닥부터 만들면서 배우는 LLM

 

 

 

책은 실제로는 거의 600쪽 가까운데, 부록이 100여 정도 되고, 워크북도 120여쪽 정도 된다. 그래서 본책은 300쪽 남짓이라 보면 된다. (300쪽으로 LLM 동작원리를 압축해서 설명한다.) 파이썬 기본 문법만 알면 그럭저럭 따라가면서 만들어 볼 수 있다. 책은 3단계로 나눠서 LLM을 만든다. 1단계에서는 데이터를 준비하고, 어텐션 알고리즘을 구현하면서 LLM의 기본 골격을 만든다. 그런 다음 트레이닝 과정을 반복하고, 모델을 평가하면서 파운데이션 모델을 만든다. 사전 훈련된 가중치 값을 불러오고 미세튜닝까지 진행하는 것이 2단계다. 3단계는 활용인데, 미세 튜닝을 통해 분류기와 개인 비서로 활용하는 방법을 맛본다. 이 책의 장점 중 하나는 전체 로드맵을 두고 각 장마다 이번엔 어떤 부분을 만들것인지를 먼저 인식한 상태에서 설명을 이어간다는 점이다. 전체 과정중 현재 어디까지 왔는지를 이해하면서 책을 읽을 수 있다. 잘 구성된 책이다.

 

 

이 그림이 책의 목차인 셈이다.

 

 

이 책에서 만드는 LLM은 요즘 일상에서 사용하는 최신 AI(LLM 모델)이 아니다. 요즘은 사고에 추론까지 갖추기 위해 다양한 시도를 하지만 이 책은 텍스트 토큰나이징부터 시작하여 어텐션 매커니즘을 구현해 보고, LoRA 기반으로 미세조정까지 진행한다. 어찌보면 AI 바닥에 계신 분들에게는 이전 세대의 기술처럼 인식될 수도 있겠다. 하지만 나처럼 LLM을 활용하기 위해 고민하는 사람들에게는 이 블랙박스같은 LLM의 동작원리를 이해하는 것이 하나의 과제가 되는데, 초기(?) 버전의 기술을 살펴보는 것이 오히려 개념이 간결하고 복잡하지 않아서 이해하는데 도움이 되는 경우가 많다. 물론 동작 원리를 이해하고 나면 응용 개발자 입장에서는 다시 동작원리를 잊어버리고 활용을 하겠지만, 그래도 한번의 이해가 큰 도움이 되는 상황이 많다. HTTP 프로토콜을 보지 않고 REST API만 호출하는 개발자와 HTTP 프로토콜을 이해하면서 REST API를 호출하는 개발자가 디버깅, 최적화, 트러블슈팅할 때 내공의 차이가 발생하는 것과 비슷하다고 생각한다.

 

<밑바닥부터 만들면서 배우는 LLM>책을 읽기 시작한지는 좀 되었다. 추석 연휴를 이용해서 읽겠다는 계획을 세웠다. 그런데 처음 읽기 시도에서는 완독에 실패했다. 책을 읽다가 모르는 용어가 나오면 열심히 AI와 씨름하며 개념을 복습도 하고, 새로운 개념을 익히기도 했다. 그러다 보니 너무 겻길로 새어버렸다. 그래서 잠시 우울해 하다가 그냥 잘 이해되지 않더라도 쭉~ 책 내용을 따라하면서 일독을 했더니 저자가 설계한 내용이 조금 더 이해가 되었다.이런 이해를 바탕으로 다시한번 읽는 중이다. 완전히 이해하기 위해 몇 번을 더 봐야할지는 모르겠지만 여러번 읽으면서 이해의 해상도를 높여야 하는, 보기드는 핸즈온 LLM 책이라 생각한다. LLM의 작동 원리가 궁금한, "AI API 호출만 할 줄 아는 개발자"에서 벗어나 원리를 이해하고 제대로 활용해 보고 싶은 개발자라면 이 책이 유용할 것이라 생각한다.

 

혼자 완독하기는 힘든 책이다. 인프런에서 진행되는 완독 챌린지 강의에 참여(이미 모집이 완료되었다.)하거나 역자인 박해선님의 유튜브 채널의 도움을 받는 것이 좋겠다.

 

 

 

밑바닥부터 만들면서 배우는 LLM | 세바스찬 라시카 - 교보문고

밑바닥부터 만들면서 배우는 LLM | 한 줄 한 줄 코드를 따라가다 보면, 나만의 GPT가 완성된다! GPT를 밑바닥부터 구현하며 LLM의 원리를 손끝으로 체득하는 실전 가이드어려운 개념은 그림으로 풀

product.kyobobook.co.kr

 

반응형

 

 '쏙쏙 들어오는 자료구조' 책을 추석 연휴에 읽었다. Grokking 시리즈 중 하나이다. 그로킹은 어떤 개념을 깊이 이해하여 완전히 터득한다는 뜻으로,  Manning 출판사의 하위 브랜드이다.  사실 컴퓨터 기술 서적은 딱딱한 편일 수 밖에 없는데, 좀 가볍게 풀어낸 시리즈로 헤드퍼스트 시리즈와 그로킹 시리즈가 떠오른다. 나도 그로킹 시리즈를 몇권 읽었는데, 이번엔 개발자들의 영원한 고민 주제인 자료구조에 대해 이야기한다. 자료구조와 알고리즘은 단짝 친구이다.

 

 

이 책은 파이썬을 중심언어로 자료구조를 설명한다. (파이썬이라니...라떼는 C였는데...) 배열 > 리스트 > 스택 > 큐 > 우선순위큐/힙 > 이진트리 > 딕셔너리 > 해시 테이블 > 그래프까지 기본적인 자료구조를 훑고 있다. ADT(추상화된 자료구조)를 살펴보면서 특징과 인터페이스를 설계하고, 이를 실제로 구현하기 위한 방법을 소개한다. 자세히 구현방법을 다룬다기 보다는 개념을 위주로 설명하는 책이라 보는게 맞겠다. 따라서 자료구조의 전체적인 입문서로는 괜찮다고 생각한다.

 

시니어들은 그냥 훑어보면서 개념을 다시 상기하는 용도로 읽어도 괜찮은 내용이라 생각한다. 대AI시대를 맞이하여 늘 기본기가 더 중요하지 않을까 했는데, 이 책에 소개된 내용은 충분히 숙지한 상태여야 프롬프트도 잘 작성할 수 있을 것이다.

 

그림으로 개념을 설명하고, 그 다음 코드를 살펴본다.

 

 

전체적으로 내용이 평이하며, 주니어용으로 기획된 책이라 생각된다. 그로킹 시리즈의 원서는 현재 14권이 나와있는데, 그 중 7권이 번역되어 출간되었다. (제이펍에서 번역된 책 - 자료구조, 함수형 코딩, 인공지능 알고리즘, 길벗에서 번역된 책 - 동시성, 한빛미디어에서 번역된 책 - 강화학습, 딥러닝, 번역서가 아직 없는 책 - 웹 애플리케이션 보안, 관계형 데이터베이스 설계, 머신러닝, 단순성(simplicity), 지속배포(CD), 스트리밍 시스템(실시간 이벤트 처리), 비트코인, 알고리즘은 1,2판이 있음)

 

원문을 벗어나더라도 조금 더 과감하게 번역되었으면 좋았을 것 같다는 개인적인 생각이 있다. 하긴 원서라는 제약이 있으니.. 쉽지 않았겠지만. 예를 들어 201쪽의 해시함수를 설명하는 부분에서 오라클 함수라는 말이 처음 등장한다. 오라클(oracle)은 신탁, 즉 신의 뜻을 대리 전달하는 예언자 같은 의미이다. 그러면 '몇번 인덱스를 사용하는 것이 적절한지를 알려주는 예언자 함수'나 '점집 함수(오라클을 점집으로 격하시키다니;;;)'가 더 이해에 도움되지 않을까? 

반응형

+ Recent posts