[ICASSP 2024] Customising General Large Language Models for Specialised Emotion Recognition Tasks

안녕하세요. 최근에 세미나에서 발표한 NAACL 2024 논문의 경우도 Prompt를 활영하여 인코딩 하는 식으로 LLM을 사용하는 모습을 볼 수 있었는데 여기를 더 팔로업 해보고자 LLM을 감정 인식에 적용해본 비교 분석 논문을 읽어봤습니다. 그럼 리뷰 시작하겠습니다.

<Introduction>

최근에 ChatGPT와 같은 Large Language Model 즉, LLM이라는 것이 등장하면서 굉장히 많은 Task에 영향을 미치게 되었습니다. 물론 emotion recognition task에도 영향을 미쳤죠. LLM은 일반적으로 방대한 text 말뭉치라는 것에 대해서 사전학습이 되어 text generation이나 language understanding (NLU)를 비롯한 다양한 영역에서 아주 파워풀한 성능을 보입니다. 그런데 이 LLM에도 해결해야 할 몇가지 challenge가 있기는 한데요. LLM을 이용한 few-shot learning은 prompt 내에서 제한된 demonstration example을 제공함으로써 모델 성능을 향상 시키지만, prompt의 길이를 늘리면 inference cost가 기하급수적으로 증가한다는 문제도 있습니다. 또한, prompt가 지나치게 길면 최대 입력 합도를 초과하여 prompt가 잘릴 수 있다는 위험도 있습니다.

따라서, LLM을 효과적으로 사용하기 위해서는 domain 별 데이터셋에서 LLM을 효율적으로 fine-tuning하는 방법론이 무엇인지를 고민하는 것이 필요로 한데요. modal adaptation 기법은 모델의 기능을 특정 task나 doamin에 맞게 조정하는 것을 주요 목표로 하여 사전 학습된 모델을 더욱 세밀하게 다루기 위해서 만들어진 training strategy 입니다. 이 방법을 사용하면 사전 학습된 LLM의 language understanding 능력을 유지하면서 특정 downstream task에 맞게 조정할 수 있습니다.

위에 내용을 기반으로 본 논문에서는 emotion recognition task에 맞춤화된 LLM의 성능을 살펴보고, emotion recognition을 위해 디자인된 기존의 딥러닝 모델보다 LLM이 경쟁력 있는지에 대해서 다루고자 합니다. 이를 위해서 논문의 저자는 open source LLM, 즉, Chat General Language Model을 선택하여 비교하였고, deep prompt tuning (P-Tuning V2)와 low-rank adaptation (LoRA)라는 두가지 modal adaptation 기법을 사용합니다. 여기에 더해서 이러한 modal adaptation 기법을 통해 달성한 효과를 비교하기 위해서 다른 SOTA non-LLM 기반 연구랑도 비교 또한 하였습니다.

<Related Work>

LLM이 높은 성능을 보이면서 사전학습된 LLM을 위한 model adaptation domain에 대해서 상당히 연구가 진행되어 왔는데요. 이 분야에서 가장 기본적인 기법을 말하라하면 모든 모델의 파라미터를 재학습하는 full fine-tuning (FFT)가 있습니다. FFT를 사용하면 모든 모델의 파라미터를 수행하고자 하는 task를 위해서 재학습을 하는 것이니 당연히 성능을 향상시키기는 좋지만 학습 과정에서 상당한 computing 리소스를 요구해야 하기 때문에 현실적으로 사용하기 힘든 방법입니다. 그래서 cost 부담을 줄이기 위해서 parameter-efficient fine-tuning (PEFT)가 제안이 되었는데요. 간단히 설명드리면, 기존 매개변수를 수정하거나 모델 구조에 새로운 매개변수를 넣어 제한된 모델의 매개변수 sub set을 선택적으로 학습하는 것을 말합니다.

모델 파라미터를 부분만 학습하는 방법은 network 안에 있는 layer types 또는 내부 아키텍쳐의 특성을 조정하는 것도 포함되는데요. 파라미터를 추가하는 방법에는 크게 두 가지로 분류할 수 있습니다. 바로, Adapter-like 방법론과 Soft Prompt 방법론 입니다. Adapter 방식은 transformer sublayer 다음에 작은 fc layer를 넣는 것을 말합니다. Soft Prompt는 prompt에 단순 text 뿐만 아니라 학습 할 수 있는 prompt를 넣어 학습하는 것이라 보면 좋을 것 같습니다. 더 알고 싶으신 분들은 이 을 참고하시면 좋을 것 같습니다.

