본문 바로가기
논문리뷰

[논문리뷰] Alpaca 논문 리뷰

by 단깅수 2025. 7. 26.
728x90

Alpaca 논문 리뷰입니다.

 

논문 : Alpaca: A Strong, Replicable Instruction-Following Model

저자 : Rohan Taori* and Ishaan Gulrajani* and Tianyi Zhang* and Yann Dubois* and Xuechen Li* and Carlos Guestrin and Percy Liang and Tatsunori B. Hashimoto

 

[1] Introduction

최근 몇 년간 LLM 분야에서 가장 주목받는 기술은 instruction-following task, 즉 지시를 이해하고 따르는 언어모델입니다.

 

OpenAI의 GPT 3.5, ChatGPT, Anthropic의 Claude 등은 일상 속에서 자연어로 명령을 주고받으며 유용한 정보를 생성하거나 작업을 지원하는데 널리 사용되고 있습니다.

 

이러한 모델들은 점점 더 정교해지고 있지만, 여전히 해결되지 않은 여러 한계점을 지니고 있습니다.

 

1. 잘못된 정보 생성 (Hallucination)

2. 사회적 편향과 유해한 표현 출력

3. 모호하거나 비일관된 응답

 

이러한 문제를 개선하려면 다양한 LLM 연구자들이 적극적으로 실험하고 개선 방안을 제시해야 합니다.

하지만 대부분의 instruction-following 모델들은 비공개 모델이며 소스코드나 가중치가 공개되어 있지 않습니다.

이 점이 학계와 오픈소스 커뮤니티의 참여를 가로막는 큰 장애물로 작용해왔습니다.

 

그래서 본 저자들은 Meta의 LLaMa 7B 모델을 기반으로 오픈소스 모델을 개발하였고 이것이 Alpaca입니다.

 

Alpaca는 Meta의 LLaMa 7B 모델을 기반으로 52,000개의 instruction-following 예제를 이용해 파인튜닝된 모델입니다.

 

특징적으로는 위의 예제들이 OpenAI의 text-davinci-003을 통해 자동 생성된 데이터 (Self-Instruct 방식) 라는 점입니다.

 

Alpaca의 핵심 특징은 다음과 같습니다.

1. 작고 가볍다 : 7B 파라미터 규모로, text-davince-003과 유사한 응답을 보여주면서도 훨씬 가볍습니다.

2. 복제 비용이 낮다 : 약 600달러 이하의 GPU 비용으로 전체 파인튜닝을 재현할 수 있습니다.

3. 파이프라인이 공개되어 있다 : 데이터 생성 방식, 학습 레시피, 실험 코드까지 모두 Github에서 확인할 수 있습니다.

 

이러한 접근 방식은 처음으로 고성능 지시 수행 언어모델의 재현성을 연구자에게 개방함으로써 누구나 instruction 모델의 작동 원리와 한계, 가능성을 실험할 수 있는 기반을 제공했다는 데 의의가 있습니다.

 


[2] Related Work

본 Paper에는 관련 연구 부분이 작성되어 있지 않지만 나름 LLaMa와 Self-Instruct 정도는 짚고 넘어가야 할 것 같아서 두 논문도 간단히 요약하고 넘어가도록 하겠습니다.

 

1) LLaMa

 

GPT-3, PaLM 등 거대 언어모델은 운영 비용이 높고 연구 재현성이 떨어지는 문제를 가지고 있었습니다.

이러한 상황을 극복하기 위해 Meta는 보다 작고 효율적인 구조를 갖춘 고성능 언어모델을 목표로 LLaMa를 개발하였습니다.

 

LLaMa는 7B, 13B, 30B, 65B 등 다양한 크기로 구성되어 있으며, GPT-3보다 적은 파라미터로도 유사하거나 높은 성능을 보입니다.

학습 데이터는 Common Crawl, C4, Github, Wikipedia, Books 등 고품질 오픈 데이터셋으로 구성되어 있고

약 1조 token 규모의 데이터로 사전학습되었다고 합니다.

PreNorm + SwiGLU + RoPE => Transformer 아키텍쳐 최적화

 

2) Self-Instruct

 

지시문을 따르는 instruction-following model을 만들기 위해서는 보통 수천~수만 개의 질문-답변 또는 명령-응답 형태의 학습 데이터가 필요합니다.

그러나 이 데이터를 사람의 손으로 일일이 만드는 것은 시간과 비용 측면에서 비효율적입니다.

이를 해결하기 위한 자동화 기법으로 Self-Intruct가 제안되었습니다.

 

Self-Instruct의 단계별 절차:

1. 수작업으로 생성한 instruction 예시 수십 ~ 수백 개 확보

2. 이를 기반으로 모델에게 새로운 instruction 생성 요청

3. 생성된 instruction에 대해 모델이 응답까지 자동 생성

4. 이 데이터를 파인튜닝에 활용

 

위와 같이 생성된 instruction은 filtering, reranking, deduplication 등의 후처리를 거쳐 정제해 사용했다고 합니다.

 


[3] Training Recipe

위에서도 설명했지만 Alpaca는 OpenAi의 text-davinci-003을 활용하여 52,000개의 instruction-response 쌍을 자동 생성해 훈련 데이터로 사용합니다.

 

1단계 : Seed 데이터 확보

  • 기존 Self-Instruct 논문에서 제공하는 175개의 사람이 작성한 instruction-output 쌍을 기반으로 시작
  • 예시
    • Instruction : Brainstorm a list of possible New Year's resolutions
    • Output : Lose weight, Exercise more, Eat healthier

 

