LG AI Research의 LLM인 EXAONE에 대해 linear representation hypothesis (LRH) 분석을 해보았다.
LRH (Kiho Park et al., ICML 2024)는 언어모델 속에서 개념들(영어=>독일어, 나라=>수도 등)이 벡터공간 속의 '방향'으로 일관성있게 (즉 어느 점에서 출발해도 똑같게) 대응된다는 가설이다. 이에 따르면 우리가 어떤 단어나 문장을 특정한 의미를 강하게 가지도록 edit하고 싶을 때, 해당하는 '방향'만 찾아서 그 방향으로 걸어가기만 하면 어느 시작점에서건 원하는 대로 편집이 가능하다.
머신러닝은 곧 의미, 피쳐, 표현에 대한 엔지니어링이고 그렇기 때문에 재미있고 성공적이라고 믿는 내 관점을 가장 단적으로 드러내어 주는 연구 같아서 개인적으로 매우 좋게 생각하고 있고, 실제로도 잘 알려진 논문이다 (여담이지만 1저자는 나의 중학교시절 자랑스러운 강동교육청 영재교육원 동기이기도 하다. 당시 학기말 프로젝트도 같은 조였던 기억이 난다). 이런 식의 생각은 사실 최소한 Word2Vec 때부터 현실화되기 시작했다 (king + (male - female) = queen). 그러나 저자들은 LRH의 정확한 정의를 상당히 clever하게 내리고, 다음으로 LLM이라는 극도로 scale-up 되었으며 (임베딩뿐 아니라) 생성 능력도 가지고 있는 시스템에 대해 LRH를 실제로 확인할 수 있는 방법을 제시한다. 이 방법에서 가장 중요한 것은 'causal inner product'로, 의미적으로 서로 상관없는 개념들이 모두 서로 수직 (내적이 0)하게 된다. 임베딩 공간과 언임베딩 (contextualization) 공간을 정렬시켜주는 이 내적은, 임베딩공간의 전체 vocabulary를 바탕으로 구성되는 어떤 행렬을 통해 매우 간단하게 실제로 찾아질 수 있다.
원래 논문에서는 Llama-2를 이용해서 연구를 진행했다. 그런데 EXAONE에 대해서 LRH를 확인하려니 (일단 로컬에 llm을 로드해보는것 자체가 처음이기도 했고) 사소하다면 사소하고 중요하다면 중요한 챌린지가 있었다. Llama-2와 EXAONE의 토큰화 전략이 다르므로, 논문에서 제공된 예시 단어 쌍들의 대부분은 EXAONE에서 여러 토큰으로 쪼개져있다. LRH는 single token에 대해 확인하도록 되어 있으므로, EXAONE에 대해 대부분의 단어는 invalid하여 매우 듬성듬성한 결과만이 나온다.
이를 해결하기위해, LLM(연구대상인 EXAONE 말고 assistant인 cursor를 통해 이용한한 다른 LLM)의 어휘력을 활용하여, 각 concept direction별로 아주 많은 수의 후보 단어 쌍을 얻고, 그 쌍들 중 양쪽 단어 모두가 EXAONE 토크나이저에 의해 single token으로 나타나는 경우만 골랐다. 그 결과, 원래 논문의 2000여 쌍보다는 현저히 적긴 하지만 303개 단어 쌍을 얻었고 여기서 LRH가 성공적으로 확인되었다.
그런데 그렇다면, LRH의 확인과 그 하에서의 문장 편집은 오로지 single token 단어들에 대해서만 수행될 수 있는 것인가? 여러 토큰으로 된 단어나, 아예 여러 단어로 된 phrase의 경우는? 이를 해결할 수 있는, 간단하면서도 LRH의 철학 및 LLM의 구조에 native한 아이디어를 가지고 있는데 아직 실제 테스트해보지는 못했다. (성공하면 추가 공유)
이 과정 전체에서, AI를 코딩 어시스턴트에 그치지 않고 단어 예시를 편리하고 방대하게 뽑아주는 조수로 사용한 경험도 재미있었다. '말에 대한 공학을 말로 하는', 내가 꿈꾸고 기대하던 시대가 일정 정도는 실제로 도래했다고 보인다.
LinkedIn에서 이 글 보기: 링크
Facebook에서 이 글 보기: 링크
No comments:
Post a Comment