Azure Cosmos DB의 벡터 포함
포함 또는 벡터 포함이라고도 하는 벡터는 고차원 공간에서 데이터를 수학적으로 표현한 것입니다. 텍스트, 이미지, 오디오 등 다양한 형식의 정보를 기계 학습 모델이 처리할 수 있는 형식으로 나타냅니다. AI 모델이 텍스트 입력을 받으면 먼저 텍스트를 토큰으로 토큰화합니다. 그런 다음 각 토큰은 해당 포함으로 변환됩니다. 이 변환 프로세스는 Azure OpenAI Embeddings 또는 Azure의 Hugging Face와 같은 포함 생성 모델을 사용하여 수행할 수 있습니다. 모델은 여러 계층을 통해 이러한 포함을 처리하여 텍스트 내의 복잡한 패턴과 관계를 캡처합니다. 그런 다음 필요한 경우 출력 포함을 다시 토큰으로 변환하여 읽을 수 있는 텍스트를 생성할 수 있습니다.
각 포함은 부동 소수점 숫자의 벡터입니다. 따라서 벡터 공간의 두 포함 사이의 거리는 원래 형식의 두 입력 간의 의미 체계 유사성과 상관 관계가 있습니다. 예를 들어 두 텍스트가 비슷한 경우 벡터 표현도 유사해야 합니다. 이러한 고차원 표현은 의미 체계 의미를 캡처하므로 검색, 클러스터링, 분류와 같은 작업을 더 쉽게 수행할 수 있습니다.
다음은 벡터로 표현된 텍스트의 두 가지 예입니다.
이미지 원본: OpenAI
부동 소수점 숫자를 포함하는 각 상자는 차원에 해당하며, 각 차원은 사용자가 이해할 수도 있고 이해하지 못할 수도 있는 기능이나 특성에 해당합니다. 대규모 언어 모델 텍스트 포함에는 일반적으로 수천 개의 차원이 있는 반면, 보다 복잡한 데이터 모델에는 수만 개의 차원이 있을 수 있습니다.
위 예의 두 벡터 사이에서 일부 차원은 유사하지만 다른 차원은 다릅니다. 이는 두 구의 의미가 유사하고 다르기 때문입니다.
이 이미지는 유사한 벡터와 크게 다른 벡터의 공간적 근접성을 보여 줍니다.
이미지 원본: OpenAI
데이터를 3차원 공간으로 변환하는 이 대화형 시각화에서 더 많은 예를 볼 수 있습니다.