1장 파운데이션 모델을 활용한 AI 애플리케이션 입문
이 책에서는 AI 엔지니어링의 범주에서 지식 습득
- AI 엔지니어링은 파운데이션 모델을 활용해 제품까지 만드는 전반적인 엔지니어링 기술을 커버한다.
- 1, 파운데이션 모델에 대한 이해 : 모델 아키텍처, 사후 학습, 샘플링
- 2, 평가 방법론, 평가 기준, 평가 프레임워크 설계하기
- 3, 프롬프트 엔지니어링
- 4, RAG, Agent
- 5, 파인튜닝
- 6, 데이터셋 엔지니어링
- 7, 추론 최적화 : 지식 증류(Knowledge Distillation)
- 8, AI 엔지니어링 아키텍처, 사용자 피드백
_1.1 AI 엔지니어링의 부상
📌 __1.1.1 언어 모델에서 대규모 언어 모델로
언어 모델 : 언어의 통계적 특성을 이용해 예측하는 모델
- 통계적 언어 모델 (SLM): 지금까지 사람들이 쓴 글 중에서, 이 단어 뒤에 어떤 단어가 가장 자주 나왔지? 를 통계낸다.
- 단점 : 긴 문맥 파악 불가, 데이터에 없는 표현은 예측 불가.
- 예, N-gram 모델 (스마트폰 키보드 자동 추천, 검색 엔진의 자동 완성)
- 신경망 언어 모델 (NNLM)
- 토큰화 : 모델 이해가능한 최소 의미 단위로 분리하는 것.
- 어휘 : 모든 토큰의 집합이다.
- 토큰화의 장점 : 문자를 의미있는 구성 단위로 나눈다. / 고유 단어보다 적게 토큰이 나오므로 모델이 더 효율적 처리 / gpting 등 gpt, ing 로 나누어 모르는 단어를 처리 할 수 있다.
Masked language model
- BERT : Bidirectional Encoder Representations from Transformers
- BERT, GPT 모두 트랜스포머(Transformer)라는 혁신적인 설계도에서 탄생한 형제 모델.
- Bidirectional (양방향): 문장을 읽을 때 왼쪽에서 오른쪽, 오른쪽에서 왼쪽 양쪽 방향을 동시에 봅니다. 덕분에 문맥을 아주 깊게 이해합니다.
- Encoder (인코더): 트랜스포머의 구조 중 입력된 정보를 해석하고 압축하는 '인코더' 부분만 사용했다는 뜻입니다.
- Representations (표현): 단어의 의미를 컴퓨터가 이해할 수 있는 수치(벡터)로 아주 잘 '표현'해낸다는 의미입니다.
- from Transformers: 이 모든 것이 트랜스포머 기술 덕분에 가능했다는 출처를 밝히는 것입니다.
- [요약] "트랜스포머를 이용해 문맥을 양방향으로 깊게 이해하고 수치로 표현하는 모델"
Autoregressive Model
- GPT Generative Pre-trained Transformer
- Generative (생성형): 문장을 이해하는 데서 그치지 않고, 새로운 문장을 '생성'하는 데 특화되어 있습니다.
- Pre-trained (사전 학습된): 특정 작업을 시키기 전에 이미 인터넷상의 방대한 데이터를 미리 공부해서 '기초 지식이 쌓여 있다'는 뜻입니다.
- Transformer (트랜스포머): 역시 핵심 엔진은 트랜스포머라는 의미입니다. (구체적으로는 '디코더' 부분을 사용합니다.)
자기 지도 학습
- 지도 학습은 직접 정답셋 구축을 위한 레이블링 작업이 필요하다.
- 자기 지도 학습은 레이블링 병목을 제거해준다.
📌 __1.1.2 대규모 언어 모델에서 파운데이션 모델로
모달리티란? : AI에게도 어떤 형태의 데이터를 입력받고 출력하는지가 바로 모달리티
- Text, Image, Audio, Video 등 형태가 있음
- 멀티모달(Multi-modal) : 여러 개의 모달리티를 동시에 처리하는 것
- 멀티모달 모델 (Multi-modal Model) : 여러 감각(텍스트, 이미지, 소리 등)을 동시에 사용하는 모델
- 파운데이션 모델 (Foundation Model) : 하나의 모델로 수만 가지 일을 할 수 있게 만든 기본 모델
이미지 모델 CLIP는 어떻게 자기 지도 학습이 가능?
- CLIP(Contrastive Language-Image Pre-training)
- 인터넷의 방대한 텍스트-이미지 쌍 4억 활용
- 이미지 인코더: 사진의 특징을 추출합니다. (Vision Transformer 등 사용)
- 텍스트 인코더: 글의 의미를 추출합니다. (위에서 배운 BERT/GPT 같은 트랜스포머 기반)
- 위 2개의 쌍 정보를 하나의 공통된 공간(임베딩 공간)에 모아둔다. 이를 정답셋으로 간주
- 정답셋에서 랜덤하게 쌍을 뽑아 "이 사진과 이 문장이 같은 의미인가?"를 계속해서 맞춰보면서 자기 지도 학습
파운데이션 모델을 개조하는게 더 낫다.
- 기존에는 감정 분석 특화, 번역 특화 모델을 각각 개발 했음. 데이터 구축과 학습 비용이 크다.
- 큰 규모의 언어 모델(파운데이션)을 가지고 프롬프트 엔지니어링, RAG, 파인 튜닝으로 더 적은 데이터 셋으로 개조하는게 훨씬 적은 비용이다.
📌 __1.1.3 파운데이션 모델에서 AI 엔지니어링으로
- ML 엔지니어링 : ML 모델을 자체 개발
- AI 엔지니어링 : 파운데이션 모델을 활용하여 응용어플레케이션단을 개발 하는 것
_1.2 파운데이션 모델 활용 사례
- AI가 생성하는 무작위적인 창작물을 불신하므로, 신뢰하는 사람과 브랜드가 더 중요해 진다.
- 코딩, 이미지 및 동영상 제작, 글쓰기, 교육, 대화형 봇, 정보 집계, 데이터 체계화, 워크플로 자동화
_1.3 AI 애플리케이션 기획
1, AI 제품의 3대 해자 (Moat)
- 전통적인 소프트웨어와 달리 AI 제품은 단순히 기능을 만드는 것보다 방어력을 갖추는 것이 훨씬 어렵습니다.
- 1-1, 기술력 (파운데이션 모델의 흡수):
- PDF 변환 레이어를 추가한 AI 제품을 만들었으나, 파운데이션모델이 이를 곧 흡수
- 특정 기능을 구현하는 기술은 시간이 지나면 파운데이션 모델(GPT, Gemini 등)의 기본 기능으로 포함되거나, 더 저렴한 오픈소스 모델이 나오면서 가치가 하락합니다.
- 1-2, 데이터 (Proprietary Data): 인터넷에 공개된 데이터가 아니라, 우리 서비스 안에서만 발생하는 사용자 행동 데이터나 전문적인 피드백 루프(Flywheel)가 진짜 해자가 됩니다.
- 1-3, 유통력 (Distribution): 사용자가 이미 머물고 있는 플랫폼(Slack, Notion, Google Workspace 등)에 얼마나 깊숙이 침투해 있느냐가 핵심입니다.
- 기술이 비슷하다면 결국 이미 결제하고 있는 서비스 안의 기능을 쓰게 되기 때문입니다.
2, 스타트업 기능의 대기업 통합 사례 (Bundle vs Unbundle)
- (캘린들리 > 구글캘린더 / 메일침프 > GMail / 포토룸 > 구글 포토)
3, 비즈니스 및 기술적 측정 목표 (Metrics)
- AI 제품은 정성적인 '똑똑함'보다 정량적인 '수치'로 증명해야 합니다.
- 비즈니스 지표: 고객 지원 티켓 30% 자동화 -> 60% 자동화 목표
- 기술적 지표 (Performance):
- TTFT (Time to First Token): 첫 글자가 나오는 속도 (사용자 경험의 핵심).
- TPS (Tokens Per Second): 전체 출력 속도.
- 정확도(Accuracy) 및 신뢰도: 환각(Hallucination) 발생률 관리.
4, 마일스톤 계획 : 80/20 법칙의 함정
- AI 앱은 구현(0%→80%)은 쉽지만, 상용화(80%→99%)는 지옥
- 초기 단계 (1개월): API 연동만으로 그럴듯한 프로토타입이 나옵니다.
- 개선 단계 (무한 루프): 예외 상황 처리, 엣지 케이스(Edge case) 대응, 정확도 5%를 올리기 위해 데이터셋을 새로 구축하고 파인튜닝을 반복하는 과정에서 수개월이 소요됩니다.
- 교훈: 처음부터 100%를 목표로 하기보다, 80%의 성능으로도 가치를 줄 수 있는 영역부터 공략
5, 유지보수 계획 : 직접 서빙 vs API (Trade-off)
- 새로운 모델이 매주 쏟아지는 환경에서 인프라 결정은 매우 중요합니다.
- API 사용 (OpenAI 등): 관리 부담이 적고 최신 모델 적용이 빠르지만, 비용이 비싸고 데이터 보안 및 서비스 종속성 문제가 있습니다.
- 직접 서빙 (vLLM, Triton 등): 초기 인프라 구축 비용(GPU)과 인력이 많이 들지만, 장기적으로 비용이 저렴해지고 데이터 보안을 완벽히 통제할 수 있습니다.
1.4 AI 엔지니어링 스택
AI의 세 가지 계층
- Application 계층 (서비스 중심) : 사용자가 AI를 실제로 경험하는 단계입니다. 단순히 UI를 만드는 것을 넘어, 'AI가 어떻게 답변할지'를 설계하는 것이 핵심.
- AI UI/UX: 챗봇 형태, 에이전트 인터페이스 등 사용자 접점 설계.
- Context 구성 (RAG): AI가 모르는 정보를 외부 문서(DB)에서 찾아와 전달해주는 시스템 설계.
- Prompt Engineering: 답변의 품질과 톤을 결정하는 지시문 설계.
- 평가 (Ops): 사용자의 피드백을 수집하고 답변의 유해성이나 정확도를 평가.
- Model 계층 (지능 중심) : AI의 두뇌 자체를 만들거나 최적화하는 단계입니다. 우리가 앞서 이야기한 추론 최적화가 바로 여기에 해당합니다.
- 데이터셋 엔지니어링: 학습을 위한 양질의 데이터를 수집, 정제, 라벨링.
- 모델링과 학습: 파인튜닝(Fine-tuning)이나 지식 증류(Distillation)를 통해 특정 목적에 맞는 모델 제작.
- 추론 최적화: 양자화(Quantization) 등을 통해 모델을 가볍고 빠르게 변환.
- 평가: 모델의 벤치마크 점수나 성능 지표(Perplexity 등) 관리.
- Infra 계층 (기반 중심) : AI가 돌아갈 수 있는 '땅'과 '전기'를 공급하는 단계입니다.
- 컴퓨팅 리소스: GPU/NPU 서버 관리 및 클러스터 구성.
- 데이터 관리: 대규모 벡터 데이터베이스(Vector DB)나 데이터 레이크 운영.
- 서빙 (Serving): API 형태로 모델을 외부에 연결하고, 트래픽을 분산 처리.
- 모니터링: 시스템 부하, 비용(GPU 사용량), 모델의 지연 시간(Latency) 관리.
모델 조정
- 프롬프트 엔지니어링: 파라미터 조정이나 데이터셋 필요 없이 지시문만으로 결과를 제어하는 방식입니다. 모델의 가중치를 건드리지 않는 외부적인 접근법입니다.
- 파인 튜닝: 모델의 가중치를 사전 학습 이후 특정 목적에 맞게 조정하는 것입니다. 상대적으로 적은 데이터셋으로도 특정 분야의 성능을 높일 수 있습니다.
- 사후 학습: 파인 튜닝과 기술적으로는 유사하지만, 주로 모델 제공자가 사전 학습 직후에 진행하는 정렬 작업을 의미합니다.
- 인간의 피드백을 반영하는 RLHF나 안전성 확보 과정이 여기에 해당합니다.
- 사전 학습: 모델의 파라미터를 무작위로 설정한 후 처음부터 대규모 데이터를 학습시키는 과정입니다.
- 전체 리소스의 대부분이 소모되며, 막대한 자본이 투입되므로 설계 오류 시 재정적 타격이 매우 큽니다. (전체 학습의 과정 중 98%의 리소스가 소모)
데이터셋 엔지니어링
- 모델 학습에 필요한 데이터를 수집, 관리하고 품질을 유지하는 작업입니다.
- 과거와 달리 주관식 답변이 필요한 비정형 데이터가 중심이 되므로, 정답이 정해진 데이터보다 관리 난이도가 훨씬 높습니다.
전통적인 ML과 풀스택 엔지니어의 차별성
- ML 엔지니어는 데이터 -> 모델 -> 제품을 만드는 순서로 접근한다면,
- 풀스택 엔지니어는 제품 관점에서 아이디어를 빠르게 구현해보고 개선하는 측에 장점이 있다.