임베딩 API 비교 및 선택
조대협 (http://bcho.tistory.com)
이 글에서는 접근이 쉽고 많이 사용되는 open ai의 임베딩 모델을 사용했지만, 여러 임베딩 모델들이 있고, 임베딩 모델 마다 성능이 다르며 임베딩의 목적또한 다르다.
RAG 를 소개하는 글이기 때문에, 문서 검색 (Document Retrieval) 기능이 주요 유스 케이스이지만, 임베딩은 분류(Classification), 클러스터링(Clustering) 등 다양한 시나리오로 사용이 가능하다.
구글의 Vertex.AI 임베딩 모델의 경우, 임베딩의 목적에 따라서 임베딩 타입을 지정하게 할 수 있다.
<그림. 구글 Vertex.AI Embedding API의 임베딩 태스크 타입>
<그림. 임베딩 API 성능 비교 >
임베딩 API의 성능 비교는 https://huggingface.co/spaces/mteb/leaderboard 사이트의 MTEB 스코어 보드를 보면 알 수 있다. 이 글에서 소개한 open ai의 ada 임베딩 모델은 2023년 11월29일 현재 20위권에 랭크하고 있는 것을 확인할 수 있다.
랭크 차트에서 보면 https://docs.voyageai.com/ 와 https://cohere.com/models/embed 모델이 전체적으로 높은 순위에 랭크된 것을 볼 수 있다.
임베딩 모델중에는 MTEB 스코어를 제공하지 않는 모델도 있기 때문에, 사용중인 모델의 MTEB 스코어를 계산해보려면 https://huggingface.co/blog/mteb 에 파이썬 SDK로 mteb 스코어를 계산하는 가이드가 있다.
MTEB는 많은 모델에 대한 임베딩 성능 순위가 있지만 영어와 일부의 언어 (중국어등)만 제공한다.
한국어등의 다국어에 대한 임베딩 모델 순위는 MIRACL 인덱스를 활용할 수 있다. (https://github.com/project-miracl/miracl)
MIRACL 한국어 임베딩 레더 보드 https://eval.ai/web/challenges/challenge-page/1881/leaderboard/4450
'빅데이타 & 머신러닝 > 생성형 AI (ChatGPT etc)' 카테고리의 다른 글
LLM 애플리케이션 개발을 위한 Langchain - #2 주요 컴포넌트 (1) | 2023.12.14 |
---|---|
LLM 애플리케이션 개발을 위한 Langchain #1-소개 (2) | 2023.12.12 |
ChatGPT에 텍스트 검색을 통합하는 RAG와 벡터 데이터 베이스 Pinecone #7 RAG 쿼리한 정보로 LLM에 질의하기 (0) | 2023.11.30 |
ChatGPT에 텍스트 검색을 통합하는 RAG와 벡터 데이터 베이스 Pinecone #6 임베딩을 위한 효과적 문장 분리 방법 (0) | 2023.11.29 |
ChatGPT에 텍스트 검색을 통합하는 RAG와 벡터 데이터 베이스 Pinecone #5 ChatGPT에서 Pinecone 에 저장된 문서를 기반으로 답변하기 (0) | 2023.11.21 |