LLM의 등장에 이르는 거의 모든 기술을 담고 있어 놀라웠다. 한 눈에 NLP의 기술들을 파악하기에 용이한 책.
기초 수학에서 최근의 멀티 에이전트에 이르는
방대한 NLP의 기술을 총망라한 책이다. 책 제목이 실전 가이드라는 표현을 담고 있지만 원서 제목인 “Mastering NLP from Foundations to LLMs”이 내용에 더 부합한 것 같다. 논문으로 따지면 리뷰 논문
같은 책이다.
유사 주제를 담고 있는 다른 책들과 비교하여 이 책만이 가지는 도드라진 특징이 두가지 있다.
하나는, NLP의 방대한 역사와 기술을 한 눈에 파악할 수 있게 일목요연
하게 정리되어 있다는 점, 다른 하나는 광기의 속도로 진화하는 AI의 변화속에서 인간의 역할인 본질의 이해
를 돕는다는 점이다.
책의 굵기 대비 NLP에 활용되는 기술을 핵심만 컴팩트하게 담아낸 점에 대해서는 저자께 경의를 표한다. 비록 분량상 매우 핵심 개념만 담고 있다는 한계가 있지만 정말 중요한 개념은 모두 소개되고 있다.
따라서 이 책의 독자로 적합한 사람은 NLP의 거대한 산을 조망할 필요가 있는 전략 기획 파트 종사자, 경영진, 특정 시점에서 배움의 흐름이 끊긴 NLP 분야 도전자 정도가 가장 어울릴듯 싶다. 하지만 AI의 본질을 이해하는 데 도움을 주기 때문에 어느 독자가 읽어도 많은 도움을 얻을 수 있을듯 하다.
실력 좋은 박조은님이 번역한 점도 마음에 든다. 예전 공공 데이터 분석 인프런 라이브 코딩 기반 강의를 수강하며 참 Python을 잘 다루는 분이라 감탄한 기억이 있다. AI와 관련된 지식도 해박한 분이기에 번역도 매끄럽고 가독성이 좋다.
책은 크게 두 파트의 내용으로 나뉜다. 1~7장은 현시점 LLM의 등장에 기여한 기초지식 또는 다소 시간이 지난 기술
등이 소개되고 있고, 8~11장은 SOTA 기술 및 미래에 대한 전망
등이 담겨있다. 실전적인 측면에서도 후반부는 실전적인 기술들이 담긴 반면, 전반부는 핵심 기초 개념을 담고 있다.
현시점 AI는 세상에서 가장 관심받는 화두인 것 같다. 그 거창함과 따를 수 없는 변화의 속도에 지레 겁먹곤 하지만 내가 파악한 AI의 본질은 정량화 범위의 확대, 비정형 데이터 해석 능력의 확대, 멀티모달
의 등장 정도로 요약할 수 있을것 같다.
정량화 범위의 확대라는 개념은 그동안 정성적인 분야로 수치 측정이 불가능한 그래서 컴퓨터가 해석할 수 없는 영역의 데이터가 상당 부분 정량화
되었다는 뜻인데 본 도서에서 다루는 NLP 분야의 눈부신 발전이 대표적인 사례이다.
바둑을 좋아하는 나로써는 대국의 해설을 종종 즐겨듣곤 하는데 해설가들이 쓰는 표현이 묘할 때가 많다.
“지금과 같은 상황에서는 A, B, C 정도에 착점을 할 수 있겠는데, 제 경험으로는 A자리가 일감이 있는 것 같습니다. 이리저리해서 충분한 한판의 그림이 그려집니다.”
여기서 “일감
“이라는 단어가 재미있는 표현인데 이게 그냥 단순히 감각이라고 말하기도 뭣하다. 나름 해설가의 수많은 대국 경험 속에 뇌에서 판단한 최적화된 최선의 수가 도출된 것인데 그렇게 따지면 또 데이터 드리븐의 정량적인 판단이기도 하다.
알파고의 성공 요인은 이 애매한 감각 혹은 정성적인 영역을 철저하게 정량화 시켰다는 데 있다고 본다. 또 다른 관측 단서가 제공되었을 때 변화 무쌍하게 변화하는 인간의 사고 과정을 베이즈 추론이나 조건부 확률로 정량화 한 그런 느낌과 유사한 과정이다.
NLP의 핵심 또한 인간과 기계 사이의 경계선
에 얼마나 서로 다가갈 수 있느냐의 싸움인데 - 더 정확히는 기계가 홀로 삼팔선에 다가오는 형국이지만 - 트랜스포머와 같음 모델이 그 경계선을 상당히 좁혔다고 평하고 싶다.
이 책의 전반부를 읽으면 그 경계선에 도달하기 위해 NLP 분야 종사자가 얼마나 치열하게 고찰하고 노력해 왔는지 알 수 있다.
코사인 유사도와 유클리드 거리와 같은 수학의 기초 개념은 두 개념간의 유사성
을 판단하는 데 활용되고, 컴퓨터 공학 분야를 필두로 자연어를 숫자로 표현해내는 방법이 다양해졌다.
선형대수는 두 벡터의 연산을 가능하게 해준다. 벡터의 덧셈은 벡터의 각도와 길이를 변화시키고, 내적은 벡터사이의 각도를 스칼라값으로 변환시켜주며, 노름은 길이를 구해준다. 다양한 데이터를 가진 행렬은 고유 벡터로 단순화 가능하며 PCA나 SVD 등을 활용해 분해도 가능하다.
이런 방대한 데이터들은 GPU 중심의 컴퓨팅 파워를 통해 병렬로 빠른 연산이 가능해졌다. 다양한 학제 분야가 만나 거대한 가능성을 열어준 셈이다.
또한, 딥러닝을 활용한 대부분의 모델은 확률 모델이다. 이를 위해 확률 및 통계 분야의 그간의 업적이 큰 빛을 발한다. MLE와 같은 개념은 베이지안 추정이나 조건부 확률을 활용하여 LLM의 질의에서 또 다른 단서가 주어졌을 때 유저가 원하는 최선의 확률
을 판단하는데 쓰이는 개념이다.
이러한 기초 개념들에 날개를 달아주는 것은 역시 AI이다. 머신러닝과 딥러닝의 등장으로 NLP는 더 이상 꿈의 기술이 아니게 되었다. 이 책에서는 특성공학부터 시대의 주류를 담은 SVM 등 다양한 모델
의 핵심 개념이 소개된다. 하이퍼 파라미터 미세조정에서 전통 통계학에서 다루는 불균형 데이터 다루는 스킬이나 스태킹 같은 여러 모델을 비교 검증하는 개념도 담고 있다.
4장에서는 전처리
과정도 상당 부분 할애하여 정리하고 있는데 오늘날에는 딥러닝과 LLM의 등장으로 전처리 자체에 큰 의미는 없다고 본다. 불용어 또한 나름의 맥락과 정황을 담고 있는 소중한 정보이기에 전통 방식의 전처리를 거치면 오히려 성능이 저하된다.

