Context-Based Sentence Order Prediction AI Competition

Algorithm | Montly Dacon | NLP | Generate AI | LLM | Accuracy

  • moneyIcon Prize : DASCHOOL Pro Subscription
  • 403 Users Completed

 

[Private 4th] Pair-BERT

공동작성자

stroke
2025.06.30 12:59 640 Views language

사전학습 LLM을 호출하는 대신 BERT를 사용하는 방법입니다. 
(LB 0.892 // 이후 마지막 score 짜내기로 LLM rerank를 시도해 최종 LB +0.005의 효과가 있었습니다)
batch size를 낮추면 로컬 40번대 GPU로도 무난하게 돌아갑니다.

Klue/Roberta-large를 활용했습니다. 
자세한 건 아래 실험 결과를 참고해 주세요.

과거 대회나 논문들을 참고했을 때 LLM을 이용한 sentence ordering보다는 BERT 계열 솔루션이 많았습니다.
처음에는 reasoning task로 정의하고 LLM을 이용해 
소형~대형 가리지 않고 finetuning을 적용했으나 score에 한계가 있었고,
무엇보다 출력이 불안정한 문제가 있었습니다. (비용도 많이 들고요)

작동 방식은 아래와 같습니다.
1. 4문장을 24개 순열로 만든 후, 각 문장 뒤에 [SEP] 토큰을 삽입해 하나의 긴 문장열로 만듭니다.
2. klue/roberta-large 토큰화
3. [CLS] 토큰의 최종 hidden state를 얻습니다. 
4. RoBERTa의 1차원 Regression Head로 스칼라 점수를 얻습니다.
5. BERT 계열은 학습 과정에서 전체 순열을 보는 게 아니라 순열쌍에 대한 점수를 보므로
모델이 헷갈려하는 HNM(Hard negative mining)이 필수적입니다. 
(전체 문장 흐름을 고려하는 Listwise나 LLM 기법에서는 필요 없습니다)

학습 후반으로 갈수록 헷갈려하는 Hard Negative를 투입했습니다.
HNM 도입이 score 향상에 결정적이었습니다.

6. 24개 순열쌍에 대한 score를 얻습니다. 학습 후반으로 갈수록 top1 확신도가 높아집니다. 
CV PMR(완벽하게 정답인 비율) top1 : 0.89~ 0.9 / top2 : 0.97 /  top3 : 0.997 정도를 기록했습니다.
상위 3개 답안에 거의 정답이 존재했습니다. 
이후 top3 후보에 대한 rerank를 도입했습니다.

PDF
Code
Login Required
0 / 1000
Strang
2025.07.02 10:15

BERT 접근으로도 이렇게 높은 성능을 낼 수가 있었네요. 고생하셨습니다!