넷플릭스, AI 기반 멀티모달 영상 검색으로 창작 혁신을 이끌다!
방대한 영상 데이터(Video Data)에서 원하는 장면을 빠르게 찾기 위한 AI 기반의 멀티모달 검색 시스템(Multimodal Search System) 구축
다수의 특화 모델(Specialized Models)을 통합하여 영상의 장면, 객체, 대사 등을 분석하고, 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 효율적인 검색을 지원
Apache Cassandra, Apache Kafka, Elasticsearch 등 다양한 기술을 활용하여 대규모 데이터 처리 및 실시간 검색 성능을 확보
자연어 처리(Natural Language Processing), 퍼지 매칭(Fuzzy Matching) 등 다양한 기술을 통해 검색 정확도(Search Accuracy)를 향상시키고, 사용자 맞춤형 검색 환경 제공
향후 자연어 기반 검색(Natural Language Discovery), 적응형 랭킹(Adaptive Ranking), 사용자 맞춤형 검색(Domain-Specific Personalization) 기능을 통해 검색 성능을 지속적으로 개선할 예정
멀티모달 검색(Multimodal Search) 아키텍처
넷플릭스(Netflix)의 멀티모달 검색 시스템은 영상, 음성, 텍스트 등 다양한 모달리티(Modality)를 통합하여 검색 정확도를 높인다. 시스템은 크게 세 단계로 구성된다.
데이터 수집(Ingestion): 고가용성 파이프라인(High-Availability Pipelines)을 통해 원시 데이터를 수집하고, Apache Cassandra에 저장하여 데이터 무결성(Data Integrity)을 보장한다.
오프라인 데이터 퓨전(Offline Data Fusion): Apache Kafka를 통해 비동기적으로 처리되며, 여러 모델의 결과를 통합하여 복잡한 쿼리를 지원한다. 이 과정에서 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 실시간 데이터 유입에 영향을 주지 않는다.
실시간 검색(Real-Time Search): 퓨전된 데이터를 Elasticsearch에 색인(Indexing)하여 실시간 검색을 가능하게 한다. 업서트(Upsert) 연산을 통해 데이터 일관성(Data Consistency)을 유지한다. 이러한 아키텍처는 대규모 데이터 처리와 빠른 검색 속도를 동시에 달성한다.
대규모 데이터 처리 및 성능 최적화
넷플릭스(Netflix)는 수백만 개의 프레임을 포함하는 대규모 영상 아카이브(Video Archive)를 효율적으로 처리하기 위해 다양한 성능 최적화 기법을 적용했다.
시간 기반 버킷팅(Temporal Bucketing): 모델의 출력을 1초 간격의 고정 크기 버킷(Fixed-Size Buckets)으로 정규화하여 데이터 정렬 및 교차(Intersection)를 효율적으로 수행한다.
병렬 처리(Parallel Processing): Apache Kafka를 활용하여 오프라인 데이터 퓨전(Offline Data Fusion) 작업을 병렬 처리하여 처리 속도를 향상시킨다.
Elasticsearch 활용: Elasticsearch의 강력한 검색 기능을 활용하여 실시간 검색 성능을 극대화하고, 근사 최근접 이웃(Approximate Nearest Neighbor, ANN) 알고리즘을 통해 대규모 데이터셋(Dataset)에서도 빠른 검색 속도를 유지한다. 이러한 최적화는 창작자의 작업 흐름을 방해하지 않도록 설계되었다.
다양한 검색 기능 및 랭킹 전략
넷플릭스(Netflix)는 다양한 검색 기능을 제공하여 사용자의 요구에 부합하는 결과를 제공한다.
쿼리 유형 감지(Query Type Detection): 사용자의 검색 의도를 파악하여 가장 효율적인 검색 경로를 선택한다.
필터 추출(Filter Extraction): 캐릭터 이름, 객체, 환경 등 특정 조건을 추출하여 검색 범위를 좁힌다.
벡터 변환(Vector Transformation): 텍스트를 고차원 임베딩(High-Dimensional Embeddings)으로 변환하여 의미 기반 검색을 지원한다.
랭킹 전략: 정확도와 해석 가능성을 위해 텍스트 매칭과 의미적 벡터 임베딩을 결합한 하이브리드 스코어링 엔진(Hybrid Scoring Engine)을 사용한다. 또한, 유사성 지표(Similarity Metrics)를 동적으로 변경하여 검색 결과를 최적화한다.
자연어 처리(NLP) 기반 검색 및 언어적 정밀성
넷플릭스(Netflix)는 대사 기반 검색의 정확도를 높이기 위해 자연어 처리(Natural Language Processing, NLP) 기술을 적극적으로 활용한다.
구문 및 근접 매칭(Phrase & Proximity Matching): 특정 대사의 정확한 장면을 찾기 위해 구문 일치 쿼리(Match-Phrase Queries)를 사용하고, 슬롭(Slop) 매개변수를 통해 유연성을 확보한다.
N-gram 분석(N-Gram Analysis): 사용자가 검색어를 입력하는 즉시 관련 결과를 제공하기 위해 엣지 N-gram 토크나이저(Edge N-gram Tokenizers)를 활용한다.
토큰화 및 어간 추출(Tokenization & Linguistic Stemming): 다양한 언어의 검색어를 지원하기 위해 정교한 어간 추출(Stemming) 기술을 적용한다.
레벤슈타인 퍼지 매칭(Levenshtein Fuzzy Matching): 오타 및 발음 오류를 보정하기 위해 레벤슈타인 거리(Levenshtein Distance) 기반의 퍼지 검색(Fuzzy Search) 기능을 제공한다.
향후 발전 방향 및 확장 계획
넷플릭스(Netflix)는 멀티모달 검색 시스템의 지속적인 발전을 위해 다음과 같은 세 가지 핵심 영역에 집중할 계획이다.
자연어 검색(Natural Language Discovery): 구조화된 JSON 형태 대신 자연어 기반의 대화형 인터페이스를 제공하여 사용자의 편의성을 높일 예정이다.
적응형 랭킹(Adaptive Ranking): 머신러닝(Machine Learning) 기반의 피드백 루프(Feedback Loop)를 통해 랭킹 알고리즘을 동적으로 개선하고, 검색 결과의 정확도를 향상시킬 계획이다.
사용자 맞춤형 검색(Domain-Specific Personalization): 사용자의 작업 맥락에 따라 검색 가중치 및 검색 동작을 동적으로 조정하여 맞춤형 검색 결과를 제공할 예정이다. 이러한 발전은 넷플릭스(Netflix)의 영상 검색 시스템을 더욱 지능적이고 효율적인 창작 파트너로 만들 것이다.