그럼에도 이 파트는 BERT
같은 모델의 핵심을 파악하는데 도움이 된다. 오늘날에는 GPT 중심의 Decoder-Only가 대세가 되었지만, 이러한 발전이 근간에는 BERT같은 Encoder-Only의 발전이 한 몫하기 때문이다.
임베딩은 자연어를 수치 계산을 가능하게 하는 Vectorization을 가능하게 한다. Word2Vec과 같은 기초 모델의 발생 배경 등을 보며 Vector DB의 등장 배경을 이해할 수 있고, 토픽 모델링 등 그동안 NLP의 주류 발전 현황을 쉽게 파악할 수 있다.
이는 딥러닝을 만나 날개를 다는 데 이 중심에는 트랜스포머
가 있다. 특히 셀프 어텐선 계층의 고안은 혁신적이다. 단어마다 병렬로 상대적 중요도를 파악할 수 있게 되면서 문맥의 맥락을 정량화 할 수 있게 되었다.

알파고 이후 딥러닝 진영의 논문을 읽으며 즐겼던 10년 전 즈음의 연구자들은 대부분 느낄 것이다. GRU 모델을 보며 장기기억의 가능성과 한국인 교수의 업적에 나름 짜릿한 희열들이 책을 읽으며 추억으로 지나갔다.
7장에서는 이에 대한 진화로 RLHF와 같은 비교적 최신 기술을 엿볼 수 있다. PPO의 개념이나 보상 모델을 읽다보면 늘 흥미롭다.
이론이나 개념에 지루함을 느끼는 독자라면 8장 이후의 후반부는 꽤 신선하게 다가올 것 같다. 의학이나 법률 등 특정 영역의 지식마저 외부 검색을 통해 할루시네이션을 최소화하는 RAG
기술이나, 자체 데이터를 추가적으로 학습 가능하게하는 LangChain
등의 기술이 등장한다.

소개하는 코드는 베이스 라인 수준의 코드인데 제일 중요한 핵심을 담고 있어 구현체를 작성하는 데 큰 도움이 될 것이다. 하지만 실무에 직접적인 도움을 받고 싶다면 책 서두에 표기된 깃허브에 올라온 저자의 코드를 전부 분석할 것을 권하고 싶다.
9장은 애플리케이션 측면에서 더 재미있고 최신의 기술을 담고 있다. 유튜브 URL을 쉽게 요약하는 방법이나 체인 활용 예제가 등장하는데 이중에서도 멀티 에이전트 AutoGen
이 눈여겨 볼 부분이다. 모델끼리 협력하는 아이디어 자체는 늘 인류 역사상 존재하는 뻔한 아이디어지만 그럼에도 GPT-4o같은 놈들이 여럿 협업해서 일하고 중간에 사람도 개입하는 일은 충분히 두근거리게 만드는 일이다.


이어지는 트렌드
분석 파트나 전문가들의 인터뷰 답변
은 AI의 발전 방향을 파악하는 데 도움이 된다. 독자의 상상력을 극대화해주는 파트인데 개인적으로는 아무리 기술이 발전해도 인간 역할의 핵심은 여전히 본질을 파악하는 데 있다고 본다.


AI가 제 아무리 발전한들 이를 오케스트레이션하는 과정에서 본질을 파악하는 인간이 AI의 한계나 가능성 또한 제대로 보고 활용할 줄 안다고 생각하기 때문이다.
광기에 가까운 AI 발전 속도에 정신을 잃지 않고 본질을 파악하기 위해 이 책의 일독을 권하는 바이다.