벡터(Vector) 함수
벡터(Vector) 함수
Snowflake는 VECTOR 데이터 타입을 위한 유사도(similarity) 함수와 요소별(element-wise) 집계 함수를 모두 제공합니다. 이 함수들은 소스 벡터에 가장 가까운 벡터를 찾는 데 사용되며, 시맨틱 검색과 LLM·생성형 AI의 생성 응답을 미세 조정(fine-tuning)하는 데 유용합니다.
본문
유사도 함수는 요소 타입과 차원이 같은 두 개의 VECTOR 인수에 대해 동작하며 지정된 지표를 계산합니다. Snowflake가 제공하는 벡터 유사도 함수는 다음과 같습니다.
- VECTOR_INNER_PRODUCT
- VECTOR_L1_DISTANCE
- VECTOR_L2_DISTANCE
- VECTOR_COSINE_SIMILARITY
벡터 조작 함수는 기존 벡터를 받아 절삭(truncation)·정규화(normalization)처럼 속성이 다른 새 벡터를 반환합니다. Snowflake가 제공하는 벡터 조작 함수는 다음과 같습니다.
- VECTOR_TRUNCATE
- VECTOR_NORMALIZE
벡터 집계 함수는 VECTOR 값의 컬럼에 대해 동작하며, 그룹 안의 모든 벡터에 걸쳐 합·평균·최소·최대 같은 요소별 수학 연산을 수행합니다. Snowflake가 제공하는 벡터 집계 함수는 다음과 같습니다.
- VECTOR_SUM
- VECTOR_MIN
- VECTOR_MAX
- VECTOR_AVG
참고: Snowflake의 벡터 함수는 부동소수점 정밀도를 낮출 수 있는 방식으로 최적화되어 있습니다. 이 함수들은 최대
1e-4의 오차 범위를 가집니다.
함수 목록
| 함수 이름 | 비고 |
|---|---|
| VECTOR_INNER_PRODUCT | |
| VECTOR_L1_DISTANCE | |
| VECTOR_L2_DISTANCE | |
| VECTOR_COSINE_SIMILARITY | Snowpark API에서는 지원되지 않습니다. |
| VECTOR_TRUNCATE | |
| VECTOR_NORMALIZE | |
| VECTOR_SUM | |
| VECTOR_MIN | |
| VECTOR_MAX | |
| VECTOR_AVG |