066. Sentence Transformers — 문장 임베딩과 의미 검색
Sentence Transformers(SBERT)는 문장을 고정 크기 벡터로 변환해 의미적 유사도를 빠르게 계산할 수 있게 한다. 2019년 Reimers와 Gurevych가 제안했으며, BERT의 O(n²) 연산 문제를 샴 네트워크 구조로 해결했다. RAG, 의미 검색, 문장 클러스터링의 기반 기술이다.
Sentence Transformers(SBERT)는 문장을 고정 크기 벡터로 변환해 의미적 유사도를 빠르게 계산할 수 있게 한다. 2019년 Reimers와 Gurevych가 제안했으며, BERT의 O(n²) 연산 문제를 샴 네트워크 구조로 해결했다. RAG, 의미 검색, 문장 클러스터링의 기반 기술이다.
토크나이저는 텍스트를 모델이 처리할 수 있는 토큰 시퀀스로 변환한다. 단어 단위 분리는 미등록 단어 문제가 있고, 문자 단위는 시퀀스가 너무 길어진다. BPE와 WordPiece는 자주 등장하는 문자 조합을 병합해 두 문제를 동시에 해결하는 서브워드 토크나이저다.
BERT(2018)는 트랜스포머 인코더를 양방향으로 사전학습한 모델이다. MLM과 NSP 두 가지 태스크로 대규모 텍스트에서 언어 표현을 학습하고, 다운스트림 태스크에 파인튜닝한다. 문맥 의존 임베딩으로 다의어를 처리하고, 이후 NLP 사전학습 모델의 기준이 됐다.
RoBERTa(2019)는 BERT 아키텍처를 바꾸지 않고 학습 방식만 개선해 성능을 크게 높였다. NSP 제거, 더 많은 데이터, 더 큰 배치, 동적 마스킹이 핵심이다. ‘좋은 사전학습 레시피’가 아키텍처만큼 중요하다는 것을 보여줬다.