LoRA(Low-Rank Adaptation)는 일반적으로 사용되는 미세 조정 기술로 기본 LLM을 특정 작업에 효율적으로 적용할 수 있습니다. 최근 싱가포르의 Sea AI Lab, 세인트루이스의 워싱턴 대학, Allen Institute for Artificial Intelligence의 연구원들은 LLM이 적은 수의 샘플로 전례 없는 다양한 새로운 작업에 적응할 수 있는 새로운 LoraHub 학습 방법을 제안했습니다. 연구원들은 관련 연구를 용이하게 하기 위해 LoraHub의 코드를 공개했습니다.
OpenAI GPT, Flan-T5 및 LLaMA와 같은 대규모 사전 훈련된 언어 모델(LLM)은 자연어 처리(NLP) 분야의 발전을 크게 촉진했습니다. 이러한 모델은 많은 NLP 작업에서 매우 잘 수행됩니다. 그러나 이러한 모델은 매개 변수가 많기 때문에 미세 조정에는 계산 효율성 및 메모리 사용과 같은 문제가 있습니다.
LoRA(Low-Rank Adaptation)는 이러한 문제를 완화할 수 있는 효율적인 미세 조정 기술입니다. 메모리 요구 사항과 계산 비용을 줄여 LLM 교육 속도를 높입니다.
LoRA의 접근 방식은 기본 모델(즉, LLM)의 매개변수를 고정한 다음 경량 보조 모듈을 훈련시키는 것이며, 이 모듈은 일반적으로 대상 작업에서 우수한 성능을 달성합니다.
이전 연구에서는 LoRA를 사용하여 효율성을 개선하는 방법을 살펴보았지만 LoRA 모듈의 고유한 모듈성과 구성 가능성에 대해서는 거의 연구하지 않았습니다. 일반적으로 이전 방법으로 훈련된 LoRA 모듈은 다양한 작업과 도메인에 특화되어 있습니다. 그러나 LoRA 모듈의 본질적인 모듈 특성은 그 자체로 흥미로운 연구 질문을 제시합니다. LoRA 모듈을 사용하여 LLM을 보이지 않는 작업으로 효율적으로 일반화할 수 있습니까?
이 백서는 광범위한 작업의 일반화에서 LoRA의 모듈성의 잠재력을 발굴하여 더 이상 단일 작업 교육에 제한되지 않고 알려지지 않은 작업에서 특정 성능을 달성하기 위해 LoRA 모듈을 신중하게 구성합니다. 가장 중요한 점은 이 접근 방식이 LoRA 모듈의 자동 조립을 가능하게 하여 수동 설계나 전문가가 필요하지 않다는 것입니다. 이전에 본 적이 없는 작업의 소수의 예만 사용하여 새로운 방법은 사람의 개입 없이 호환 가능한 LoRA 모듈을 자동으로 조정합니다. 연구원들은 특정 작업에 대해 훈련된 LoRA 모듈을 결합할 수 있다고 가정하지 않았지만 사양을 준수하는 모듈(예: 동일한 LLM 사용)을 유연하게 통합할 수 있습니다. 이 방법은 사용 가능한 다양한 LoRA 모듈을 사용하기 때문에 연구원은 LoraHub 및 새로운 학습 방법 LoraHub Learning이라고 명명했습니다.
종이 주소: https://arxiv.org/abs/2307.13269
코드 주소: https://github.com/sail-sg/lorahub
또한 기본 LLM은 Flan-T5를 사용하고 평가 벤치마크는 널리 알려진 BBH 벤치마크로 실험을 통해 새로운 방식의 효율성을 검증했다. 결과는 몇 번의 LoraHub 학습 절차를 통해 LoRA 모듈 조합을 보이지 않는 작업에 효율적으로 사용할 수 있음을 보여줍니다 . 새로운 방법으로 얻은 점수가 퓨샷 컨텍스트 학습의 성능에 매우 가깝다는 점은 주목할 가치가 있습니다.
또한 새로운 방법은 상황 학습에 비해 추론 비용을 크게 줄일 수 있으므로 LLM에 대한 예제 입력이 필요하지 않습니다. 이 학습 프로세스의 또 다른 중요한 이점은 계산 효율성입니다. LoRA 모듈의 계수를 얻기 위해 기울기가 없는 방법을 사용하고 보이지 않는 작업에 대해 몇 가지 추론 단계만 필요합니다. 예를 들어, BBH 벤치마크에서 평가할 때 새로운 방법은 단일 블록 A100을 사용하여 1분 이내에 더 나은 성능을 달성합니다.
그림 1: 제로 샷 학습, 퓨 샷 컨텍스트 학습 및 새로 제안된 몇 샷 LoraHub 학습. 컴포지션 프로세스는 샘플 단위가 아닌 작업 단위로 수행됩니다. 새로운 방법의 추론 처리량은 제로샷 학습과 유사하며 BIG-Bench Hard(BBH) 벤치마크의 성능은 상황 학습에 가깝습니다.
LoraHub 학습은 CPU 전용 컴퓨터에서도 수행할 수 있다는 점을 지적하는 것이 중요합니다. 결국 LLM 추론을 처리하는 데 능숙해야 합니다. 다재다능하고 강력한 성능을 갖춘 이 접근 방식은 사용자가 훈련된 LoRA 모듈을 쉽게 공유 및 획득하고 새로운 작업에 사용할 수 있는 플랫폼으로 이어질 것을 약속합니다. 연구원들은 이러한 플랫폼을 통해 수많은 기능을 포함하는 재사용 가능한 LoRA 모듈 라이브러리를 개발할 수 있다고 생각합니다. 이것은 또한 협업 AI 개발을 위한 단계를 설정하여 커뮤니티가 동적 LoRA 구성을 통해 LLM의 기능을 집합적으로 강화할 수 있도록 합니다. 모듈을 공유하고 재사용할 수 있는 이러한 잠재력은 다양한 작업에서 리소스를 최적으로 활용할 수 있게 해줍니다.
방법
그림 2에서 볼 수 있듯이 연구원들은 먼저 다양한 업스트림 작업에 대해 LoRA 모듈을 교육합니다. 구체적으로, N개의 서로 다른 업스트림 작업에 대해 N개의 LoRA 모듈이 먼저 각각 훈련됩니다. 그런 다음 새 작업(그림 2의 부울 식)에 대해 LoraHub 학습 프로세스는 해당 작업의 예를 통해 안내됩니다.
그림 2: 새로운 방법은 구성 단계(COMPOSE)와 적응 단계(ADAPT)의 두 단계로 구성됩니다.
결합 단계는 가중치 계수 세트를 통해 기존 LoRA 모듈을 통합 모듈로 통합하는 것입니다. 적응 단계에서는 보이지 않는 작업의 몇 가지 예를 사용하여 결합된 LoRA 모듈을 평가합니다. 그런 다음 기울기가 없는 알고리즘을 사용하여 위의 가중치를 최적화합니다. 여러 번의 반복을 수행한 후 LLM에 통합하여 목표 작업을 수행할 수 있는 고도로 적응된 LoRA 모듈이 생성됩니다. 방법에 대한 자세한 수학적 설명은 원본 논문에서 찾을 수 있습니다.
평가하다
연구원들은 LLM Flan-T5를 사용하여 새로 제안된 방법을 평가했습니다.
표 1은 실험 데이터를 나타낸 것으로, 새로운 방법의 효율성은 제로샷 학습에 가깝고, 퓨샷 시나리오에서의 성능은 상황 학습에 가깝다는 것을 알 수 있다. 이 관찰은 다섯 가지 다른 실험의 평균을 기반으로 합니다.
표 1: 제로 샷 학습(Zero), 퓨 샷 컨텍스트 학습(ICL) 및 새로 제안된 몇 샷 LoraHub 학습의 성능 비교.
실험에서 새로운 방법을 사용하는 모델이 사용하는 토큰의 수는 제로샷 방법과 동일하여 컨텍스트 학습에 사용되는 토큰의 수보다 현저히 적다는 점을 지적하는 것이 중요합니다. 성능의 가끔 변동에도 불구하고 새로운 방법은 대부분의 경우 제로샷 학습을 능가합니다. 새로운 방법이 실제로 빛을 발하는 부분은 최첨단 성능이 문맥 학습을 능가하지만 더 적은 수의 토큰을 사용한다는 것입니다. LLM 시대에는 추론 비용이 입력 길이에 비례하므로 입력 토큰을 경제적으로 활용하여 거의 최적의 성능을 달성하는 LoraHub의 기능이 점점 더 중요해질 것입니다.
그림 3에서 볼 수 있듯이 새로운 방법은 일반적으로 보이지 않는 작업에 대한 예제 수가 20개 미만일 때 LoRA 미세 조정보다 성능이 우수합니다.
그림 3: 기존 미세 조정(FFT), LoRA 미세 조정(LoRA) 및 새로 제안된 LoraHub 학습(Ours)의 다양한 작업 예제에서 성능 비교.