게시물 목록

Wednesday, May 24, 2023

프롬프팅을 통한 거대언어모델 설계원리 탐구에서 실험디자인과 해석의 중요성

기술의 세부에 대해서는 잘 모른채로 그냥 상상해 보는 것인데, ChatGPT를 비롯한 거대언어모델(Large Language Model, LLM)의 특성을 얘기하기 위해 프롬프트를 넣어서 조사를 할 때, stylized output을 줄 수 있는 LLM의 높은 capacity를 고려하여 실험 디자인과 그에 대한 해석에 상당한 주의를 기울여야 할 것 같다.


LLM을 가지고 놀다 보면 자기 자신의 특성 및 설계원리를 근본적으로(?) 드러내어 주는 것처럼 보이는 출력을 내는 경우가 있다. 자기 자신이 ai로서 어떠한 특징을 갖게 설계되었다는 명시적 응답은, 개발자들의 의도에 맞게 하드코딩되거나 RLHF되었을 수 있다는 생각을 사용자들이 쉽게 할 수 있으므로 오히려 비교적 덜 속아넘어갈 수 있다. 그것보다는, 우연성에 강하게 의존하는 작업을 시킬 때 LLM 자신도 모르게 그런 설계원리를 드러내어 버린 것처럼 보이는 경우가 특히 더 미묘하다.


그런데 여기서 생각해야 할 점은, 그렇게 accidental하게 설계원리를 드러낸 것처럼 보이는 사례들조차 대부분 stylized output, 즉 매 dialogue마다 다르게 일종의 '컨셉을 잡은' 연기에 불과할 수도 있다는 점이다. 즉 LLM이 제로샷 능력(더 구체적으로는 in-context learning 능력)에 힘입어 여러가지 처음 보는 과제 및 잘 정의되지 않은 과제를 수행하는 워낙 높은 capacity를 가진 탓에, 어떤 단일 dialogue만 보면서 그것이 다른 dialogue에 비해 더 근본적으로, LLM에 내재된 중요한 특성 탓에 광범위하게 나오는 결과라고 함부로 결론내릴 수 없는 듯하다.


세심하고 반복적인 프롬프팅을 통해 LLM이 가진 경향성을 탐색하고 성능을 최대로 이끌어내는 작업은 중요하고 흥미롭다. 그러나 실험자가 무엇을 보려고 의도해서 그것을 실제로 보았을 때, 단순히 그 담화 내에서의 연기에 속아넘어가는 게 아니라 LLM의 아주 일관적인 특성을 드러내었음을, 즉 소위 말해서 학술지식으로서 가치가 있는 '논문감'임을 입증하려면 실험 디자인과 해석을 굉장히 잘 해야 하는것 같다.


사실은, 본질(?)이 아닌 연기임에도 아무튼 그러한 연기를 이끌어내는 체계적인 프롬프팅 방법이 존재하고, 그로 인해 좋은 성능이 나온다면 이 역시 의미있는 결과가 되기도 할 것이다. 그 두 가지를 구별하기도 어렵다. 예컨대 특정 프롬프팅을 통해 LLM이 SAT 시험 문제를 훨씬 잘 풀게 되었다고 하면 (실제로 이와 비슷한 결과들이 굉장히 많다), 이것은 stylized된 연기라고 하더라도 아무튼 그 시험을 실제로 잘 풀게 된 것이며, LLM은 분명히 그런 능력을 가지고 있다고 말할 수 있을테다. 이는 의미있는 지식이 된다.


한편, 뭔가 도식이 한 군데 잘못되어 있어서, 일관적인 이상한 방식으로 시험문제를 틀리는 dialogue도 존재할 수 있을테다. 이런 컨셉을 수행하는 능력 역시, 설계 원리상으로 보면 어떤 failure라기보다는, 위 문단에서 서술한 시험문제를 잘 푸는 dialogue와 비교했을 때 꼭 그것과 같은 만큼 'LLM이 가지고 있는 능력'이라고 봐야 되지 않을까 하는 것이다.

때에 따라 매번 다르게 수많은 컨셉을 잡고 얘기를 할 수 있는데 (혹은 언제나 그렇게만 할 뿐인데), 그 컨셉이라는 것에 실제 전문적인 수준의 퍼포먼스를 발휘해 주는 것까지 포함이 되어 버리다 보니 LLM이 우리의 직관을 벗어나는 점이 많은 것 같다.


또한 유명한 ChatGPT 탈옥 방법으로 'pretend that you are a~' 따위의 프롬프팅을 통해서 부적절하고 위험한 결과를 내는 게 있는데, 이때 사용자는 겉으로 안 보이게 안에 숨겨져 있는 어떠한 능력을 uncover했다는 느낌을 받게 된다.

