본문 바로가기
Develop/AI

생성형 AI 서비스 설계 과정 정리

by 연로그 2026. 6. 21.
반응형

이 글은 가상 면접 사례로 배우는 생성형 AI 서비스 설계 4장 'ChatGPT: 개인 비서 챗봇'을 읽고 내용을 정리한 글입니다. 

 

가상 면접 사례로 배우는 생성형 AI 서비스 설계 | 알리 아미니안 - 교보문고

가상 면접 사례로 배우는 생성형 AI 서비스 설계 | 구글 번역기, AI 대화 서비스, 이미지 합성 같은 생성형 AI 서비스는 어떻게 설계할까? 10개의 실전 사례를 직접 설계해 보며 배우는 생성형 AI 서

product.kyobobook.co.kr

 

 


 

서론

 

ChatGPT는 주어진 입력 값을 기반으로 사람이 작성한 듯한 글을 생성한다. 이번 장에서는 생성형 AI 챗봇을 만들기 위해 어떤 요소들을 고려해야 하는지, 그리고 어떤 과정을 거쳐 개발되는지 살펴본다.

 

  1. 요구사항 구체화 및 문제 정의
  2. 데이터 준비
  3. 모델 개발
  4. 평가

 


1. 요구사항 구체화 및 문제 정의

 

먼저, 어떤 챗봇을 만들 건지 요구사항을 구체화해야 한다. 특정 언어만 지원해야 하는지, 어떤 작업을 수행할 수 있어야 하는지, 어떤 데이터 형태를 다루는 챗봇인지 등.

 

이번에는 몇 가지 가정과 함께 개발 과정을 살펴보자.

  • 시스템의 입출력이 모두 텍스트다.
  • 언어 모델은 디코더 전용 트랜스포머를 활용한다.
❓ 챗봇과 언어 모델
챗봇은 언어 모델을 활용하여 입력 프롬프트를 처리하고 응답을 만들어 내는 텍스트 생성 작업을 수행한다. 이 언어 모델의 대표적인 구조는 디코더 전용 트랜스포머이므로, 위 가정에서도 언어 모델은 디코더 전용 트랜스포머를 활용한다고 가정하였다.

 

 


2. 데이터 준비

LLM의 성능은 학습 데이터의 품질에 달려 있다. 이 데이터는 여러 단계를 걸쳐 품질을 개선해야 한다.

  • 콘텐츠 추출 및 파싱 - 웹 크롤링 데이터 같은 경우는 html 태그, 광고 등이 포함되기 때문에 핵심 내용 추출 필요
  • URL 및 도메인 필터링 - 저품질 블로그, 스팸 사이트 등의 원치 않은 출처 배제
  • 언어 식별 - 학습을 원하는 언어에 맞춰 필터링
  • 콘텐츠 품질 필터링

 

특히 콘텐츠 품질 필터링은 학습용 데이터로써 가치 있는 것을 판단하기 위해 중요하다. 고품질 데이터만 학습할 수 있도록 더 다양한 종류의 필터링이 존재한다. 

  • 부적절한 콘텐츠 제거 - 유해하거나 부적절한 내용 제거
  • 민감 정보 익명화 - 개인 정보 보호
  • 저품질 데이터 제거
  • 중복 데이터 제거
  • 관련 없는 데이터 제거
  • 텍스트 토큰화
💡 텍스트 토큰화와 BPE
- 텍스트를 어떻게 토큰화하냐에 따라 각 언어마다 존재하는 다양한 어휘를 어떻게 효율적으로 다룰 수 있는지 결정된다.
- BPE(Byte-Pair Encoding)는 널리 사용되는 토큰화 알고리즘 중 하나다.
- BPE는 처음에는 개별 문자로 시작해서, 자주 붙어 나오는 조합을 반복적으로 병합해 새 단위를 만들어가는 식으로 어휘집을 만든다. 자세한 설명은 위키 링크로 대체한다.

 

 


3. 모델 개발

 

LLM의 구조는 디코더 전용 트랜스포머 기반으로 가정했다. 

출처: 가상 면접 사례로 배우는 생성형 AI 서비스 설계 129p

 

 

위치 인코딩

위치 인코딩은 모델이 모든 토큰의 위치와 토큰 간의 관계를 이해할 수 있게 한다. 위치 인코딩의 일종인 절대 위치 인코딩, 상대 위치 인코딩, RoPE 3가지에 대해 알아보자.

 

