Sentence Transformer는 Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks 논문에서 소개된 방법론으로 자연어 처리(NLP) 분야에서 사용되는 모델로, 문장이나 문단과 같은 긴 텍스트를 고정된 길이의 벡터로 변환하는데 사용
vanila BERT/RoBERTa를 fine-tuning하여 문장 임베딩 성능을 우수하게 개선한 모델
BERT/RoBERTa는 STS 태스크에서도 좋은 성능을 보여주었지만 매우 큰 연산 비용이 단점이었는데, Sentence-BERT는 학습하는 데 20분이 채 걸리지 않으면서 다른 문장 임베딩보다 좋은 성능을 보임
기존의 BERT로는 large-scale의 유사도 비교, 클러스터링, 정보 검색 등에 많은 시간 비용이 들어감
100개 문장을 비교한다고 가정할 때 Cross-Encoder는 100개의 문장을 1:1로 비교해야 하므로 Cross-Encoder를 활용한 BERT는 100C2회 즉, 4950번을 비교해야 알 수 있음
→ 만약 데이터가 많은 상황에서는 상당히 비효율적임
BERT는 output layer의 평균화 혹은 [CLS]토큰을 이용하지만, 이 방법은 GloVe임베딩에 평균을 취하는 방식보다 좋지 않은 성능을 보임
따라서 논문에서는 기존의 BERT를 siamese, triplet 네트워크 형태로 바꾼 Sentence-BERT를 제안