AI 시스템 구축: 지능형 캐싱
ㅁ 지능형 캐싱
ㅇ 정의:
– AI 시스템에서 모델 학습 및 추론 시 반복적으로 사용되는 데이터나 특징 벡터를 메모리나 고속 스토리지에 저장하여 재사용 속도를 높이는 기술.
ㅇ 특징:
– 데이터 접근 지연(latency) 최소화
– 중복 연산 방지로 인한 비용 절감
– 주기적 갱신 정책 필요
ㅇ 적합한 경우:
– 대규모 데이터셋에서 동일한 특징을 반복적으로 조회하는 경우
– 온라인 서비스에서 실시간 응답 속도가 중요한 경우
ㅇ 시험 함정:
– 캐싱은 항상 성능 향상만 가져온다고 생각하는 경우 (잘못된 캐시 정책은 오히려 성능 저하)
– 모든 데이터에 캐시 적용이 적합하다고 오해
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “동일 Feature를 반복 조회하는 경우 캐싱으로 응답 속도를 향상시킬 수 있다.”
– X: “캐싱은 모든 경우에 성능을 향상시킨다.”
================================
1. Feature Store Caching
ㅇ 정의:
– 머신러닝에서 특징(feature) 데이터를 중앙 저장소(Feature Store)에 저장하고, 자주 사용되는 특징을 캐시하여 모델 학습/추론 속도를 높이는 방법.
ㅇ 특징:
– 중앙화된 특징 관리
– 실시간/배치 처리 모두 지원
– TTL(Time To Live) 설정으로 최신성 유지 가능
ㅇ 적합한 경우:
– 여러 모델이 동일한 특징 데이터를 공유하는 환경
– 온라인 피처 조회 요청이 빈번한 경우
ㅇ 시험 함정:
– Feature Store Caching이 데이터 전처리까지 모두 포함한다고 착각
– 캐시 데이터와 원본 데이터의 동기화 문제 간과
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Feature Store Caching은 동일 Feature 재사용 시 지연을 줄인다.”
– X: “Feature Store Caching은 데이터 전처리 과정을 대체한다.”
================================
2. Embedding Cache
ㅇ 정의:
– 임베딩(embedding) 벡터를 생성한 후, 동일 입력에 대한 재계산을 피하기 위해 저장하는 캐시.
ㅇ 특징:
– 고비용 임베딩 연산 절감
– 메모리 사용량 증가 가능성
– 유사 입력 처리 시 활용 가능
ㅇ 적합한 경우:
– 동일 입력에 대한 임베딩 재사용 빈도가 높은 경우
– 대화형 AI에서 사용자별 맥락 유지 필요 시
ㅇ 시험 함정:
– Embedding Cache가 항상 최신 의미를 반영한다고 착각
– 입력 데이터가 변했는데도 기존 캐시를 그대로 사용하는 오류
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Embedding Cache는 동일한 입력에 대해 재계산을 방지한다.”
– X: “Embedding Cache는 입력 데이터 변경 여부와 무관하게 항상 정확하다.”
================================
3. ANN(Inverted Index)
ㅇ 정의:
– 대규모 벡터 검색에서 최근접 이웃 탐색을 빠르게 수행하기 위해 역색인 구조를 활용하는 방법.
ㅇ 특징:
– 검색 속도 향상
– 정확도 일부 희생 가능
– 텍스트 검색에서 유래, 벡터 검색에 응용
ㅇ 적합한 경우:
– 대규모 임베딩 벡터 검색
– 실시간 추천/검색 서비스
ㅇ 시험 함정:
– Inverted Index가 항상 정확한 최근접 이웃을 반환한다고 착각
– ANN과 완전탐색(Brute Force) 혼동
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Inverted Index 기반 ANN은 검색 속도를 높일 수 있다.”
– X: “Inverted Index 기반 ANN은 항상 정확한 최근접 이웃을 반환한다.”
================================
4. Approximate Nearest Neighbor
ㅇ 정의:
– 고차원 공간에서 최근접 이웃을 완벽하게 찾는 대신, 근사값을 빠르게 찾는 알고리즘 기법.
ㅇ 특징:
– 속도와 메모리 효율성 향상
– 정확도 일부 감소
– 다양한 인덱싱 기법(HNSW, LSH 등) 활용 가능
ㅇ 적합한 경우:
– 실시간 검색/추천에서 응답 속도가 중요한 경우
– 데이터셋이 매우 큰 경우
ㅇ 시험 함정:
– ANN이 항상 정확한 결과를 반환한다고 생각
– ANN을 모든 검색 문제에 무조건 적용 가능하다고 착각
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “ANN은 완전탐색 대비 속도는 빠르지만 정확도는 낮을 수 있다.”
– X: “ANN은 완전탐색보다 항상 정확하다.”
ㅁ 추가 학습 내용
Feature Store Caching과 Embedding Cache는 TTL(Time To Live), LRU(Least Recently Used), LFU(Least Frequently Used) 등의 캐시 교체 정책과 연계하여 동작한다. 캐시 일관성(consistency)을 유지하기 위한 방법으로는 Write-through(데이터를 캐시에 쓰는 동시에 원본 저장소에도 즉시 반영)와 Write-back(캐시에만 먼저 쓰고, 나중에 원본 저장소에 반영)이 있다.
ANN(Approximate Nearest Neighbor) 알고리즘으로는 HNSW(Hierarchical Navigable Small World), LSH(Locality Sensitive Hashing), PQ(Product Quantization)가 있으며, 각 알고리즘은 시간 복잡도와 공간 복잡도 측면에서 차이가 있다. HNSW는 그래프 기반으로 탐색 속도가 빠르지만 메모리 사용량이 많고, LSH는 해시 기반으로 차원 축소와 빠른 검색이 가능하나 정확도가 떨어질 수 있으며, PQ는 벡터를 압축하여 저장 공간을 줄이지만 복원 과정에서 오차가 발생할 수 있다.
Inverted Index는 텍스트 검색에서 토큰화 과정을 거쳐 각 토큰에 대한 포스팅 리스트(등장 문서 목록)를 유지하는 방식으로 동작한다. 벡터 검색에 적용할 경우, 벡터를 특정 기준으로 양자화하거나 해시하여 유사한 벡터를 묶어 인덱스를 구성하는 등 구현 방식이 달라진다.
시험에서는 정확도와 속도 간의 트레이드오프, 캐시 적중률(Cache Hit Ratio) 계산, Cold Start 상황에서의 캐시 효율성 평가 등이 출제될 수 있다.