시리즈 LLM 이야기

'창발성..., 창발성이란, 창발성에 메달리지 않고서는 살아갈 수 없는 자 들을 위해서 존재하는 것인데..' 


스탠포드 대학의 연구실,

어떤 한 사나이가 말했다.




"그, 그게 무슨 말 입니까, 교수! 우리가 해 온 연구는 뭐란 말입니까! 우리가 모델에게서 특이점을 얻어내기 위하여-"


"언제부터 파라미터를 늘리고 있었다고 생각 한 건가, 대학원생 군?"

"깨져라, 연구비 장학금-"






2023년, 스탠포드 대학의 연구팀은 흥미로운 연구 결과 하나를 내놓는다.

바로, 'Emergence is a Mirage' 라는 것이다.

개씨발 죽어라 연구해서 새 모델을 내 놓고, 평가 지표 깎는 미친 노친네 새끼들이 들이미는 좆같은 기준까지 통과했는데, 우리 모델이 개구린 똥방구 모델일수도 있다는 이야기에, 수많은 GPU 밥주기 기계들은 비탄의 강을 헤엄치다가 겐지스강까지 흘러가서 화장당하고 말았다. 나무삼.


이 괴악한 인간 갈아먹기 쑈쑈쑈는 지금까지도 계속되고 있는데, 연구비를 걸고 서로 싸우는 모습이 마치 교미와 같다고 전해진다.


그럼 어떤것인지 알아보도록 하자.



어떤 챗붕빙보롱붕이 한마리가, 10B짜리 모델을 열심히 깎았다고 쳐보자.

이 챗뿡이는 아무리 모델을 깎고 깎아도 평가지표가 0점밖에 안 나와서 눈물이 콸콸 나오고 있었따.

결국 귀여운 잼민쨩의 크레딧도 참고, 짚쨩의 공홈 구독도 끊었다. 클쨩은 못 끊었다. 코딩해야해서.. 

아무튼 그렇게 모은 돈으로 모델 파라미터를 50B까지 키우는데 성공했다.


근데도 평가지표는 0점이 나오는것이다!

챗빙뿡이는 울면서 장롱에 숨겨둔 유희왕카드부터 메이플딱지, 할머니가 까까 사먹으라고 준 용돈까지 써서 70B까지 파라미터를 늘렸다!

그러자 평가 지표가 100점이 나왔다! 


"와! 70B쯤 찍으니까 모델이 갑자기 똑똑해졌어! 역시 빅 파라미터는 최고구나!"


과연 이 이야기가 맞을까?

어떤 시점을 넘어서는 '특이점'이 오면, 우리가 원하는 무언가를 모델이 만들어 낼 수 있을까?

다시 원론으로 돌아가서, 어느 시점이 오면 우리는 모델에서 창의성과 창발성을 얻어 낼 수 있을까? 하는 질문으로 확대 할 수 있다는 것인데,


연구 결과에서 말하기로는 '불가능' 이라고 한다.

정확히는 '불가지론' 이라고 보는게 맞겠다.



챗뿡삥뿌룽이가 10B짜리 모델에게 개씹좆꼴리고개천박해서자지가 터질거 같은 소설을 써달라고 했고,

평가 지표는 개씹좆꼴리고개천박해서자지가 터질거 같은 소설을 평가한다.


10B 일때는, 개씹좆 꼴리기만 한 소설을 써서 0점.

50B 일때는 개씹좆 꼴리고 개 천박한 소설을 써서 0점.

70B에 도달해서야, 개씹좆꼴리고 개천박해서 자지가 터질거 같은 소설을 써서 100점이 나왔다. 이것이 평가지표의 허상이며,

평가지표로 인해 인간의 인식이 혼동하는 시점이라고, 스탠포드 소스케 선생께선 말하고 있었다.



즉, 모델은 어느 시점을 넘어서며 강력해진것이 아니라. 선형적으로 강력해지고 있었으나, 우리가 그것을 판단하지 못 한 것 이라는 것이다.


