SBERT Loss Overview — 데이터 형식에 맞는 손실 함수
SBERT Loss Overview — 데이터 형식에 맞는 손실 함수
손실 함수는 파인튜닝 성능을 좌우하는 핵심이에요. '하나로 다 되는' 손실은 없고, 데이터 형식에 맞춰 고르는 게 정석이에요.
자주 쓰는 손실
- (anchor, positive) 페어, 라벨 없음:
MultipleNegativesRankingLoss(일명 in-batch negatives) — 최고 성능 임베딩을 만드는 데 자주 쓰이고 데이터 확보가 상대적으로 저렴해요. - 유사도 점수 페어(float):
CosineSimilarityLoss, 최근엔CoSENTLoss·AnglELoss가 더 좋은 대체재로 쓰여요.
데이터 형식 변환
(input_A, input_B) 클래스 페어는 같은/다른 클래스 샘플링으로 (anchor, positive, negative) 트리플릿으로 바꿀 수 있어요. 그래서 여러 손실이 같은 데이터에 적용 가능해져요.
커스텀 손실
torch.nn.Module을 상속하고 생성자 첫 인자에 model, forward(sentence_features, labels)를 구현하면 나만의 손실을 만들 수 있어요.