[1] 코퍼스 로드: 12개 chunk (섹션 단위 분할)
[2] 임베딩 모델 로드: multilingual-e5-small, 384차원, 23.2s
[3] 인덱스 구축: 12개 벡터, 임베딩 0.87s (13.8 chunk/s), 인덱스 메모리 18.0 KiB

======================================================================
질문: LLM 추론에서 decode 단계가 메모리 대역폭에 묶이는 이유는?
  - 검색결과 (유사도 0.929) LLM 추론의 두 단계: Prefill과 Decode
  - 검색결과 (유사도 0.868) 메모리 대역폭과 Roofline 관점
  - 검색결과 (유사도 0.853) PIM (Processing-In-Memory)
  -> 컨텍스트 주입 프롬프트 길이: 915자 (질문 37자 -> 약 24배로 증가)

======================================================================
질문: KV cache 크기는 무엇에 비례해서 커지나?
  - 검색결과 (유사도 0.897) KV Cache와 메모리 용량
  - 검색결과 (유사도 0.851) 메모리 대역폭과 Roofline 관점
  - 검색결과 (유사도 0.848) DRAM과 NAND의 역할 분담
  -> 컨텍스트 주입 프롬프트 길이: 941자 (질문 26자 -> 약 36배로 증가)

======================================================================
질문: 양자화를 하면 무엇을 얻고 무엇을 잃는가?
  - 검색결과 (유사도 0.868) 양자화 (Quantization)
  - 검색결과 (유사도 0.813) KV Cache와 메모리 용량
  - 검색결과 (유사도 0.805) Vector DB와 인덱스 구조
  -> 컨텍스트 주입 프롬프트 길이: 994자 (질문 23자 -> 약 43배로 증가)

======================================================================
질문: CXL 메모리는 어떤 문제를 해결하나?
  - 검색결과 (유사도 0.895) CXL (Compute Express Link)
  - 검색결과 (유사도 0.838) HBM (High Bandwidth Memory)
  - 검색결과 (유사도 0.824) DRAM과 NAND의 역할 분담
  -> 컨텍스트 주입 프롬프트 길이: 926자 (질문 21자 -> 약 44배로 증가)

======================================================================

[실측 요약]
  임베딩 차원           : 384
  청크 수               : 12
  인덱스 메모리(실측식) : 18.0 KiB
  검색 지연(top-3, 평균): 0.089 ms

[규모 추정: Flat 인덱스 메모리 = 벡터수 x 차원 x 4B (FP32)]
       10,000개 벡터 ->     0.01 GiB
    1,000,000개 벡터 ->     1.43 GiB
  100,000,000개 벡터 ->   143.05 GiB
  -> 벡터 수가 커지면 인덱스가 DRAM 용량을 직접 압박한다.
     (이 때문에 대규모 Vector DB는 PQ 압축, 디스크 기반 인덱스, 메모리 계층화를 쓴다)