위에서 언급한 대로 본 논문에서는 두가지 모델 adaptation 방법인 P-Tuning v2와 LoRA를 사용하였습니다. 이 두가지 방법 모두 학습 가능한 매개변수 수가 제한되어 있기 때문에 합리적인 computing cost를 요구하니 적절한 비교대상이 될 겁니다.

<Adaptation of Large Language Models>

<General Language Model>

이 파트에서는 GLM에 대해서 설명해볼까 합니다. GLM은 General Language Model로 새로운 auto-regresive blank infilling objective를 기반으로 하는 일반적인 사전 학습 framwork로, 다양한 NLU 및 text generation task에 적용하여 사용할 수 있는데요. GLM은 NLU task를 task description을 포함하는 ‘cloze’ question으로 공식화하며, auto-regressive generation을 통해 답을 구할 수 있습니다. 여기서 놀라운 부분은 동일한 매개변수 수와 computing 리소스로 작업할 시에 GLM은 SuperGLUE라는 벤치마크에서 BERT를 능가하고, 비슷한 규모의 말뭉치에 대해 사전 학습된 경우 RoBERTa와 BART를 뛰어넘는 성능을 보인다고 하는데요.

본 논문에서 GLM의 예로 2023년 3월에 출시한 ChatGLM을 언급하는데요. ChatGLM은 GLM 기반의 AI 챗봇으로 ChatGPT에 영감을 얻어 code pre-training을 1조개 매개변수 기반 모델 GLM-130B에 통합하여 supervised fine-tuning과 같은 기술을 통해서 사람의 의도에 맞게 조정할 수 있도록 하였습니다.

<P-Tuning>

P-Tuning은 Prompt Tuning이라고 불리는 방법론으로 모든 모델 파라미터를 freeze하고 추가 파라미터를 이용하여 cost-effective model adaptation 방법론입니다. generation 및 knowledge probing task을 위해 특별히 설계된 deep prompt tuning에 최적화된 것으로 deep prompt tuning은 continuous prompt를 확장하여 다양한 셋팅에서 adaptation gap을 해소하고, 특히 작은 모델에서 효과적으로 작동한다고 합니다. 그럼에도 불구하고 P-Tuning 방법은 input embedding sequence 내에서 continous prompt를 전적으로 활용하기 때문에 특정 제약이 따르는데요. 이로 인해서 학습 가능한 수가 제한되며, input embedding은 model predict에 간접적으로 영향을 미치기도 한다고 합니다.

앞에서 언급한 문제들을 극복하기 위해서 P-Tuning V2 방법론은 input embedding sequence에만 있는 것이 아니라 모델의 모든 layer에 continous prompt를 통합합니다. Fig 1(a)를 통해 이를 확인할 수 있습니다. P-Tuning v2의 이러한 조정은 파라미터 효율성을 유지하면서 task별 capacity를 향상시키기 위해 더 많은 수의 tunable task-specific parameter를 도입하였다고 합니다. 또한 deeper한 layer에 추가된 prompt는 model predict에 더 직접적으로 영향을 미친다고 하네요. 본 논문에서 말하길, 현재 P-Tuning v2는 3억 개에서 10억 개의 매개변수에 이르는 모델 규모에서 fine tuning과 비슷한 성능을 달성하고 있다고 합니다. 특히 named entity recognition과 같은 task에서 높은 성능을 달성하였다고 하네요.

<Low-Rank Adaptation>

Low-Rank Adaptation (LoRA)는 reparameterisation 기반 모델 adaptation 방법론 중 하나로, Figure 1(b)를 통해서 어떤 식으로 작동하는지 그림으로 확인할 수 있습니다. LoRA는 사전 학습된 언어 모델이 ‘intrinsic dimension’이 낮기 대문에 더 작은 subspace에 무작위로 projection되더라도 여전히 효과적으로 학습할 수 있다는 것에서 영감을 받은 방법론인데요. 사전 학습된 모델 weight를 freeze한 뒤에 학습 가능한 low-rank decomposition matiric를 transformer architecture의 각 layer에 넣어 downstreem task에서 학습 가능한 파라미터의 수를 크게 줄입니다. 여기에는 weight에 대한 update도 adaptation 과정에서 ‘intrinsic rank’가 낮다는 가설이 존재합니다. LoRA는 Adam으로 fine-tuning된 GPT-3의 17B 파라미터와 비교했을 때 학습 가능한 파라미터 수를 10,000배 줄이고 GPU 메모리 요구량을 3배 줄였음에도 불구하고 효과 측면에서 RoBERTa, DeBERTa, GPT-2, GPT-3이 전체 fine-tuning 성능과 비슷하거나 능가함을 보였습니다. 여기서 중요한 포인트는 추가적인 inference latency가 발생하지 않는다는 점입니다.

