피프티원이란?
FiftyOne은 컴퓨터 비전 모델 개발을 위한 오픈 소스 솔루션입니다. 머신 러닝 툴킷인 FiftyOne은 데이터 과학 팀이 다양한 기능을 통해 컴퓨터 비전 모델의 효율성을 높일 수 있도록 지원합니다. 여기에는 최상위 데이터 세트를 꼼꼼하게 큐레이션하고, 철저한 모델 평가를 수행하고, 오류를 정확히 찾아내고, 임베딩을 시각화하고, 프로덕션으로 가는 경로를 간소화하는 기능이 포함됩니다.
왜 피프티원과 질리즈 클라우드(밀버스)인가?
Milvus와 같은 벡터 검색 엔진은 날로 늘어나는 AI 애플리케이션을 위해 벡터 임베딩을 저장, 색인, 검색하는 프로세스를 간소화합니다.
이미지 또는 동영상 워크플로우에 벡터 검색을 통합하는 경우, 교차 모드 검색을 구현하거나 기존 검색 필터를 통합하는 등의 문제가 발생할 수 있습니다. FiftyOne은 벡터 검색을 위한 컴퓨터 비전 인터페이스로서 솔루션을 제공합니다. Milvus와의 기본 통합을 통해 사용자는 단 한 줄의 코드만으로 선호하는 벡터 검색 엔진을 원활하게 활용하여 효율적인 시각적 데이터 검색을 수행할 수 있습니다. 유사한 이미지를 찾든 이미지 내에서 특정 개체를 검색하든, FiftyOne은 프로세스를 간소화하여 사용자가 손쉽게 검색 목표를 달성할 수 있도록 지원합니다.
이미지 또는 비디오 데이터 워크플로우에 벡터 검색을 통합할 때 몇 가지 문제가 발생할 수 있습니다:
- 연관된 텍스트를 기반으로 이미지를 검색하는 것과 같은 교차 모드 검색 구현.
- 신뢰도 임계값이나 클래스 레이블과 같은 기존 검색 필터 통합.
- 사람, 고양이, 개, 자동차, 자전거 등과 같은 이미지 내의 특정 개체 검색.
피프티원 및 질리즈 클라우드 사용 방법
Milvus를 FiftyOne과 함께 사용하려면, FiftyOne 데이터 세트에 유사성 인덱스를 생성하고 이를 사용하여 데이터를 쿼리하는 방법은 다음과 같습니다:
- 데이터 세트를 FiftyOne에 로드합니다.
- 임베딩 벡터를 생성하는 데 사용할 모델을 지정하고, 이 벡터 임베딩을 저장하는 데 밀버스 또는 질리즈 클라우드를 사용할지 여부를 구성합니다.
- backend="milvus" 매개 변수를 설정하고 원하는 뇌_키를 지정하여 데이터 세트의 샘플 또는 개체 패치에 대한 Milvus 유사성 지수를 생성하려면
compute_similarity()메서드를 사용합니다. - 이 Milvus 유사도 인덱스를 사용하여
sort_by_similarity()로 데이터를 쿼리할 수 있습니다.
밀버스 설정하기
## 밀버스 설정 ## 도커 컨테이너를 다운로드하고 시작합니다. pip 설치 pymilvus ## 유사성 인덱스 생성 ## CLIP 모델 임베딩 사용 ## 밀버스 백엔드 사용 fob.compute_similarity( 데이터셋 brain_key="milvus_clip_index", backend="milvus", metric="dotproduct"밀버스 쿼리
## 첫 번째 샘플의 ID 가져오기 query = dataset.skip(1).first().id ## Milvus 백엔드로 가장 유사한 이미지 25개 찾기 sim_view = dataset.sort_by_similarity( query, k=25, brain_key="milvus_clip_index" ) ## 결과 표시 세션 = fo.launch_app(sim_view)자세히 알아보기
이 튜토리얼을 통해 FiftyOne 및 Milvus / Zilliz Cloud 사용 방법을 알아보세요.