Amazon Bedrock RAG - Chunking와 Retrieval

Amazon Bedrock RAG - Chunking와 Retrieval

Amazon Bedrock RAG 성능을 개선하기 위해서 Chunking와 Retrieval에 대해 알아봤습니다.
2026.04.01

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번 블로그에서는 Amazon Bedrock RAG 성능을 개선하기 위해서 Chunking와 Retrieval에 대해 알아봤습니다.

이전에 Amazon Bedrock RAG에 대해서는 아래 블로그를 참고해 주세요.

https://dev.classmethod.jp/articles/jw-aws-bedrock-rag-guide/

Chunking?

Chunking은 긴 문서를 여러 개의 작은 단위(Chunk)로 나누는 과정을 의미합니다.

예를 들어 하나의 문서에 여러 정책이 포함되어 있다면, 이를 적절한 크기로 나누어야 AI가 필요한 정보만 정확하게 찾을 수 있습니다.

만약 문서를 나누지 않거나 너무 작게 나누게 되면 다음과 같은 문제가 발생합니다.

  • 너무 크게 나눌 경우 → 불필요한 정보까지 함께 검색됨
  • 너무 작게 나눌 경우 → 문맥이 끊겨 정확한 답변이 어려움

즉, Chunking은 AI가 이해하기 좋은 단위로 문서를 정리하는 과정 이라고 볼 수 있습니다.

Retrieval?

Retrieval은 사용자의 질문과 관련된 문서 조각(Chunk)을 찾아오는 과정입니다.

RAG 시스템에서는 사용자의 질문이 들어오면, 먼저 벡터 검색을 통해 가장 유사한 문서들을 찾고, 그 결과를 기반으로 AI가 답변을 생성합니다.

이때 Retrieval 설정에 따라 결과가 크게 달라질 수 있습니다.

  • Top-K가 너무 작으면 → 필요한 정보를 놓칠 수 있음
  • Top-K가 너무 크면 → 불필요한 정보가 섞여 답변 품질이 떨어질 수 있음

즉, Retrieval은 어떤 정보를 가져올지 결정하는 과정 입니다.

상세한 내용은 AWS 공식 문서에서 확인할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/inference-parameters.html

테스트를 위한 데이터 셋

먼저 테스트를 위한 데이터 셋을 S3 버킷에 업로드해서 사용합니다.

사용한 데이터 셋 내용은 다음과 같습니다.

# ABC Tech 사내 운영 매뉴얼 (확장 버전)

[환불 정책 - 일반 고객]
구매 후 7일 이내: 100% 환불 가능
7일 이후: 환불 불가
단, 서비스 장애 발생 시 예외적으로 환불 가능

---

[환불 정책 - 기업 고객]
기업 고객은 별도의 계약 조건에 따라 환불 정책이 적용됩니다.
기본적으로 환불은 불가능하며, 계약서에 명시된 경우에만 가능합니다.

---

[환불 정책 - 이벤트 상품]
이벤트 및 할인 상품은 환불이 불가능합니다.
단순 변심에 의한 환불은 허용되지 않습니다.

---

[환불 정책 - 구독 서비스]
구독형 서비스는 결제 후 3일 이내에만 환불이 가능합니다.
이후에는 환불이 불가능합니다.

---

[환불 정책 - 결제 오류]
결제 시스템 오류로 인한 중복 결제는 즉시 환불 처리됩니다.

---

[환불 정책 - 포인트 결제]
포인트로 결제한 경우 환불 시 포인트로만 반환됩니다.
현금 환불은 불가능합니다.

---

[휴가 정책]
연차 휴가: 연 15일
병가: 연 최대 10일

---

[재택근무 정책]
주 2회까지 가능
사전 승인 필요

상기 데이터 셋을 바탕으로 환불 정책에 대해 질문을 던져보면 정확하게 정리해서 답변을 해주는 것을 확인할 수 있습니다.

Q : 환불 정책 뭐야?
A : ABC Tech의 환불 정책은 고객 유형에 따라 다릅니다.

일반 고객: 구매 후 7일 이내에는 100% 환불이 가능하며, 7일 이후에는 환불이 불가능합니다. 다만 서비스 장애 발생 시에는 예외적으로 환불이 가능합니다.

