관심있는 NLP 논문을 읽어보고 간단히 정리했습니다.
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[DI Lab, Korea University]
- 언어 모델을 효과적으로 pre-train하는 concept-based curriculum masking (CCM) method를 제안
- MLM (Masked Language Modeling)의 난이도는 linguistic difficulty를 기준으로 삼음
1. Introduction
- 자연어 처리 분야에서 MLM (Masked Language Modeling)은 모델 성능 향상에 크게 기여했으나 많은 양의 연산 자원을 필요로 한다는 문제점을 안고 있었음
- CL (Curriculum Learning)은 easy-to-difficult 순서로 모델 학습을 진행하는 방식으로 난이도에 대한 기준을 설정하는 방법이 크게 두 가지로 나뉨
- (1) model-based (2) linguistic-inspired
- 이중에서 전자는 pre-training에 들어가는 cost를 줄이는데 전혀 도움이 되지 않는 방식임
- 대신 후자는 길이, 희소성, 마스킹 비율 등 MLM의 특성을 온전히 반영하지 못하는 방식임
2. Realted Work
- Self-supervised Pre-training
- large corpora로부터의 universal한 언어 representation을 배우는 방식이라고 이해할 수 있음
- BERT (Bidirectional Encoder Representations from Transformers)에 사용된 사전학습 방식인 MLM (Masked Language Modeling)으로부터 크게 확산됨
- 모델 성능 향상에는 지대한 영향을 주는 것이 맞지만, 그만큼 많은 비용이 초래된다는 문제점을 안고 있는 상황
- Curriculum Learning
- 쉬운 것으로부터 점점 복잡하고 어려운 것을 배워나갈 수 있도록 하는 학습 전략
- 데이터의 난이도를 파악하는 기준
1) human prior knolwedge regarding specific tasks - MLM 특성 반영이 제대로 안됨
2) using trained model - pre-training 비용이 줄어들지 않음
3. Contributions
- CL을 pre-training에 접목시켜 그 효율성을 증대시킴
- relation-based difficulty criteria를 기반으로 concepts을 progressively mask하는 framework를 개발
- GLUE 벤치마크에 대해 MLM 대비 pre-training efficiency를 크게 향상시켰음을 입증
4. Concept-based Curriculum Masking
저자는 인간의 언어 습득 방식으로부터 영감을 받아 curriculum framework을 떠올릴 수 있었다고 밝힘.
해당 framework은 initial concept selection, curriculum construction, pre-training 세 단계로 구성됨.
- knowledge graph는 G = (N, E)로 구성되는데 N과 E는 각각 노드와 간선을 의미
- 노드에 해당하는 word/phrase를 concept, N에 속하는 c로 표기
- S_{i}는 i번째 stage의 set of concept이며 S_{1}부터 S_{K} 까지 존재
4.1. Initial Concept Selection
- 가장 높은 수준의 연결 상태를 갖는 concept을 선별하여 initial concept으로 지정하고 masking
- pre-training corpus에서 100K 번 미만으로 등장한 concept은 제외함
- 자주 등장하지 않는 concept은 이와 관계가 있는 concept에 상대적으로 약한 영향력을 행사할 것이라고 판단했기 때문
- M개의 initial concepts을 정하여 top M concepts을 선별
4.2. Curriculum Construction
- i번째 stage에 해당하는 S_{i}는 S{i-1}과 연결된 concept을 바탕으로 확장하여 constructed
- curriculum stage를 거치는 동안 knowledge graph의 k-hops 이내의 개념들에 대해서만 연결로 인정함
4.3. Pre-training
- Concept search
- knowledge graph로부터 pre-training corpus에 10번 이상 등장하면서 5개 이하의 단어로 구성된 concept만 추출
- pre-processing 단계에서 한 번만 수행되는 것이기때문에 MLM에 비하면 negligible한 작업이라고 주장
- Concept masking
- Whole Concept Masking (WCM) 방식을 채택하여, 대상 concept을 포함하는 모든 token을 마스킹
- 예를 들어 Stanford가 concept인 경우 Stan과 ##ford 둘 다 masked되는 방식
- 기존 방식을 따라 masked concept의 80%는 mask 토큰으로 대체되고 10%는 random 토큰, 그리고 나머지 10%는 대체되지 않도록 함
- masking propability를 dynamically 계산하여 각 sequence마다 총 15%의 토큰이 masked되도록 함
- Whole Concept Masking (WCM) 방식을 채택하여, 대상 concept을 포함하는 모든 token을 마스킹
5. Experiments
- Model & Baseline
- CCM (Concepted-based Curriculum Masking) on BERT
- Datsets
- HuggingFace Datasets에 공개된 BERT pre-training corpus
- Benchmarks
- GLUE: RTE, MNLI, QNLI, MRPC, QQP, STS, SST, CoLA
- Results
- CCM 방식이 모델의 convergence 속도를 향상시키면서도 적은 computation 비용을 초래하는 것이 확인됨
- RTE 태스크에 대한 BERT_base 모델을 제외한 모든 baseline을 능가하는 성능을 보여줌
- curriculum stages의 난이도는 네 단계로 구성하는 것이 가장 효율적임을 확인
- diffent hops에 대해 실험한 결과 2-hop 내의 concept을 추가하는 것이 가장 성능이 좋고, 그 이외는 성능 하락으로 이어짐
6. Insights
예전에 네이버 부스트캠프에 참여할 때 curriculum learning 방식을 적용하는 것에 대한 논의가 있었는데 그때 그 논문을 다시 만나게 되어 반가운 기분이 들었다.
그 당시에는 이해하기 참 어려웠는데 지금은 그래도 많은 내용을 소화할 수 있게 된 것 같다.
논문을 볼 때 약간 궁금했던 것은 실제 masking 알고리즘이 어떻게 구현되어 있을까 하는 점이었다.
구축된 knowledge graph를 직접 보고 싶기도 하고..
최근에도 보면 색다른 접근 방식들 중에 이러한 그래프 기반의 방법론들이 많아 이러한 자료구조에 대해 좀 더 잘 숙지해야겠다는 생각도 들었다.
납득이 조금 어려운 것은 사람의 학습 방식을 모방한 것이 모델 학습에 도움이 되었다는 사실 자체이다.
다른 concept들과 관계가 높은 것을 중심으로 확장해 나간다는 추상적인 이미지 정도가 머릿 속에 자리잡는 기분인데, 그게 왜 도움이 될까에 대해서는 납득이 잘 되지 않는 것 같다.
모델이 학습하기 어려운 것과 그렇지 않은 것, 이에 대한 기준을 포함하여 모델이 학습한다는 것은 무엇을 의미하는지에 대해 한 번 더 생각하게 된다.
한편 지금은 LLM이 활약하는 상황이라 이러한 연구나 논문을 접하기가 참 어려워진 것 같다는 생각이 든다.
출처 : https://arxiv.org/abs/2212.07617