엘라스틱을 활용해 벡터 검색과 가관측성, 사이버 보안, 챗GPT 통합을 최적화하는 방법을 배워보자!
자연어 처리(NLP)는 주로 검색 사례에 활용되지만, 이 책은 벡터를 활용해 가관측성과 사이버 보안 같은 중요한 도메인 과제를 해결하는 데 영감을 주는 것이 목표이다. 각 장은 벡터 검색과 엘라스틱을 통합해 검색 사례뿐만 아니라 가관측성과 사이버 보안 기능도 개선하는 데 초점을 맞춘다.
이 책은 먼저 NLP와 NLP 프로세스에서 엘라스틱의 기능을 소개합니다. 다음으로 자원 요구사항을 파악하고 빠른 응답 시간을 위한 특정 페이지 캐시 요구사항과 함께 벡터가 밀집 벡터(dense vector) 유형에 어떻게 저장되는지 알아본다. 계속 읽다 보면 노드 스케일링, 설정 튜닝, Rally와 파이썬을 사용한 부하 테스트 등 머신러닝 모델 배포를 개선하려는 다양한 튜닝 기법과 전략을 발견하게 된다. 또한 이미지를 활용한 벡터 검색 기법, 성능 향상을 위한 모델 미세 조정, 엘라스틱서치에서 이미지 유사성 검색을 위한 CLIP 모델 사용법도 다룬다. 마지막으로, RAG(retrieval-augmented generation, 검색 증강 생성)를 살펴보고 벡터화된 데이터, ELSER의 기능, RRF의 정제된 검색 메커니즘을 활용하는 데 챗GPT와 엘라스틱서치를 통합하는 방법을 배운다. 이 책을 다 읽고 나면 엘라스틱을 활용해 프로젝트에서 벡터 검색을 구현하고 최적화하는 데 필요한 모든 기술을 갖추게 된다.
Contents
[1부] 벡터 검색의 기본
▣ 01: 벡터와 임베딩 소개
1.1 벡터 검색에서 지도 학습과 비지도 학습의 역할 살펴보기
___임베딩/벡터란 무엇인가요?
___벡터는 어떤 문제를 해결하는 데 사용하나요?
___개발자 환경
___허깅 페이스(Hugging Face)
___시장 환경과 개발자 경험의 가속화
1.2 사용 사례 및 적용 분야
___AI 기반 검색
___개체명 인식(NER)
___감성 분석
___텍스트 분류
___질의응답(QA)
___텍스트 요약
1.3 엘라스틱은 이 분야에서 어떤 역할을 하고 있나요?
___가관측성 및 사이버 보안에 대한 기본 개념
요약
▣ 02: 엘라스틱에서 벡터 검색 시작하기
2.1 벡터 검색 이전 엘라스틱에서의 검색 경험
___데이터 유형이 관련성에 미치는 영향
___관련성 모델
2.2 검색 경험의 발전
___키워드 기반 검색의 한계
___벡터 표현
2.3 새로운 벡터 데이터 유형과 벡터 검색 쿼리 API
___희소 벡터와 밀집 벡터
___엘라스틱 클라우드 시작하기
___밀집 벡터 매핑
___완전 탐색 kNN 검색(Brute-force kNN search)
___kNN search
요약
[2부] 고급 애플리케이션 및 성능 최적화
▣ 03: 엘라스틱에서의 모델 관리와 벡터 고려 사항
3.1 허깅 페이스
___모델 허브
___Datasets
___Spaces
3.2 Eland
___허깅 페이스에서 엘라스틱서치로 임베딩 모델 가져오기
___엘라스틱서치 인증 구성하기
___허깅 페이스 허브에서 모델 가져오기
___모델 다운로드
___엘라스틱서치 내부에 모델 적재하기
___모델 시작하기
___모델 배포하기
___질의 벡터 만들기
3.3 엘라스틱서치 내부에서 벡터 만들기
3.4 클러스터 자원 계획 수립하기
___CPU 및 메모리 관련 요구사항
___디스크 요구사항
___인덱스 디스크 사용량 분석 API
3.5 머신러닝 노드 용량
3.6 스토리지 효율성 전략
___차원 축소
___양자화
___source에서 dense_vector 제외하기
요약
▣ 04: 성능 튜닝 - 데이터를 통한 확인
4.1 NLP 모델 배포
___엘라스틱서치에 모델 적재하기
___모델 배포와 관련된 설정
4.2 부하 테스트
___Rally
___메모리(RAM) 사용량 예측
___속도 저하 문제 해결
요약
[3부] 특수 사용 사례
▣ 05: 이미지 검색
5.1 이미지 검색 개요
___이미지 검색 발전
___이미지 검색 방식
___벡터 유사도 검색의 역할
___이미지 검색 사례
5.2 이미지 벡터 검색
___이미지 벡터화
___엘라스틱서치에 이미지 벡터 색인하기
___k-최근접 이웃(kNN) 검색
___이미지 검색 분야의 해결 과제와 한계
5.3 벡터 검색을 위한 멀티모달(Multi-modal) 모델
___멀티모달의 필요성
___멀티모달 모델의 벡터 공간에 대한 이해
___OpenAI clip-ViT-B-32-multilingual-v1 모델 소개
___다양한 미디어 유형에 벡터 검색 적용하기
요약
▣ 06: 엘라스틱서치를 활용한 개인 식별 정보 제거
6.1 PII 및 제거(redaction) 개요
___PII가 포함될 수 있는 데이터 유형
___로그에 저장된 PII의 위험성
___PII가 유출 및 분실되는 유형
6.2 NER 모델과 정규식 패턴을 사용한 PII 제거
___NER 모델
___정규식 패턴
___PII 제거를 위한 NER 모델과 정규식(Grok) 패턴의 결합
6.3 엘라스틱서치의 PII 제거 파이프라인
___가짜 PII 만들기
___기본 파이프라인 설정
___기대 결과
6.4 PII 제거 파이프라인 확장 및 상세 설정을 위한 옵션
___기본 PII 예시 사용자 정의(customizing)하기
___신규 데이터 스트림을 위한 파이프라인 복제 및 신규 버전 만들기
___특정 데이터 세트를 위한 NER 모델 미세 조정
___맥락 인식 기술의 필요성과 적용 방법
요약
▣ 07: 벡터 기반 차세대 가관측성(Observability)
7.1 현대 소프트웨어 시스템에서 가관측성과 그 중요성에 대한 소개
___가관측성 - 주요 요소
___로그 분석과 가관측성에서의 그 역할
7.2 로그 분석에 벡터와 임베딩을 적용하는 새로운 접근 방식
___접근 방식 1 - 로그를 위한 기존 모델 훈련 또는 미세 조정
___접근 방식 2 - 사람이 이해할 수 있는 설명을 생성한 후 벡터화
7.3 로그 벡터화
___합성 로그
___OpenAI를 활용한 로그 확장
7.4 로그 시맨틱 검색
___로그 벡터 색인
___모델 적재
___수집 파이프라인
___시맨틱 검색
요약
▣ 08: 벡터와 임베딩이 사이버 보안 강화에 미치는 영향
8.1 이메일 피싱 탐지의 중요성 이해
___피싱이란?
___다양한 유형의 피싱 공격
___피싱 공격의 빈도에 관한 통계
___피싱 이메일 탐지의 도전과제
___자동 탐지의 역할
___자연어 처리 기술로 기존 기술 보완
8.2 ELSER 소개
8.3 생성형 AI에서 ELSER의 역할
8.4 엔론 이메일 데이터 세트 (ham 또는 spam)
8.5 ELSER가 작동하는 것을 보기
___하드웨어 고려 사항
___엘라스틱서치에 ELSER 모델 다운로드
___인덱스 설정과 데이터 수집 파이프라인 세팅
___ELSER를 활용한 시맨틱 검색
___ELSER의 한계점
요약
[4부] 혁신적인 통합과 미래 방향
▣ 09: 엘라스틱을 통한 검색 증강 생성
9.1 ELSER와 RRF를 활용한 RAG 강화 검색 준비하기
___ELSER를 활용한 시맨틱 검색
___RAG에 대한 필수 고려 사항 요약
___RRF를 활용한 ELSER 통합
___언어 모델과 RAG
9.2 심층 사례 연구 - RAG 기반 CookBot 만들기
___데이터 세트 개요 - Allrecipes.com 데이터 세트 살펴보기
___RAG 강화 검색을 위한 데이터 준비
___ELSER를 사용한 RRF 검색기
___검색기 활용 및 생성기 만들기
요약
▣ 10: 챗GPT용 엘라스틱 플러그인 구축하기
10.1 맥락의 기초
___동적 맥락의 패러다임
10.2 DCL 플러그인 - 구조와 작동 방식
10.3 DCL 구현하기
___엘라스틱 문서에서 최신 정보 가져오기
___Embedchain을 활용한 데이터 수준 높이기
___챗GPT와 통합해 실시간 대화 상대 만들기
___배포
요약
▣ 부록: 엘라스틱 가이드 GPT 만들기
Author
바할딘 아자르미,제프 베스탈,한우선,백승민,유태황
일래스틱의 글로벌 고객 엔지니어링 부사장으로, 기업이 데이터 아키텍처, 분산 시스템, 머신러닝, 생성형 AI를 잘 활용하게 안내한다. 클라우드 사용에 중심을 둔 고객 엔지니어링팀을 이끌고 AI 분야에서 숙련된 커뮤니티를 구축하고 지식을 공유하여 영감을 주는 데 열정을 쏟고 있다.
일래스틱의 글로벌 고객 엔지니어링 부사장으로, 기업이 데이터 아키텍처, 분산 시스템, 머신러닝, 생성형 AI를 잘 활용하게 안내한다. 클라우드 사용에 중심을 둔 고객 엔지니어링팀을 이끌고 AI 분야에서 숙련된 커뮤니티를 구축하고 지식을 공유하여 영감을 주는 데 열정을 쏟고 있다.