NLP(자연어 처리)를 마스터하고 싶지만 어디서부터 시작해야 할지 고민인가요? 이 책은 정확하고 올바른 출발점을 제시합니다. 머신러닝과 NLP 분야의 선도자들이 집필한 이 책은 NLP를 깊이 있게 다룹니다.
이 책은 머신러닝의 수학적 기초부터 시작해 LLM과 AI 응용 프로그램 같은 고급 NLP 기술로 점차 나아갑니다. 선형대수학, 최적화, 확률론, 통계학 등 머신러닝과 NLP 알고리즘을 이해하고 구현하는 데 필수적인 기초 개념을 익힐 수 있습니다. 또한 일반적인 머신러닝 기법을 살펴보며, 이를 NLP와 어떻게 연결할 수 있는지도 설명합니다. 이어 텍스트 데이터를 전처리하는 방법, 데이터를 분석하기 위해 정리하고 준비하는 과정 그리고 텍스트 분류를 수행하는 방법을 설명합니다. 이 모든 내용을 파이썬 코드 샘플과 함께 제공합니다.
책의 후반부에서는 LLM의 이론, 설계, 응용과 같은 고급 주제를 심도 있게 논의하며, NLP의 미래 동향에 대한 전문가 의견도 제공합니다. 또한 실제 NLP 비즈니스 사례와 솔루션을 통해 실무 능력을 키울 수 있도록 도와줍니다.
저자소개
저자
리오르 가지트
머신러닝 분야에서 검증된 성공 사례를 가진 전문가로, 머신러닝을 통해 비즈니스 성장을 견인하는 팀을 구성하고 이끈 경험이 있습니다. 자연어 처리 전문가로서 혁신적인 머신러닝 파이프라인과 제품을 성공적으로 개발했습니다. 석사 학위를 취득하였으며, 동료 평가를 거친 학술지와 학회에 다수의 연구 결과를 발표했습니다. 금융 분야 머신러닝 그룹의 수석 디렉터이자 신생 스타트업의 수석 머신러닝 자문위원으로서 업계에서 풍부한 지식과 경험을 바탕으로 존경받는 리더로 자리매김하고 있습니다. 머신러닝에 대한 열정과 영감을 바탕으로 조직에 긍정적인 변화와 성장을 이끌어내기 위해 전념하고 있습니다.
저자
메이삼 가파리
자연어 처리와 딥러닝에 강점을 가진 수석 데이터 과학자입니다. 현재 MSKCC에서 근무하며 의료 문제를 해결하기 위한 머신러닝과 자연어 처리 모델의 개발과 최적화에 전념하고 있습니다. 머신러닝 분야에서 9년 이상, 자연어 처리와 딥러닝 분야에서 4년 이상의 실무 경험을 보유하고 있습니다. 플로리다 주립대학교에서 컴퓨터 과학 박사 학위를, 이스파한 공과대학교에서 컴퓨터 과학-인공지능 석사 학위를, 이란 과학기술대학교에서 컴퓨터 과학 학사 학위를 취득했습니다. MSKCC에 합류하기 전에는 위스콘신-매디슨 대학교에서 박사후 연구원으로 근무했습니다.
역자
박조은
‘오늘코드’ 유튜브 채널을 운영하고 있으며, 파이썬 분야의 마이크로소프트 MVP로 활동하고 있습니다. 웹과 백엔드 개발자로 게임과 광고 회사에서 주로 근무했으며, 다양한 도메인의 기업에서 강의와 프로젝트를 진행했습니다. 또한 다수의 대학교와 교육기관에서 강의를 진행하고 있습니다. 『모두의 한국어 텍스트 분석 with 파이썬』 (길벗, 2023)의 공저자이기도 합니다.
목차
CHAPTER 1 자연어 처리 개요 살펴보기 _1.1 이 책의 대상 _1.2 자연어 처리란? _1.3 컴퓨터 연산을 위한 자연어 처리 기본 접근 전략 _1.4 성공적인 시너지 효과 : 자연어 처리와 머신러닝의 만남 _1.5 자연어 처리의 수학 및 통계 _1.6 요약 _1.7 질문과 답변
CHAPTER 2 머신러닝과 자연어 처리를 위한 선형대수, 확률, 통계 마스터하기 _2.1 선형대수학 입문 _2.2 고윳값과 고유 벡터 _2.3 머신러닝을 위한 기본 확률 _2.4 요약 _2.5 더 알아보기
CHAPTER 3 자연어 처리에서 머신러닝 잠재력 발휘하기 _3.1 기술적 요구 사항 _3.2 데이터 탐색 _3.3 일반적인 머신러닝 모델 _3.4 모델 과소적합과 과대적합 _3.5 데이터 분할 _3.6 하이퍼파라미터 튜닝 _3.7 앙상블 모델 _3.8 불균형 데이터 다루기 _3.9 상관 계수 다루기 _3.10 요약
CHAPTER 4 자연어 처리 성능을 위한 텍스트 전처리 과정 최적화 _4.1 기술 요구 사항 _4.2 자연어 처리에서 소문자 변환 _4.3 특수 문자와 구두점 제거 _4.4 개체명 인식 _4.5 품사 태깅 _4.6 전처리 파이프라인 설명 _4.7 요약
CHAPTER 5 텍스트 분류 강화: 전통적인 머신러닝 기법 활용하기 _5.1 기술 요구 사항 _5.2 텍스트 분류의 유형 _5.3 TF-IDF를 활용한 텍스트 분류 _5.4 Word2Vec을 활용한 텍스트 분류 _5.5 토픽 모델링: 비지도 텍스트 분류의 특정 사례 _5.6 주피터 노트북을 활용한 자연어 처리 분류를 위한 머신러닝 시스템 설계 검토 _5.7 요약
CHAPTER 6 텍스트 분류의 재해석: 딥러닝 언어 모델 깊게 탐구하기 _6.1 기술 요구 사항 _6.2 딥러닝 기본 이해 _6.3 다양한 신경망 아키텍처 _6.4 신경망 훈련의 도전 과제 _6.5 언어 모델 _6.6 트랜스포머 이해하기 _6.7 대규모 언어 모델에 대한 더 깊은 이해 _6.8 언어 모델 훈련의 도전 과제 _6.9 GPT-3 사용의 도전 과제 _6.10 요약
CHAPTER 7 대규모 언어 모델 이해하기 _7.1 기술적 요구 사항 _7.2 대규모 언어 모델과 기존 언어 모델의 차이 _7.3 대규모 언어 모델이 주목받는 점 _7.4 대규모 언어 모델을 개발하고 활용하는 이유 _7.5 대규모 언어 모델 개발 도전 과제 _7.6 다양한 대규모 언어 모델의 유형 _7.7 최신 대규모 언어 모델의 설계 사례 _7.8 요약
CHAPTER 8 대규모 언어 모델의 잠재력을 끌어내는 RAG 활용 방법 _8.1 기술적 요구 사항 _8.2 대규모 언어 모델 애플리케이션 설정: API 기반의 비공개 소스 모델 _8.3 프롬프트 엔지니어링과 GPT 초기 설정 _8.4 대규모 언어 모델 애플리케이션 설정: 로컬 오픈 소스 모델 _8.5 허깅페이스의 대규모 언어 모델을 파이썬으로 활용하기 _8.6 RAG와 랭체인으로 고급 시스템 설계 탐구 _8.7 주피터 노트북에서 간단한 랭체인 설정 검토하기 _8.8 클라우드에서의 대규모 언어 모델 활용 _8.9 요약
CHAPTER 9 대규모 언어 모델이 주도하는 고급 응용 프로그램 및 혁신의 최전선 _9.1 기술 요구 사항 _9.2 RAG 및 랭체인으로 대규모 언어 모델 성능 향상: 고급 기능 탐구 _9.3 체인을 활용한 고급 방법 _9.4 다양한 웹 소스에서 자동으로 정보 검색하기 _9.5 프롬프트 압축과 API 비용 절감 _9.6 다중 에이전트: 협력하는 대규모 언어 모델 팀 구성 _9.7 요약
CHAPTER 10 대규모 언어 모델과 인공지능이 주도하는 과거, 현재, 미래 트렌드 분석 _10.1 대규모 언어 모델과 인공지능 관련 주요 기술 트렌드 _10.2 자연어 처리에서 컴퓨팅 파워의 미래 _10.3 대규모 데이터셋과 자연어 처리 및 대규모 언어 모델에 미친 영향 _10.4 대규모 언어 모델의 진화 _10.5 비즈니스 세계에서의 자연어 처리와 대규모 언어 모델 _10.6 인공지능과 대규모 언어 모델이 유도한 행동 트렌드(사회적 측면) _10. 요약
CHAPTER 11 세계적 전문가들이 바라본 산업의 현재와 미래 _11.1 전문가 소개 _11.2 전문가와의 인터뷰 _11.3 요약
출판사리뷰
자연어 처리의 기초부터 고급 AI 모델 설계와 비즈니스 응용까지 파이썬으로 배우는 실전 자연어 처리
이 책은 자연어 처리(NLP)에 대해 깊이 있는 내용을 다루며, 머신러닝의 수학적 기초부터 시작해 대규모 언어 모델(LLM)과 인공지능 응용 프로그램 같은 고급 주제까지 포괄적으로 설명합니다. 학습 과정에서 머신러닝과 자연어 처리 알고리즘을 이해하고 구현하는 데 필수적인 선형대수, 최적화, 확률, 통계 등의 기초 개념을 체계적으로 익히게 될 것입니다. 또한 머신러닝의 일반적인 기술을 배우고 이를 자연어 처리와 어떻게 접목할 수 있는지도 알아봅니다.
이제 막 대규모 언어 모델로 자연어 처리에 관심이 생긴 분들에게는 이 거대한 흐름의 주요 키워드를 이해하는 데 도움이 될 것이며, 이미 익숙한 분들에게는 전반적인 내용을 정리하고 전망을 살펴볼 기회를 제공할 것입니다.
주요 내용
머신러닝과 NLP의 수학적 기초를 익히는 법
텍스트 데이터를 전처리하고 분석하는 고급 기법
파이썬으로 머신러닝-NLP 시스템을 설계하는 방법
전통적인 머신러닝 및 딥러닝 방법으로 텍스트를 모델링하고 분류하는 법
LLM의 이론과 설계를 이해하고 이를 다양한 AI 응용 분야에 구현하는 방법
NLP의 통찰과 동향, 그리고 미래 동향과 잠재력을 탐구하는 방법
대상 독자
딥러닝, 머신러닝 연구자, NLP 실무자, ML/NLP 교육자, 텍스트 데이터를 사용하는 전문가
내가 생각했을 때에는 "NLP(자연어 처리)와 관련된 전체적인 내용을 훑어보고 싶은 사람"이라고 말해야 하지 않나 싶다.
이 책의 목차는 다음과 같다.
CHAPTER 1 자연어 처리 개요 살펴보기 CHAPTER 2 머신러닝과 자연어 처리를 위한 선형대수, 확률, 통계 마스터하기 CHAPTER 3 자연어 처리에서 머신러닝 잠재력 발휘하기 CHAPTER 4 자연어 처리 성능을 위한 텍스트 전처리 과정 최적화 CHAPTER 5 텍스트 분류 강화: 전통적인 머신러닝 기법 활용하기 CHAPTER 6 텍스트 분류의 재해석: 딥러닝 언어 모델 깊게 탐구하기 CHAPTER 7 대규모 언어 모델 이해하기 CHAPTER 8 대규모 언어 모델의 잠재력을 끌어내는 RAG 활용 방법 CHAPTER 9 대규모 언어 모델이 주도하는 고급 응용 프로그램 및 혁신의 최전선 CHAPTER 10 대규모 언어 모델과 인공지능이 주도하는 과거, 현재, 미래 트렌드 분석 CHAPTER 11 세계적 전문가들이 바라본 산업의 현재와 미래
이 책은 자연어처리(NLP)와 대규모 언어 모델(LLM)의 전체 흐름을 조망할 수 있는 실전형 가이드북이다. 초급보다는 중고급 수준의 독자에게 적합하며, 어떤 키워드로 학습을 시작하고 확장해 나갈지 고민하는 이들에게 큰 방향성을 제시한다.
특히 도메인별 용어와 배경 지식에 대한 이해가 중요한 만큼, 이 책을 천천히 읽어가며 인공지능과 자연어처리의 세계를 깊이 있게 들여다볼 수 있다. 요즘처럼 다양한 오픈소스와 라이브러리가 잘 마련된 환경에서는, 단편적인 튜토리얼보다는 전체적인 맥락과 구조에 대한 이해가 오히려 더 중요한데, 이 책은 그런 점에서 유용하다.
Jupyter Notebook을 기반으로 한 실습 환경이 제공되며, 최신 LLM 모델 중심의 설명과 실무·비즈니스 응용까지 고려된 구성이 돋보인다. 다만 책의 성격상 모든 세부 내용을 담기엔 분량의 한계가 있는 만큼, 중요한 개념은 책을 통해 개괄하고 세부 구현은 별도로 학습하는 접근이 이상적이다.
깃허브 실습 코드, 구글 코랩 지원, 일부 실습의 유튜브 연동 등 실용적인 학습 동선도 잘 마련되어 있어, 실전까지 연결되는 경험을 기대할 수 있다. 또한 전문가의 트렌드 분석까지 함께 내포하고 있어서 과거부터 미래 동향까지 확인해 볼 수 있다.
<추천 대상>
최신 LLM과 NLP 흐름을 체계적으로 이해하고 싶은 실무자나 연구자에게 추천. 단순한 튜토리얼이 아닌, 실무를 위한 개념적 지도를 원하는 분께 특히 유익할 것이다.
이 책의 앞부분에선, 통계적 분석의 기초이론 및 `현 시점에선 비 효율적인 구시대의 기술들` 에 대해서 설명을 하고 있습니다. 오래됬다고 해도 2020년대 초반까지도 활발하게 활용중인 기술 이지만, `Hugging Face` 로 양질의 데이터와 모델들이 공유 됨으로써, 더 많은 용량의 메모리와 HDD 그리고 GPU 성능을 제공받는다면 훨씬 수월한 작업이 가능해 졌기 때문 입니다. Transformer 및 RAG 최신기술들을 7장에서 부터 연결되어 설명하고 있습니다.
그럼에도 불구하고 이 책의 앞부분 부터 읽어 나아간다면, 자연어 분석 및 활용과 관련한 기술들에 대한 전체적인 흐름을 이해하실수 있고, 이로써 향후의 기술발전 방향 까지도 함께 예측 가능한 시각을 갖는데 이 책이 도움이 되어 줄 것입니다.
이번에 소개할 책은 "NLP와 LLM 실전 가이드: 기초 수학부터 실전 AI 문제 해결까지" 입니다.
결론부터 간단하게 이야기 하면 NLP를 처음 공부하는 분들도 쉽게 이해할 수 있는 난이도로 아주 체계적으로 잘 만들어진 책이라고 할 수 있을 것 같습니다.
내용은 간단한 수학, 머신러닝을 활용한 NLP, 딥러닝을 활용한 NLP, LLM 의 원리와 LLM을 효율적으로 활용하는 방법, LLM을 이용한 서비스를 만드는 방법, 향후 기술에 대한 내용으로 구성되어 있습니다.
내용이 너무 쉽지도 너무 어렵지도 않은 적당한 난이도로 되어 있고 자연어 처리에 대해서 전반적으로 이해하기 쉽도록 되어 있습니다.
이 책의 가장 큰 장점은 쉬운 내용 뿐만 아니라 실제로 서비스를 개발할 때 어떻게 해야 하는지 개발 과정 파이프라인을 알려주고 그에 대한 상세한 설명이 있다는 점입니다.
또한 예제 프로젝트를 제시하고 코드로 구현도 가능해서 실제로 파이프라인을 어떻게 구현해야 하는지도 정확히 알려줍니다.
두번째 장점은 아주 최신 버전으로 내용이 구성되어 있어서 지금 바로 책의 내용으로 개발하고 바로 사용이 가능하다는 점입니다.
최근 인공지능 개발 속도가 워낙 빨라서 조금만 지나도 사용법이 바뀌어서 코드에 에러도 많고 이미 옛기술이 되어 버릴수도 있는데 이 책은 가장 최신의 내용도 소개하고 있습니다.
세 번째 장점은 최근 LLM의 문제를 해결하는 방안으로 최근 각광받고 있는 RAG와 인공지능 서비스를 개발하는데 있어서 최근 사용되고 있는 Langchain에 대해서도 자세히 설명하고 있다는 점입니다.
마지막으로 미래 LLM 관련 기술 동향에 대한 내용도 알려줍니다.
이처럼 "NLP와 LLM 실전 가이드: 기초 수학부터 실전 AI 문제 해결까지"는 NLP에 대한 전반적인 내용을 적당한 난이도로 잘 공부할 수 있는 책입니다. 지금까지 여러 권의 NLP관련 서적을 보았지만 이렇게 술술 잘 읽히는 책은 드물었던 것 같습니다. NLP 자연어 분석에 대한 내용을 체계적으로 공부하기에 아주 좋은 책이고 NLP와 LLM에 관심이 많다면 꼭 읽어보시기 바랍니다.
다만, 모든 사람이 파이썬 명령어를 이해하고, 데이터를 효율적으로 분석하는 레벨까지 알아야 하는 건 아니라고 생각한다.
기초 통계지식과 각각의 알고리즘 기법들의 특징을 이해하고, 최소한의 파이썬 지식으로도 효과적으로 데이터 사이언티스트와 업무협업을 할 수 있는 정도만이라도 갖추면 된다. (이것도 어렵다)
인문학 전공학생에게 프로그래밍 기초를 학습하게 하는 것도 같은 맥락일 것이다.
이 책은 그런 니즈를 충분히, 잘 충족시켜주는 책이다.
CH2 머신러닝과 자연어 처리를 위한, 선형대수, 확률, 통계 마스터하기
CH3 자연어 처리에서 머신러닝 잠재력 발휘하기
CH4 자연어 처리 성능을 위한 텍스트 전처리 과정 최적화
CH5 텍스트 분류 강화: 전통적인 머신러닝 기법 활용하기
CH6 텍스트 분류의 재해석 : 딥러닝 언어 모델 깊게 탐구하기
CH7 대규모 언어 모델 이해하기
CH8 대규모 언어 모델의 잠재력을 끌어내는 RAG 활용 방법
자연어처리(NLP)와 대규모 언어모델(LLM)의 이해라는 큰 목표를 두고, 기초부터 설명이 자세하다.
예를들어 3장에서 서포트 벡터 머신을 설명은 겨우 2page뿐이다. 하지만 가장 핵심적인 설명과 그림을 통해 결정경계를 설명하고, 장점과 단점을 간략히 설명하다.
어렴풋이 알고있었지만, 다시 상기시키기에 딱 좋을만큼의 분량을 저자가 잘 찾아냈다.
6장부터 본격적으로 언어모델을 설명한다. 트랜스포머(자연어 처리에서 순차 데이터를 더 효과적으로 처리할 수 있는 새로운 구조)의 아키텍처 부터 셀프 어텐션 메커니즘에 대한 설명까지 핵심 내용을 다 터치하고 넘어간다. (6장부터는 앞장까지의 기초지식이 없다면 어려울 수 있다)
다행인건 모든 챕터마다 “기술 요구사항”과 “요약”을 제공하는 점이다. 설렁설렁 필요한 내용을 찾아보기 위한 책이 아니라, 본격적인 NLP와 LLM을 “학습”의 영역으로 가져가기 위한 책이다.
그래서 전체적인 AI에 대한 이론적 지식습득을 위한 분들께 추천하고 싶다.
대부분의 책이 파이썬에 비중을 두거나, 구체적인 알고리즘의 동작과정을 설명하는데 집중하는데 반해, 이 책은 그런 기초를 넘어선 다음 레벨을 원할 때 필요하다. 데이터 전문가에겐 코드도 제공하지만, 상대적으로 데이터 전문가와 일하는 비즈니스 현업에게 적합한 책이다.
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 발전 속도에 정신을 잃지 않고 본질을 파악하기 위해 이 책의 일독을 권하는 바이다.