//
AI 엔지니어링 · 칩 후옌
이번 챕터는 책 본문을 요약한 글이 아니라, 책을 다 읽은 뒤 독서모임에서 내가 정리한 회고를 옮긴 것이다. 2026년 4월 2일 모임에서 책에서 본 것·깨달은 것·적용할 것을 정리한 본.깨.적과, 다섯 관점의 퍼실리테이션 질문에 대한 답변을 함께 정리했다.
요약형 챕터(1~10장)와는 결이 다른, 책을 일단 덮은 뒤 머리에 남은 잔상과 업무 적용 메모를 회고록 톤으로 다시 풀어쓴 글이다.
2장의 학습 데이터 파트에서 커먼 크롤, C4, 딥마인드, 알파폴드, 바이오네모, 메드팜2 같은 데이터셋과 도메인 특화 모델 사례가 인상적이었다.
여기서 두 가지를 깨달았다. 하나는 영어가 학습 데이터에서 차지하는 비중이 45%에 달하는 고자원 언어라는 사실, 그리고 그 결과 멀티모달 작업에서도 영어 기반 모델의 성능이 더 뛰어나게 나오는 이유다. 다른 하나는 모델마다 학습 데이터의 도메인 비중이 달라서, 같은 질문을 던져도 도메인에 따라 답변의 품질이 갈린다는 점이다.
당장 액션 아이템으로 잡을 만한 것은 아니지만 잘 기억해두고 싶었다. 여유가 생기면 모델별 도메인 비중 데이터가 실제로 어떻게 분포되어 있는지 별도로 리서치해볼 생각이다.
트랜스포머의 추론 단계, 그러니까 프리필과 디코더로 나뉘는 구조와 어텐션 메커니즘 부분이 가장 학습량이 많았던 챕터다.
정리해두면 추론은 입력 토큰을 처리하는 프리필과 출력 토큰을 한 토큰씩 생성하는 디코더로 나뉘고, 각각 연산 제약과 대역폭 제약을 다르게 받는다. 사용자가 많을 때와 단일 작업량이 클 때 병목 지점이 달라진다는 점이 핵심이다. 어텐션 메커니즘은 K, V, Query 구성으로 동작하고, KV 캐시·vLLM의 페이지드 어텐션 같은 최적화 기법은 결국 이 어텐션 병목을 해소하기 위한 장치다.
다만 한 번 읽고 완전히 체화됐다고 말하긴 어렵다. 이 영역은 따로 시간을 내어 한 번 더 파야 한다.
Temperature, Top-K, Top-P 세 가지 샘플링 전략을 책의 설명을 따라가며 다시 정리했다.
Temperature는 로짓을 조정해 확률 분포의 평탄함을 바꾸는 장치이고, 온도가 높을수록 왜 모델이 창의적으로 보이는지를 확률 분포 차원에서 이해할 수 있었다. Top-K는 상위 K개의 로짓에만 소프트맥스를 적용해 연산 비용을 줄이는 방법이고, Top-P는 누적 확률 합을 기준으로 후보 토큰을 잘라낸다는 점에서 또 다른 결의 제한이라는 것을 알게 됐다.
세 가지 샘플링 외에도 책에서 짧게 언급된 다른 샘플링 기법들이 있는데, 저자가 어떤 관점으로 그것들을 비교하는지 한 번 더 정리해두면 좋겠다.
선호도 파인튜닝에서 보상 모델을 학습할 때, 페어가 아닌 세 쌍 이상의 선호도 데이터가 있을 때 Pointwise 방식을 활용할 수 있다는 점이 새로웠다.
지금 다루는 평가 파이프라인에서도 보상 모델 비슷한 구조를 검토하고 있는데, Pointwise 접근이 선택지로 들어올 수 있을지 별도로 한 번 들여다볼 만한 주제다.
평가 챕터에서 등장하는 지표 목록은 양이 많아 따로 정리해둘 필요가 있었다.
언어 모델링 쪽에서는 엔트로피, 교차 엔트로피, 문자당 비트(BPC), 바이트당 비트(BPB), 퍼플렉시티(PPL) 같은 지표가 등장하고, 추론 성능 쪽에서는 TTFT, TPOP, TBT, ITL, Throughput, Goodput, MFU, MBU 같은 지표가 줄줄이 나왔다. 한 번에 모두 흡수하기에는 양이 많아서, 각각의 정의와 어디에 쓰는 지표인지 잘 이해해서 기억해두는 것 자체를 액션 아이템으로 잡았다.
6장은 RAG에서 검색 부분에 해당하는 영역인데, 용어 기반 검색과 임베딩 기반 검색을 나란히 비교한 부분이 좋았다.
TF-IDF가 TF(용어 빈도수)와 IDF(역문서 빈도)의 결합이라는 정의, k-최근접 이웃(k-NN)과 근사 최근접 이웃(ANN)의 차이, 그리고 검색 품질을 끌어올리기 위한 청킹·재순위·질의 재작성·컨텍스트 검색 같은 기법들이 한 챕터 안에 정리되어 있어 레퍼런스로 좋았다.
운영 중인 RAG 파이프라인 관점에서 점검할 거리도 많았다. 청킹은 단순 길이 기반이 아닌 재귀적 분할이나 의미 기반 분할까지 들어가 있는지, 질의 재작성은 적용되어 있는지, 컨텍스트 검색을 도입했을 때 실제로 기대 효과가 나올지 같은 항목을 점검 리스트로 들고 가야겠다고 생각했다.
7장에서 다룬 데이터 검사·중복 제거·정리·필터링은 모델 학습뿐 아니라 검색·RAG 품질에도 그대로 영향을 주는 영역이다.
특히 사용자가 업로드한 지식 데이터를 더 고품질로 다듬는 기능을 설계할 때, 이 챕터의 처리 단계가 그대로 참고 자료가 된다고 느꼈다. 어떤 데이터를 검사로 걸러내고, 어떤 기준으로 중복을 제거하며, 어디까지를 정리·필터링의 범위로 둘지 같은 부분을 다시 한번 들여다볼 생각이다.
추론 비용을 결정하는 두 축이 연산 제약과 메모리(대역폭) 제약이라는 분류와, 그에 따라 온라인 추론과 배치 추론 API를 어떻게 나눠 쓰는가에 대한 논의가 인상적이었다.
프리필은 사용자 수가 늘어날수록 연산 제약에 묶이고, 디코딩은 작업 크기가 커질수록 대역폭 제약에 묶인다. 배치 API는 즉시성이 중요하지 않은 작업에 적합하다는 식의 매핑이 머릿속에 자리 잡혔다.
이 관계를 이해한 김에 부하 테스트를 이 관점에서 다시 설계하고 싶다. 또 지식 베이스를 주기적으로 업데이트하거나 합성하는 스케줄링 작업, 즉 즉시성이 떨어져도 되는 작업들에 배치 API를 도입해 비용을 절감할 수 있는지도 검토 대상이다.
별점은 5점 만점에 4.5점. AI 엔지니어링은 모델 자체의 조정과 평가에 무게중심을 둔 책이라 지식을 다지는 데는 큰 도움이 됐다. 다만 책의 모든 내용을 그대로 프로젝트에 가져다 쓰기는 어려웠고, 적용하기 위해서는 한 번 더 번역이 필요했다. 개발자 관점에서 이 정도 깊이로 들어가는 책이 더 있으면 좋겠다는 아쉬움이 함께 남았다.
가장 인상 깊었던 부분은 5장이다. "실제 운영 가능한 AI 애플리케이션을 개발하려면 프롬프트 엔지니어링 이상의 것이 필요하다. 실험 추적, 평가, 데이터셋 큐레이션을 위해서는 통계학, 엔지니어링, 전통적인 ML 지식이 필요하다"는 문장. 책 전체가 왜 평가와 데이터셋 엔지니어링에 그렇게 많은 분량을 할애했는지를 한 줄로 설명해주는 부분이라고 느꼈다.
7장 메모리 파트도 인상에 남았다. 책에서 제시한 구조보다 내가 다루는 환경에서 이미 더 정교하게 구현되어 있다는 점을 확인했고, 그 사실 자체가 묘하게 기분 좋았다.
특별히 반대되는 생각은 들지 않았다. 굳이 한 가지를 짚으면 1장에서 "코딩 분야의 복잡한 작업에서는 AI의 효과가 미비하다"고 한 부분이다. 책이 출간된 시점 기준으로는 동의하지만, 모델과 도구가 빠르게 발전하면서 이 부분도 점차 보완될 것이라고 본다. 그래서 강한 반론이라기보다는, 시간이 지나면 이 챕터의 진단도 바뀔 거라는 정도의 짚어두기에 가깝다.
내가 만드는 제품에 적용하기에 적합하다고 봤다. 7장 파인튜닝 파트만 제외하면 — 우리 환경에서 직접 파인튜닝까지 들어가는 일은 거의 없으므로 — 나머지 모든 장에서 한 가지 이상은 적용 거리가 있었다고 정리했다. 평가, RAG, 데이터셋 처리, 추론 최적화, 아키텍처와 사용자 피드백까지 어떤 챕터든 메모를 남길 만한 부분이 있었다.
크게 두 갈래로 적용하려고 한다.
첫째, 지식 데이터의 품질을 끌어올리는 작업이다. 데이터를 정제해 품질을 높이는 일, 질의를 멀티턴으로 다루는 방법, 청킹 전략을 다시 다듬는 일 같은 것이 여기 들어간다. 6장과 7장에서 짚은 기법들을 운영 중인 RAG 파이프라인에 하나씩 매핑해두고 점검할 생각이다.
둘째, 옵저버빌리티 지표를 정의할 때 책에서 정리된 지표 체계를 참조하는 것이다. 지금 정의하려는 지표가 책 기준으로 적절한 위치에 놓여 있는지, 빠진 축은 없는지를 한 번 검토하면서 정리해두는 식이다.
이번 책은 분량이 상당히 많았지만 그만큼 유익한 시간이었다. 전자책으로 읽으니 종이책보다 훨씬 편했다. 마침 이번 기회에 블로그로 책 내용을 정리하는 작업도 시작했는데, 정리 작업이 더해지니 다른 의미로 더 힘들기도 했다. 그래도 정리하면서 한 번 더 곱씹는 효과가 분명히 있었다.
이 글이 도움이 되셨나요?