절대 위치 인코딩

  • 시퀀스 내 각각의 위치를 고유한 벡터로 표현
  • 토큰의 임베딩에 인코딩한 위치 정보를 더해 모델이 시퀀스 내 토큰의 위치를 인식할 수 있게 함
  • 한계점
    • 절대적인 위치 정보만 포함
    • 토큰 간의 상대적 거리 정보를 이해하기 어려움
    • 다양한 길이의 시퀀스 혹은 새로운 토큰의 위치에서 일반화된 성능 나타내기 어려움 (ex: 최대 512개 토큰의 시퀀스로 학습한 모델에 4096개 토큰의 시퀀스에 대한 처리가 필요하다면?)

 

상대 위치 인코딩

  • 두 토큰 간 위치의 차이를 인코딩
  • 한계점
    • 어텐션 메커니즘의 복잡성이 높아짐
    • 선형 어텐션 같은 효율적 기법 사용 불가

 

RoPE; Rotary Positional Embedding

  • 회전 행렬로 위치 정보 표현
  • 장점
    • 토큰의 위치가 바뀌어도 일관성 있게 위치 정보를 인코딩
    • 상대적 위치 표현 가능
    • 배운 적 없는 위치에 대한 일반화 가능
  • 단점
    • 절대 위치 인코딩에 비해 수학적 복잡도가 높음
💡 RoPE와 회전 행렬
- 회전 행렬: 벡터의 길이는 유지하고, 원점을 중심으로 정해진 각도만큼 돌려주는 변환
- RoPE는 각 토큰의 쿼리 벡터와 키 벡터를, 해당 토큰의 위치 인덱스에 비례한 각도만큼 회전시킴
- 예를 들어, 위치 1번 토큰은 1θ만큼, 위치 2번 토큰은 2θ만큼 회전한다. 둘을 내적 하면 각자의 절대 회전량(1θ, 2θ)은 사라지고 차이인 1θ(= 1칸 차이)만 남는다. (내적하다: 두 개의 벡터를 내적하면 같은 방향을 얼마나 보고 있나를 나타냄. 비슷할수록 큰 값, 정반대면 음수가 나옴. 이를 통해 두 벡터가 얼마나 관련 있는지를 판단할 수 있음)

 

 

학습

출처: 가상 면접 사례로 배우는 생성형 AI 서비스 설계 134p

 

사전학습; Pretraining

  • 목표: 언어와 세상의 지식에 대해 폭넓은 이해력을 가진 기본 모델 생성
  • 모델에 다양한 언어 스타일을 적용, 특정 분야에 대한 이해도 높이기 등 다양한 목적의 데이터 세트 존재
  • Common Crawl, C4, GitHub 등 다양한 데이터 세트 존재

 

지도 미세 조정; Supervised Fine Tuning

  • 더 작은 규모의 고품질 데이터 세트를 활용해 기본 모델을 미세 조정
  • 시범 데이터(demonstration data)
    • 지도 미세 조정을 위한 학습 데이터
    • 모델이 프롬프트에 어떻게 응답해야 할지 선보이는 형태
  • 사전 학습 데이터보다 규모가 작고, 품질이 우수
  • 한계점: 그럴듯한 응답은 생성하나, 도움이 되지 않거나 위험한 답변을 내세울 수 있음

 

RLHF; Reinforcement Learning from Human Feedback

  • 모델이 사람이 선호하는 응답을 생성하도록 적응
  • 응답과 프롬프트의 관련성을 평가할 수 있는 독립적인 보상 모델 도입
  • RLHF의 단계
    • 보상 모델 학습
    • 지도 미세 조정 모델 최적화: PPO 같은 강화 학습 알고리즘을 통해 보상 모델이 예측하는 점수를 최대화하도록 미세 조정
보상 모델
- 보상 모델의 크기가 학습에 사용된 언어 모델의 크기에 따라 어떻게 변화해야 하는지에 대해 정해진 규칙은 없음
- 패배 응답보다 승리 응답에 더 높은 점수를 예측하는 것이 목표 -> 손실 함수 활용
❓ 손실 함수
- 승리 점수 - 패배 점수 간 차이가 너무 작은 경우 모델에 페널티 부여
- 자주 사용되는 손실 함수: 마진 순위 손실 (margin ranking loss)
    - 마진: 승리 응답과 패배 응답 간에 요구되는 최소 점수 차이
    - ex: 승리점수와 패배 점수의 차이가 마진보다 작으면 최적화 함수를 통해 승리 점수를 높인다

 

 

샘플링

  • 모델이 예측한 확률 분포에서 토큰을 선택하는 방식
  • 샘플링의 목표: 일관되고 유용한 응답 생성

