본문 바로가기
AWS/AWS TechCamp

3. AWS TechCamp [기본 과정] : Amazon OpenSearch와 Amazon Bedrock을 활용하여 고도화된 검색 시스템 구현하기

by jys275 2024. 6. 26.

 2024년 6월 26일 (수) 9:00 AM – 12:00 PM

 

 


 

 

검색의 진화

비정형데이터는 검색이 어렵지만, 이는 최신 AI를 활용하면 해결된다(이미지 검색 등).

여기엔 '벡터 기술'이라는 것이 존재한다.

 

벡터

벡터는 데이터를 기계 학습 모델이 숫자의 배열로 변환(Embedding)한 것이다.
임베딩된 벡터 사이의 거리(Knn)를 통해 데이터 사이의 유사성을 파악한다.

 

Amazon OpenSearch의 Vector Embedding을 활용하면

새로운 ML 기반 기술을 검색에 쉽게 적용할 수 있다.

 

벡터 엔진을 활용하면 많은 수의 벡터를 효율적으로 관리가 가능하다.
벡터 검색 기술은 데이터 분석, 콘텐츠 추천, 유사 항목 검색 등 다양한 분야에서 활용이 가능하다.

 

벡터 데이터베이스

많은 양의 벡터 데이터를 효율적으로 저장한다.

 

Amazon OpenSearch Service

아마존에는 오로라 등의 데이터베이스 서비스가

많이 존재하지만 그 중 가장 범용적인 서비스라고 할 수 있다.

 

이는 검색, 분석, 보안 모니터링 등 여러 분야에서 쓰이며,

비용 절감 및 운영우수성과 비용효율성을 극대화한다.

 

 


 

 

Amazon OpenSearch Service를 통한 검색 혁신

 

 

Amazon OpenSearch Service는 다양한 목적으로 쓰이게 된다.

 

키워드 기반 검색, 자연어 기반의 시맨틱 검색,

앞의 두가지를 적절하게 섞은 하이브리드 검색, 생성형 AI를 통한 대화형 검색 등이 존재한다.

 

이런 생성형 AI 뿐만 아니라 벡터 안에서 새로운 알고리즘 등의 특정 범위에서 벗어나는 것을

탐지하는 이상탐지(Anomaly detection), 사기탐지(Fraud detection) 또한 구현이 가능하다.

 

다양한 유즈케이스에 적용 가능

전자상 거래에서는 개인화 추천 엔진이 구현 가능하다.

 

시맨틱 검색, 챗봇 등을 사용할 수 있다.

 

보안에 적용하면 직접 보안 로그를 검색하는 것이 아니라 자연어로

"에러가 몇개 발생했습니까?" 등 나를 위한 보안 모니터링 직원을 둔 것 같은 효과 또한 가능하다.

 

 


 

 

검색의 진화(키워드 검색 → 시맨틱 검색 → 하이브리드 검색 → 대화형 검색)

 

 

키워드 검색

구글 등의 자연어로 키워드로 입력하면 키워드와 정확하게 일치하는 결과를 반환한다.

 

검색어를 키워드 기반으로 Exact Matching 시킨다.

 

하지만 서로 같은 단어지만 다른 의미를 가지고 있을 수 있을 때, 유연성이 떨어질 수 있다.

키워드 기반으로 검색하기 때문에 문맥을 파악하지 못한다.

 

시맨틱 검색

사용자가 입력한 것의 의미를 파악한다

벡터가 활용되며, 임베딩 모델을 사용한다.

 

하이브리드 검색

키워드 검색, 시맨틱 검색 두 가지를 섞어서 사용한 것이다.

어느쪽에 비중을 더 둘 건지 선택 가능, 정교화 알고리즘 사용, 검색을 내 입맛대로 만들 수 있다.

 

즉, 두가지 장점을 모두 활용 가능하며, 유연하다.

 

대화형 검색

사용자가 자연어로 질문을 입력하면, 질문의 의도와 과거 질문 이력까지 같이 파악해서 답변한다.

 

 


 

 

벡터 기술의 주요 개념들

 

 

Vector

숫자의 배열


 

Model

입력 데이터와 원하는 출력 데이터 사이의 관계를 학습 

 

Large language model (LLM)

기계학습 모델이 양방향으로 텍스트를 인코딩, 챗봇 생성형 모델


Embedding

LLM Model에 의해 인코딩된 벡터를 벡터 공간에 맵핑 


엔진/알고리즘

벡터데이터를 효율적으로 저장하고 유사한 벡터를 찾아낼 수 있는 기능 


KNN

주어진 벡터와 가장 가까운 이웃 벡터(Nearest Neighbor)들을 K개 반환하는 알고리즘,

즉, 나랑 가까운 벡터를 찾아내는 알고리즘

 

Space type/similarity metric

점수 산정 함수 즉, 벡터를 저장하는 공간의 구조를 정한다.

 

 


 

 

위의 일련의 과정 및 관리들을 Amazon OpenSearch Service가 해줄 수 있다

 

 

1. 벡터 임베딩 및 검색에 필요한 과정을 간소화한다.

2. 임베딩 모델과 완벽하게 통합된 검색 시스템을 구축한다.
3. 벡터 검색을 통해 생성형 AI의 실시간성과 정확도를 극대화 머신러닝 모델에 대한 접근을 안전하게 제어하고 관리한다.
4. OpenSearch가 지닌 분산 아키텍처를 적극 활용하여 안정적이고 확장성 있는 벡터 데이터베이스를 구축한다.

 

검색 증강 생성(Retrieval augmented generation, RAG)

기존의 자연어 처리 모델은 문장을 생성하거나 분류하는 데는 강력하지만, 

특정 문맥을 이해하고 그에 맞는 답변을 생성하는 데 한계가 존재함.

 

RAG는 주어진 질의에 대해 정보 검색을 수행하여 관련된 최신 문서들을 검색하고

해당 문서를 기반으로 문맥을 반영하여 자연스러운 답변을 생성한다.

 

예를 들어 "파리의 인구는 얼마인가?"라는 질문에 대해, 모델은 위키피디아 등에서 파리 인구 통계를 찾아 

그 정보를 활용하여 대답할 수 있다. 단순히 학습된 지식만으로는 정확한 최신 정보를 제공하기 어렵지만,

외부 지식원을 참고하면 더 나은 결과를 낼 수 있다.

 

 


 

 

Amazon Web Servives, "AWS Workshop Studio Join hands-on events and workshops", 

AWS Workshop Studio, 2008 - 2024, https://catalog.workshops.aws/

 

Amazon Web Servives, "AWS Builders Korea Program 클라우드 실습 A to Z",

AWS Builders Korea Program, 2024, https://kr-resources.awscloud.com/aws-builders-korea-program