벡터 임베딩은 단어나 이미지와 같은 비수학적 데이터를 비롯한 다양한 유형의 데이터를 머신 러닝(ML) 모델에서 처리할 수 있도록 숫자의 배열로 표현하는 데이터 포인트를 수치로 표현한 것입니다.
간단한 선형 회귀 알고리즘부터 딥 러닝에 사용되는 복잡한 신경망에 이르기까지 인공 지능(AI) 모델은 수학적 논리를 통해 작동합니다.
텍스트, 오디오 또는 이미지와 같은 비정형 데이터를 포함하여 AI 모델이 사용하는 모든 데이터는 반드시 숫자로 표현되어야 합니다. 벡터 임베딩은 비정형 데이터 포인트를 해당 데이터의 원래 의미를 표현하는 숫자 배열로 변환하는 방법입니다.
실제 특징과 의미 있게 일치하는 데이터 포인트의 벡터 표현을 출력하도록 모델을 학습시키면 벡터 임베딩이 서로 어떻게 관련되어 있는지에 대한 유용한 가정을 세울 수 있습니다.
두 개의 실제 데이터 포인트가 더 비슷할수록 각각의 벡터 임베딩도 더 비슷해야 합니다. 두 벡터 임베딩은 두 데이터 포인트가 공유하는 특징 또는 품질을 모두 반영해야 합니다. 서로 다른 데이터 포인트에는 서로 다른 벡터 임베딩이 있어야 합니다.
이러한 논리적 가정으로 무장한 벡터 임베딩은 모델의 입력으로 사용되어 수치 표현을 비교, 변환, 결합, 정렬 또는 조작하는 수학적 연산을 통해 유용한 실제 작업을 수행하는 데 쓰일 수 있습니다.
또한 데이터 포인트를 벡터로 표현하면 서로 다른 유형의 데이터를 동일한 임베딩 공간에 표현함으로써 다양한 데이터 형식 간의 일종의 공용어 역할을 하여 상호 운용성을 실현합니다. 예를 들어 스마트폰 음성 어시스턴트는 사용자의 오디오 입력을 벡터 임베딩으로 '번역'하고, 이 벡터 임베딩을 사용하여 해당 입력의 자연어 처리(NLP)를 수행합니다.
따라서 벡터 임베딩은 거의 모든 최신 ML의 기반이 되며, NLP 및 컴퓨 비전 분야에서 사용되는 모델을 구동하고, 생성형 AI의 기본 구성 요소 역할을 합니다.
벡터는 텐서의 하위 범주에 속합니다. 머신 러닝(ML) 분야에서 '텐서'는 데이터의 수학적 기록 장치처럼 작동하는 n차원 공간의 숫자 배열 또는 숫자 배열의 집합을 총칭하는 용어로 사용됩니다.
ML 컨텍스트에서 특정 단어는 일상적인 언어나 기타 수학적 설정과는 다르게 사용된다는 점에 유의해야 합니다. 예를 들자면 물리학에서 '벡터'는 크기와 방향을 모두 가진 양을 지칭하는 더 구체적인 의미로 사용되며, ML에서보다 큰 의미를 갖습니다.
마찬가지로 '차원'이라는 단어도 ML에서 컨텍스트에 따라 다른 의미를 갖습니다. 이는 텐서를 설명할 때 텐서에 포함된 배열의 수를 나타냅니다. 벡터를 설명할 때는 해당 벡터에 포함된 구성 요소와 개별 숫자의 수를 의미합니다. '순서' 또는 '차수'와 같은 유사한 용어를 사용하면 모호성을 줄이는 데 도움이 될 수 있습니다.
행렬이나 다른 n차원 텐서에도 여러 간단한 변환을 적용하여 포함된 데이터를 벡터 형식으로 표현할 수 있습니다. 예를 들어, 4x4 행렬은 16차원 벡터로 평면화될 수 있고, 4x4 픽셀 이미지의 3차원 텐서는 48차원 벡터로 평면화될 수 있습니다. 임베딩은 현대 ML에서 주로 벡터 형태를 취합니다.
반대로 물리학과 같은 다른 컨텍스트에서 벡터는 반드시 임베딩일 필요는 없습니다. 하지만 ML에서 벡터는 주로 임베딩이고 임베딩은 주로 벡터입니다.
이 용어는 머신 러닝에서 종종 같은 의미로 사용되지만, '벡터'와 '임베딩'은 같은 의미가 아닙니다.
임베딩은 관련 특성을 ML 알고리즘이 처리할 수 있는 방식으로 포착하는 데이터의 수치 표현입니다. 데이터는 n차원 공간에 임베드됩니다.
이론적으로는 데이터를 벡터로 임베드할 필요가 없습니다. 예를 들어 일부 유형의 데이터는 튜플 형태로 임베드될 수 있습니다.1 하지만 실제로 최신 ML에서 임베딩은 주로 벡터의 형태를 취합니다.
반대로 물리학과 같은 다른 컨텍스트에서 벡터는 반드시 임베딩일 필요는 없습니다. 하지만 ML에서 벡터는 주로 임베딩이고 임베딩은 주로 벡터입니다.
벡터 임베딩은 단어, 문장, 이미지와 같은 데이터 포인트를 해당 데이터 포인트의 특성(특징)을 나타내는 n차원 숫자 배열로 변환합니다. 현재 작업과 관련된 대규모 데이터 세트에 대해 임베딩 모델을 학습시키거나 사전 학습된 모델을 사용하여 이를 달성할 수 있습니다.
벡터 임베딩의 이해를 돕기 위해 몇 가지 주요 개념을 설명하겠습니다.
머신 러닝에서 데이터의 '차원'은 우리가 잘 아는 물리적 공간의 직관적인 차원을 의미하지 않습니다. 벡터 공간에서 각 차원은 물리적 공간에서 물체의 각 특징이 길이, 너비, 깊이를 포함하는 것과 동일한 방식으로 데이터의 개별 특징을 포함합니다.
벡터 임베딩은 일반적으로 고차원 데이터를 처리합니다. 실제로 대부분의 비숫자 정보는 고차원입니다. 예를 들어, MNIST 데이터 세트에서 손으로 쓴 숫자의 작고 단순한 28x28픽셀 흑백 이미지조차 784차원 벡터로 표현할 수 있으며, 각 차원은 0(검은색)에서 1(흰색)까지의 회색 값을 갖는 개별 픽셀에 해당합니다.
그러나 모든 데이터 차원에 유용한 정보가 포함되어 있는 것은 아닙니다. MNIST 예제에서 실제 숫자 자체는 이미지의 작은 부분만 나타냅니다. 나머지는 빈 배경 또는 '노이즈'입니다. 그러므로 '이미지의 784가지 특징을 표현'한다고 말하는 것보다 '784차원 공간에 이미지의 표현을 포함'한다고 말하는 것이 더 정확할 것입니다.
그래서 고차원 데이터를 효율적으로 벡터 임베딩하기 위해 고차원 데이터에서 관련이 없거나 중복되는 정보를 생략해 저차원 공간으로 압축하는 차원 축소를 거치는 경우가 많습니다.
차원 축소는 모델의 속도와 효율성을 높이지만, 벡터가 더 작으면 수학적 연산을 위해 필요한 컴퓨팅 능력도 줄어들기 때문에 정확도나 정밀도에 잠재적인 절충점이 있을 수 있습니다. 이는 또한 학습 데이터의 과적합 위험을 낮추는 데도 도움이 될 수 있습니다. 오토인코더, 컨볼루션, 주성분 분석 및 T-분산 확률적 이웃 임베딩(t-SNE)과 같은 다양한 차원 축소 방법은 다양한 데이터 유형 및 작업에 적합합니다.
이미지 벡터 데이터의 차원은 비교적 객관적이고 직관적이지만, 언어의 의미적 의미나 문맥상 관계와 같은 일부 데이터 양식의 관련 특징을 결정하는 것은 보다 추상적이거나 주관적인 측면을 갖습니다. 이런 경우 벡터 임베딩의 차원으로 표현되는 구체적인 특징은 수동으로 이뤄지는 특징 엔지니어링을 통해 설정할 수 있습니다. 그러나 딥러닝 시대에는 정확한 예측을 위해 모델을 학습시키는 과정을 통해 암시적으로 결정하는 방법이 더 자주 사용됩니다.
벡터 임베딩의 핵심 논리는 유사한 데이터 포인트의 n차원 임베딩은 n차원 공간에서 밀접하게 그룹화되어야 한다는 것입니다. 그러나 임베딩에는 수십, 수백 또는 수천 개의 차원이 있을 수 있습니다. 이는 사람의 머릿속에서 직관적으로 시각화할 수 있는 2차원 또는 3차원 공간을 훨씬 뛰어넘는 것입니다.
따라서 여러 측정값을 사용하여 다양한 벡터 임베딩의 상대적 유사성을 추론합니다. 특정 상황에 대한 유사성을 가장 잘 측정하는 방법은 데이터의 특성과 비교의 용도에 따라 달라집니다.
유클리드 거리는 서로 다른 벡터에서 상응하는 포인트 사이의 평균 직선 거리를 측정하는 것입니다. 두 개의 n차원 벡터 a와 b의 차이는 먼저 다음과 같이 각 해당 구성 요소 사이의 차이의 제곱을 더하고 (a1–b1)2 + (a2–b2)2 + ... (an–bn)2, 여기서 얻은 합계의 제곱근을 구하여 얻을 수 있습니다. 유클리드 거리는 크기에 민감하기 때문에 크기나 개수 등을 반영하는 데이터에 유용합니다. 결과값의 범위는 0(동일한 벡터의 경우)부터 무한대까지 가능합니다.
코사인 유사도라고도 하는 코사인 거리는 두 벡터 사이의 각도에 대한 코사인을 정규화한 측정값입니다. 코사인 거리의 범위는 -1~1이며, 1은 동일한 벡터, 0은 직교(또는 관련이 없는) 벡터, -1은 완전히 반대인 벡터를 나타냅니다. 코사인 유사도는 벡터 크기를 자연스럽게 정규화하고 유클리드 거리보다 학습 데이터 내 단어의 상대적 빈도에 덜 민감하기 때문에 NLP 작업에서 널리 사용됩니다.
도트 곱은 대수적으로 말하면 각 벡터의 해당 구성 요소의 곱의 합입니다. 기하학적으로 말하자면 빈도나 크기를 반영하는 코사인 거리의 비정규화된 버전입니다.
독립형 임베딩 모델은 사전 학습된 제품일 수도 있고 특정 작업이나 학습 데이터에 대해 처음부터 학습된 제품일 수도 있습니다. 각 형태의 데이터는 일반적으로 특정 신경망 아키텍처의 이점을 활용하지만, 대부분의 경우 이는 명시적인 규칙이라기보다는 모범 사례입니다.
임베딩 프로세스가 더 큰 신경망의 일부로 통합되는 경우도 있습니다. 예를 들어, 이미지 분할과 같은 작업에 사용되는 인코더-디코더 컨볼루션 신경망(CNN)에서 전체 네트워크를 최적화하여 정확하게 예측하려면 입력 이미지의 효과적인 벡터 임베딩을 출력하도록 인코더 계층을 학습시켜야 합니다.
사전 학습된 모델
사전 학습된 모델은 다양한 사용 사례 및 연구 분야에서 사용자 지정 모델 또는 벡터 데이터베이스에 대한 입력으로 사용할 수 있는 유용한 임베딩을 제공할 수 있습니다. 이러한 오픈 소스 모델은 일반적으로 방대하고 광범위한 학습 데이터 세트를 학습하여 퓨샷 학습 또는 제로샷 학습과 같은 많은 다운스트림 작업에 유용한 임베딩을 학습합니다.
텍스트 데이터의 경우 Google의 Word2Vec이나 스탠퍼드 대학교의 Global Vectors(GloVe)와 같은 기본 오픈소스 워드 임베딩 모델은 처음부터 학습될 수 있지만, Wikipedia와 Common Crawl과 같은 공개 텍스트 데이터를 기반으로 사전 학습된 변형 모델도 제공됩니다. 마찬가지로, BERT와 이 모델의 다양한 변형과 같이 임베딩에 자주 사용되는 인코더-디코더 대규모 언어 모델(LLM)은 방대한 양의 텍스트 데이터에 대해 사전 학습됩니다.
컴퓨팅 비전 작업의 경우 ImageNet, ResNet 또는 VGG와 같은 사전 학습된 이미지 분류 모델은 완전히 연결된 최종 예측 계층을 제거하기만 하면 출력 임베딩에 맞게 조정할 수 있습니다.
맞춤형 임베딩 모델
난해한 개념이나 새로운 종류의 데이터가 포함된 일부 사용 사례에서는 사전 학습된 모델을 미세 조정하거나 완전히 맞춤화된 임베딩 모델을 학습하는 것이 유용할 수 있습니다.
이러한 사용 사례의 대표적인 예인 법률 및 의료 분야에서는 일반적인 모델의 학습 데이터에 포함되지 않았을 가능성이 높은 난해하고 고도로 전문화된 어휘, 지식 기반 또는 이미지를 사용하는 경우가 많습니다. 도메인별 예에 대한 추가 학습을 통해 사전 학습된 모델의 기본 지식을 보완하면 모델이 보다 효과적인 임베딩을 출력하는 데 도움이 될 수 있습니다.
혹은 신경망 아키텍처를 직접 설계하거나 알려진 신경망 아키텍처를 처음부터 학습하는 방법도 있지만, 이를 위해서는 대부분의 조직이나 취미로 하는 사람들이 접근할 수 없는 수준의 리소스와 제도적 지식이 필요합니다.
이미지 임베딩은 이미지의 픽셀 값을 벡터 구성 요소에 해당하는 값으로 사용하여 시각 정보를 숫자 벡터로 변환합니다. 일반적으로 CNN에 의존하지만, 최근에는 트랜스포머 기반 신경망을 활용하는 컴퓨팅 비전 모델이 점점 더 많이 등장하고 있습니다.2
일반적인 RGB 색 구성표의 이미지는 3차원 행렬로 수치화되며, 이 세 행렬은 각 픽셀의 빨간색, 녹색, 파란색 값에 각각 해당합니다. RGB 이미지는 일반적으로 8비트이므로 픽셀의 각 색상값은 0~256(또는 28)의 범위에 있을 수 있습니다. 앞서 설명한 것처럼 흑백 이미지는 각 픽셀이 0과 1 사이의 값을 갖는 2차원 픽셀 행렬로 수치화됩니다.
컨볼루션은 커널이라는 2차원 수치 필터를 사용하여 이미지에서 특징을 추출합니다. 관련 특징을 추출하는 데 가장 도움이 되는 커널의 가중치는 모델 학습 중에 학습 가능한 매개변수입니다. 이러한 컨볼루션은 이미지의 특징 맵을 생성합니다.
필요한 경우 패딩을 사용해 배열의 바깥쪽 행과 열에 0 계층을 추가하여 입력의 원래 크기를 유지할 수 있습니다. 반대로, 기본적으로 최소값, 최대값 또는 평균값만 취하여 시각적 기능을 요약하는 풀링으로 차원을 더 줄일 수도 있습니다.
마지막 단계로, 압축된 표현은 벡터로 병합됩니다.
이미지 임베딩 적용 사례 중 가장 이해하기 쉬운 것은 이미지 검색입니다. 사진에서 식물종을 식별하는 스마트폰 앱과 같이 이미지 데이터를 입력으로 받아 유사한 벡터 임베딩이 있는 다른 이미지를 반환하는 시스템입니다.
더 복잡한 실행으로는 텍스트를 입력으로 사용하고 해당 텍스트와 관련된 이미지를 반환하는 다중 모드 이미지 검색이 있습니다. 언어 모델에서 텍스트 임베딩을 가져와서 이를 별도의 컴퓨팅 비전 모델에 대한 입력으로 사용하여 이 검색을 수행할 수는 없습니다. 두 개의 임베딩 모델은 서로 연관되도록 명시적으로 학습되어야 합니다.
이미지 및 텍스트 임베딩에 사용되는 두드러진 알고리즘 중 하나는 원래 OpenAI에서 개발한 대조 언어-이미지 사전 훈련(CLIP)입니다. CLIP은 인터넷에서 가져온 4억 개 이상의 이미지-캡션 쌍으로 구성되고 레이블이 지정되지 않은 방대한 데이터 세트를 학습했습니다. 이러한 페어링은 이미지 인코더와 텍스트 인코더를 처음부터 공동으로 학습하는 데 사용되었으며, 대조 손실을 사용하여 이미지 임베딩과 해당 캡션에 대한 임베딩 간의 코사인 유사성을 최대화했습니다.
이미지 임베딩의 또 다른 중요한 응용 분야는 새로운 이미지를 생성하는 이미지 생성입니다.
이미지 임베딩에서 새 영상을 생성하는 한 가지 방법은 변형 오토인코더(VAE)입니다. VAE는 입력 데이터의 두 가지 다른 벡터 임베딩, 즉 평균 벡터와 표준 편차 벡터를 인코딩합니다. VAE는 이러한 벡터 임베딩이 나타내는 확률 분포에서 무작위로 샘플링함으로써 여기에 포함된 디코더 네트워크를 사용하여 해당 입력 데이터의 변형을 생성할 수 있습니다.
특히 최근 몇 년간 널리 사용되는 임베딩 기반 이미지 생성 방법은 앞서 언급한 CLIP 알고리즘을 사용합니다. DALL-E, Midjourney 및 Stable Diffusion과 같은 이미지 합성 모델은 텍스트 프롬프트를 입력으로 받아 CLIP을 사용해 텍스트의 벡터 표현을 임베드하고, 이와 동일한 벡터 임베딩을 사용해 새로운 이미지를 재구성합니다.
텍스트 임베딩은 좀 더 복잡합니다. 의미론적 의미, 다양한 함축적 의미, 단어와 구문 간의 문맥적 관계 등 추상적인 개념을 수치로 표현해야 하기 때문입니다.
텍스트 데이터에 대한 벡터 임베딩을 생성하는 데 사용되는 모델은 실제 텍스트를 생성하는 데 사용되는 모델과 동일하지 않은 경우가 많습니다.
ChatGPT 또는 Llama와 같이 텍스트 생성 및 기타 생성형 AI 작업에 흔히 사용되는 인기 있는 LLM은 디코더 전용 자기 회귀 모델이며, 인과 관계 언어 모델이라고도 합니다. 이러한 모델은 학습에서는 특정 텍스트 샘플의 시작 부분이 제공되면 시퀀스가 끝날 때까지 다음 단어를 지속적으로 예측하는 과제를 수행합니다. 이것은 일관된 텍스트를 생성하는 방법을 배우는 데 적합하지만, 유용한 독립 실행형 벡터 임베딩을 배우는 데는 적합하지 않습니다.
대신 텍스트 임베딩은 일반적으로 2018년에 처음 출시된 트랜스포머(BERT)의 양방향 인코더 표현과 같은 마스크 언어 모델를 활용합니다. 학습 과정에서 이러한 인코더-디코더 모델에는 특정 단어가 마스킹되거나 숨겨진 텍스트 시퀀스가 제공되고, 모델은 빈칸을 채우는 작업을 수행합니다.
이 연습에서는 특정 단어나 문장에 대한 정보와 주변 문맥과의 관계를 더 잘 포착한 임베딩에 대해 보상을 제공합니다. Word2vec은 더 간단한 2계층 신경망 아키텍처를 사용하지만 모델이 거치는 학습 과정은 유사합니다.
2024년 6월 현재, BERT는 지난 달에 6천만 회 이상 다운로드되어 Hugging Face에서 가장 인기 있는 언어 모델이 되었습니다.3 여러 가지 뛰어난 BERT 변형이 특정 유형의 언어 임베딩 및 시나리오에 맞춰 조정되었습니다.
SBERT: 문장 BERT 및 문장 트랜스포머라고도 하는 SBERT는 샴 신경망 구조를 채택한 BERT의 변형으로, 문장 임베딩 인코딩 능력을 향상시키기 위해 문장 쌍을 미세 조정합니다.
DistilBERT: 지식 증류를 통해 BERT 기본 모델을 더 작은 모델로 만든 경량 BERT 변형으로, 일부 메트릭에서는 BERT의 성능을 95% 이상을 유지하면서 60% 더 빠르게 실행된다고 합니다.4
RoBERTa: 강력하게 최적화된 BERT 사전 교육 접근법의 줄임말인 RoBERTa는 성능을 최적화하기 위해 BERT 교육 절차를 개선했습니다.
벡터 임베딩은 다양한 자연어 데이터를 표현하는 데 사용할 수 있습니다.
단어 임베딩
단어 임베딩은 개별 단어의 의미론적 의미뿐만 아니라, 함께 사용되는 경우가 많은 다른 단어와의 문맥적 관계도 포착하는 것을 목표로 합니다. 따라서 단어 임베딩은 새로운 문맥, 잘 사용되지 않거나 이전에 본 적이 없는 단어까지 잘 일반화할 수 있습니다.
널리 사용되는 단어 임베딩 모델인 GloVe는 '글로벌 단어-단어 동시 발생 행렬'을 학습하여 특정 단어들이 얼마나 자주 함께 사용되는지를 바탕으로 의미론적 의미와 의미론적 관계를 추론합니다. 예를 들어, '얼음'과 '증기'는 '물'과 거의 같은 빈도로 발생하지만, '고체'와 '기체'는 의 발생 비율을 매우 다르다는 점에서 의미를 도출할 수 있습니다.5
단어 임베딩 벡터의 차원이 단어의 관계를 암시적으로 포착하는 방식을 통해 유용하고 직관적인 방식으로 이러한 관계를 수학적으로 조작할 수 있습니다. 잘 구성된 단어 임베딩 체계에서는 '왕'에 대한 벡터에서 '남자'에 대한 벡터를 빼고 '여자'에 대한 벡터를 더하면 '여왕'에 대한 벡터가 산출됩니다.
문장 임베딩
문장 임베딩은 개별 단어가 아닌 전체 구 또는 문장의 의미론적 의미를 임베드합니다. 일반적으로 SBERT 또는 기타 문장 트랜스포머로 생성됩니다.
문장 임베딩은 사용자 쿼리의 표현을 임베드해 검색 엔진이나 질답 애플리케이션에서 사용할 수 있습니다.
기계 번역에서는 한 가지 언어로 된 문장의 벡터 임베딩은 유사한 벡터 임베딩을 사용하여 다른 언어로 된 문장을 출력하는 데 사용할 수 있습니다.
문장 임베딩은 감정 분석에 자주 사용됩니다. 분류기는 각 감정 카테고리를 레이블이 지정된 예시로 학습하거나 지도 학습을 사용하여 학습한 다음, 각 클래스에 대해 벡터 임베딩을 학습한 임베딩과 일치시켜 새로운 샘플을 분류할 수 있습니다. 특정 문장에 대한 임베딩을 특정 분류의 단어 임베딩과 비교하는 제로 샷 학습을 통해서도 감정 분석이 가능합니다.
문서 임베딩
문서 임베딩은 검색 엔진이나 벡터 데이터베이스에서 인덱스를 생성하기 위해 문서 또는 웹 페이지를 분류하는 데 자주 사용됩니다. 문서 임베딩에 사용되는 일반적인 모델로는 BERT 변형, Doc2vec(Word2vec 모델의 확장) 또는 Instructor(ibm.com 외부 링크)와 같은 기타 오픈 소스 임베딩 모델이 있습니다.
특히 생성형 AI 사용 사례의 경우에는 이미지와 텍스트 데이터가 가장 많은 관심을 받는 경향이 있지만, 벡터 임베딩을 통해 다양한 데이터 양식의 이점을 얻을 수 있습니다.
기존 데이터베이스는 벡터 임베딩에 흔히 사용되는 고차원 데이터를 처리하는 데 최적화되어 있지 않은 경우가 많습니다. IBM watsonx.data와 같은 벡터 데이터베이스는 고차원 벡터 공간에서 데이터 개체를 구성하고 검색할 수 있게 설계된 고급 솔루션입니다.
효과적인 벡터 데이터베이스 솔루션의 주요 이점은 벡터 검색 작업의 효율성과 정확성을 최적화하는 것입니다. 즉, 검색어와 각 벡터 임베딩의 의미적 유사성을 통해 관련 데이터와 문서를 찾고, 정렬하고, 검색하는 것입니다.
이러한 유형의 유사성 검색은 일반적으로 고차원 벡터 공간에서의 근접성을 기반으로 데이터 포인트 간의 연결을 추론하는 간단한 최근접 이웃 알고리즘을 통해 이루어집니다.
시맨틱 검색
시맨틱 검색은 벡터 임베딩을 사용하여 단순한 키워드 매칭을 뛰어넘는 강력한 검색 기능을 제공합니다. 예를 들어, 원래 쿼리가 '과일'일 때 '사과'와 '오렌지'에 대한 결과를 반환하는 것입니다.
이러한 유형의 시맨틱 검색은 추가적으로 미세 조정을 수행하지 않고도 LLM의 지식 베이스를 보완하는 데 사용되는 프레임워크인 검색 증강 생성(RAG)을 활성화하는 데 사용되기도 합니다.
RAG에서 벡터 검색은 외부 데이터 소스, 즉 파운데이션 모델의 학습 데이터에 포함되지 않았기 때문에 LLM의 출력에 반영할 수 없는 정보를 조사하여 관련 정보를 검색한 다음 해당 정보를 사용하여 LLM에서 생성된 응답을 보강하는 데 사용됩니다.
모든 링크는 ibm.com 외부에 있습니다.
1 "Stable Tuple Embeddings for Dynamic Databases", arXiv, 2021년 3월 11일.
2 "Leaderboard: Image Classification on ImageNet", Papers With Code, 2024년 6월 5일 액세스.
3 "Models"("최다 다운로드 수"로 정렬), Hugging Face, 2024년 6월 5일 액세스.
4 "DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter", arXiv, 2019년 10월 2일.
5 "GloVe: Global Vectors for Word Representation", Stanford University, 2014년 8월