책소개
엘라스틱을 활용해 벡터 검색과 가관측성, 사이버 보안, 챗GPT 통합을 최적화하는 방법을 배워보자!자연어 처리(NLP)는 주로 검색 사례에 활용되지만, 이 책은 벡터를 활용해 가관측성과 사이버 보안 같은 중요한 도메인 과제를 해결하는 데 영감을 주는 것이 목표이다. 각 장은 벡터 검색과 엘라스틱을 통합해 검색 사례뿐만 아니라 가관측성과 사이버 보안 기능도 개선하는 데 초점을 맞춘다.이 책은 먼저 NLP와 NLP 프로세스에서 엘라스틱의 기능을 소개합니다. 다음으로 자원 요구사항을 파악하고 빠른 응답 시간을 위한 특정 페이지 캐시 요구사항과 함께 벡터가 밀집 벡터(dense vector) 유형에 어떻게 저장되는지 알아본다. 계속 읽다 보면 노드 스케일링, 설정 튜닝, Rally와 파이썬을 사용한 부하 테스트 등 머신러닝 모델 배포를 개선하려는 다양한 튜닝 기법과 전략을 발견하게 된다. 또한 이미지를 활용한 벡터 검색 기법, 성능 향상을 위한 모델 미세 조정, 엘라스틱서치에서 이미지 유사성 검색을 위한 CLIP 모델 사용법도 다룬다. 마지막으로, RAG(retrieval-augmented generation, 검색 증강 생성)를 살펴보고 벡터화된 데이터, ELSER의 기능, RRF의 정제된 검색 메커니즘을 활용하는 데 챗GPT와 엘라스틱서치를 통합하는 방법을 배운다. 이 책을 다 읽고 나면 엘라스틱을 활용해 프로젝트에서 벡터 검색을 구현하고 최적화하는 데 필요한 모든 기술을 갖추게 된다.
저자소개
일래스틱의 글로벌 고객 엔지니어링 부사장으로, 기업이 데이터 아키텍처, 분산 시스템, 머신러닝, 생성형 AI를 잘 활용하게 안내한다. 클라우드 사용에 중심을 둔 고객 엔지니어링팀을 이끌고 AI 분야에서 숙련된 커뮤니티를 구축하고 지식을 공유하여 영감을 주는 데 열정을 쏟고 있다.
목차
[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___Spaces3.2 Eland___허깅 페이스에서 엘라스틱서치로 임베딩 모델 가져오기___엘라스틱서치 인증 구성하기___허깅 페이스 허브에서 모델 가져오기___모델 다운로드___엘라스틱서치 내부에 모델 적재하기___모델 시작하기___모델 배포하기___질의 벡터 만들기3.3 엘라스틱서치 내부에서 벡터 만들기3.4 클러스터 자원 계획 수립하기___CPU 및 메모리 관련 요구사항___디스크 요구사항___인덱스 디스크 사용량 분석 API3.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 통합___언어 모델과 RAG9.2 심층 사례 연구 - RAG 기반 CookBot 만들기___데이터 세트 개요 - Allrecipes.com 데이터 세트 살펴보기___RAG 강화 검색을 위한 데이터 준비___ELSER를 사용한 RRF 검색기___검색기 활용 및 생성기 만들기요약▣ 10: 챗GPT용 엘라스틱 플러그인 구축하기10.1 맥락의 기초___동적 맥락의 패러다임10.2 DCL 플러그인 - 구조와 작동 방식10.3 DCL 구현하기___엘라스틱 문서에서 최신 정보 가져오기___Embedchain을 활용한 데이터 수준 높이기___챗GPT와 통합해 실시간 대화 상대 만들기___배포요약▣ 부록: 엘라스틱 가이드 GPT 만들기