<Experiments and Results>

<Datasets>

본 논문에서 사용한 데이터셋은 6개로 Table 1을 통해서 구체적으로 데이터셋에 대한 정보를 확인할 수 있습니다. 논문의 저자가 중국인이여서 그런지 영어 데이터셋 외에도 추가적으로 중국어 데이터셋을 사용한 것을 볼 수 있습니다.

<Implementation Detail>

본 논문이 방법론을 분석한 논문이기도 하고, prompt를 어떻게 가져갔는지를 보고 싶어서 읽은 논문이기도 해서 이 부분에 대해서 다른 리뷰에 비해서 조금 디테일하게 언급드리고자 합니다.

우선 SST 데이터셋의 경우, binary classfication과 fine-class classification에 대해서 모두 수행하였습니다. positive, neutral, negative로 구분되는 3 class로 구성된 Mastodon에 대해서는 3-class classification을 수행하였구요. CH-SIMS 데이터셋과 MOSI는 positive와 negative로 나눠 분류를 수행했습니다. 마지막으로 Friends와 M3ED에 대해서는 7감정에 대해서 분류를 수행했습니다.

각 데이터셋에 대해서는 3가지 비교 실험을 설계했는데요. adaptation을 사용하지 않은 ChatGLM2, P-Tuning v2로 adaptation을 적용한 ChatGLM2, 그리고 LoRA로 adaptation을 적용한 ChatGLM2로 설계하였습니다. ChatGLM2로 inference하는 동안 prompt를 사용하여 응답을 얻는데요. prompt는 emotion recognition을 필요로 하는 task 안내 문장을 모두 포함하도록 구성하였습니다. prompt의 구조는 다음과 같이 구성하였다고 합니다 : “Classify the sentiment of the sentence to Emotion 1, Emotion 2, … or Emotion k: <provide only one sentence from a test set>” 여기서 k 값은 데이터셋에 특정한 감정 카테고리의 수에 따라 결정됩니다. 예를 들어, “Classify the sentiment of the sentence to Positive, Negative or Neutral”라는 prompt는 MOSI의 경우 k=3 입니다. 모델을 조정할 때는 각 학습 sample 앞에 task 안내 문장을 추가하여 완전한 prompt를 구성한 다음에 모델에 입력합니다.

<Results and Discussion>

Table 2와 Table 3를 통해서 MOSI 데이터셋에서의 성능과 SST 데이터셋에서의 성능을 확인할 수 있습니다.

Table 4에서는 CH-SIMS와 Mastodon 데이터셋에서의 성능을 확인할 수 있습니다.

Table 5를 통해서 Friends에서와 M3ED 데이터셋에서의 성능을 확인할 수 있습니다.

먼저 adaptation 유무에 따른 ChatGML2의 성능을 비교할 때 일반적으로 P-Tunning v2 또는 LoRA에 의해 adaptation model이 binary 혹은 multi-class classification에서 모두 adaptation을 사용하지 않은 모델보다 훨씬 뛰어난 성능을 보인다는 것을 확인할 수 있습니다. 예를 들어서 Table 3에 SST 데이터셋에서는 P-Tuning v2가 가장 큰 성능 개선을 보였는데요. adaptation 전 보다 성능이 거의 두 배 가까이 향상된 것을 볼 수 있는데 이는 P-Tunning V2와 LoRA 방법론 모두 emotion recognition에서 LLM을 adaptation하는데 효율적이다라는 것을 보여주기도 합니다.

게다가, 대부분의 adaptation이 적용된 ChatGLM2가 다른 SOTA 모델보다 성능이 뛰어나는 것을 볼 수 있지만 classification의 복잡성에 따라서 차이가 발생하는 것을 알 수 있는데요. binary 혹은 3-class와 같이 간단한 task에서는 adaptation 모델이 SOTA 모델보다 종종 성능이 높은 것을 확인할 수 있습니다. 반대로 5개 이상의 class로 구성된 데이터셋에 대해서는 (예를 들어서 Friends와 M3ED를 말할 수 있겠네요) adpatation model은 SOTA에 비해서 상당한 성능 격차가 나는 것을 확인할 수 있습니다. 이는 학습과 inference를 위한 context 정보가 없었기 때문이라고 본 논문의 저자는 말하는데요. context가 풍부한 maston 데이터셋의 경우 adaptation 과정에서 context를 고려하지 않아도 adaptation 모델이 SOTA task에 비해 좋은 성능을 보이는 것을 볼 수 있습니다. 이는 3-class classification에는 상대적으로 단순하거나 데이터셋이 context 정보에 덜 의존하기 때문일 수 있다고 논문의 저자는 말하는데요. 일반적으로 이러한 결과는 사전 학습되고 일반화된 ChatGLM2가 많은 학습 데이터와 computing 리소스 없이도 특정 domain에 잘 knowledge를 transfer할 수 있음을 보입니다.

