Amazon Nova 2 멀티모달 임베딩과 Amazon S3 벡터 및 AWS Java SDK - 파트 1 소개
I’m happy to translate the article for you, but I’ll need the full text you’d like translated. Could you please paste the content (excluding the source line you already provided) here? Once I have the text, I’ll translate it into Korean while preserving the original formatting, markdown, and any code blocks or URLs.
소개
이 시리즈 전체에 걸쳐 Amazon Nova 2 Multimodal Embeddings를 사용하여 임베딩을 생성하고 이를 Amazon S3 Vectors에 저장합니다. 이 문서에서는:
- Amazon Nova 2 Multimodal Embeddings와 Amazon S3 Vectors를 소개합니다.
- 텍스트 및 이미지 임베딩을 생성하고 저장하는 방법을 보여줍니다 (오디오와 비디오는 이후 파트에서 다룹니다).
- S3 Vectors에 저장된 임베딩에 대해 유사도 검색을 수행하는 방법을 설명합니다.
모든 예제는 AWS Java SDK를 사용합니다 (Python 예제도 많지만, Java가 ML/AI 분야에서 점점 주목받고 있습니다).
이 시리즈의 코드는 GitHub 저장소 **amazon‑nova‑2‑multimodal‑embeddings**에 공개되어 있으니, ⭐를 눌러주시고 더 많은 예제를 위해 팔로우해 주세요.
Amazon Nova Multimodal Embeddings
Amazon Nova Multimodal Embeddings는 단일 모델로 텍스트, 문서, 이미지, 비디오, 오디오를 지원하며 교차 모달 검색을 가능하게 합니다. 각 콘텐츠 유형을 통합 의미 공간에 매핑하여 다음을 수행할 수 있습니다:
- 단일 모달 벡터 연산
- 교차 모달 벡터 연산
- 다중 모달 벡터 연산
콘텐츠가 Nova를 통과하면 모델은 이를 벡터—의미를 포착하는 일련의 숫자 값—로 변환합니다. 유사한 콘텐츠는 이 공간에서 서로 가깝게 위치한 벡터를 생성합니다.
주요 특징
- 통합 지원: 텍스트, 이미지, 문서 이미지, 비디오, 오디오 (최대 8 K 토큰 또는 30 초 비디오/오디오).
- 동기 및 비동기 API – 워크플로에 맞는 방식을 선택하세요.
- 대용량 파일 분할 (비동기 API) – 긴 텍스트, 비디오, 오디오를 사용자 정의 구간으로 자동 분할하고 구간당 하나의 임베딩을 생성합니다.
- 비디오‑오디오 처리 – 두 모달을 하나의 임베딩으로 얻거나 두 개의 별도 임베딩으로 얻을 수 있습니다.
- 임베딩 목적 – 검색/RAG/검색, 분류, 클러스터링 등 하위 작업에 맞게 임베딩을 최적화합니다.
- 차원 크기 – 정확도와 저장 비용을 균형 있게 조정할 수 있는 네 가지 옵션: 3072, 1024, 384, 256.
- 입력 방법 – S3 URI를 통해 콘텐츠를 제공하거나 Base64‑encoded 문자열로 인라인 제공할 수 있습니다.
Amazon S3 Vectors 소개
Amazon S3 Vectors는 AI 에이전트, 추론, RAG, 의미 검색을 위한 목적에 맞게 설계된, 비용 최적화된 벡터 스토리지를 제공합니다. S3의 탄력성, 내구성 및 가용성을 그대로 물려받으며 다음을 제공합니다:
- 서브초 지연(드물게 조회할 때)
- ≈ 100 ms 지연(자주 조회할 때)
S3 Vectors와는 전용 API 작업 집합을 통해 상호 작용합니다—인프라를 프로비저닝할 필요가 없습니다.
핵심 구성 요소
| Component | Description |
|---|---|
| Vector buckets | 벡터를 저장하고 쿼리하도록 특별히 설계된 새로운 버킷 유형입니다. |
| Vector indexes | 버킷 내에서 인덱스가 벡터를 조직하고 유사도 쿼리를 가능하게 합니다. |
| Vectors | 인덱스에 저장되며, 각 벡터는 의미 관계(텍스트, 이미지, 오디오 등)를 보존하는 임베딩입니다. 필터링을 위해 메타데이터를 첨부할 수 있습니다(예: 타임스탬프, 카테고리, 사용자 선호도). |
주요 기능
-
벡터 전용 스토리지
- 벡터 데이터를 위해 최적화된 최초의 클라우드 객체 스토리지입니다.
- 탄력적이며 내구성이 높고 비용 효율적입니다.
- 벡터를 쓰고, 업데이트하고, 삭제할 때 스토리지를 자동으로 최적화하여 대규모에서도 최고의 가격‑성능을 보장합니다.
-
유사도 쿼리
- 쿼리 벡터와 가장 유사한 벡터를 서브초(드물게) 또는 ≈ 100 ms(자주) 응답 시간 내에 검색합니다.
- 결과를 필터링하기 위해 벡터에 메타데이터(키‑값 쌍)를 첨부할 수 있습니다.
- 지원되는 메타데이터 유형: string, number, boolean, list. 기본적으로 모든 메타데이터는 필터링 가능하며, 명시적으로 비필터링으로 표시하지 않는 한 필터링할 수 있습니다.
다음 단계
- Amazon Nova Multimodal Embeddings (Java SDK)를 사용하여 텍스트 및 이미지 임베딩 생성.
- 임베딩을 S3 Vectors 버킷 및 인덱스에 저장.
- 저장된 벡터에 대해 유사도 검색 실행.
임베딩 즐겁게 하세요!
벡터 버킷에 대한 액세스 관리
벡터 버킷의 리소스에 대한 액세스는 IAM 및 Service Control Policies를 사용하여 AWS Organizations에서 관리할 수 있습니다.
S3 Vectors는 Amazon S3와 다른 서비스 네임스페이스인 s3vectors 네임스페이스를 사용합니다. 따라서 S3 Vectors 서비스와 해당 리소스에 특화된 정책을 설계할 수 있습니다.
다음과 같은 대상에 대한 액세스를 허용하도록 정책을 설계할 수 있습니다:
- 개별 벡터 인덱스,
- 벡터 버킷 내의 모든 벡터 인덱스, 또는
- 계정 내의 모든 벡터 버킷.
AWS 서비스와 통합
Amazon OpenSearch 서비스
- OpenSearch API 작업을 계속 사용하면서 벡터 저장 비용을 최적화합니다.
- 다음과 같은 고급 검색 기능이 필요한 워크로드에 이상적입니다:
- 하이브리드 검색,
- 집계,
- 고급 필터링,
- 퍼시드 검색.
- 또한 고 QPS와 저 지연 시간 벡터 검색을 위해 S3 벡터 인덱스의 스냅샷을 Amazon OpenSearch Serverless 로 내보낼 수 있습니다.
Amazon Bedrock 지식 베이스
- Retrieval‑Augmented Generation (RAG) 애플리케이션의 저장 비용을 절감하기 위해 S3 Vectors에 있는 벡터 인덱스를 벡터 저장소로 선택합니다.
SageMaker Unified Studio의 Amazon Bedrock
- S3 Vectors를 벡터 저장소로 사용하여 지식 베이스를 개발하고 테스트합니다.
결론
시리즈의 이번 부분에서는 시리즈의 목표를 소개하고 Amazon Nova 2 멀티모달 임베딩과 Amazon S3 벡터를 제시했습니다.
다음 부분에서는 텍스트 및 이미지 임베딩을 생성하고 저장하는 방법을 다룰 예정입니다.