그러나 사실은 그냥 LLM에는 구조상 '겉면밖에 없고', 때에 따라 완전히 다른 겉면들을 보여주며, 그것들 중에 RLHF를 통해 금지해 둔 한 가지를 우회적으로 본 것일 뿐이라는 게 좀더 적절한 이해일 수도 있을 것 같다. 이런 점에서 흔히 아이폰 같은 데서 얘기하는 탈옥과는 많이 다른 듯하다.
물론 by design 그렇다는 것이지, 능력의 어떠한 계층 구조가 자연스레 emerge했을 수는 있고, 그런 걸 탐색하는 것도 정말 재밌는 작업일 것이다.

아무튼 생명과학, 심리학 등 복잡한 대상을 다루는 실험과학 분야에서도 과연 연구자가 원하는 그 효과를 제대로 보고있는게 맞는지를 확신하기 위해 실험 디자인에 굉장히 공을 들이는 것으로 알고 있는데, LLM을 대상으로 한 실험들에서도 비슷한 면모가 있는 듯하다.
특히 LLM의 경우 시험문제 고득점 하는것처럼 명확한 척도가 있는경우도 있겠지만, 여러 가능성이 열려 있는 창의적인 과제에 대한 수행능력을 평가할때 일률적 정량화가 곤란한 semantic한 층위가 전면에 들어오다보니 더 미묘한 면이 있는 것 같다. 연구문제 설정과 실험 디자인에 있어 생각을 아주 정밀하게 해야지만 믿을 만한 지식으로 정리가 될 듯하다.
아무튼 방대한 데이터와 심원한 아키텍쳐로부터 오는 LLM의 과제 수행능력이, 단순히 답을 잘 주는 걸 넘어 다양한 부문의 대화를 수행하는 데 이르는 것을 보면 굉장히 기분이 묘하다. 마치 사람이 직업상 아주 틀에 박힌 말을 할 수도 있지만 동시에 사적인 자리에서는 개인으로서 여러가지 입체적 면모를 가지고 말을 할 수도 있는 그런 느낌이 들기도 한다. 이는 수많은 종류의 텍스트를 학습한 덕분일 것이다.
이러한 LLM은 성능이야 무척 좋지만 결국은 과제별로 따로따로 학습해야 하는 전통적인(?) 딥러닝에 비해서도, 양적, 질적, 개념적으로 한 차례 도약해 있는 패러다임이라고 생각이 든다.

물론 서두에 말했듯 개인적으로 이쪽에 대해 주워듣고 내 마음대로 생각해 본 것들은 있지만, 제대로 된 전문적 이해는 없는 관계로 이 모든 내용은 상상에 불과하며, LLM을 평가하고 이해하기 위한 더 좋은 방법과 개념적 틀들이 이미 있을 존재할 것이다. 이들을 기회가 될 때마다 잘 팔로우업해 보고자 한다.

Facebook에서 이 글 보기: 링크

Saturday, May 6, 2023

이론물리학 지식 습득에의 미련에 관하여

공부를 하다 보면 앞으로 어차피 들여다볼 시간과 기회가 없을 법한, 그리고 내 연구와 직접 연결될 거라고 기대하기 어려운, 어렵고 멋있어 보이는 지식체계 및 이론들에 대해서 많은 미련을 가지는 편이다. 사실 특정 연구주제에 대한 전문성을 요구받기 이전인 학부생 시절에 그런 토픽별 공부를 깊게 해 두었으면 좋은데, 그렇지 못했다 보니 더 그런 것 같다.


어떤 교수님들은 박사과정 대학원생 때야말로 '공부'를 할 수 있는 마지막 기간이라는 점을 강조하시며, 연구와 직접 관련있지 않더라도 궁금한 이론들이 있으면 지난(至難)한 계산들을 직접 해 보며 많이 습득해 두라고 조언을 해 주신다. 한편, 명확한 목적이 없이 단순한 호기심으로 책을 독파하는 식의 공부는 가급적 지양하고 연구와의 관련성 하에서 효율적인 공부를 하며 연구에 집중하도록 조언을 해 주시는 분들도 계신다.


능력이 아주 뛰어나서 공부하는 속도가 빠르다면 위 둘을 모순되지 않게 병행할 수 있겠으나, 물리학과 내에서 보통 혹은 그 이하의 실력을 가진 내 입장에서는 유한한 시간이라는 제약 하에서 위 둘은 현실적으로 충돌하며, 이도저도 아니게 둘 다 가져가려 하기보다는 선택을 해야 하는 입장이다. 이런 입장이라면 결국 대학원생은 (특히 박사 수료 이후에는) 학생이라는 신분보다는 연구에 시간을 투입해서 논문을 써야 하는 예비 연구자로서의 신분이 강하다는 생각이 들고, 나로서도 그러지 않으면 초조하기도 해서, 적어도 강령으로서는 후자에 더 무게를 둘 수밖에 없다.