마지막으로 P-Tuning v2와 LoRA를 비교했을 때, LoRA는 binary task에서 더 나은 성능을 보이는 반면에 P-Tuning v2는 binary 이상의 class에서 더 잘 워킹하는 것을 보입니다. 이를 통해서 최적의 adaptation 방식은 데이터셋 마다 다르다 라는 결론을 내릴 수 있을 것 같습니다.


본 논문을 통해서 사실 더 자세히 알고 싶었던 부분은 대체로 감정 인식에서는 Prompt를 어떻게 가져가는지가 궁금했는데, NAACL논문에서도 그렇고 이번 논문에서도 그렇고 왜 이렇게 Prompt를 구성했는지에 대해서 이유가 언급되지 않아 아쉬운 것 같습니다. 이 부분에 대해서는 조금 더 팔로업을 한 뒤에 적용해보면 좋을 것 같습니다. 그럼 읽어주셔서 감사합니다.

Author: 김 주연

4 thoughts on “[ICASSP 2024] Customising General Large Language Models for Specialised Emotion Recognition Tasks

  1. 안녕하세요 ! 좋은 리뷰 감사합니다.
    LLM 활용에서 입력 프롬프트에 길이 제한이 있어 들어가는 프롬프트가 잘릴 수도 있다는 것은 처음 알게 되었습니다. 제가 최근에 LLM 관련 서베이를 했을 때 입력으로 들어가는 프롬프트의 길이가 천차만별로 달랐었던 거 같은데 이런 입력 길이 제한은 어떻게 설정되는 것인가요 ??
    그리고 제가 task를 잘 몰라서 드리는 질문일 수 있지만 auto regressive blank infilling objective가 무엇인지 조금만 더 자세히 설명해주시면 감사드리겠습니다.

    1. 안녕하세요. 댓글 감사합니다!

      1) LLM의 입력 길이 제한은 사실 어떤 모델을 사용하는지에 따라 달라지는 거라 어떤 상황에서는 A 길이, 다른 상황에서는 B 길이 이렇게 가져가지는 않는 것 같습니다. 근데 최근에 나오는 LLM의 경우 입력 길이를 길게 가져가는 것으로 알고 있어 정말 길게 입력하지는 않는 이상 입력 길이 제한에 대해서 크게 고민하실 필요는 없어 보입니다.

      2) auto-regressive란 이전의 예측 결과를 기반으로 다음 단어를 예측하는 것을 말하고 blink infilling은 빈칸 채우기를 말하는데요. 이를 종합해서 말하면 GLM은 문장에서 일부를 빈칸으로 지정하고 이를 예측하는 식으로 학습된다고 이해할 수 있습니다.

      감사합니다.

  2. 안녕하세요 김주연 연구원님 좋은 리뷰 감사합니다.

    p-tuning이란 모든 모델 파라미터를 freeze하고 추가 파라미터를 tuning하는 것으로 이해하였습니다. 그럼 p-tuning은 일종의 adapter 방법론에 해당하는 것일까요?

    다음으로 continuous prompt란 무엇인지 궁금합니다. continuous prompt로 인해 llm의 학습 가능한 수가 제한된다고도 설명해 주셨는데 해당 현상이 왜 발생는지도 궁금합니다…

    1. 안녕하세요. 댓글 감사합니다.

      1) p-tuning은 일종의 adapter 방법론으로 보기는 어려울 것 같고, prompt를 이용하여 튜닝을 하는 것이기 때문에 prompt를 이용하여 adaptation 효과를 가져오는 방법론으로 보는 것이 더 좋을 것 같습니다.

      2) continous prompt는 prompt 튜닝에 넣는 prompt 종류 중 하나를 말하는데 실수값이 들어간 prompt라고 보시면 될 것 같습니다. https://codingsmu.tistory.com/162 <- 이글에 soft prompt 부분을 참고하면 시각적으로 더욱 와닿을 것 같습니다. 3) 저는 llm의 학습 가능한 수가 제한된다는 말을 prompt의 길이 제한 때문에 continous prompt를 사용하게 되는 경우 이산적인 값이 아닌 연속된 값이 들어가기 때문에 그 만큼 더 길이를 많이 차지하게 되어 제한된다라고 이해하였습니다. 감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다