Just Do It.
'언어 모델(Language Model)'은 다음에 올 단어의 확률을 예측하는 모델이다. 지금은 ChatGPT 같은 트랜스포머 기반의 LLM(Large Language Model)이 이 과제를 너무 잘해서 이들이 언어 모델의 전부인 것처럼 느껴지지만, LLM이 등장하기 한참 전부터 다양한 언어 모델이 존재했다. 가장 단순한 언어 모델이 N-gram 기반 언어 모델이다.
언어 모델을 활용하면 전체 문장의 확률도 계산할 수 있다. 문장의 확률을 알면 그 문장이 얼마나 자연스러운지, 문법적으로 적절한지 알 수 있다.
"동해물과 백두산이 마르고 닳도록"이라는 문장이 등장할 확률은 어떻게 구할 수 있을까? "동해물과"라는 단어가 등장할 확률, "동해물과" 뒤에 "백두산이"라는 단어가 등장할 확률, "동해물과 백두산이" 뒤에 "마르고"라는 단어가 등장할 확률, "동해물과 백두산이 마르고" 뒤에 "닳도록"이라는 단어가 등장할 확률을 모두 곱하면 된다.
P(동해물과 백두산이 마르고 닳도록) = P(동해물과) × P(백두산이|동해물과) × P(마르고|동해물과 백두산이) × P(닳도록|동해물과 백두산이 마르고)
위의 식에서 각 조건부 확률을 계산하는데 다양한 언어 모델을 적용해 볼 수 있다. ChatGPT는 매우 어렵고 복잡한 과정을 거쳐 각 확률을 계산하지만, 단순하고 정직한 방법도 있다. 이 세상의 모든 문장을 세 보는 것이다. 예를 들어, P(닳도록|동해물과 백두산이 마르고)의 값을 구하려면 이 세상에 존재하는 모든 "동해물과 백두산이 마르고"라는 문장의 개수를 세고, 이 중 "동해물과 백두산이 마르고 닳도록"으로 이어지는 문장의 비율을 알아보면 된다. "동해물과 백두산이 마르고 닳도록"이라는 문장의 개수를 "동해물과 백두산이 마르고"의 개수로 나누면 되는 것이다.
그런데 이렇게 모든 문장의 개수를 세려다 보니 문제가 생긴다. 우리는 하루에도 몇 번씩 생전 처음 말해본 문장을 내뱉는다. "동해물과 한라산이 푸르르고"라는 문장은 이 세상에 몇 개 있을까? 이 문장이 단 한 번도 말해진 적 없다면 "동해물과 한라산이 푸르르고 맑도록"이라는 문장이 등장할 확률은 영영 알아낼 수 없는 인류의 난제가 되는가?
난제를 해결하기 위해 N-gram이 등장했다. N-gram은 연속한 N개의 단어 뭉치를 의미하는데, "동해물과 한라산이 푸르르고 맑도록"이라는 문장에서 2-gram(bi-gram)은 (동해물과, 한라산이), (한라산이, 푸르르고), (푸르르고, 맑도록), 3-gram(tri-gram)은 (동해물과, 한라산이, 푸르르고), (한라산이, 푸르르고, 맑도록)이다.
N-gram 언어 모델은 전체 문장을 한 번에 완벽히 소화하는 대신, 조금씩 쪼개서 소화한다. 2-gram 언어 모델이라면, "동해물과 한라산이 푸르르고 맑도록"이라는 문장이 등장할 확률을 구하기 위해 문장을 2-gram으로 쪼개고, 2-gram의 확률만 사용한다. "동해물과 한라산이 푸르르고" 뒤에 "맑도록"이 올 확률을 구하는 건 어려우니 그냥 "푸르르고" 뒤에 "맑도록"이 올 확률만 구하고 이걸로 퉁치는 것이다.
P(동해물과 한라산이 푸르르고 맑도록) = P(동해물과) × P(한라산이|동해물과) × P(푸르르고|한라산이) × P(맑도록|푸르르고)
이 퉁치는 정신을 '마르코프 가정(Markov Assumption)'이라고 한다. 마르코프 씨는 미래의 확률을 계산하기 위해 지나치게 먼 과거까지 보지 않아도 된다고 가정했다. N만큼의 과거만 보고, 더 과거의 것은 깔끔히 잊고 나아가면 된다고 생각했다.
이렇게 하면 물론 모든 과거를 고려했을 때보다 부정확한 결과가 나올 것이다. 어디까지나 이건 근삿값일 테니까. 하지만 분모가 0이 되어 아무것도 하지 못하고 엉엉 울고 있는 것보단 비슷한 결과라도 내는 것이 합리적이지 않을까?
그런 점에서 마르코프 씨는 나이키의 홍보대사가 될 수 있을 것 같다. Just Do It. 일단 뭐라도 하자.
이뤄놓은 것도 없고, 돈도 없고, 이것도 없고, 저것도 없고, 과거의 흑역사만 생각날 때 마르코프 씨를 떠올리자. 과거에 어떤 실망스러운 일이 있었든지 상관없이, 오늘 뿌듯한 일을 하면 내일의 나는 뿌듯한 사람이 되는 것이다.
Thumbnail Image by Shubham Mittal on Unsplash