트랜스포머에 추가적인 입력을 같이 넣어서 생성물을 컨트롤 하는 연구
[🧑🏻💻 code: document_side_llm 24.03.18]
추가 정보를 활용하는 방법을 설계한다. 모델은 정보를 저장하고 활용하며 구조는 정보를 처리하는 방식을 나타낸다. 트랜스포머 모델의 연산이 지속적인 물음에 대해서 대답하는 기계라고 할 때, 연산처리를 위해서 필요한 구성 요소는 다음과 같다.
Transformer의 구조는 정보를 저장하는 MLP와 질문을 만들과 질문과 관련된 정보를 가져오는 attention으로 구성된다. 질문에 대해서 정보를 활용하여 다음 단어를 예측하므로, 추가적인 정보를 활용하는 방법은 그 과정에 녹이는 것이다.
질문에 대답하는 기계에게 추가 정보는 세 가지 관점에서 모두 사용될 수 있다.
추가적인 정보는 모델에 영향을 주는 부분과 별개로 모델을 지나면서 변형될 수 있다. 뒤로 갈수록 연산의 복잡도는 올라간다. 문서의 정보를 활용한다는 입장에서 어떤 문제점이 있는지 질문 자체가 context에 맞게 바뀌는 게 좋을 거 같다. 3번의 Key-Value-based Transformation이 좋을 거 같고, 근처 단어에 대한 local attention-bias가 유용할 것으로 추정된다. 왜냐하면 문서 기반 생성은 bigram과 유사할 가능성이 높기 때문이다. 즉, 앞 부분의 context가 대부분 짧을 것으로 추정된다.
위 두 가지에 대한 원칙을 세우면 추가 정보를 활용해서 가정에 대한 모델링이 가능하다.
추가 정보를 활용하는 이유는 생성물을 컨트롤하기 위함이다. 예를 들어서 모델을 sentiment에 대한 conditional을 추가하여 학습했다고 하자. 만일 모델이 긍정적인 추가정보를 주는 경우, 생성물은 긍정적인 발화로 구성될 것이다. 반대로 모델에게 부정적인 추가정보를 주는 경우, 생성물의 감성 스코어는 전반적으로 낮은 스코어를 준다. 그리고, 위에서 언급한 모델링은 Transformer 구조에 대해서 혹은 질문-지식-지식선택에 대한 편향을 주는 방식을 가정하는 것이다.
LLM을 처음부터 학습하는 것은 바람직하지 않다. 모델에 대한 성능을 믿기 위해서는 모델 내부를 제대로 작성해야 한다. 위에서 추가적인 정보 변형과 추가적인 정보 활용을 위한 모듈 구조에 대한 확신이 있어야 연구를 제대로 진행할 수 있다.
추가적으로 할 일