출처: 가상 면접 사례로 배우는 생성형 AI 서비스 설계 147p

 

탐욕 검색

  • 생성 과정의 매 단계마다 가장 높은 확률의 토큰 선택
  • 한계점
    • 반복 - 모델이 동일한 토큰 시퀀스 사용 -> 루프에 갇힘 -> 텍스트 반복
    • 최적화되지 않은 생성

 

빔 검색

  • 여러 개의 시퀀스를 동시에 고려 
  • 상위 시퀀스 k개 추적
  • 한계점
    • 비효율적 - 여러 개의 시퀀스 한 번에 평가
    • 반복적이고 포괄적인 답변 생성

 

다항 샘플링

  • 모델이 예측한 확률 분포에 근거해 다음 토큰 선택 -> 출력의 다양성 보장
  • 한계점
    • 확률 분포가 균등할수록 무작위성이 높음 (= 일관성 저하)

 

Top-k 샘플링

  • 가장 확률이 높은 k개의 토큰 중 선택
  • 항상 고정된 숫자의 토큰으로부터 샘플링
  • 한계점
    • 예측된 확률 분포가 급격할 경우: 확률이 낮은 부적절한 토큰이 섞여 비논리적 결과 생성 가능
    • 예측된 확률 분포가 평평할 경우: 모델의 창의성에 제약

출처: 가상 면접 사례로 배우는 생성형 AI 서비스 설계 152p

 

Top-p 샘플링; 핵 샘플링

  • 후보 토큰의 합산된 확률 값을 기반으로 샘플링 후보 토큰 개수를 그때그때 조정 (k개 고정이 아님)
  • 누적 확률 값이 p를 초과하는 가장 작은 토큰 집합으로부터 샘플링

출처: 가상 면접 사례로 배우는 생성형 AI 서비스 설계 153p

 

샘플링에서 활용되는 기법

  • 온도
    • 샘플링 기법에서 사용하는 매개변수.
    • 예측의 무작위성 정도를 조절
    • ex: 온도가 높다 -> 무작위성이 증가한다 (= 모델이 창의적 출력을 생성한다)
  • 반복 페널티
    • 반복적인 토큰 시퀀스를 생성할 가능성을 명시적으로 줄임

 

 


4. 평가

 

오프라인 평가 지표

전통적인 평가

  • LLM 성능에 대한 기초적인 이해 제공
  • ex: Perplexity - 모델이 텍스트 형태의 토큰 시퀀스를 얼마나 정확하게 예측하는지

 

과제별 평가

  • 상식 추론: 일상적인 상황과 일반 지식에 대한 모델의 추론 능력 평가
  • 일반 상식: 세상에 대한 모델의 사실 기반 지식 평가
  • 독해력: 텍스트 지문을 이해하고 해석하는 능력과 질문에 대답하는 능력
  • 수학적 추론
  • 코드 생성
  • 종합 벤치마크

 

안정성 평가

  • 위험성 및 유해 콘텐츠
  • 편향 및 공정성
  • 진실성
  • 사용자 프라이버시 및 데이터 유출
  • 적대적 공격에 대한 강건성 - 모델을 혼란스럽게 하기 위한 의도적인 입력값에 대한 LLM의 대응 능력

 

사람의 평가

  • 평가자들에게 직접 평가 요청

 

온라인 평가 지표

  • 사용자의 피드백과 별점
  • 사용자 참여도 - 만들어진 쿼리 개수, 세션 지속 시간 등
  • 전환율 - 서비스 구매 / 구독한 사용자의 비율 등
  • 실시간 순위 - 다양한 LLM 성능을 실시간으로 추적해 반영한 순위표

 

 


전체 머신러닝 시스템 설계

 

학습 파이프라인

  • 사전 학습, 지도 미세 조정, RLHF 같은 과정 포함

 

추론 파이프라인

  • 안정성 필터링 - 질문이 유해하거나 부적절한지
  • 프롬프트 개선 장치 - 약어를 풀어쓰고 철자 오류 교정하는 등 입력 프롬프트를 정제
  • 응답 생성기
  • 응답 안정성 평가 장치
  • 거절 응답 생성기 - 생성된 응답이 적합하지 않은 경우, 적절한 응답 생성
  • 세션 관리 장치 - 대화 맥락 유지
반응형

'Develop > AI' 카테고리의 다른 글

AI 에이전트란?  (0) 2026.03.30
LLM 이해하기 - 딥러닝부터 LLM까지  (2) 2026.01.31
RAG란?  (0) 2025.11.04
LangChain이란?  (2) 2025.11.03