작성
·
18
·
수정됨
0
제목 그대로 추천해주시는 Mertic 방식이 있나요? 각 방식마다 장 단점이 있을거같고 특수 상황에서 쓰이는 방식들이있을거같아서요.
답변 2
1
안녕하세요! 유사도 검색 방식을 말씀하시는거겠죠?
RAG구현 케이스에서는 텍스트 검색이기 때문에 cosine이 제일 많이 쓰입니다. 텍스트 임베딩은 보통 문장의 의미(semantic meaning)를 담는데, 문장 길이에 따라 norm이 달라질 수 있어요. cosine은 크기 대신 방향(각도)만 본다는 점에서 문장의 의미적 유사성만 비교할 수 있습니다
euclidean의 경우에는 벡터 크기에 민감합니다. 문장이 길어져 norm이 커지면 실제 의미와 상관없이 거리가 커지는 문제가 있습니다. 그리고 차원이 높아질수록 모든 벡터가 비슷한 거리를 갖는 현상이 있는데요, 따라서 텍스트의 “방향” 유사성보다는 “절대적 위치 차이”를 보는 유클리드는 텍스트 의미 비교에는 적합하지 않습니다.
dot product의 경우에는 크기(norm)에 크게 의존합니다. 그래서 길이가 긴 문장(=norm 큰 벡터)이 짧은 문장보다 dot product 값이 과도하게 커짐. 그냥 문장이 길다는 이유만으로 유사하다고 판별하게 되는거죠. 그런데 모델이 이미 L2-normalize를 해서 출력한다면, dot product 와 cosine similarity 값이 유사해집니다. 이 경우 dot product도 충분히 쓸 수 있는데요, dot product의 경우에는 cosine similarity보다 계산 속도가 훨씬 빠르기 때문에 이점이 있긴합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 내향적인 개발자 IDev님.
Metric을 선택하는 것은 프로젝트의 특성과 목표에 따라 달라질 수 있습니다. 그러나 일반적으로 몇 가지 대표적인 Metric 방식과 그 사용 권장 상황을 소개해 드리겠습니다:
정확도(Accuracy)
정밀도(Precision)와 재현율(Recall)
F1 Score
각 Metric은 그 자체로 중요한 정보를 제공하므로 사용하려는 모델 및 데이터에 맞춰 적합한 방식을 선택하는 것이 중요합니다. 상황에 따라 복수의 Metric을 조합하여 사용하는 것도 좋은 전략이 될 수 있습니다.
관련 질문에 대한 더 많은 정보는 아래 링크를 통해 확인해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.