Abstract:
- 일반적인 언어 모델의 훈련:
- (1) 비지도(pretraining) 단계: 대규모의 일반 텍스트로부터 학습하여, 언어 모델이 다양한 주제·도메인에 대한 폭넓은 지식을 얻게 됨
- (2) 지도·강화 학습 단계(instruction tuning & RL): 보통은 사람이 작성하거나 사람이 선호하는 형식의 응답(즉, 사용자 지향적인 응답)을 학습시키기 위해 매우 방대한 양의 지시문(instructions) 데이터와 보상 모델(RLHF, Human Feedback 등)을 사용하게 됩니다.
- LIMA 는 이 두번째 단계에서 정말로 많은 양의 데이터가 필요한가? 라는 질문에 의문을 던짐.
- 많은 데이터가 필요없다를 증명하기 위해 LIMA 는 기존 LLaMa 65B 모델을 기반으로, 단 1,000개의 정제된(prompt-response) 쌍만을 사용해 간단한 지도 학습(슈퍼바이즈드 파인튜닝) 만 수행해보고 성능을 봄.
- 달리 말하면, 강화 학습(RL)이나 휴먼 피드백 모델링을 전혀 사용하지 않았습니다.
- 여기서의 훈련 데이터는 일반 대화형 Q&A나 지시문과 같이 “실제로 사람들이 묻고 싶은 질문들”을 선별하여, 그에 대응하는 “고품질의 응답”을 붙인 형태로 구성했습니다. 고품질의 데이터만 있으면 된다고 함.
- 결과는 다음과 같음:
- 이렇게 소수의(1,000개) 지도 데이터만 사용했음에도, 복잡한 질의(예: 여행 일정 계획, 대체 역사 시나리오 등)에 대해 상당히 높은 품질의 응답을 생성함.
- 이는 “모델이 다양한 형식을 작은 예시 수로도 학습”할 수 있음을 의미
- 사람 평가 결과에서 LIMA가 생성한 응답을 GPT-4, Bard, DaVinci003(인간 피드백으로 학습된 모델) 등과 비교했을 때, 43%의 경우에서 GPT-4와 비슷하거나 선호되었고, Bard 대비로는 58%, DaVinci003 대비로는 65% 수준으로 우수한 평가를 받았습니다.
- 데이터의 수로도 성능을 올릴 수 있지만 이건 미미하고 중요한 건 고품질의 데이터라는 걸 증명한셈. 따라서, 모델이 사용자 지향적으로 응답하도록 만드는 데에는 방대한 양의 추가 지도·강화 학습 데이터보다 소수의(엄선된) 고품질 예시가 훨씬 더 효과적일 수 있습니다.
- 그리고 이러한 결과는 대부분의 지식은 이미 대규모 비지도 예비 학습(pretraining) 단계에서 모델이 학습한다는 점을 시사함.
Introduction:
- 기존에는 언어 모델의 사전 학습이 끝난 후 모델을 실제 사용자에게 도움이 되는 형태로 만들기 위해, 최근에는 주로 대규모 지시문(instruction) 튜닝과 인간 피드백을 활용한 강화 학습(RLHF) 이 사용되어 왔습니다.
- 하지만 기존 방법들은 매우 큰 규모의 데이터를 만들고, 이를 모델에 맞춰 학습시키는 데 막대한 비용과 계산 자원이 필요하다는 단점이 있음.
- 그런데 과연 이런 대규모 데이터와 복잡한 튜닝 과정이 정말 필수적일까? 라는 의문을 던짐
- 논문에서는 “이미 사전 학습을 통해 대부분의 지식과 능력은 갖추어져 있으며, 이를 적절히 정제해주기만 하면 사용자에게 유용한 응답을 생성할 수 있다”는 가설을 검증하고 싶어함.
- LIMA의 접근 방식:
- LIMA는 사전 학습을 마친 LLaMa(65B 파라미터) 모델을 기반으로, 단 1,000개의 고품질 예시(prompt-response 쌍)만을 사용해 간단한 지도 학습 방식으로 튜닝한 모델입니다.
- 여기서 사용된 1,000개의 예시는 크게 두 종류:
- 커뮤니티 포럼(예: Stack Exchange, wikiHow)에서 추출한 질의-응답 750개
- 품질이 높고, 다루는 주제가 다양하도록 선별
- 연구진이 직접 작성한 250개의 예시
- 다양한 작업(task)과 통일된 응답 스타일(AI 비서 같은 문체)을 보여주는 예시를 의도적으로 구성
- 커뮤니티 포럼(예: Stack Exchange, wikiHow)에서 추출한 질의-응답 750개
- 여기서 사용된 1,000개의 예시는 크게 두 종류:
- LIMA 가 말하는 정렬 과정은 모델이 사용자와 상호작용하는 스타일이나 형식을 학습하여, 이미 사전 학습 중에 획득한 지식과 능력을 노출시키는 간단한 과정일 수 있다고 가정함.
- LIMA는 사전 학습을 마친 LLaMa(65B 파라미터) 모델을 기반으로, 단 1,000개의 고품질 예시(prompt-response 쌍)만을 사용해 간단한 지도 학습 방식으로 튜닝한 모델입니다.
- 실험 결과:
- 모델 성능 평가는 300개의 까다로운 테스트 프롬프트로 진행했으며, 인간 평가 및 GPT-4 평가를 통해 다른 최신 모델들과 비교했습니다.
- DaVinci003(RLHF로 학습된 OpenAI 모델) 나 Alpaca(52,000개 예시로 학습된 모델, 65B 버전) 보다 LIMA가 오히려 더 선호된다는 결과를 얻었습니다.
- 다만 GPT-4, Claude, Bard 등 최신 대규모 모델들과 비교할 때 전반적으로는 그 모델들이 선호되지만, LIMA도 43%(GPT-4), 46%(Claude), 58%(Bard) 의 비교에서 동등하거나 더 선호된 응답을 보였습니다.
- 절대적인 품질을 비교해보면 88% 의 응답이 질문의 요구사항을 충족하고 그중 50% 는 뛰어난(excellent) 수준으로 평가되었습니다.
- 추가 실험(Ablation)과 분석:
- 데이터의 양을 단순히 늘리는 것만으로는 성능 향상이 크지 않다는 사실을 확인했습니다 (0에서 60을 만드는 건 쉬우나, 60에서 100을 만드는 건 어렵다는 말이 생각나네)
- 즉, “양보다 질”이 훨씬 중요하며, 다루는 프롬프트의 다양성이나 데이터의 다양성 예시의 고품질이 핵심이라는 결론에 도달했습니다.
- 대화 예시가 없는 상태에서도 LIMA는 어느 정도의 다중 턴(multi-turn) 대화를 문제없이 수행했다고 함. 그리고 추가적으로 단 30개의 대화 예시를 더 넣어주었을 때, 다중 턴 대화 성능이 훨씬 더 좋아졌다는 점도 인상적입니다
정렬(Alignment):
- 슈퍼피셜 정렬 가설(Superficial Alignment Hypothesis) 을 제시합니다:
- 모델의 지식과 능력은 거의 전적으로 사전 학습(pretraining) 중에 학습되며, 정렬(alignment)은 사용자와 상호작용할 때 어떤 형식의 하위 분포(subdistribution of formats)를 사용할지를 모델에게 가르칩니다.
- 만약 이 가설이 옳다고 가정하면, 즉 정렬이 주로 스타일 학습에 관한 것이라면, 소량의 예제로도 사전 학습된 언어 모델을 충분히 조정할 수 있다는 결론에 도달합니다 [Kirstain et al., 2021].
데이터셋 수집:
- 가설을 시험하기 위해, 우리는 다음과 같은 방법으로 데이터를 수집했습니다:
- 1,000개의 프롬프트와 응답(pair) 로 구성된 데이터셋을 만들었습니다.
- 여기서 응답(output) 은 스타일적으로 일관성을 가지며, 입력(prompt) 은 다양성을 갖추도록 했습니다.
- 응답은 도움이 되는 AI 어시스턴트의 스타일을 따르도록 했습니다.
- 데이터 출처 및 구성:
- 커뮤니티 Q&A 포럼에서 예제 수집:
- Stack Exchange와 wikiHow 등에서 품질 높은 질문과 답변을 선별했습니다.
- 다양한 주제와 분야를 포함하도록 노력했습니다.
- 수작업으로 작성한 예제:
- 연구팀이 직접 250개의 프롬프트와 응답을 작성했습니다.
- 과업(task)의 다양성을 높이고, 일관된 응답 스타일을 유지하는 데 중점을 두었습니다.
- 커뮤니티 Q&A 포럼에서 예제 수집:
- 추가 데이터 수집:
- 테스트 세트: 모델의 성능 평가를 위해 300개의 프롬프트를 별도로 수집했습니다.
- 개발 세트: 모델의 튜닝과 검증을 위해 50개의 프롬프트를 추가로 수집했습니다.
- 데이터 수집 방법:
- Stack Exchange:
- 품질과 다양성을 고려하여 샘플링을 진행:
- 커뮤니티를 STEM 분야(75개)와 기타 분야(99개) 로 나누고, 5개의 특수 분야는 제외
- STEM: 프로그래밍, 수학, 물리학
- 기타: 영어, 요리 여행 등
- 도움이 되는 AI 어시스턴트의 스타일에 맞추기 위해, 자동으로 다음과 같은 필터를 적용
- 너무 짧거나(1200자 미만) 너무 긴(4096자 초과) 답변 제외
- 1인칭 표현("I", "my")을 사용하는 답변 제외
- 다른 답변을 언급하는 표현("as mentioned", "stack exchange" 등) 제거
- 링크, 이미지, 기타 HTML 태그 제거 (코드 블록과 목록은 유지)
- 선택 기준:
- 제목만으로 완전한 질문(본문 없이)이 될 수 있는 높은 점수의 질문을 선택
- 각 질문에 대해 최고의 답변을 선택하되, 긍정적인 점수(최소 10점 이상) 를 가진 답변만 포함
- 품질과 다양성을 고려하여 샘플링을 진행:
- wikiHow:
- wikiHow는 다양한 주제에 대한 240,000개 이상의 "방법(how-to)" 기사를 제공하는 온라인 위키 스타일의 출판물임.
- 누구나 기여할 수 있지만, 철저한 검토 과정으로 인해 높은 품질의 컨텐츠를 유지하고 있다는게 특징임.
- 데이터 샘플링 방법:
- 200개의 기사를 샘플링, 19개의 카테고리 중 하나를 먼저 선택하고, 그 안에서 기사를 선택하여 다양성을 확보.
- 프롬프트로는 제목을 사용했습니다. 예: "How to cook an omelette?" (오믈렛을 요리하는 방법?)
- 응답으로는 기사의 본문을 사용
- 링크, 이미지, 특정 섹션 등을 제거하기 위한 전처리 규칙을 적용
- Pushshift Reddit 데이터셋:
- Reddit은 전 세계에서 가장 인기 있는 웹사이트 중 하나로, 사용자가 컨텐츠를 공유, 토론, 투표할 수 있는 사용자 생성 서브레딧(subreddit) 으로 구성됩니다.
- 그러나 그 인기 때문에, Reddit은 사용자들을 즐겁게 하는 데 더 초점이 맞춰져 있어, 유머러스하거나 풍자적인 댓글이 진지하고 정보 제공적인 댓글보다 더 많은 투표를 받는 경우가 많습니다.
- 데이터 샘플링 방법:
- 두 개의 서브레딧으로 범위를 제한
- r/AskReddit
- r/WritingPrompts
- 수작업으로 선별하여 적절한 예제를 수집했습니다.
- 두 개의 서브레딧으로 범위를 제한
- Stack Exchange:
- 정리하자면 커뮤니티 Q&A 사이트에서 품질 높은 데이터를 수집하여, 도움이 되는 AI 어시스턴트의 스타일과 일치하는 응답을 확보했습니다.
- 각 플랫폼의 특성과 데이터의 특성을 고려하여 적절한 필터링 및 선별 과정을 거쳤습니다.
- 특히 Reddit의 경우, 자동화된 방법으로 적절한 데이터를 수집하기 어려웠기 때문에 수작업으로 선별했습니다.
- 이렇게 수집된 데이터를 통해 모델이 다양한 프롬프트에 대해 일관된 스타일의 고품질 응답을 생성하도록 학습시킬 수 있었습니다.
왜 적을수록 더 나은가? 데이터 다양성, 품질, 양에 대한 소거 실험:
- 사전 실험에서는 1,000개의 예제로도 7B 모델을 튜닝할 수 있었지만, 안정성을 향상시키기 위해 최소 2,000개의 예제를 사용하는 것이 좋다는 것을 발견. (모델의 크기가 더 커지면 더 필요할수도.) (안정성이란 모델의 성능이 덜 변동적이고 더 예측 가능한 것)
- 프롬프트 다양성이 모델 성능에 미치는 영향을 테스트했는데 프롬프트의 다양성이 증가하면 모델의 일반화 능력과 응답 품질이 향상된다고 함.
- 응답의 품질은 Likert 척도에서 반등급 정도 (= 0.5점) 이상 차이가 남.(2점: 약간 도움됨, 3점: 적당히 도움됨)
- 데이터 다양성과 응답 품질을 향상시키는 것이 모델 성능에 더 큰 영향을 미침.
- 데이터의 양은 안정성에 영향을 줌 .
- 고품질의 다양한 데이터셋을 구축하는 데 노력과 자원을 투자하는 것이 모델 성능 향상에 효과적.