기업 고객: 별도의 계약 조건에 따라 환불 정책이 적용되며, 기본적으로 환불은 불가능하고 계약서에 명시된 경우에만 가능합니다.

이벤트 상품: 이벤트 및 할인 상품은 환불이 불가능합니다.

구독 서비스: 결제 후 3일 이내에만 환불이 가능하며, 이후에는 환불이 불가능합니다.

결제 오류: 결제 시스템 오류로 인한 중복 결제는 즉시 환불 처리됩니다.

포인트 결제: 포인트로 결제한 경우 환불 시 포인트로만 반환되며, 현금 환불은 불가능합니다.

단순 변심에 의한 환불은 허용되지 않습니다.

불안정한 데이터 셋

반면 불안정한 데이터 셋은 어떨까요?

먼저 불안정한 Chunk에 대해 정의하면 다음과 같습니다.

  • 문서를 의미 단위로 잘 나누지 않은 상태
  • 한 Chunk 안에 여러 주제, 정책, 규칙이 섞여 있는 경우

문제점은 다음과 같습니다.

  • 질문과 관련 없는 정보가 포함될 수 있음 → LLM 혼동
  • 일부 정보 누락, 불완전한 답변 발생
  • Chunk 크기가 너무 크면 검색 효율 저하

예를 들면, 한 Chunk 안에 여러 정책이 섞여 있어 “환불 정책 뭐야?”라는 질문에 AI가 모든 조건을 정확히 나열하기 어렵습니다.

[환불 정책]
- 일반 고객: 7일 이내 환불 가능
- 기업 고객: 계약 조건 따라 환불
- 이벤트 상품: 환불 불가
- 구독 서비스: 3일 이내 환불 가능

불안정한 Retrieval에 대해 정의 하면 다음과 같습니다.

  • Retrieval 단계에서 AI가 검색하는 Chunk 선택이 안정적이지 않은 상태
  • Top-K를 너무 낮게 설정하거나, 질문이 모호한 경우

문제점은 다음과 같습니다.

  • 질문과 관련된 Chunk를 누락 → 일부 정보만 답변
  • Top-K가 1이면 한 Chunk만 가져오기 때문에 여러 정책 유형을 동시에 다룰 수 없음

검색 결과가 불확실하면 답변이 혼합되거나 불완전하게 답변을 줍니다.

예를 들면

  • Top-K = 1, 질문: “환불 정책 뭐야?”
  • 가져온 Chunk: “[환불 정책 - 일반 고객] …”
  • 결과: 기업 고객, 이벤트 상품 정책 누락 → 불완전한 답변
Q: 환불 정책 뭐야?

[정상 Chunk, Top-K=3]
A: ABC Tech 환불 정책은 고객 유형에 따라 다릅니다.
- 일반 고객: 7일 이내 100% 환불 가능, 이후 불가
- 기업 고객: 계약 조건에 따라 환불
- 이벤트 상품: 환불 불가
- 구독 서비스: 3일 이내만 환불 가능
- 중복 결제: 즉시 환불
- 포인트 결제: 포인트만 반환

[깨진 Chunk, Top-K=1]
A: 일반 고객은 7일 이내 환불 가능, 이후 불가

정상적인 Chunk와 깨진 Chunk의 답변을 비교하면 다음과 같습니다.

구분 Chunk 구조 Top-K 결과
정상 정책별로 의미 단위로 나눔 충분히 높음 질문에 대해 모든 유형 정확히 답변
깨진 여러 정책 한 Chunk에 섞임 낮음 또는 1 일부 정보 누락, 답변 혼합, 불완전

AI가 텍스트를 생성하는 방식: 토큰, Top-K, Top-P

앞서 ChunkingRetrieval로 AI가 필요한 정보를 가져오는 과정을 설명했습니다.
그런데 AI 모델은 단순히 정보를 검색하는 것뿐만 아니라, 실제 답변을 생성할 때도 여러 선택을 고민합니다.

여기서 중요한 개념이 토큰(Token), Top-K, Top-P입니다.


토큰(Token)?

  • 모델이 텍스트를 처리하는 최소 단위
  • 영어 기준으로 단어, 공백, 구두점 등이 포함될 수 있음
  • 예시: "I hear the hoof beats"["I", " hear", " the", " hoof", " beats"]
  • 한 단어가 여러 토큰으로 나뉠 수도 있음 ("unicorns"["un", "icorn", "s"])

