토큰의 예측 순서를 무작위로 섞은 뒤, 그 순서대로 앞에 놓인 토큰들만 보고 다음 토큰을 맞히게 하는 사전학습 방식이다. XLNet 이 제안했다.

문장 자체를 뒤섞는 것이 아니라 예측 순서 만 뒤섞는다. 각 토큰의 원래 위치 정보는 그대로 유지된다.

무엇을 해결하려 했나

MLM 에는 두 가지 약점이 있다.

학습과 사용 시점의 입력이 다르다. 학습 때는 [MASK] 토큰이 입력에 들어가지만, 실제로 쓸 때는 그런 토큰이 없다. 모델이 보는 입력 분포가 두 시점에 다르다.

가려진 토큰들 사이의 관계를 배우지 못한다. 뉴욕 은 미국 의 도시 에서 뉴욕미국 을 동시에 가리면, 둘을 각각 나머지 문맥으로부터 독립적으로 예측하게 된다. 실제로는 뉴욕 을 알면 미국 을 맞히기가 훨씬 쉬운데 그 의존 관계가 학습 신호에 들어오지 않는다.

PLM 은 순서를 섞어 매번 다른 부분집합을 조건으로 삼는 방식으로 두 문제를 함께 겨눈다. [MASK] 를 넣지 않으므로 입력 불일치가 없고, 예측 순서에서 앞에 놓인 토큰은 조건에 포함되므로 예측 대상들 사이의 의존 관계도 잡힌다.

1 2 3 43 → 1 → 4 → 2 순서로 예측한다면, 4 를 예측할 때 31 을 조건으로 쓴다. 순열을 여러 개 뽑아 기댓값을 취하면 모든 방향의 조건부 관계를 두루 학습하게 된다.

남는 문제와 MPNet

PLM 은 예측 대상 자리의 위치 정보가 부족하다 는 약점이 생긴다. MLM 은 [MASK] 가 입력에 남아 있어 문장 전체 길이와 빈칸의 위치를 알 수 있지만, PLM 에서는 예측 시점에 아직 안 본 토큰들의 위치를 모른다. 몇 글자짜리 답이 들어갈 자리인지 모른 채 예측하게 된다.

MPNet 은 두 방식을 합친다. PLM 처럼 순서를 섞어 예측 대상 사이의 의존 관계를 살리되, 문장 전체의 위치 정보를 보조 입력으로 함께 넣어 위치 불일치를 없앤다.