책소개
최고의 AI 전문가 칩 후옌이 엔비디아, 스노클 AI, 스탠퍼드에서 쌓은 현장 경험과 노하우!모델 활용을 넘어서, 실전으로 통하는 AI 서비스 설계 가이드“프로덕트 레벨에 맞는 설계란 무엇일까요?”파운데이션 모델을 활용해 누구나 손쉽게 AI 애플리케이션을 만들 수 있는 시대가 되었습니다. 하지만 실제 프로덕트 레벨의 시스템을 구축하려면 단순한 API 호출이나 프롬프트 작성만으로는 충분하지 않습니다. 아이디어를 사용자가 만족하는 서비스로 완성하기 위해서 빠르게 변화하는 모델 환경과 기술 스택, 늘어나는 활용 가능성과 그에 따른 리스크 속에서 AI 애플리케이션을 안정적이고 효과적으로 설계하고 운영해야 합니다.이 책은 현업의 이러한 고민에 명쾌한 해답을 제시하는 AI 엔지니어링 실전 가이드입니다. 프롬프트 엔지니어링, RAG, 파인튜닝, 에이전트, 데이터셋 설계 등의 다양한 기법부터 평가 지표 설계, 인프라 최적화, 사용자 피드백을 통한 개선 루프 구축까지, AI 모델을 실제 서비스로 연결하기 위한 전 과정을 체계적으로 설명합니다. 파운데이션 모델을 ‘어떻게 쓸 것인가’에 그치지 않고, 어떤 문제를 해결할 수 있는지, 또 이를 어떤 방식으로 설계하고 발전시킬 수 있도록 가이드합니다.파운데이션 모델을 사용하는 단계를 넘어 신뢰받는 AI 프로덕트를 설계, 운영, 개선하고자 고민하는 모든분께 이 책을 추천합니다.
저자소개
클레이폿 AI의 공동 창립자이자 CEO로서 실시간 머신러닝을 위한 인프라를 개발하고 있다. 이전에는 엔비디아, 스노클 AI, 넷플릭스에 재직하며 머신러닝 시스템을 개발하고 배포하는 일을 도왔으며, 스탠퍼드 학부생일 때는 ‘딥러닝 연구를 위한 텐서플로’라는 강의를 만들어 직접 학생들을 가르쳤다. 현재 스탠퍼드에서 이 책의 토대가 된 ‘CS 329S: 머신러닝 시스템 설계(Machine Learning Systems Design)’를 강의하고 있다. 전문 분야는 소프트웨어 엔지니어링과 머신러닝에 걸쳐 있으며, 링크드인 탑 보이스(Top Voices) 소프트웨어 개발 부문(2019)과 데이터 과학 및 머신러닝 부문(2020)에 이름을 올렸다.
목차
1장 파운데이션 모델을 활용한 AI 애플리케이션 입문_1.1 AI 엔지니어링의 부상__1.1.1 언어 모델에서 대규모 언어 모델로__1.1.2 대규모 언어 모델에서 파운데이션 모델로__1.1.3 파운데이션 모델에서 AI 엔지니어링으로_1.2 파운데이션 모델 활용 사례__1.2.1 코딩__1.2.2 이미지 및 동영상 제작__1.2.3 글쓰기__1.2.4 교육__1.2.5 대화형 봇__1.2.6 정보 집계__1.2.7 데이터 체계화__1.2.8 워크플로 자동화_1.3 AI 애플리케이션 기획__1.3.1 활용 사례 평가__1.3.2 기대치 설정__1.3.3 마일스톤 계획__1.3.4 유지보수_1.4 AI 엔지니어링 스택__1.4.1 AI의 세 가지 계층__1.4.2 AI 엔지니어링 대 ML 엔지니어링__1.4.3 AI 엔지니어링 대 풀스택 엔지니어링_1.5 마치며2장 파운데이션 모델 이해하기_2.1 학습 데이터__2.1.1 다국어 모델__2.1.2 도메인 특화 모델_2.2 모델링__2.2.1 모델 아키텍처__2.2.2 모델 크기_2.3 사후 학습__2.3.1 지도 파인튜닝__2.3.2 선호도 파인튜닝_2.4 샘플링__2.4.1 샘플링의 기초__2.4.2 샘플링 전략__2.4.3 테스트 시점 연산__2.4.4 구조화된 출력__2.4.5 AI의 확률적 특성_2.5 마치며3장 평가 방법론_3.1 파운데이션 모델 평가의 어려움_3.2 언어 모델링 지표 이해하기__3.2.1 엔트로피__3.2.2 교차 엔트로피__3.2.3 문자당 비트와 바이트당 비트__3.2.4 퍼플렉시티__3.2.5 퍼플렉시티 해석과 활용 사례_3.3 정확한 평가__3.3.1 기능적 정확성__3.3.2 참조 데이터 유사도 측정__3.3.3 임베딩 소개_3.4 AI 평가자__3.4.1 AI 평가자를 쓰는 이유__3.4.2 AI 평가자 사용법__3.4.3 AI 평가자의 한계__3.4.4 평가자로 활용 가능한 모델_3.5 비교 평가를 통해 모델 순위 정하기__3.5.1 비교 평가의 과제들__3.5.2 비교 평가의 미래_3.6 마치며4장 AI 시스템 평가하기_4.1 평가 기준__4.1.1 도메인 특화 능력__4.1.2 생성 능력__4.1.3 지시 수행 능력__4.1.4 비용과 지연 시간_4.2 모델 선택__4.2.1 모델 선택 과정__4.2.2 모델 자체 개발 대 상용 모델 구매__4.2.3 공개 벤치마크 탐색하기_4.3 평가 파이프라인 설계하기__4.3.1 1단계: 시스템의 모든 구성 요소 평가하기__4.3.2 2단계: 평가 가이드라인 만들기__4.3.3 3단계: 평가 방법과 데이터 정의하기_4.4 마치며5장 프롬프트 엔지니어링_5.1 프롬프트 소개__5.1.1 인컨텍스트 학습: 제로샷과 퓨샷__5.1.2 시스템 프롬프트와 사용자 프롬프트__5.1.3 컨텍스트 길이와 컨텍스트 효율성_5.2 프롬프트 엔지니어링 모범 사례__5.2.1 명확하고 명시적인 지시 작성하기__5.2.2 충분한 컨텍스트 제공하기__5.2.3 복잡한 작업을 단순한 하위 작업으로 나누기__5.2.4 모델에게 생각할 시간 주기__5.2.5 프롬프트 반복하며 개선하기__5.2.6 프롬프트 엔지니어링 도구 평가하기__5.2.7 프롬프트 정리 및 버전 관리하기_5.3 방어적 프롬프트 엔지니어링__5.3.1 독점 프롬프트와 역 프롬프트 엔지니어링__5.3.2 탈옥과 프롬프트 주입__5.3.3 정보 추출__5.3.4 프롬프트 공격에 대한 방어_5.4 마치며6장 RAG와 에이전트_6.1 RAG__6.1.1 RAG 아키텍처__6.1.2 검색 알고리즘__6.1.3 검색 최적화__6.1.4 텍스트를 넘어선 RAG_6.2 에이전트__6.2.1 에이전트 개요__6.2.2 도구__6.2.3 계획 수립__6.2.4 에이전트 실패 유형과 평가_6.3 메모리_6.4 마치며7장 파인튜닝_7.1 파인튜닝 개요_7.2 파인튜닝이 필요한 경우__7.2.1 파인튜닝을 해야 하는 이유__7.2.2 파인튜닝을 하지 말아야 하는 이유__7.2.3 파인튜닝과 RAG_7.3 메모리 병목 현상__7.3.1 역전파와 학습 가능한 파라미터__7.3.2 메모리 계산__7.3.3 수치 표현 방식__7.3.4 양자화_7.4 파인튜닝 기법__7.4.1 파라미터 효율적 파인튜닝__7.4.2 모델 병합과 다중 작업 파인튜닝__7.4.3 파인튜닝 전술_7.5 마치며8장 데이터셋 엔지니어링_8.1 데이터 큐레이션__8.1.1 데이터 품질__8.1.2 데이터 커버리지__8.1.3 데이터 양__8.1.4 데이터 수집과 주석_8.2 데이터 증강 및 합성__8.2.1 데이터 합성을 하는 이유__8.2.2 전통적인 데이터 생성 기법__8.2.3 AI 기반 데이터 합성__8.2.4 모델 증류_8.3 데이터 처리__8.3.1 데이터 검사__8.3.2 데이터 중복 제거__8.3.3 데이터 정리 및 필터링__8.3.4 데이터 형식 맞추기_8.4 마치며9장 추론 최적화_9.1 추론 최적화 이해하기__9.1.1 추론 개요__9.1.2 추론 성능 지표__9.1.3 AI 가속기_9.2 추론 최적화__9.2.1 모델 최적화__9.2.2 추론 서비스 최적화_9.3 마치며10장 AI 엔지니어링 아키텍처와 사용자 피드백_10.1 AI 엔지니어링 아키텍처__10.1.1 1단계: 컨텍스트 보강__10.1.2 2단계: 가드레일 도입하기__10.1.3 3단계: 모델 라우터와 게이트웨이 추가__10.1.4 4단계: 캐시로 지연 시간 줄이기__10.1.5 5단계: 에이전트 패턴 추가__10.1.6 모니터링과 관찰 가능성__10.1.7 AI 파이프라인 오케스트레이션_10.2 사용자 피드백__10.2.1 대화형 피드백 추출__10.2.2 피드백 설계__10.2.3 피드백의 한계_10.3 마치며