Top-K와 Top-P

AI 모델은 다음 토큰 후보들을 확률로 평가한 후, 실제로 어떤 토큰을 선택할지 결정합니다.

후보 확률 예시

여기서 "horses", "zebras", "unicorns"가 후보 토큰입니다.

{
  "horses": 0.7,
  "zebras": 0.2,
  "unicorns": 0.1
}
  • Top-K
    • 상위 K개의 후보 토큰만 고려하고 나머지는 버림
      • Top-K=2 → 후보 토큰은 horses, zebras만 사용, unicorns는 제외
        • 후보 토큰이 4이기 때문에 Top-K=2
  • Top-P
    • 누적 확률이 P 이상이 되도록 후보 토큰 선택
      • 예: Top-P=0.9 → horses + zebras 포함, unicorns 제외 (누적 확률 0.7+0.2=0.9)

Temperature와의 연계

  • Temperature는 확률 분포의 평탄도를 조정
  • 높으면 낮은 확률 토큰도 선택 가능 → 다양성 증가
  • 낮으면 높은 확률 토큰 위주 선택 → 안전한 답변

Chunking/Top-K/Top-P 연결

  • Chunking & Retrieval: AI가 필요한 정보를 가져오는 단계
  • Top-K/Top-P & 토큰: AI가 가져온 정보로 답변을 생성할 때 어떤 단어를 선택할지 결정

즉, RAG 시스템에서는 좋은 Chunk 설계가 중요하며, 생성 단계에서는 Top-K/Top-P 설정과 토큰 선택이 답변 품질과 다양성을 좌우합니다.

※ Amazon Bedrock에서 제공되는 모델마다 지원하는 하이퍼파라미터가 다릅니다. 특히 Claude 3/4 시리즈 등 최신 모델들은 Top-K 대신 Top-P와 Temperature를 통한 샘플링 제어를 우선적으로 권장하며, API 상에서 Top-K 옵션을 제공하지 않는 경우가 많습니다.

자세한 내용은 아래 AWS 공식 문서에서 확인할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/inference-parameters.html#inference-randomness

마무리

이번 글에서는 Amazon Bedrock 기반 RAG 시스템에서 AI가 문서를 검색하고 답변을 생성하는 전체 흐름을 살펴보았습니다. 핵심 포인트를 다시 정리하면 다음과 같습니다.

  • Chunking
    문서를 의미 있는 작은 단위로 나누어 AI가 정확한 정보를 빠르게 찾도록 돕는 과정입니다. 잘 설계된 Chunk는 Retrieval 단계에서 필요한 정보를 놓치지 않게 하고, 불필요한 정보 혼입을 방지합니다.

  • Retrieval & Top-K
    사용자의 질문과 관련된 Chunk를 검색하는 단계입니다. Top-K는 가져올 Chunk 수를 결정하지만, Claude 4 시리즈 등 최신 Bedrock 모델에서는 직접 설정이 불가능할 수 있습니다. 따라서 Chunk 설계를 통해 안정적인 검색 결과를 확보하는 것이 중요합니다.

  • 토큰, Top-K, Top-P
    AI 모델은 가져온 정보를 바탕으로 다음 단어(토큰)를 선택합니다.

    • 토큰(Token): 텍스트의 최소 단위
    • Top-K: 상위 K개의 후보 토큰만 고려
    • Top-P: 누적 확률이 P 이상이 될 때까지 후보 토큰 선택
    • Temperature: 확률 분포를 평탄하게 만들어 다양성 조절

실제 Bedrock 모델에서는 Top-K를 직접 조정하지 못할 수 있으므로, Top-P와 Temperature를 통한 샘플링 조정이 더 현실적입니다.

  • RAG 시스템 최적화 핵심
    1. Chunk 설계 → Retrieval 안정성 확보
    2. 프롬프트 및 Top-P/Temperature 조정 → 생성 단계에서 답변 품질과 다양성 확보

결론적으로, Bedrock에서 안정적이고 정확한 답변을 얻기 위해서는 Chunk 설계와 프롬프트 최적화가 핵심이며, Top-K/Top-P와 토큰 선택은 모델이 내부적으로 처리하는 방식과 연결되어 있다는 점을 이해하는 것이 중요합니다.

この記事をシェアする

関連記事