많은 틀딱`s 챗붕이들이 회고하지만, 어떤 모델 업데이트를 맛봐도 개씨발 g3.5에서 g4로 넘어가던 시점의 그 압도적인 성능 폭주를 이기지 못한다고 하는 경우가 많다.


이처럼, 실제로 모델의 파라미터가 커지고, 벤치마크가 좋아져도, 우리는 새로운 모델을 먹고 한 일주일쯤 지나면

우엑 시발 이 모델 결국 뭐같은 맛 나네 시펄 하는 것을 경험론으로 느끼고 있다.


즉, 새로운 업데이트로 인해서 나타난 '것' 처럼 보이는 어떤 창발성은, 모델의 강화로 생겨난 마법이 아니라,

성과지표의 거짓말로 포장된 아티팩트라는 것이다.




조금 수학적으로 다시 설명을 이어가 보도록 하겠다.





이건 볼츠만 분포라는 것인데, 어떤 데이터가 존재할 확률 (P(x))는 
모든 확률의 합을 1로 만들기 위한 정규화 상수로, 값이 낮을수록 안정적인 데이터를 의미하는 에너지 함수 E를 나눈 것이라는 의미이다.


즉, 우리는 모델에게 있어서, 모델이 가진 자연어 데이터셋을 분류하여 데이터의 존재 가능성을 판정할때

이 세상에 있을법한 데이터는 낮은 에너지, 개 병신같은 헛소리에는 높은 에너지를 보유하기를 원한다.



대부분의 LLM 모델은, 일종의 분류기이다, 특히 다중 클래스 분류기라고 보면 된다.

병신 클래스는 이어질 확률은 낮게, 좋은 클래스는 이어질 확률을 높게 토큰 뭉치를 이어가며 답변을 배출하는 것 이라 그렇다.


이런 다중 클래스 분류기의 경우, 소프트 맥스 함수라는 것을 사용해서 만드는데.


주어진 단어(x)를 바탕으로, 다음 토큰 (y)가 나타날 가능성은 다음과 같이 표현된다.



이걸



요롷게 표현 할 수 있는데, 아까 위에서 봤던 식이랑 유사하지 않은가?

그럼 서로 매핑해서 정된 관계를 가진다고 생각하면,


쉽게 말해서


e^f(x)(y) 는 -E와 같다, 즉

그 단어의 확률이 나올 가능성이 높다면, 에너지가 낮다고 볼 수 있다.


알았다, 그래 벌써 뇌가 저리구나. 세줄 요약 하도록 하겠다.


1. 모델이 어떤 입력값에 대한 무언가를 배출하려고 할때, 그것이 예측성으로 훈련을 시켰든, 생성성으로 훈련을 시켰든간에, 모델이 토큰을 뱉으려고 하는 행위 자체가 에너지의 지형적인 움직이라고 수학적으로 볼 수 있다.

2. 즉, NTP로써 분류기성을 학습하면 다른 과도한 학습이나 유의미한 구조성을 배우려고 하지 않더라도, 자연스럽게 어떠한 '과도하게 에너지가 낮은 문장들이 모이는 벡터 공간'이 발생한다.

3. 이것이 일종의 자체 추론 공간이며, Predictive하게 가르쳤는데, Generative 능력이 생기고(말을 지어내고), World Model이 생기는(규칙을 이해하는) '창발성' '세상의 구조를 이해하는 방식' 이라고 착각하게 만드는 비밀 공간이다.


라는 것이다.




아직도 이해가 안 간다고?

좋다. 


요즘 LLM 서빙하는 회사들은 학습 비용을 아끼기 위해서 여러가지 학습방법을 사용해서 정류하고 뭐하고 지랄하고 발광하고 한다.

하지만 결국 자연어 처리 모델이라는 것이기 때문에, 모델이 '항상 출력하고 싶어하는 낮은 에너지 문장이 고인 부분' 이 있다.

이게 바로 '태피스트리' '안경' ' 휠체어' '극명한' '단순한' 같은 단어들이 기어 쳐 나오는 구멍이며, 

우리는 이 좆같은걸 미워하면서도, 이 낮은 에너지 구역에 모여있는 좋은 표현들이 나오기를 빌면서 같은 보지를 쑤션대는 것이다.



(추가 내용)


즉, Top-K는 확률이 높은 순서대로 K개만 남기는 것, 

즉, 출력값을 에너지 지형으로 표현할때, 



이런식으로 K값을 긁어서 K위로는 전부 다 날려버리는 거라고 생각하면 된다.


이런 K 방식의 문제점은


지형도가 이런 형태일때, 좋은 응답의 기준이 Y-10  정도 라고 생각해보자. 이런건 아주 당연한 문제를 물었을때 이런 경우가 많다.

너무 당연하고 논리적이고 단순한 답이 보통 정답으로 여겨질때를 말한다.

근데 K값이 걸러버리는 시점이 대강 Y -5 정도고, 그 아래로는 다 뽑아봤는데 그거조차 -10이 안되는 병신 응답일때 문제가 생기고



반대로 어떤 질문의 응답이 모호해서 (괜찮은 답이 K값 아래로 한 20개 됨.) 충분히 낮은 값이 없어서 K값 기준으로 팍 잘라버리면
괜찮은 답변이 될 수 있었던 답 10개도 같이 잘려버리는 문제가 생긴다.



P값의 경우는 저 지형도를 바닥으로 물을 채워서, 잠긴건 다 걸러버린다고 생각하면 편하다.



온도 설정도 비슷하게 설명이 가능한데, 볼츠만 분포의 분자를 높이면 온도의 저점을 낮춰서 냉각하는 것, 즉, 에너지가 낮은 상태로 만들어 정돈된 답이 나오게 하는 것,

분모는 반대로 가열해서 에너지가 과한 상태로 만들어 답을 지좆대로 내는 상태로 만드는 것이라고 보면 된다.