Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90% ChatGPT Quality - 세미나 자료
저자: Chiang Wei-Lin, Li Zhuohan, Sheng Ying
발행년도: 2023년
인용수: 3600회
논문 링크: https://huggingface.co/lmsys/vicuna-13b
Problem & Motivation
2023년 초 LLM 생태계는 명확한 이중 구조를 보였다. 한쪽에는 ChatGPT, GPT-4, Claude 같은 폐쇄형 상용 모델이 있었고, 다른 한쪽에는 LLaMA, Alpaca 같은 오픈소스 모델이 있었다. 두 진영 사이에는 누구나 체감할 수 있는 품질 격차가 존재했고, 이 격차는 단순한 파라미터 수보다 instruction tuning 데이터의 질에서 비롯된다는 가설이 떠올랐다.
스탠퍼드의 Alpaca는 LLaMA-7B를 Self-Instruct 방식으로 미세조정해 큰 반향을 일으켰지만, 사용해 본 사람이라면 누구나 한계를 느꼈다. 단순 single-turn 응답, 짧은 답변, 다중 턴 대화 능력 부재 등 ChatGPT의 자연스러운 대화감과는 거리가 멀었다. Self-Instruct는 GPT-3.5가 생성한 인공 지시-응답 쌍이라 실제 사용자 의도의 분포를 반영하지 못했다.
Vicuna 팀이 제기한 핵심 질문은 단순했다. 만약 실제 사용자가 ChatGPT와 나눈 진짜 대화를 학습 데이터로 사용한다면 어디까지 따라잡을 수 있을까? 이 가설을 검증하기 위해 ShareGPT라는 사용자가 공유한 ChatGPT 대화 아카이브를 활용했고, 결과적으로 GPT-4 기준 90%, ChatGPT 기준 약 92%의 상대적 응답 품질을 달성했다고 주장했다.
또 하나 중요한 동기는 학술 연구 공동체를 위한 재현 가능한 챗봇의 필요성이었다. 폐쇄형 모델은 API 변경 한 번으로 실험 결과가 무너지고, 내부 동작을 알 수 없어 메커니즘 연구가 불가능했다. Vicuna는 가중치, 학습 코드, 서빙 시스템을 모두 공개함으로써 투명성과 재현성을 핵심 가치로 내세웠다.
이 연구가 던진 메시지는 단순한 모델 발표를 넘어선다. "고품질 데이터 70K개 + LLaMA + $300" 이라는 조합이 GPT-3.5에 근접할 수 있다는 사실은, 이후 오픈소스 LLM 폭발의 기폭제가 되었다.
Background & Related Work
배경 이해를 위해 먼저 LLaMA를 짚어야 했다. Meta가 2023년 2월 공개한 LLaMA는 7B/13B/33B/65B 파라미터의 foundation model 패밀리로, 1.4T 토큰의 공개 데이터셋만으로 학습되어 GPT-3 175B에 근접하거나 능가하는 성능을 보였다. 다만 LLaMA는 base model이었고, instruction-following 능력은 거의 없는 상태였다.
Instruction tuning의 계보는 Google의 FLAN(2021)에서 시작된다. FLAN은 다양한 NLP 태스크를 instruction 형태로 통합 학습시키면 zero-shot 일반화가 향상됨을 보였다. 이후 OpenAI의 InstructGPT(2022)가 RLHF를 결합해 인간 선호 정렬을 도입했고, ChatGPT의 직접적인 모태가 되었다.
오픈소스 진영에서는 스탠퍼드 Alpaca(2023.3)가 분기점이었다. Alpaca는 Self-Instruct 기법으로 175개 seed 지시문에서 출발해 GPT-3.5(text-davinci-003)로 52K개의 합성 지시-응답 쌍을 생성하고, 이를 LLaMA-7B에 SFT로 학습시켰다. 비용은 약 $600에 불과했지만 출력은 단답형, 평면적, 다중 턴 부재라는 한계가 뚜렷했다.
Vicuna는 이 흐름의 다음 단계로 자리매김했다. Alpaca가 합성 데이터로 학습한 반면 Vicuna는 실사용자가 ChatGPT와 나눈 자연스러운 대화 70K개를 학습 데이터로 사용했다. 데이터 출처가 다르다는 한 가지 차이가 모델 전반의 대화 품질을 크게 끌어올렸다.
또 하나의 중요한 질문은 RLHF 없이 SFT만으로 어디까지 갈 수 있는가였다. InstructGPT 논문은 RLHF가 정렬 품질의 핵심이라고 주장했지만, Vicuna는 SFT만으로 ChatGPT 92% 수준에 도달했다고 보고하면서 이 통념에 균열을 냈다. 데이터 품질이 충분히 높으면 RL 단계 없이도 상당 부분 따라갈 수 있다는 가능성을 제시한 것이다.
마지막 배경은 LLM-as-a-Judge 평가 패러다임의 등장이다. 챗봇 응답 품질은 BLEU, ROUGE 같은 자동 지표로 측정하기 어렵고, 사람 평가는 비싸고 느리다. Vicuna는 GPT-4를 평가자로 사용하는 자동 프레임워크를 제안했고, 이는 이후 MT-Bench, AlpacaEval, Chatbot Arena 같은 후속 평가 체계의 직접적인 토대가 되었다.
Data & Training Method
학습 데이터의 출발점은 ShareGPT.com이었다. 이 사이트는 사용자가 자신의 ChatGPT 대화를 URL로 공유할 수 있게 해주는 웹 서비스로, 공개된 약 70K개의 다중 턴 대화를 크롤링해 학습 코퍼스를 구성했다. Alpaca의 52K Self-Instruct 데이터와 비교했을 때 양은 비슷하지만, 질적 차이가 컸다.
데이터 전처리는 챗봇 학습의 성패를 가르는 단계였다. 우선 ShareGPT는 HTML 형태로 저장되어 있어 Markdown으로 변환해 코드 블록, 리스트, 인라인 포맷을 보존했다. 부적절하거나 저품질의 샘플은 필터링했고, 너무 짧은 대화도 제거하여 multi-turn 학습 신호를 확보했다.
다중 턴 대화 처리는 기존 Alpaca와 가장 큰 차별점이었다. ChatGPT 사용자들은 여러 턴에 걸쳐 맥락을 누적하며 대화하기 때문에, 학습 시에도 이 구조를 보존해야 했다. 모델의 max sequence length(2048)를 넘는 긴 대화는 청크로 분할했고, 각 청크가 일관된 대화 흐름을 갖도록 처리했다.
Loss 계산에서도 중요한 조정이 있었다. 일반적인 언어모델 학습은 모든 토큰에 loss를 부여하지만, Vicuna는 사용자 입력 토큰을 마스킹하고 챗봇 응답 토큰에만 loss를 계산했다. 이는 모델이 "사용자처럼 말하는 법"이 아니라 "어시스턴트처럼 응답하는 법"을 배우게 만드는 핵심 트릭이었다.
학습 목적함수는 표준 autoregressive 방식이지만 마스킹이 적용된 다음 형태로 정리할 수 있었다.
여기서 는 어시스턴트 응답에 해당하는 토큰 인덱스 집합이고, 사용자 입력 인덱스는 손실 계산에서 제외되었다. 이 단순한 변경이 다중 턴 대화에서 일관된 페르소나를 유지하는 데 결정적으로 기여했다.
메모리 최적화도 학계 예산으로 13B 모델을 학습하기 위한 필수 조건이었다. gradient checkpointing으로 활성화 메모리를 줄이고, FlashAttention을 적용해 attention 계산을 IO-aware하게 최적화했다. 두 기법 덕분에 8×A100 80GB 노드 한 대로도 13B 모델을 시퀀스 길이 2048에서 학습할 수 있었다.
비용은 이 연구의 또 다른 메시지였다. SkyPilot으로 클라우드 spot instance를 자동 관리해 13B 모델 학습을 약 140에 끝낸 것으로 보고되었다. 학계 연구실 수준의 예산으로 GPT-3.5에 근접하는 모델을 만들 수 있다는 사실은, 이 논문이 학술 커뮤니티에 던진 가장 강력한 신호 중 하나였다.
Serving System & Implementation
학습만큼 중요한 것이 서빙 인프라였다. Vicuna 팀은 모델뿐 아니라 이를 실제 웹 데모로 띄우고 사용자 피드백을 모으는 전체 파이프라인을 함께 공개했고, 이것이 FastChat 프레임워크로 발전했다.
FastChat은 distributed serving system으로 설계되었다. 여러 모델(Vicuna-7B, 13B, Alpaca, LLaMA 등)을 동시에 로드하고, 사용자 요청을 적절한 워커로 라우팅하는 컨트롤러-워커 구조를 채택했다. multi-GPU 환경에서 한 모델을 텐서 병렬화로 분할하거나, 여러 모델을 서로 다른 GPU에 배치하는 유연한 구성을 지원했다.
컨텍스트 길이 확장도 사용자 경험을 좌우한 결정이었다. Alpaca는 max sequence length 512였는데, 이는 긴 코드 블록이나 다중 턴 대화에 턱없이 부족했다. Vicuna는 이를 2048 토큰으로 확장하여 ChatGPT에 필적하는 대화 길이를 지원했다. 이 확장에는 추가 메모리 비용이 따랐고 앞서 언급한 gradient checkpointing/FlashAttention이 그 부담을 흡수했다.
FastChat은 단순한 서빙 라이브러리를 넘어 training/serving/evaluation 통합 프레임워크를 지향했다. 같은 코드베이스 안에서 데이터 전처리, SFT 학습, OpenAI 호환 API 서버, 웹 챗봇 UI, GPT-4 자동 평가 스크립트가 모두 동작했다. 이 "all-in-one" 설계 덕분에 후속 연구자들이 자신의 모델로 빠르게 갈아끼우며 비교 실험을 할 수 있었다.
웹 데모는 단순한 홍보용이 아니라 연속적인 데이터 수집 파이프라인이기도 했다. 사용자가 챗봇과 대화하며 좋아요/싫어요를 클릭하거나 두 모델 응답을 비교하는 인터페이스를 통해 선호 데이터가 축적되었다. 이 데이터는 이후 Chatbot Arena(LMSYS)로 발전해 LLM 평가의 사실상 표준 중 하나가 되었다.
요약하면 Vicuna 프로젝트의 진짜 기여는 모델 가중치 한 벌이 아니라, 모델 + 학습 코드 + 서빙 + 평가 + 데이터 수집이 결합된 풀스택 오픈소스 챗봇 생태계였다고 할 수 있었다.
Evaluation Framework (GPT-4 as a Judge)
챗봇 평가는 본질적으로 어렵다. 정답이 하나가 아니고, 자연스러움/유용성/스타일 같은 주관적 차원이 핵심이다. 저자들은 이 문제를 우회하기 위해 GPT-4를 자동 평가자(judge)로 활용하는 프레임워크를 제안했다.
평가는 8개 카테고리에 걸쳐 설계되었다. Writing, Roleplay, Math, Coding, Reasoning, Extraction, STEM, Humanities로 구성되었고, 각 카테고리당 약 10개의 도전적인 질문을 큐레이션해 총 80개의 평가 프롬프트를 만들었다. 카테고리 분리는 모델의 강점/약점을 입체적으로 진단하기 위한 장치였다.
평가 프로토콜은 pairwise comparison 방식이었다. 같은 질문에 대해 두 모델(예: Vicuna-13B vs ChatGPT)이 생성한 응답을 GPT-4에게 동시에 보여주고, 다음을 요구했다. 첫째 1~10점 척도의 점수 부여, 둘째 점수에 대한 자연어 설명, 셋째 두 응답의 상대적 비교. 설명을 강제함으로써 단순 숫자 도박을 피하고 평가 근거를 검증할 수 있게 했다.
비교 대상은 당시 오픈/클로즈드 진영을 망라했다. LLaMA-13B(base, instruction tuning 없음), Alpaca-13B(Self-Instruct SFT), Bard(Google), ChatGPT(GPT-3.5), 그리고 본 모델 Vicuna-13B가 5자 비교에 올랐다. 각 모델 응답을 ChatGPT 응답과 비교한 점수의 합을 ChatGPT 자신의 점수 합으로 나눠 상대 응답 품질(relative response quality) 지표를 정의했다.
이 정규화 덕분에 모든 비교를 ChatGPT 100% 기준으로 환산해 한 장의 막대 그래프로 표현할 수 있었다.
위 이미지는 GPT-4가 평가자가 되어 각 모델의 응답 품질을 ChatGPT 대비 백분율로 환산한 결과를 보여주었다. Vicuna-13B는 약 92% 수준으로 ChatGPT/Bard와 어깨를 나란히 했고, Alpaca-13B(약 76%), LLaMA-13B(약 68%)와는 뚜렷한 격차가 벌어졌다. 동일한 base model(LLaMA-13B)에서 출발했음에도 데이터셋 변경만으로 이 정도 격차가 발생했다는 점이 핵심 시사점이었다.
이 평가 프레임워크의 의의는 단순한 점수 발표를 넘어선다. "평가도 자동화한다"라는 발상은 이후 MT-Bench(다중 턴 확장)와 Chatbot Arena(인간 pairwise 평가)로 이어지며, LLM 평가의 표준 도구로 자리잡았다.
Results & Limitations Analysis
카테고리별 결과를 보면 모델의 윤곽이 또렷이 드러났다. Vicuna는 Writing과 Roleplay에서 강세를 보였고, 특히 자유 형식 글쓰기와 캐릭터 시뮬레이션은 ChatGPT와 거의 구분되지 않을 정도였다. ShareGPT 데이터에 창의적 글쓰기 요청이 많았던 분포 특성이 그대로 반영된 결과였다.
반면 Math와 Reasoning, Coding에서는 약점이 명확했다. 다단계 산술이나 논리 퍼즐, 알고리즘 구현 문제에서는 ChatGPT 대비 큰 격차가 벌어졌다. 이는 base model인 LLaMA-13B의 사전학습 능력 한계와도 맞물려 있었으며, SFT만으로는 추론 능력 자체를 새로 만들어내기 어렵다는 사실을 보여주었다.
저자들 스스로 GPT-4 judge의 편향 문제를 솔직하게 지적했다. 첫째 길이 편향(length bias) — GPT-4는 긴 응답에 더 높은 점수를 주는 경향이 있었다. 둘째 위치 편향(position bias) — 두 응답을 비교할 때 첫 번째로 제시된 응답을 선호하는 경향이 관측되었다. 셋째 self-preference bias — GPT-4가 GPT 계열 모델 출력을 우호적으로 평가할 가능성이 있었다.
또한 Vicuna 자체의 한계도 명시적으로 나열되었다. 수학/코딩 추론 능력 부족, 사실성(factual accuracy) 보장 부재 — hallucination이 ChatGPT보다 빈번하게 발생, safety alignment 미보장 — RLHF나 별도 안전 튜닝이 없어 유해 출력 가능성, 다중 턴 일관성 약화 — 매우 긴 대화에서는 맥락이 흐트러지는 경향이 있었다.
정성적 사례 분석에서 무너지는 패턴은 비교적 일관적이었다. 체인 추론을 요구하는 수학 문제, 정확한 외부 사실 확인이 필요한 질문(인물의 출생연도 등), 드물거나 최신의 도메인 지식, 중첩된 논리 제약을 가진 코딩 문제에서 Vicuna는 그럴듯하지만 틀린 답을 생성하는 경향이 강했다. 반면 단순 정보 추출, 요약, 형식 변환, 일반 글쓰기에서는 ChatGPT와 구분이 어려울 정도로 잘 작동했다.
이 결과의 의미는 명확했다. Vicuna는 "대화 스타일과 톤"을 잘 모방했지만 "추론 능력 자체"를 새로 학습한 것은 아니었다. SFT의 본질이 무엇이고 어디까지 갈 수 있는지를 보여주는 정직한 결과였다.
Critical Analysis & Takeaways
학술적 관점에서 가장 큰 비판점은 평가 방법론의 신뢰성이었다. 80개 프롬프트는 통계적 유의성을 주장하기에 표본이 너무 작았고, 신뢰구간이나 p-value 같은 통계적 보고가 부재했다. 또한 인간 평가(human evaluation) 가 동반되지 않아 GPT-4 점수가 인간 선호와 얼마나 일치하는지 입증할 수 없었다. "GPT-4가 GPT-3.5보다 Vicuna가 좋다고 했다"는 명제가 실제 사용자 만족도와 같다고 확신하기 어려웠다.
데이터 윤리 이슈도 무시할 수 없다. ShareGPT 사용은 OpenAI의 이용약관(ToS) 위반 소지가 있었다. ToS는 OpenAI 출력으로 경쟁 모델을 학습시키는 행위를 금지하고 있었기 때문이다. Vicuna 팀은 학술 연구 목적임을 강조했지만, 이 회색지대는 이후 오픈소스 LLM 전반의 라이선스 논쟁으로 확산되었다.
재현 가능성도 짚어야 했다. ShareGPT 원본 데이터셋은 저자들이 공개하지 않았고(법적 리스크 회피), 이는 다른 연구자들이 동일한 데이터로 재현하기 어렵게 만들었다. LLaMA 가중치 자체도 비상업적 라이선스라 상용 사용에는 제약이 있었다. 결국 Vicuna는 "원리적으로 재현 가능한" 모델이지 "있는 그대로 재현 가능한" 모델은 아니었다.
후속 연구 방향은 이 한계들을 정확히 겨냥했다. 평가 측면에서는 MT-Bench(다중 턴 80문항 + GPT-4 단일 응답 채점)와 Chatbot Arena(익명 pairwise + Elo 레이팅)로 발전해 통계적 견고성과 인간 선호 정렬을 강화했다. 학습 측면에서는 RLHF/DPO 추가, 컨텍스트 길이 확장(4K → 16K → 100K+), 더 큰 base model(LLaMA-2/3) 결합으로 이어졌다.
핵심 테이크어웨이는 세 줄로 요약할 수 있었다.
첫째, 고품질 대화 데이터가 SFT의 핵심이다. 동일한 LLaMA-13B 위에서 데이터셋만 바꾸어도 Alpaca 76% → Vicuna 92%의 도약이 가능했고, 데이터의 분포·다양성·자연스러움이 모델 페르소나를 결정했다.
둘째, LLM-as-Judge가 평가 패러다임을 바꾸었다. 비싸고 느린 사람 평가에 의존하던 챗봇 비교가 자동화되었고, 이는 후속 연구의 이터레이션 속도를 비약적으로 높였다.
셋째, Vicuna는 오픈소스 LLM 생태계의 분기점이었다. $300으로 GPT-3.5의 90%에 도달했다는 사실은 학계와 스타트업 모두에 "우리도 할 수 있다"는 신호를 주었고, 이후 WizardLM, Koala, Orca, Zephyr, Llama-2-Chat으로 이어지는 오픈소스 챗봇 폭발의 출발점이 되었다.
'PaperReview' 카테고리의 다른 글
| Soft-NMS — Improving Object Detection with One Line of Code (0) | 2026.05.13 |
|---|---|
| Generative AI at Work (0) | 2026.05.12 |
| Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (0) | 2026.05.06 |
| “Why Should I Trust You?”: Explaining the Predictions of Any Classifier (3) | 2026.05.06 |
| Testing theory of mind in large language models and humans (0) | 2026.05.06 |