2단계 : In-context prompting을 통해 text-davinci-003으로 확장

  • 위 175개의 예시를 프롬프트로 사용하여 text-davinci-003에게 유사한 새 instruction을 생성하도록 함
  • 생성된 instruction에 대해 text-davinci-003이 응답도 함께 생성

 

3단계 : 데이터 정제 및 비용 절감

  • 기존 Self-Instruct 보다 더 간소화된 파이프라인으로 더 적은 API 호출로 동일한 데이터 양 확보
  • 이 과정에서 생성된 데이터는 52,000개 이상의 instruction-output 쌍이며 비용은 약 $500 정도에 불과

 

모델 파인튜닝 : Hugging Face + 분산 Training

  • 프레임워크 : Hugging Face Transformers + Trainer
  • 병렬 처리 : Fully Sharded Data Parallel (FSDP)
  • 연산 최적화 : Bfloat16
  • GPU : 8 x A100 80GB
  • 총 훈련 시간 : 약 3시간
  • 훈련 비용 : 클라우드 기준 $100 이하

 


[4] Preliminary evaluation

1) 평가 데이터

데이터셋은 Self-Instruct 평가셋으로 평가하였습니다.

 

Self-Instruct 평가셋은 이메일 작성, SNS 응답, 생산성 도구 활용 등 일상적 사용자 지시문 중심이고 다양한 분야를 포괄하는 100개 이상의 실제 태스크를 구성했으며 인간 사용자 입장에서 실제 유용성을 테스트 할 수 있는 구조라고 합니다.

 

2) 비교 방법

비교 방법은 블라인드 쌍 비교 방식을 사용하였습니다.

 

평가자는 Alpaca 공동 저자 5명의 대학원생이고

모델 정보는 숨긴 채 두 응답 중 어떤 것이 더 자연스럽고 적절한 지를 판단하는 방식입니다.

 

3) 평가 결과

- Alpaca 7B vs text-davinci-003

- Alpaca 승리 : 90회

- Davinci 승리 : 89회

 

결과는 위와 같이 나왔고, 이는 단순히 동률을 의미한다고 할 수 없습니다.

LLaMa 7B 소형 모델에 $500 수준의 데이터와 $100 이내의 학습 비용만으로 OpenAI의 대형 상용 모델과 유사한 품질의 응답을 생성할 수 있다는 것을 보여주는 의미 있는 지표라고 합니다.

 

추가로 Alpaca는 text-davinci-003을 사용해 생성된 데이터로 학습되었기 때문에 문체, 길이, 포맷 등에서 유사한 특성을 보이고

정적 평가 데이터셋 외에도 연구진이 직접 다양한 프롬프트 Inference 테스트를 수행했다고 하는데 이 경우에도 text-davinci-003과 거의 비슷한 방식으로 문제를 해결했다고 합니다.

 

하지만 위와 같은 평가 방식은 비교 샘플이 약 100개 밖에 안된다는 한계점이 남아있고

평가자가 모두 연구팀 내부 구성원이라는 점에서 편향 가능성이 존재합니다.

 

4) LLM이라 가지고 있는 한계점

위와 같이 준수한 평가 결과를 기록한 Alpaca도 결국에는 LLM이기 때문에 LLM 자체적으로 가지고 있는 한계점이 Alpaca에도 존재합니다.

 

가장 두드러진 문제는 할루시네이션입니다.

 

탄자니아의 수도는 Dodoma로 이전되었는데 Dar es Salaam이라고 잘못 답변하고 있죠.

위와 같이 매우 자연스럽고 그럴듯한 방식으로 구식 정보를 정답처럼 말하는 오류를 범한다고 합니다.

 

그래서 이러한 오류를 줄이기 위해서는 RAG나 CoT 등의 기법을 추가로 적용하는 게 필수적이라는 생각이 듭니다.

 

할루시네이션뿐만 아니라 정보 왜곡, 사회적 편향 문제도 아직 남아있다고 하니

이러한 부분은 후에 해결해야 할 점들이겠네요.

 


[5] Conclusions

  • Alpaca 등장 배경 및 특징
    • 연구진은 Alpaca를 통해 재현 가능하고 비용 효율적인 instruction model 연구 기반을 구축하고자 함
    • training recipe : 누구나 따라할 수 있도록 단순화된 fine-tuning 절차
    • dataset : text-davinci-003을 활용해 생성된 52K 지시문 응답 쌍
    • 모델 가중치 및 코드 : 향후 순차적 공개를 통해 학계의 실험 환경을 통일
  • 공개에 따른 리스크와 대응 방안
    • training recipe가 단순해 악의적으로 활용될 가능성이 높아짐
    • 누구나 사용 가능한 데모는 유해 표현 생성이나 피싱, 사기 등에 활용될 수 있는 위험도 존재
    • 따라서 콘텐츠 필터링, 워터마킹, 비상업적 이용 제한 등의 리스크 완화 전략 적용
  • 앞으로의 연구 방향
    • 단순 비교 평가 외에 HELM 등의 종합적 평가 지표를 통해 정량, 정성적 성능 분석
    • 자동 Red teaming, 감사 및 적응형 테스트 기법 등으로 안전성 강화
    • 모델 학습 구조에 대한 구체적 이해
728x90
반응형