세계적인 선도 GPU 및 AI 플랫폼이 자율주행 시스템을 위한 멀티모달 데이터 마이닝을 확장하는 데 Milvus를 활용하는 방법

-30% 비용
Milvus 2.5에서 디스크 기반 기본 키와 최적화된 세그먼트 레이아웃을 통해 메모리 및 스토리지 사용량 감소
10× 규모
재설계나 예상치 못한 비용 없이 한 자릿수 규모로 더 확장할 수 있음이 입증되었습니다.y 아키텍처 변경이나 예상치 못한 비용 없이.
엔터프라이즈 신뢰성
중대한 사고 없이 대규모로 지속적인 생산.
하이브리드 검색
복잡한 쿼리를 지원하기 위한 통합 벡터 검색 및 메타데이터 필터링.
From a system stability perspective, it's really quite good. Over the year-plus that we've been using it—from version 2.4.3 to now 2.5.8—I honestly haven't encountered many issues. The system can just run there for months, with new data being written every day and users searching every day, without any problems. I don't need to worry about it.
Team Lead
회사 소개
고객사는 가속 컴퓨팅과 인공지능 분야의 글로벌 리더로, 게이밍, 로보틱스, 데이터 센터, 자동차 애플리케이션 전반에서 사용되는 GPU와 소프트웨어 플랫폼을 구축해 온 수십 년의 경험을 보유하고 있습니다. 대표적인 이니셔티브 중 하나는 첨단 운전자 보조 및 자율주행을 위한 엔드투엔드 플랫폼입니다. 이 플랫폼은 대규모 데이터 수집과 AI 모델 학습부터 차량 내 추론 및 실시간 의사결정에 이르기까지 자율주행 개발의 전체 라이프사이클을 지원합니다.
이 플랫폼의 뒤에는 자율주행 기술을 구동하는 데이터 인프라를 담당하는 회사의 Autonomous Vehicle (AV) Data Engineering 조직이 있습니다. 실제 주행 1시간마다 동기화된 카메라 스트림, LiDAR 포인트 클라우드, 레이더 측정값, 고정밀 위치추정 데이터, 상세한 차량 상태 메타데이터를 포함해 테라바이트 규모의 멀티모달 센서 데이터가 생성됩니다. 팀의 임무는 수백 명의 엔지니어가 롱테일 시나리오를 찾아내고, 드문 엣지 케이스를 식별하며, 실제 환경 조건에서 모델 동작을 검증할 수 있도록 이 방대하고 계속 증가하는 데이터셋을 검색 가능하고, 발견 가능하며, 운영상 사용할 수 있게 만드는 것입니다.
이러한 요구사항을 충족하기 위해 팀은 테스트 플릿에서 수집된 수백억 개의 인덱싱된 센서 데이터 포인트를 검색할 수 있는 멀티모달 데이터 마이닝 시스템을 구축했습니다. 이 시스템은 원시 센서 데이터를 벡터 임베딩으로 변환하여 엔지니어가 심층적이고 맥락을 인식하는 쿼리를 실행할 수 있게 합니다. 예를 들어 “폭우 속에서 오른쪽에서 합류하는 차량”, “표시되지 않은 교차로에서 해질녘에 횡단하는 보행자”, 또는 “가시성이 가려진 2차선 로터리”와 같은 쿼리입니다.
이 시스템은 처음에는 FAISS에서 실행되었지만, 데이터 규모와 운영 요구가 증가함에 따라 팀은 더 높은 확장성, 더 낮은 유지관리 부담, 더 강력한 프로덕션 안정성을 달성하기 위해 Milvus로 마이그레이션했습니다. Milvus는 자율주행 플릿이 계속 확장됨에 따라 한 자릿수 더 많은 데이터 규모를 지원하고, 운영 오버헤드를 줄이며, 클러스터링, 인덱싱, 스토리지 효율성을 개선할 수 있는 명확한 경로를 제공했습니다.
과제: FAISS는 확장할 수 없었습니다
데이터 관리 병목
이 데이터 마이닝 시스템의 초기 설계는 의도적으로 단순했습니다. 각 자율주행 세션(일반적으로 1시간 길이의 주행)은 프레임으로 처리되고, 회사의 독자 모델을 통해 벡터 임베딩으로 변환된 다음, FAISS 인덱스 파일로 그룹화되었으며, 보통 하루에 하나씩 생성되었습니다.
그 구조는 초기에는 잘 작동했지만 확장되지는 않았습니다. 데이터셋이 급증하면서 인덱스 파일 수도 함께 늘어났고, 결국 수십만 개에 도달했습니다. 각각은 작고 고립된 정보의 포켓을 나타냈습니다. 이를 가로질러 검색하려면 상당한 복잡성이 발생했습니다. 일별 인덱스에는 종종 중복 데이터가 포함되어 있어 메타데이터를 필터링하고 병합하기 위한 복잡한 로직이 필요했습니다. 실제로 이는 하루 내 검색은 잘 작동했지만, 대부분의 사용자는 여러 날 또는 지역에 걸친 특정 주행 시나리오와 같은 더 넓은 조건을 쿼리하기를 원했다는 의미였습니다. 이러한 검색은 동시에 많은 개별 인덱스 파일에 접근해야 했고, 이는 계산 비용이 많이 들었습니다. 엔지니어는 쿼리를 실행하기 전에 관련 데이터가 들어 있을 수 있는 파일을 추측하며 범위를 수동으로 좁혀야 하는 경우가 많았습니다. 이러한 추측 작업은 검색 프로세스를 느리고 신뢰할 수 없게 만들었습니다.
유연성의 격차
FAISS는 데이터베이스가 아니라 라이브러리입니다. 주어진 벡터에 대한 최근접 이웃을 찾는 데는 괜찮지만, 프로덕션급 검색 시스템에는 단순히 빠른 유사도 매칭 이상의 것이 훨씬 더 많이 필요합니다.
실제로 엔지니어들은 전체 코퍼스를 한 번에 검색하고 싶어 하지 않았습니다. 그들에게는 예를 들어 “도시 도로에서 약한 비가 내리는 동안 캡처된 전방 카메라 프레임” 또는 “California 고속도로에서의 야간 주행”을 찾기 위한 컨텍스트 기반 필터링이 필요했습니다. 이러한 수준의 정밀도를 달성하려면 벡터 검색을 카메라 유형, 시간, 위치, 날씨, 모델 버전과 같은 메타데이터 필터와 결합해야 했습니다. 하지만 FAISS는 이러한 기능을 기본적으로 제공하지 않았습니다. 그 간극을 메우기 위해 팀은 별도의 메타데이터 데이터베이스, 어떤 FAISS 인덱스를 스캔할지 결정하는 맞춤형 쿼리 플래너, 검색 후 결과에 대한 수동 사후 필터링 등 복잡한 맞춤형 로직 스택을 구축해야 했습니다.
시간이 지나면서 이러한 커스터마이징은 중대한 확장성 문제를 만들어냈습니다. 서로 다른 카메라 각도, 여러 임베딩 모델, 버전이 지정된 전처리 파이프라인은 모두 각기 다른 관리 전략을 요구했습니다. 컬렉션, 파티션, 논리적 데이터 그룹화라는 내장 개념은 없었고, 오직 인덱스 파일만 있었습니다. 데이터 버전 관리부터 쿼리 필터링에 이르기까지 모든 조직화 계층을 맞춤형 코드로 작성하고 유지해야 했습니다. 시스템은 작동했지만, 그 대가로 유연성, 유지보수성, 장기적인 확장성을 희생해야 했습니다.
확장성 문제
시스템은 이미 수십억 개의 벡터로 인해 한계에 가까워지고 있었고, 회사의 테스트 차량은 매일 새로운 데이터를 생성하고 있었습니다. 한편 연구팀들은 새로운 임베딩 모델을 도입하고 있었으며, 각각은 과거 데이터에 대한 대규모 재인덱싱을 필요로 했습니다. 워크로드가 10배로 증가하는 것은 시간문제였지만, 파일 기반 FAISS 구성에는 그 수준까지 확장할 실질적인 방법이 없었습니다.
더 나쁜 점은, 새로운 데이터셋이 추가될 때마다 더 많은 인덱스 파일과 메타데이터 저장소에 대한 더 많은 수동 업데이트가 필요했다는 것입니다. 자동 샤딩도, 내장 로드 밸런싱도, 필요에 따라 용량을 추가할 방법도 없었습니다. 아키텍처는 구식이 되어버렸습니다 —정적이고, 노동 집약적이며, 성장에 저항적이었습니다.
숨겨진 엔지니어링 비용
클라우드 비용을 넘어 가장 큰 과제는 FAISS를 유지보수하는 데 따르는 숨겨진 엔지니어링 오버헤드였습니다. 엔지니어들은 복잡한 메타데이터 시스템을 관리하고, 데이터를 분산하기 위한 맞춤형 로직을 설계하며, 수백만 개의 인덱스 파일을 수동으로 업데이트해야 했습니다. 시간이 지나면서 이러한 오버헤드는 혁신을 늦췄습니다. 검색 성능은 저하되었고, 개발 주기는 더 길어졌으며, 새로운 아이디어는 화이트보드를 넘어서지 못했습니다. 데이터 볼륨이 계속 증가함에 따라 시스템은 점점 더 경직되고 취약해졌습니다. 레거시 구성을 업그레이드하려는 시도는 더 이상 지속 가능하지 않다는 것이 분명했습니다.
해결책: Milvus로 확장성을 위한 재설계
이러한 과제를 극복하기 위해 AV Data 팀은 현재 수백억 개의 벡터를 처리할 수 있고, 10배 이상의 성장으로 나아갈 명확한 경로를 갖춘 시스템이 필요했습니다. 이 시스템은 강력한 필터링, 운영의 단순성, 그리고 무엇보다 최소한의 유지보수로 프로덕션 신뢰성을 제공해야 했습니다.
평가 프로세스
팀은 새롭게 등장하는 모든 벡터 데이터베이스를 대상으로 광범위한 비교 테스트를 수행하는 대신, 인기 있는 Milvus Vector Database에 집중하여 4억~5억 개의 벡터로 개념 증명을 실행했습니다. 이는 실제 병목 현상을 드러내기에 충분히 큰 규모였습니다. 테스트 동안 엔지니어들은 전체 데이터 워크플로를 재현했습니다. 서로 다른 인덱스 유형으로 데이터셋을 인덱싱해 트레이드오프를 비교하고, 일일 배치 업데이트를 추정하기 위해 인덱싱 시간을 측정했으며, 현실적인 필터 조합과 쿼리 패턴에서 지연 시간을 벤치마킹했습니다. 그들은 의도적으로 Milvus를 한계까지 밀어붙이며, 복잡한 다중 조건 검색을 실행하고 안정성을 테스트하기 위해 데이터 볼륨을 확장했습니다.
왜 Milvus인가?
개념 증명 결과는 Milvus가 AV Data 팀에게 명확한 선택지임을 보여주었습니다.
수용 가능한 쿼리 성능: Milvus는 가장 복잡하고 필터가 많은 검색에서도 일관되게 초 단위 쿼리 지연 시간을 제공했으며, 이는 내부 데이터 마이닝 워크로드의 요구사항을 충분히 충족했습니다.
네이티브 필터링 및 쿼리 유연성: 엔지니어들은 이제 단일 쿼리에서 벡터 유사도 검색과 메타데이터 필터를 결합할 수 있게 되었습니다. 이는 이전에는 FAISS에서 광범위한 커스텀 코드가 필요했던 기능입니다.
체계적인 데이터 구조: 서로 다른 모델의 벡터 임베딩은 별도의 컬렉션에 저장되었고, 각 컬렉션은 캡처 날짜나 지역과 같은 속성별로 파티셔닝되었습니다. Milvus는 세그먼트 전반의 데이터 분산을 자동으로 관리하여 수동 파일 관리의 부담을 없앴습니다.
원활한 확장성: 데이터가 증가함에 따라 팀은 더 많은 노드를 추가해 용량을 확장했습니다. Milvus의 분산 아키텍처는 시스템 재설계 없이 선형적으로 확장되었습니다.
활발한 오픈소스 커뮤니티: 테스트 기간 동안 AV Data 엔지니어들은 Milvus 팀과 커뮤니티 기여자들로부터 신속하고 실질적인 지원을 받았으며, 이를 통해 신뢰할 수 있고 프로덕션에 적합한 생태계로서 Milvus에 대한 강한 확신을 갖게 되었습니다.
Milvus로 새로운 아키텍처 구현하기
이 멀티모달 데이터 마이닝 시스템의 아키텍처는 핵심적으로 단순하지만, 대규모로 실행하려면 세심한 엔지니어링과 정밀성이 필요합니다. 자율주행 차량 주행에서 생성된 원시 비디오 데이터—여러 카메라에서 수집된 수 시간 분량의 연속 영상—는 개별 프레임이나 일반적으로 몇 초 길이의 짧은 클립을 추출하는 처리 파이프라인으로 흘러 들어갑니다.
그런 다음 각 프레임이나 클립은 자율주행에 맞게 특별히 설계된 회사의 독자적인 임베딩 모델을 통과합니다. 이미지 데이터의 경우, 팀은 CLIP 아키텍처에서 파생된 모델을 사용하며, 도로 특화 의미 정보를 포착하도록 커스터마이징하고 파인튜닝했습니다. 비디오 데이터의 경우, 물리적 AI 애플리케이션을 위한 파운데이션 모델 계열인 자체 제작 모델에 의존합니다. 이 모델들은 함께 시각 데이터를 풍부한 맥락적 의미를 인코딩하는 고차원 벡터 임베딩으로 변환합니다.
생성된 벡터 임베딩은 상세한 메타데이터와 함께 Milvus Vector Database에 저장되고 인덱싱됩니다. 각 데이터 포인트는 주행 세션, 카메라 위치, 타임스탬프, 차량 상태, 위치, 기상 조건 등을 설명하는 속성을 포함합니다. 이 메타데이터 역시 대규모 데이터셋 전반에서 빠르고 정밀한 필터링 검색을 가능하게 하기 위해 인덱싱됩니다.
통합 쿼리 인터페이스를 통해 엔지니어들은 여러 방식으로 데이터를 검색할 수 있습니다. 텍스트 설명을 입력하거나, 참조 이미지 또는 비디오를 업로드하거나, 벡터 검색과 메타데이터 필터를 결합해 필요한 항목을 정확히 찾아낼 수 있습니다. 예를 들어 단일 쿼리로 “보행자가 횡단하는 야간 도시 교차로”를 요청할 수 있으며, Milvus는 검토, 분석, 모델 개선을 위해 가장 관련성 높은 프레임이나 클립을 반환합니다.
이점: 비용 효율성, 안정성, 그리고 규모
1년 넘게 지속적으로 운영된 후, Milvus는 기술적으로 견고할 뿐만 아니라 운영 측면에서도 혁신적임을 입증했습니다. 다음 결과들은 Milvus의 아키텍처와 생태계가 실제 환경에서 어떻게 대규모 효율성으로 이어졌는지를 보여줍니다.
더 단순한 운영, 줄어든 골칫거리, 더 빠른 개발
수십만 개의 FAISS 파일에서 Milvus로 마이그레이션함으로써 운영 오버헤드의 전체 계층이 제거되었습니다. 더 이상 수동 인덱스 파일 관리도, 임시 스크립트도, 커스텀 쿼리 로직도 없습니다. 데이터 분산, 세그먼트 관리, 쿼리 라우팅은 이제 자동으로 이루어집니다. 업그레이드는 간단하고, 모니터링은 통합되어 있으며, 메트릭은 명확한 이야기를 전달합니다. 그 결과 시스템 유지보수에 쓰는 시간은 줄고, 인사이트를 얻기 위한 데이터 마이닝에 더 많은 시간을 쓸 수 있게 되었습니다.
엔지니어링 오버헤드 감소와 Milvus 2.5 업그레이드 후 추가 30% 비용 절감
Milvus를 도입하자마자 인프라와 엔지니어링 비용이 모두 줄었습니다. FAISS의 파일 기반 시스템에서 벗어나면서 수동 파일 관리와 복잡한 메타데이터 추적이 사라졌고, 상당한 개발자 시간과 운영 노력을 절감할 수 있었습니다. 이후 Milvus 2.4에서 Milvus 2.5로 업그레이드하면서 더 스마트한 메모리 매핑, 디스크 기반 기본 키 저장, 더 효율적인 세그먼트 관리 덕분에 인프라 비용을 추가로 30% 절감할 수 있었습니다.
이러한 개선을 통해 AV Data 팀은 더 작은 AWS 인스턴스에서 동일한 워크로드를 실행하거나, 지출이나 유지 관리 오버헤드를 늘리지 않고 훨씬 더 많은 데이터를 인덱싱할 수 있습니다. 이러한 결과에 고무된 팀은 Milvus 2.6을 테스트할 계획입니다. Milvus 2.6은 RaBitQ와 같은 새로운 인덱스 유형과 성능 및 비용 효율성을 한층 더 끌어올릴 것으로 예상되는 추가 최적화를 도입합니다. 대규모 오프라인 배치 워크로드의 경우, 인덱스 빌드 속도는 여전히 핵심 과제입니다. NVIDIA cuVS 팀의 기여 덕분에 Milvus는 이제 CPU 기반 서빙을 사용하는 GPU 가속 인덱스 빌드(GPU-build, CPU-serve)를 지원합니다. 이 접근 방식은 비용 효율성을 유지하면서 인덱스 구축을 크게 가속화하며, 자율주행 워크로드에서 Milvus의 가격 대비 성능 우위를 더욱 강화할 것으로 기대됩니다.
내장된 확장성, 실제 환경에서 입증
이 플랫폼은 이제 수백억 개의 벡터를 인덱싱하고 매일 새로운 데이터를 원활하게 수집합니다. 내부 모델링을 통해 재설계나 예상치 못한 비용 증가 없이 10배 더 확장할 수 있음이 확인되었으며, 이는 한때 용량 제약이었던 것을 장기적인 전략적 이점으로 전환합니다. 이러한 여유 용량을 바탕으로 팀은 최근 2년간의 주행 데이터를 인덱싱하는 수준에서 전체 과거 아카이브를 포괄하는 수준으로 확장하여, 지금까지 기록된 모든 주행 세션 전반에 걸친 검색을 가능하게 할 수 있습니다. 또한 여러 임베딩 모델을 병렬로 실행해 다양한 쿼리 유형에 맞춰 검색을 최적화하고, 데이터를 오래되었다는 이유로 제거하는 대신 무기한 보존할 수도 있습니다. 여기서 확장성이란 단순히 더 많은 데이터를 처리하는 것이 아니라, 지속적인 학습과 더 안전한 자율주행을 향한 더 빠른 진전을 가능하게 하는 것을 의미합니다.
대규모 환경에서의 엔터프라이즈급 안정성
1년이 넘는 무중단 프로덕션 운영 기간 동안 Milvus는 수백억 개의 벡터를 매일 수집하고 쿼리하면서도 단 한 번의 중대한 장애 없이 조용히 처리해 왔습니다. 시스템은 최소한의 감독만으로 백그라운드에서 안정적으로 실행됩니다. 주말 장애도, 긴급 패치도 없이, 일관되고 예측 가능한 성능만 제공합니다. 이 규모에서의 이러한 안정성은 운영 리스크 감소, 장애 대응 부담 완화, 그리고 인프라 관리보다 가치 창출에 더 집중할 수 있음을 의미합니다.
더 풍부한 검색, 더 스마트한 워크플로
Milvus는 벡터 검색과 메타데이터 필터링을 결합하여 회사의 엔지니어들이 복잡한 주행 데이터를 분석할 수 있는 새로운 방법을 제공합니다. 예를 들어, 주간에 전방 카메라로 촬영된 모든 공사 구역 이미지를 찾거나, 시간과 위치별로 필터링하여 업데이트 및 지역 전반에서 모델 동작을 비교할 수 있습니다. 서로 다른 컬렉션에는 서로 다른 모델의 임베딩이 저장되므로, 팀은 프로덕션에 영향을 주지 않고 새로운 아키텍처를 테스트할 수 있습니다. 이러한 기능은 실험을 가속화하고, 이전에는 광범위한 맞춤형 엔지니어링이 필요했던 인사이트를 발견하게 해줍니다.
영향력을 배가하는 강력한 커뮤니티
기술을 넘어, Milvus 오픈소스 커뮤니티는 회사 성공의 중요한 부분이었습니다. 테스트와 배포 과정에서 엔지니어들은 Milvus 기여자와 메인테이너로부터 직접 신속한 지원을 받았습니다. 이러한 빠른 대응은 다운타임을 줄이고, 디버깅을 가속화하며, 진행 상황을 계획대로 유지하는 데 도움이 되었습니다. 시간이 지나면서 활발한 커뮤니티는 새로운 아이디어를 검증하고, 업그레이드를 원활하게 하며, 모범 사례를 공유하는 데 도움을 주면서 계속해서 가치를 더해 왔습니다. 이 고객에게 Milvus는 단순히 신뢰할 수 있는 소프트웨어가 아니라, 플랫폼을 강화하고 장기적인 효율성을 제공하는 협업 생태계입니다.
프로덕션에서 얻은 교훈
올바른 인덱스 선택: 규모, 비용, 정확도의 균형 맞추기
인덱스를 선택하는 것은 벡터 검색 시스템을 구축할 때 가장 중요한 실무적 결정 중 하나입니다. Milvus는 다양한 인덱스 유형을 지원하며, 각 유형은 속도, 메모리 사용량, 정확도 측면에서 고유한 트레이드오프를 가집니다. AV Data 팀의 목표는 단순히 가장 빠른 옵션을 고르는 것이 아니라, 데이터 규모, 인프라 비용, 검색 정확도 사이의 균형을 찾는 것이었습니다.
여러 구성을 테스트한 후, 그들은 벡터를 클러스터로 그룹화하고 관련된 클러스터 내에서 정확 검색을 수행하는 IVF_FLAT을 선택했습니다. 가장 빠르거나 가장 컴팩트한 옵션은 아니지만, 수백억 개의 벡터와 중간 수준의 지연 시간 요구사항에 대해 효율성을 유지하면서도 성능과 정확도의 적절한 조합을 제공했습니다.
팀은 인덱스가 워크로드에 잘 맞으면 더 새로운 것으로 전환할 필요가 거의 없다는 점을 발견했습니다. 실제로 잘 맞는 인덱스는 작은 성능 향상을 쫓는 것보다 더 많은 시간과 리소스를 절약해 줍니다. 대규모 시스템에서는 안정적이고 예측 가능한 성능이 운영을 원활하게 유지하는 핵심입니다.
메모리 매핑: 대규모 환경에서 비용을 위해 지연 시간을 감수하기
팀의 가장 효과적인 기술적 선택 중 하나는 인프라 비용을 제어하기 위해 메모리 매핑(Mmap)을 사용한 것이었습니다. 기존 설정에서는 모든 벡터 데이터를 RAM에 보관하려면 대규모의 고비용 인스턴스가 필요했을 것입니다. Milvus의 메모리 매핑을 사용하면 대부분의 데이터는 디스크에 유지되고, 운영 체제가 자주 접근되는 부분을 자동으로 메모리에 보관합니다. 이 설계는 디스크 읽기가 RAM보다 느리기 때문에 어느 정도의 지연 시간을 유발하지만, 예측 가능한 성능과 효율적인 리소스 사용을 유지합니다. 회사의 워크로드에는 이러한 트레이드오프가 완벽하게 들어맞았습니다. 사용자들은 즉각적인 응답을 기대하는 최종 사용자가 아니라 분석 쿼리를 실행하는 엔지니어들이며, 동시성도 낮게 유지되기 때문입니다.
삭제 작업: 작은 가정이 대규모에서 깨질 때
팀의 가장 큰 교훈 중 하나는 단순해 보이는 일, 즉 데이터 삭제에서 나왔습니다. Milvus의 append-only 아키텍처에서는 삭제된 벡터가 즉시 제거되지 않고, 삭제 대상으로 표시된 뒤 나중에 백그라운드 컴팩션을 통해 정리됩니다. 테스트 중 수백만 개의 벡터를 삭제하자, Bloom filter가 수천 개의 세그먼트에서 false positive를 생성하면서 예상치 못하게 수십억 개의 벡터 재인덱싱이 트리거되었습니다. 일상적인 정리 작업처럼 보였던 일이 결국 데이터 노드를 과부하시키고 작업을 중단시키는 결과로 이어졌습니다.
해결책은 Milvus가 데이터를 관리하는 방식을 이해하고 워크플로를 조정하는 데서 나왔습니다. Bloom filter를 튜닝하고, partition key를 사용해 삭제 대상을 정확히 지정하며, insert-only bulk loading으로 전환한 것입니다. 핵심 교훈은 다음과 같습니다. 대규모에서는 단순한 작업도 다르게 동작할 수 있으며, 성능을 예측 가능하게 유지하려면 시스템 내부 구조를 이해하는 것이 중요합니다.
앞으로의 계획
팀은 Milvus 2.6이 출시된 직후 이를 도입할 준비를 하고 있으며, 새로운 인덱스 유형과 아키텍처 최적화가 효율성에서 또 한 번의 도약을 가져올 것이라고 확신하고 있습니다. Milvus 엔지니어링 팀과의 초기 논의는 지속적인 비용 절감과 리소스 활용률 개선을 시사하며, 회사는 이를 전체 규모 벤치마크를 통해 검증할 계획입니다.
더 멀리 내다보면, 팀은 기능 확장과 규모 확대를 위한 흥미로운 기회를 보고 있습니다. 텍스트와 벡터 쿼리를 결합하는 하이브리드 검색과 같은 기능은 멀티모달 데이터를 탐색하는 새로운 방식을 열어줄 수 있으며, 향상된 데이터베이스 스타일 필터는 복잡한 워크플로를 단순화할 것입니다. 곧 출시될 Milvus 3.0 릴리스 역시 계층형 아키텍처에 대한 가능성을 지니고 있어, 회사가 최근 데이터에 빠르게 접근할 수 있도록 유지하는 동시에 전체 과거 아카이브를 효율적으로 저장할 수 있게 합니다. 이러한 발전이 함께 어우러져 회사에 손쉽게 확장되고, 더 깊이 있는 검색 기능을 지원하며, 더 효율적으로 성장하는 데이터 플랫폼을 제공할 것입니다.
또한 Milvus에 CPU 기반 서빙을 사용하는 NVIDIA cuVS 기반 GPU 가속 인덱스 빌드(GPU 빌드, CPU 서빙)가 도입되고 성숙해짐에 따라 오프라인 인덱싱 성능이 단계적으로 크게 개선될 것으로 예상됩니다. NVIDIA GPU와 고도로 최적화된 cuVS 라이브러리를 활용함으로써, Milvus는 CPU 전용 파이프라인보다 대규모 벡터 인덱스를 훨씬 더 빠르게 구축할 수 있으며, 동시에 CPU에서 비용 효율적으로 쿼리를 계속 서빙할 수 있습니다. 이는 데이터에서 쿼리까지 걸리는 시간을 크게 단축하고, 더 빈번한 인덱스 갱신 주기를 가능하게 하며, 빠른 반복과 최신 데이터가 중요한 자율주행 및 기타 대규모 멀티모달 워크로드에서 Milvus의 가격 대비 성능 우위를 더욱 증폭시킵니다.
결론
고객사의 AV Data 팀은 방대한 멀티모달 데이터를 검색 가능하고 실행 가능한 형태로 만들어 자율주행 개발을 가속화하는 강력한 데이터 마이닝 플랫폼을 구축했습니다. FAISS에서 Milvus로의 마이그레이션은 확장성, 유연성, 운영 복잡성 측면의 중요한 과제를 해결하는 동시에, 측정 가능한 비용 절감과 뛰어난 프로덕션 안정성을 제공했습니다.
1년이 넘는 지속적인 운영과 수백억 개의 인덱싱된 벡터 이후, 이 플랫폼은 Milvus가 대규모 도메인 특화 벡터 검색을 위한 프로덕션급 기반 역할을 할 수 있음을 입증했습니다. 이 시스템은 매일 새로운 데이터를 수집하고, 회사의 자율주행 프로그램 전반에서 엔지니어를 지원하며, 재아키텍처 없이도 10배 더 확장할 수 있는 명확한 경로를 제공합니다.
대규모 데이터 규모의 벡터 검색 시스템을 구축하는 조직에게는 비용 효율성이 중요하며, 안정성은 밀리초 미만의 지연 시간보다 더 중요합니다. 회사의 경험은 시사하는 바가 큽니다. Milvus는 오픈 소스 벡터 데이터베이스가 프로덕션의 요구 사항을 충족할 수 있을 뿐만 아니라 시간이 지남에 따라 계속 개선되어, 실제 AI 인프라를 위한 신뢰할 수 있고 확장 가능하며 미래에 대비된 중추를 제공할 수 있음을 보여줍니다.