노력해서 습득할 수 있는 멋진 이론물리학 지식 체계 - 심지어 그것들은 수학적으로 기술되다 보니, 그저 체계적이기만 한 사상누각 같은 게 아니라 객관적으로 검증 가능하며 새로운 지식을 무한히 창출하는 것들인데 - 가 멀쩡히 존재하고 있음에도 그것을 일일이 이해하고 싶다는 미련을 버리는 게 연구자로서 필요한 덕목일 수 있다는 것이다. 대학원 다니면서 제한된 시간 내에서 직접 부딪혀 보며 잘 납득하게 됐지만 마음 속 깊은 곳에서는 아직도 와닿지가 않는다.


물론 그렇다고 해서 시간을 들여서 그 지식들을 직접 공부 해내느냐 하면... 그러면 차라리 좋을 텐데 위에서 말했듯이 그것조차 아니다. 결국 능력과 시간이 부족해서 못 하면서 무의미한 미련만 계속 생기는 것 같다. 여러모로 내 여건과 능력 하에서 공부해 볼 수 있는 것들의 한계를 인정하고 미련을 버리면서 지혜롭게 치고 나가는 태도를 마음 깊이 내면화해야 할 것 같다.


잠깐 대학원생의 이러한 자세한 사정을 차치하고 조금 더 일반론적인 관점에서 '지식 추구'로서의 공부에 대해 이야기를 해 보자. 입신양명을 지향하는 일반적인 범주의 학업을 넘은, 지식체계에서 보이는 개념들의 탁월성과 이론의 미묘한 정합성들에 매료되어서 여기에 천착하는 태도가 과연 인생의 팔자에 도움이 되는가를 비판적으로 생각해 볼 수 있다. 한국 사회에서는 공부를 잘 하는 사람을 대단하다고 생각하는, 혹은 성공을 할 것이라고 여기는 분위기가 있는데, 그러나 이것은 사실 위에서 말한 일반적인 범주의 학업까지에만 해당되는 이야기가 아닐까 한다.


만약에 공부가 깊어져서 건전한 지식을 생산하면서 학술 장을 유지하고, 생산되는 지식을 사회에 공급하거나 사회와 견주어 보는 지식생산 노동에 이르게 되면, 공부가 깊어질수록 오히려 팔자에 도움이 되지 않으며, 사람들이 크게 관심을 갖지도 않고, 관심을 가지더라도 주로 그다지 좋게 보는 쪽은 아닌 것 같다. 결국 한국 사회는 공부라는 것의 수량화, 실용화 가능한 외피와 그로 인한 성취지위에 관심이 많을 뿐, 개념들을 치열하면서도 재미있게 부딪혀 보며 갈고닦는 작업으로서의 공부의 '내용' 혹은 '과정'으로 논의가 확장되는 순간 사람들의 관심은 사라지는 듯하다.


그런데 나처럼 내가 현실적으로 소화하기 어렵고 연구에도 도움이 되지 않는 지식들에 미련을 갖고 굳이 들여다 보려는 경향을 갖는 사람은, 이러한 지식 추구에의 무관심, 공부의 입신양명 도구화 경향으로부터도 분명히 배울 점이 있는 듯하다. 관심을 가질수록 오히려 시간만 과다하게 투입하면서 연구의 현장과 유리되는 경향이 생기므로, 그러지 말고 내가 능숙하게 다룰 수 있고 또한 그러기를 요구받는 도구들 내에서 보편적 독자가 재미있어할 만한 문제 설정을 해서 빨리빨리 풀어 내는 것이 중요한 덕목이라고 생각하는 것이다. 말하자면 지식추구 라는 가치에 지나치게 매몰되기보다는, 결국 현재의 내 status에서 부여받은 역할(주로 지식생산)을 하는 것인데 그 역할이 우연히도 사회 평균보다 지식추구와 조금 더 많이 관련되어 있을 뿐인 셈이다.


재밌었던 것은 가족들에게도 이러한 깨달음에 대해 이야기할 기회가 있었는데, 그건 원래 그런 건데 이제야 알았냐고, 15년째 나에게 똑같은 얘기를 했다고 하셨다. 공부뿐만 아니라 평소 생활에서의 문제해결 능력 면에서도, 본인이 감당하지 못할 거면서 어렵고 답답하고 오래걸리는 길을 가려는 경향이 있어서 늘 걱정을 했다고 하신다.

아무튼 일을 하는 데에 있어 내 이러한 경향을 적당히, 효율적으로 활용해서, 내가 다룰 수 있는 이론적 도구들의 범위를 넓혀 가면서도 내 연구라는 명확한 목적 하에 생산적으로 복무시킬 수 있다면 가장 좋을 것 같다.

Facebook에서 이 글 보기: 링크