본 연구 논문에서는 대규모 언어 모델(L LM)을 특정 작업에 효율적으로 적용하기 위한 새로운 프롬프트 튜닝 방법인 LoPA(Low-Rank Prompt Adaptation)를 소개합니다.
최근 LLM은 퓨샷 학습 능력이 뛰어나지만, 특정 작업에 최적화하기 위해서는 여전히 미세 조정이 중요합니다. 하지만 모델이 커짐에 따라 모든 파라미터를 업데이트하는 것은 비효율적입니다. 이에 따라 적은 수의 파라미터만 조정하는 파라미터 효율적인 미세 조정(PEFT) 기법이 주목받고 있습니다. 하지만 기존 PEFT 방법들은 작업별 어댑터를 저장해야 하므로 확장성에 제약이 있습니다. 프롬프트 튜닝은 작업별 입력 접두어를 통해 모델을 커스터마이징하여 이러한 문제를 해결할 수 있는 방법이지만, LoRA와 같은 다른 PEFT 방법에 비해 성능이 떨어진다는 단점이 있습니다.
본 연구에서는 프롬프트 튜닝 기반 접근 방식인 LoPA를 제안하여 기존 방법들의 단점을 보완하고자 합니다. LoPA는 최첨단 PEFT 방법 및 전체 미세 조정과 비슷한 성능을 달성하면서도 파라미터 효율성이 높고 서버 기반 어댑터가 필요하지 않습니다.
LoPA는 작업별 정보를 모든 인스턴스에서 공유하는 작업별 요소와 각 인스턴스의 정보를 통합하는 인스턴스별 요소, 두 가지 구성 요소로 소프트 프롬프트를 생성합니다. 이는 기존 연구들처럼 한 가지 구성 요소에만 의존하는 것보다 더 나은 성능을 보입니다.
LoPA는 게이팅 함수를 사용하여 작업별 및 인스턴스별 구성 요소를 결합하여 각 인스턴스에 따라 작업별 정보를 활성화합니다.
인스턴스 수준 구성 요소에 저랭크 분해를 사용하여 파라미터 효율성을 향상시킵니다.
학습된 소프트 프롬프트는 입력에 접두어로 추가되어 서버에서 작업별 파라미터를 저장할 필요가 없습니다.
GLUE 데이터 세트의 6가지 벤치마크 NLU 작업과 MBPP 벤치마크의 코드 생성 작업, CruxEval 벤치마크의 두 가지 코드 이해 작업을 포함한 다양한 모델에서 광범위한 실험을 수행했습니다.
LoPA는 기존 프롬프트 튜닝 방법 및 DePT보다 평균적으로 높은 정확도를 보였으며, 특히 데이터가 제한된 환경에서 MRPC는 12.5%, RTE는 6.13% 향상된 성능을 보였습니다. 또한 LoPA는 FFT 및 LoRA와 유사한 성능을 달성하면서도 LoRA보다 760k 적은 파라미터를 사용했습니다.
LoPA는 모든 FM 백본에서 튜닝 없이 기준 모델의 pass@1 점수를 지속적으로 향상시켰습니다. 특히, CruxEval 작업에서 프롬프트 튜닝보다 성능이 뛰어났으며, CodeGen 및 DeepSeekCoder-1.3B와 같은 소형 FM에서는 약 2~4점, LLama-3 및 Phi-3와 같은 대형 FM에서는 8~11점 향상되었습니다.
MBPP의 코드 완성 작업에서 IDPG와 LoPA는 거의 동일한 성능 향상을 보였지만, LoPA는 CodeGen에서 사용된 파라미터 수의 약 절반, DeepseekCoder-7b에서 IDPG에서 사용된 파라미터 수의 5분의 1만 사용하여 이를 달성했습니다.
본 논문에서 제안한 LoPA는 적은 수의 파라미터를 사용하면서도 기존 프롬프트 튜닝 방법보다 뛰어난 성능을 보이며, 전체 미세 조정 및 LoRA와 비슷한 성능을 달성했습니다. LoPA는 작업별 정보와 인스턴스별 정보를 효과적으로 결합하고 저랭크 분해를 통해 파라미터 효율성을 높여 LLM의 효율적인 커스터마이징을 위한 새로운 방법을 제시합니다.
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문