콘텐츠 대표 이미지 - Vicuna 모델의 대화 품질 분석: 학습 레시피부터 MT-Bench·Chatbot Arena 평가와 한계까지

Vicuna 모델의 대화 품질 분석: 학습 레시피부터 MT-Bench·Chatbot Arena 평가와 한계까지

🦙 오픈소스 LLM💬 대화 품질⚖️ LLM-as-a-Judge🧪 벤치마크

2023년 봄, AI 커뮤니티에 라마 한 마리가 아닌 "비쿠냐"가 등장했습니다. 단돈 약 300달러의 학습 비용으로 "ChatGPT 품질의 90% 수준"이라는 도발적인 문구를 내건 이 모델은, 오픈소스 챗봇 붐의 기폭제가 되었죠.
그런데 정말 90%였을까요? 그 숫자는 어떻게 측정되었고, 무엇을 놓쳤을까요? 이 글에서는 Vicuna가 어떻게 대화를 잘하게 되었는지, 그리고 그 "잘함"을 어떻게 재야 하는지를 개발자 관점에서 차근차근 해부합니다.

사용자 파이썬으로 정렬 함수 짜줘! Vicuna 좋아요! sorted()와 퀵정렬 예시를 보여드릴게요 ⚖️ 심판 GPT-4 점수 유창성 높음 · 사실성 검증 필요 Vicuna 대화 품질 말 잘하는 라마, 진짜 실력은?

1. Vicuna는 어떤 모델인가

Vicuna는 LMSYS(Large Model Systems Organization)를 중심으로 UC 버클리, CMU, 스탠퍼드, UC 샌디에이고, MBZUAI 연구자들이 함께 만든 오픈소스 챗봇입니다. 2023년 3월 30일 블로그 글 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality"로 공개되었죠. 이름의 별(*) 표시가 꽤 중요한데, 이는 엄밀한 과학적 측정이 아닌 예비 평가라는 단서였습니다. 이 단서를 기억해두면 이후 이야기가 훨씬 흥미로워집니다.

기본 아이디어는 단순합니다. Meta가 공개한 기반 모델 LLaMA는 방대한 텍스트로 사전학습되었지만, "대화하는 법"은 배우지 않은 상태였어요. 다음 단어를 잘 예측할 뿐, 질문에 공손하고 구조적으로 답하는 습관은 없었죠. Vicuna 팀은 여기에 사용자들이 ShareGPT에 공유한 실제 ChatGPT 대화 약 7만 건을 지도 미세조정(SFT)으로 학습시켜, 기반 모델에 "챗봇의 말투와 태도"를 입혔습니다.

💡 핵심 한 줄
Vicuna = LLaMA(지식과 언어 능력) + ShareGPT 대화 데이터(대화 습관) + 멀티턴 대응 학습 레시피.
즉 Vicuna의 대화 품질은 기반 모델의 능력과 모방한 대화 데이터의 품질이라는 두 축으로 분석해야 합니다.

버전별 진화 타임라인

2023.03 · Vicuna (v0)
LLaMA 7B/13B 기반. ShareGPT 약 7만 대화로 학습. "GPT-4 평가 기준 ChatGPT의 90%" 주장과 함께 공개. 당시 LLaMA 라이선스 문제로 원본 대신 델타 가중치 형태로 배포.
2023.04 · Vicuna v1.1
구분자를 ###에서 EOS 토큰 </s>로 변경해 생성 종료 판단을 개선하고, 학습 손실 계산 방식을 수정.
2023.05 · Chatbot Arena 출범
익명 1:1 대결과 Elo 레이팅으로 모델을 비교하는 크라우드소싱 평가 플랫폼 공개.
2023.06 · Vicuna v1.3 & MT-Bench
약 12.5만 개 ShareGPT 대화로 학습한 7B/13B/33B 공개. 논문 "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena" 발표.
2023.08 · Vicuna v1.5
기반 모델을 Llama 2로 교체. 4K 컨텍스트, 그리고 선형 RoPE 스케일링으로 확장한 16K 변형 공개.

이 흐름에서 흥미로운 점은, Vicuna라는 모델 자체보다 Vicuna를 평가하려고 만든 도구들(MT-Bench, Chatbot Arena, LLM-as-a-judge 방법론)이 업계에 훨씬 오래 남았다는 사실입니다. "대화 품질을 어떻게 잴 것인가"라는 질문에 처음으로 체계적인 답을 내놓은 사례가 바로 Vicuna 프로젝트였거든요.

2. 대화 품질을 만든 학습 레시피

대화 품질 분석은 결과물만 보는 것으로 끝나지 않습니다. 왜 그런 답변이 나오는지 이해하려면 학습 과정을 알아야 하죠. Vicuna의 레시피는 스탠퍼드 Alpaca를 출발점으로 삼되, 대화형 특성에 맞춰 몇 가지를 손봤습니다.

📚 실전 대화 데이터
Alpaca는 self-instruct 방식으로 만든 단일 턴 지시문 약 5.2만 개를 썼지만, Vicuna는 실제 사용자가 나눈 멀티턴 대화를 썼습니다. 질문의 다양성과 자연스러움이 크게 달랐죠.
📏 긴 컨텍스트
Alpaca의 최대 길이 512 토큰을 2048 토큰으로 늘려 긴 대화 맥락을 이해하도록 했습니다. 대신 GPU 메모리 부담이 커졌고, 그래디언트 체크포인팅과 플래시 어텐션으로 해결했습니다.
🎯 답변에만 손실
멀티턴 대화 전체를 입력으로 넣되, 학습 손실은 챗봇의 응답 토큰에만 계산했습니다. 사용자의 말투를 따라 하지 않고, "어시스턴트로서 답하는 법"만 배우게 한 것입니다.
💸 저비용 학습
PyTorch FSDP와 A100 8장으로 하루 정도 학습. 스팟 인스턴스(SkyPilot 관리형)로 비용을 낮춰 7B 약 140달러, 13B 약 300달러 수준을 보고했습니다.

데이터 정제: 품질의 절반은 여기서 결정된다

ShareGPT 데이터는 사용자가 브라우저 확장 기능으로 공유한 ChatGPT 대화였기 때문에 그대로 쓰기엔 지저분했습니다. 팀은 HTML을 마크다운으로 변환하고, 부적절하거나 품질이 낮은 샘플을 걸러냈으며, 모델 최대 길이를 넘는 긴 대화는 여러 조각으로 분할했습니다.

이 정제 과정은 대화 품질에 직접적인 흔적을 남겼습니다. 예를 들어 Vicuna 답변이 마크다운 목록, 코드 블록, 굵은 제목을 즐겨 쓰는 경향은 ChatGPT의 출력 형식을 마크다운으로 보존해 학습했기 때문입니다. 좋게 말하면 가독성 좋은 구조화 답변, 나쁘게 말하면 ChatGPT 스타일의 복제죠.

멀티턴 손실 마스킹, 그림으로 보기

"응답에만 손실을 준다"는 개념은 대화 품질을 이해하는 핵심입니다. 아래 그림처럼 대화 전체가 한 시퀀스로 들어가지만, 모델이 정답으로 배우는 부분은 보라색 어시스턴트 구간뿐입니다.

멀티턴 손실 마스킹 하나의 대화 = 하나의 학습 시퀀스 시스템 문구 USER 1 ASSISTANT 1 응답 USER 2 ASSISTANT 2 응답 손실 제외 (라벨 = -100) 손실 계산 → 답변 습관 학습 효과 이전 턴을 맥락으로 참고하며 답하는 능력

이 방식 덕분에 Vicuna는 "앞에서 말한 그 함수를 비동기로 바꿔줘" 같은 후속 질문에 비교적 자연스럽게 반응합니다. 반대로 학습 데이터가 최대 길이에 맞춰 잘린 탓에, 아주 긴 대화에서는 초반 맥락을 놓치는 현상이 나타날 수 있고, 이는 원본 Vicuna(2K 컨텍스트)에서 특히 두드러졌습니다.

대화 템플릿: 품질을 좌우하는 숨은 변수

실무에서 Vicuna의 대화 품질이 "생각보다 별로"라는 평가를 받는 가장 흔한 원인은 모델 자체가 아니라 프롬프트 템플릿 불일치입니다. Vicuna v1.1 이후 계열은 FastChat에 정의된 다음 형식으로 학습되었습니다.

A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: 안녕하세요, 리스트 컴프리헨션을 설명해 주세요. ASSISTANT: 리스트 컴프리헨션은 ...</s>USER: 예제도 보여 주세요. ASSISTANT:

여기서 Llama 2 Chat의 [INST] 형식이나 ChatML 형식을 억지로 넣으면, 모델은 낯선 포맷 때문에 역할을 헷갈리거나 사용자 발화까지 혼자 이어서 생성하는 이상 행동을 보이기 쉽습니다. 대화 품질 분석 전에 템플릿부터 맞추는 것은 기본 중의 기본입니다.

🛠️ 실무 팁
FastChat의 get_conversation_template("vicuna_v1.1")을 사용하면 학습 당시와 같은 형식을 재현할 수 있습니다. Hugging Face의 chat template이 모델 카드에 올바르게 설정되어 있는지도 꼭 확인하세요. 종료 토큰(</s>)을 stop 조건으로 지정하지 않으면 답변이 끝없이 늘어지는 문제가 생깁니다.

3. "ChatGPT의 90%"라는 숫자를 해부하다

이제 가장 유명한 숫자를 뜯어볼 차례입니다. 초기 Vicuna 블로그의 평가는 이렇게 진행되었습니다.

1
질문 80개 준비 — 글쓰기, 롤플레이, 상식, 페르미 추정, 반사실적 추론, 코딩, 수학, 일반 지식 등 8개 범주.
2
여러 모델의 답변 생성 — LLaMA, Alpaca, Bard, ChatGPT, Vicuna 등.
3
GPT-4에게 채점 요청 — 두 답변을 보여주고 유용성, 관련성, 정확성, 상세함 등을 기준으로 각각 10점 만점 점수와 설명을 달라고 요청.
4
총점 비율 계산 — 80문항 총점 기준으로 Vicuna가 ChatGPT 대비 약 90% 수준이라는 결과 도출.

블로그는 또한 GPT-4 판정 기준으로 Vicuna가 LLaMA나 Alpaca 같은 다른 오픈 모델을 대부분의 질문에서 앞섰다고 보고했습니다. 여기까지 들으면 꽤 그럴듯하죠. 하지만 팀 스스로도 블로그에 분명히 적었듯, 이 평가는 재미 삼아 해본 비과학적 시도에 가까웠습니다. 왜 그런지 따져볼까요?

한계 요소무엇이 문제인가대화 품질 해석에 미치는 영향
표본 크기80문항은 통계적으로 작음몇 문항의 우연한 결과가 비율을 크게 흔듦
단일 턴 중심대화의 연속성을 거의 평가하지 않음멀티턴 일관성은 사실상 미측정
심판의 편향GPT-4가 길고 정돈된 답을 선호할 수 있음ChatGPT 스타일을 모방한 모델에 유리
사실 검증 부재심판이 그럴듯한 오답을 놓칠 수 있음환각이 점수에 덜 반영됨
수학·코딩 채점GPT-4도 수학·추론 정답 판정에 약점어려운 범주의 실력 차가 가려짐

특히 세 번째 항목이 미묘합니다. Vicuna는 ChatGPT의 답변을 모방해 학습했고, 그 답변을 ChatGPT와 같은 계열인 GPT-4가 채점했습니다. 비유하자면 셰프의 레시피를 따라 요리한 견습생을, 그 셰프의 수석 제자가 심사한 셈이죠. 맛의 "결"이 비슷하면 점수가 후해질 가능성을 배제하기 어렵습니다.

⚠️ 해석 주의
"90%"는 "ChatGPT가 할 수 있는 일의 90%를 해낸다"는 뜻이 아닙니다. 정확히는 "80개 질문에서 GPT-4가 매긴 총점의 비율이 약 90%였다"는 의미입니다. 이후 더 엄밀한 평가(MT-Bench, Arena)에서는 상위 상용 모델과의 격차가 훨씬 분명하게 드러났습니다.

4. LLM-as-a-Judge: 심판으로서의 AI를 검증하다

초기 평가의 엉성함을 팀이 가장 잘 알았기에, LMSYS는 2023년 6월 논문 "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena"(Zheng et al., NeurIPS 2023 Datasets and Benchmarks 트랙)로 이 방법론을 정면으로 파고들었습니다. 질문은 단 하나였어요. "강한 LLM을 심판으로 써도 믿을 만한가?"

세 가지 채점 방식

🥊 쌍대 비교
같은 질문에 대한 두 답변을 보여주고 "A가 낫다 / B가 낫다 / 무승부"를 판정. 상대적 차이를 잘 잡지만 비교 쌍이 늘어나면 비용이 급증.
🎯 단일 답변 채점
답변 하나에 1~10점을 직접 부여. 확장성이 좋지만, 미세한 차이를 구분하기 어렵고 심판 모델이 바뀌면 점수 기준도 흔들림.
📎 참고 답안 기반
수학·추론 문제에서 심판에게 정답(참고 답안)을 함께 제공. 심판의 계산 실수로 인한 오판을 줄이는 장치.

논문이 찾아낸 심판의 버릇 네 가지

대화 품질을 LLM으로 평가할 때 반드시 알아야 할 편향들입니다. 이건 Vicuna뿐 아니라 오늘날 어떤 모델을 평가할 때도 똑같이 적용되니 꼭 기억해두세요.

① 위치 편향(Position bias)
두 답변 중 먼저 제시된(혹은 특정 위치의) 답변을 선호하는 경향. 논문에서는 답변 순서를 바꿔 두 번 판정하고, 결과가 엇갈리면 무승부로 처리하는 방식을 권장했습니다.

② 장황함 편향(Verbosity bias)
내용이 같거나 오히려 덜 정확해도 더 길고 자세해 보이는 답변을 선호하는 경향. 논문은 기존 답변에 새 정보 없이 문장만 반복해 늘리는 "반복 목록 공격"으로 이를 시험했고, 심판 모델에 따라 취약성 차이가 컸습니다. GPT-4가 상대적으로 덜 속았지만 완전히 자유롭지는 않았습니다.

③ 자기 선호 편향(Self-enhancement bias)
심판이 자기 자신 혹은 자기와 비슷한 스타일의 답변을 높게 평가하는 경향. 논문은 일부 정황을 관찰했지만 데이터가 제한적이라 확정적 결론은 유보했습니다.

④ 제한된 수학·추론 채점 능력
심판이 스스로 풀면 맞히는 문제도, 남의 오답을 볼 때는 그 오답에 끌려가 잘못 판정하는 사례가 확인되었습니다. 그래서 "생각의 사슬(CoT)로 먼저 풀어본 뒤 판정"하거나 "참고 답안을 제공"하는 방식이 제안되었죠.

그럼에도 결론은 꽤 긍정적이었습니다. 무승부를 제외한 설정에서 GPT-4 심판과 사람 판정의 일치율이 80%를 넘었고, 이는 사람 평가자들끼리의 일치율과 비슷한 수준이었습니다. 즉 편향만 잘 통제하면, 비싸고 느린 인간 평가를 상당 부분 대체할 수 있다는 근거가 처음 제시된 것입니다.

5. MT-Bench: 멀티턴 대화 실력을 재는 시험지

MT-Bench는 Vicuna 초기 평가의 약점인 "단일 턴만 본다"는 문제를 겨냥해 설계되었습니다. 총 80개 문제, 각 문제는 2턴으로 구성되며, 두 번째 턴은 첫 번째 답변을 수정·확장·제약하는 후속 지시입니다.

범주무엇을 보는가2턴 후속 질문의 성격(예시 유형)
✍️ Writing창작·글쓰기 품질"방금 쓴 글을 모든 문장이 특정 글자로 시작하게 다시 써라"
🎭 Roleplay페르소나 유지캐릭터를 유지한 채 다른 상황에 답하기
🔍 Extraction정보 추출·형식 준수추출 결과를 JSON 등 다른 형식으로 바꾸기
🧠 Reasoning논리 추론조건을 바꿨을 때 결론 재추론
➗ Math수학 문제 풀이변형 문제, 일반화
💻 Coding코드 작성·이해복잡도 개선, 다른 제약 추가
🔬 STEM과학·공학 지식개념을 쉬운 말로 다시 설명
📜 Humanities인문·사회 지식관점 비교, 요약 재구성

채점은 주로 GPT-4 단일 답변 채점(1~10점)으로 하고, 수학·추론·코딩처럼 정답이 있는 범주는 참고 답안을 함께 줍니다. 그럼 Vicuna는 이 시험지에서 몇 점을 받았을까요? 아래는 LMSYS가 2023년 공개한 리더보드에 실린 대표적인 MT-Bench 점수입니다.

MT-Bench 점수 비교 GPT-4 심판 · 10점 만점 · 2023년 LMSYS 공개값 0246810 GPT-4 GPT-3.5-turbo Vicuna-33B v1.3 Llama-2-70B-chat Vicuna-13B v1.3 Alpaca-13B LLaMA-13B 8.997.947.126.866.394.532.61

그래프가 말해주는 것은 세 가지입니다.

첫째, SFT의 효과는 압도적입니다. 같은 LLaMA-13B 기반이라도 대화 미세조정을 하지 않은 원본은 2점대, Vicuna-13B는 6점대입니다. 대화 데이터로 "말하는 법"을 가르치는 것만으로도 체감 품질이 극적으로 오른다는 뜻이죠.

둘째, 데이터의 질이 양식의 차이를 만듭니다. 같은 13B 크기에서 Alpaca(단일 턴, self-instruct 데이터)보다 Vicuna(실제 멀티턴 대화)가 확연히 높습니다. 특히 MT-Bench는 2턴 문제라, 멀티턴 대화로 학습한 효과가 그대로 드러납니다.

셋째, 상위 상용 모델과의 격차는 "10%"보다 큽니다. GPT-4와 Vicuna-13B 사이에는 2.6점 차이가 있고, 이 격차는 특히 수학·추론·코딩 범주에서 크게 벌어졌습니다. 글쓰기나 롤플레이처럼 "말의 결"이 중요한 범주에서는 격차가 상대적으로 작고, 정답이 분명한 범주에서 크게 벌어지는 패턴은 모방 학습 모델의 전형적인 특징입니다.

📌 같이 보면 좋은 사실
Llama 2 기반의 Vicuna v1.5는 13B 기준으로 v1.3과 비슷한 6점대 중반의 MT-Bench 점수를 보였습니다. 기반 모델이 바뀌어도 SFT 데이터와 크기가 비슷하면 대화 품질 점수가 크게 달라지지 않는다는 점은, MT-Bench가 기반 지식보다 "대화 능력"에 더 민감하게 반응하는 시험이라는 해석을 뒷받침합니다. 반대로 MMLU 같은 지식 벤치마크에서는 기반 모델 교체의 효과가 더 잘 드러납니다.

6. Chatbot Arena: 사람들이 직접 매기는 대화 품질

MT-Bench가 "정해진 시험지"라면, Chatbot Arena는 "길거리 대결"입니다. 2023년 5월 LMSYS가 공개한 이 플랫폼에서 사용자는 아무 질문이나 던지고, 이름이 가려진 두 모델의 답변을 본 뒤 더 나은 쪽에 투표합니다. 투표 후에야 모델 이름이 공개되죠.

🙈 익명성
브랜드 선입견을 차단. "유명한 모델이니 좋겠지" 효과를 줄입니다.
🌍 실사용 분포
연구자가 고른 문제가 아니라 실제 사용자가 궁금한 질문이 들어옵니다.
📈 Elo 레이팅
체스처럼 승패로 상대적 실력을 수치화. 이후 통계적으로 더 안정적인 Bradley-Terry 모델 방식으로 보완되었습니다.

초창기 Arena에서 Vicuna-13B는 오픈소스 모델 중 상위권에 올라 주목받았습니다. 하지만 GPT-4, Claude 같은 상용 모델이 합류하자 순위표 상단은 빠르게 그들의 차지가 되었고, Vicuna는 "오픈 모델 중 대화 잘하는 축"이라는 위치에 자리 잡았습니다.

Arena의 의의는 한 가지 더 있습니다. 논문에서 Arena의 사람 투표와 GPT-4 심판의 판정을 비교해, LLM 심판이 사람 선호를 꽤 잘 근사한다는 근거로 활용했다는 점입니다. 즉 Vicuna 프로젝트는 "모델 → 시험지(MT-Bench) → 대중 평가(Arena) → 둘 사이의 상관 검증"이라는 평가 생태계를 한꺼번에 설계한 셈입니다.

⚠️ Arena 결과를 읽을 때
Arena 투표는 사람의 선호를 측정합니다. 사람은 사실 오류를 확인하지 않고도 문체·형식·친절함에 끌려 투표할 수 있습니다. 따라서 Arena 점수가 높다고 해서 사실 정확성이나 안전성이 높다는 보장은 없습니다. 형식 효과(마크다운, 답변 길이)를 통제하려는 시도가 이후 계속 이어진 이유도 여기에 있습니다.

7. 차원별로 본 Vicuna의 대화 품질

숫자는 요약일 뿐, 대화 품질은 여러 차원의 합입니다. 공개된 평가 결과와 연구 문헌, 그리고 모델 구조에서 자연스럽게 따라 나오는 특성을 바탕으로 Vicuna의 강점과 약점을 차원별로 정리해 보겠습니다.

🗣️ 유창성과 형식: 가장 큰 강점

Vicuna 답변은 대체로 문법적으로 매끄럽고, 단계별로 구조화되어 있습니다. "먼저 ~, 다음으로 ~, 마지막으로 ~" 같은 전개, 번호 목록, 코드 블록 사용은 ChatGPT 대화를 학습한 결과입니다. 처음 써보는 사람이 "오, ChatGPT 같은데?"라고 느끼는 지점이 바로 여기입니다.

🎯 지시 따르기: 단순 지시는 좋음, 복합 제약은 흔들림

"세 줄로 요약해줘", "표로 정리해줘" 같은 단순 지시는 잘 따릅니다. 그러나 MT-Bench 2턴 문제처럼 여러 제약을 동시에 걸면(예: 특정 글자 수, 특정 형식, 특정 단어 금지) 일부 제약을 빠뜨리는 경우가 늘어납니다. 상위 모델과 점수 차이가 2턴에서 더 커지는 경향이 이 약점을 반영합니다.

🔁 멀티턴 일관성: 짧은 대화는 양호, 긴 대화는 한계

손실 마스킹 기반의 멀티턴 학습 덕분에 직전 턴 참조는 자연스럽습니다. 다만 원본 v0~v1.3은 2K 컨텍스트이고 학습 데이터도 그 길이로 잘려 있었기 때문에, 대화가 길어지면 초반 설정(이름, 조건, 역할)을 잊는 현상이 나타납니다. v1.5-16K는 컨텍스트 자체는 늘었지만, 긴 맥락을 "기억"하는 것과 "활용"하는 것은 별개의 문제입니다.

🧾 사실성과 환각: 가장 주의할 영역

Vicuna는 모르는 것도 자신감 있게 말하는 경향이 있습니다. 이는 모델 크기가 작아 기반 지식이 제한적인데, 학습된 말투는 "확신에 찬 ChatGPT 스타일"이기 때문입니다. 형식은 전문가, 내용은 추측인 답변이 섞일 수 있어, 인물·수치·인용·논문 제목에서 특히 검증이 필요합니다.

➗ 추론·수학·코딩: 격차가 가장 큰 영역

MT-Bench에서 상용 모델과의 차이가 가장 크게 벌어지는 범주입니다. 간단한 함수 작성이나 흔한 알고리즘은 무난하지만, 여러 단계의 계산이나 엣지 케이스 처리에서 실수가 잦습니다. 코딩 답변이 "그럴듯하게 보이지만 실행하면 실패"하는 사례는 반드시 테스트로 확인해야 합니다.

🛡️ 안전성: 상용 모델 수준의 정렬은 아님

Vicuna는 SFT 중심으로 학습되었고, RLHF 같은 대규모 선호 정렬을 거친 상용 모델 수준의 안전 장치를 갖추었다고 보기 어렵습니다. LMSYS 역시 모델 공개 당시 독성·편향 완화가 충분하지 않다는 한계를 명시했습니다. 서비스에 붙인다면 별도의 입력·출력 필터링이 필수입니다.

🇰🇷 한국어 대화: 가능은 하지만 기대치를 낮춰야

기반인 LLaMA의 사전학습 데이터는 영어 비중이 매우 높고, ShareGPT 데이터도 대부분 영어였습니다. 그래서 Vicuna는 한국어 질문을 이해하고 한국어로 답할 수는 있지만, 어휘가 어색하거나 답변 도중 영어로 넘어가는 현상이 나타날 수 있습니다. 한국어 서비스를 목표로 한다면 한국어 데이터로 추가 미세조정한 파생 모델이나 다국어 성능이 강화된 최신 모델을 함께 검토하는 편이 현실적입니다.

대화 품질의 두 얼굴 보이는 품질과 검증해야 하는 품질 유창성 형식 · 말투 수면선 수면 아래, 검증할 것들 사실 정확성 추론 정합성 복합 제약 준수 안전성 · 편향 🔍

8. 모방 학습의 함정: "말투는 배워도 실력은 못 배운다"

Vicuna의 성공 직후, 학계에는 중요한 반론이 등장했습니다. 2023년 5월 UC 버클리의 Gudibande 등이 발표한 논문 "The False Promise of Imitating Proprietary LLMs"입니다. 연구진은 ChatGPT 출력으로 여러 크기의 모델을 학습시키는 실험을 하며 다음을 관찰했습니다.

🔹 사람 평가자들은 모방 모델의 답변을 ChatGPT와 비슷한 수준으로 평가하는 경우가 많았다.
🔹 그러나 자동화된 사실·지식 벤치마크에서는 모방 데이터의 양을 늘려도 기반 모델과의 격차가 거의 줄지 않았다.
🔹 모방 모델은 ChatGPT의 스타일(자신감 있는 말투, 구조화된 형식)은 잘 배웠지만, 사실성과 능력까지 따라잡지는 못했다.
🔹 격차를 줄이는 더 효과적인 방법은 모방 데이터를 늘리는 것이 아니라 더 강력한 기반 모델을 쓰는 것이었다.

이 결과는 Vicuna의 대화 품질 분석에 매우 중요한 렌즈를 제공합니다. 사람과 GPT-4가 "좋다"고 느낀 부분 중 상당수는 스타일의 성공이었을 수 있다는 것이죠. 마치 명배우의 연기 톤을 완벽히 따라 한 신인이 대본 해석력까지 갖춘 건 아닌 것처럼요.

그렇다고 Vicuna의 가치가 사라지는 건 아닙니다. 오히려 이 논쟁 덕분에 업계는 "대화 능력"과 "지식·추론 능력"을 분리해서 평가해야 한다는 교훈을 얻었습니다. 오늘날 모델 카드에 MT-Bench·Arena 같은 대화 지표와 MMLU·GSM8K·HumanEval 같은 능력 지표가 나란히 실리는 관행은 이런 맥락에서 자리 잡았습니다.

평가 축대표 도구Vicuna에서 보이는 경향
대화 선호도Chatbot Arena, 사람 평가같은 크기 오픈 모델 대비 높은 편
멀티턴 지시 따르기MT-BenchSFT 효과 뚜렷, 상용 모델과는 격차
지식MMLU 등기반 모델 능력에 크게 좌우
수학·코딩GSM8K, HumanEval 등상대적 약점
안전성레드팀, 독성 평가별도 정렬·필터 필요

9. 직접 해보는 Vicuna 대화 품질 분석 파이프라인

이론은 충분하니, 이제 손을 움직여 볼 시간입니다. 아래는 FastChat 저장소의 llm_judge 도구를 활용해 MT-Bench 방식으로 Vicuna를 평가하는 흐름입니다. 저장소 구조와 명령어는 버전에 따라 바뀔 수 있으니, 실제 실행 전에는 공식 README를 확인하세요.

1단계: 환경 준비

git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip install -e ".[model_worker,llm_judge]"
cd fastchat/llm_judge

2단계: 모델 답변 생성

python gen_model_answer.py \
  --model-path lmsys/vicuna-13b-v1.5 \
  --model-id vicuna-13b-v1.5

이 단계에서 FastChat은 모델 이름에 맞는 대화 템플릿을 자동으로 적용합니다. 직접 만든 파인튜닝 모델이라면 템플릿이 올바르게 매칭되는지 반드시 확인하세요. 템플릿이 틀리면 점수가 실제 실력보다 크게 낮게 나옵니다.

3단계: GPT-4 심판 채점

export OPENAI_API_KEY=발급받은_키
python gen_judgment.py --model-list vicuna-13b-v1.5 --parallel 2
python show_result.py

기본 모드는 단일 답변 채점(1~10점)이며, 쌍대 비교 모드도 지원합니다. 결과에서 1턴과 2턴 점수를 따로 보면 멀티턴 품질 저하 정도를 확인할 수 있습니다.

4단계: 위치 편향을 통제한 나만의 쌍대 비교

사내 데이터나 도메인 질문으로 평가하고 싶다면, 논문의 권장 사항을 반영한 간단한 쌍대 비교 함수를 직접 만들어 볼 수 있습니다. 핵심은 순서를 바꿔 두 번 판정하고, 결과가 엇갈리면 무승부로 처리하는 것입니다.

JUDGE_PROMPT = """두 AI 어시스턴트의 답변을 공정하게 비교하세요.
답변 순서나 길이에 영향을 받지 말고, 정확성·유용성·지시 준수를 기준으로 판단하세요.
먼저 짧게 근거를 쓰고, 마지막 줄에 [[A]], [[B]], [[C]](무승부) 중 하나만 출력하세요.

[질문]
{q}

[답변 A]
{a}

[답변 B]
{b}
"""

def parse_verdict(text):
    for tag in ("[[A]]", "[[B]]", "[[C]]"):
        if tag in text:
            return tag[2]
    return "C"

def judge_pair(call_llm, q, ans_x, ans_y):
    # 1차: x를 A 위치에
    v1 = parse_verdict(call_llm(JUDGE_PROMPT.format(q=q, a=ans_x, b=ans_y)))
    # 2차: 순서를 바꿔 y를 A 위치에
    v2 = parse_verdict(call_llm(JUDGE_PROMPT.format(q=q, a=ans_y, b=ans_x)))

    first = {"A": "x", "B": "y", "C": "tie"}[v1]
    second = {"A": "y", "B": "x", "C": "tie"}[v2]
    return first if first == second else "tie"

여기서 call_llm은 사용하는 심판 모델 API를 감싼 함수입니다. 이 구조만으로도 위치 편향의 영향을 상당히 줄일 수 있습니다. 장황함 편향까지 점검하고 싶다면, 같은 답변에 내용 없는 반복 문장을 붙인 "부풀린 버전"을 만들어 심판이 이를 더 높게 평가하는지 확인하는 테스트를 추가해 보세요.

5단계: 사람 평가로 교차 검증

LLM 심판만 믿지 말고, 전체 문항 중 일부를 표본으로 뽑아 사람이 직접 판정한 뒤 심판과의 일치율을 계산하세요. 일치율이 낮은 범주가 있다면, 그 범주는 심판의 약점이거나 평가 기준이 모호하다는 신호입니다. 도메인 전문가 평가가 필요하다면 재능넷 같은 재능 공유 플랫폼에서 해당 분야 전문가에게 라벨링이나 검수를 의뢰하는 것도 현실적인 방법입니다.

🧩 품질 분석 체크리스트
✅ 학습 당시와 같은 대화 템플릿·종료 토큰을 쓰고 있는가?
✅ 디코딩 설정(temperature 등)을 비교 모델 간 동일하게 맞췄는가? MT-Bench는 범주별로 권장 temperature가 다르게 설정되어 있다.
✅ 1턴·2턴 점수를 분리해서 보고 있는가?
✅ 쌍대 비교에서 순서 교체를 적용했는가?
✅ 수학·코딩은 참고 답안이나 실제 실행 테스트로 검증했는가?
✅ 사실성은 별도 검증 세트로 측정했는가?
✅ 사람 평가 표본과의 일치율을 확인했는가?

10. 실무 관점: Vicuna를 지금 어떻게 바라봐야 할까

2023년 이후 Llama 3, Mistral, Qwen, Gemma 등 훨씬 강력한 오픈 모델이 쏟아지면서, Vicuna를 그대로 프로덕션에 쓰는 경우는 많지 않습니다. 그렇다면 지금 Vicuna를 공부하는 의미는 무엇일까요?

🧭 레퍼런스 베이스라인
논문과 벤치마크에서 Vicuna는 여전히 자주 비교 대상으로 등장합니다. 새 SFT 기법의 효과를 보여줄 때 "Vicuna 대비"라는 기준선이 유용합니다.
🧪 학습 레시피 교과서
멀티턴 손실 마스킹, 데이터 정제, 메모리 최적화, 저비용 학습이라는 SFT의 기본기가 한 프로젝트에 집약되어 있습니다.
⚖️ 평가 방법론의 원점
LLM-as-a-judge의 편향 분석, MT-Bench, Arena는 현재도 모델 평가의 표준 도구 계보에 있습니다.
🖼️ 멀티모달의 언어 백본
LLaVA 등 여러 연구용 멀티모달 모델이 Vicuna를 언어 모델 백본으로 채택하면서, 그 대화 특성이 다른 모델에도 이어졌습니다.

라이선스도 품질만큼 중요하다

Vicuna v0~v1.3은 LLaMA(1세대) 기반이라 비상업적 연구 목적 라이선스 제약을 받습니다. 또한 ShareGPT 데이터가 OpenAI 모델 출력이라는 점에서 이용 약관 관련 논의도 있었습니다. v1.5는 Llama 2 기반이어서 Llama 2 커뮤니티 라이선스를 따르지만, 학습 데이터 출처에 관한 이슈는 별도로 검토해야 합니다. 서비스 도입 전에는 반드시 각 모델 카드의 라이선스 항목과 법무 검토를 거치세요.

데이터 프라이버시의 교훈

ShareGPT 데이터는 사용자가 자발적으로 공유한 대화였지만, 그 안에 개인정보가 섞일 가능성은 늘 존재했습니다. 이후 LMSYS가 Arena 대화를 기반으로 공개한 대규모 데이터셋(LMSYS-Chat-1M)에서는 개인정보 제거 처리와 이용 동의 절차가 강조되었습니다. 대화 데이터로 모델을 학습하는 모든 개발자가 새겨둘 부분입니다.

11. 자주 묻는 질문

Q. Vicuna가 정말 ChatGPT의 90% 성능인가요?
초기 80문항 GPT-4 채점에서 총점 비율이 약 90%였다는 의미이며, 블로그도 비과학적 예비 평가라고 명시했습니다. 이후 MT-Bench에서는 GPT-3.5-turbo와도 점수 차이가 분명했고, 수학·추론에서 격차가 컸습니다.
Q. 7B, 13B, 33B 중 대화 품질 차이가 큰가요?
v1.3 기준 MT-Bench에서 33B가 13B보다 높은 점수를 받았습니다. 크기가 커질수록 지식과 추론이 좋아지는 경향이 있지만, 추론 비용과 메모리 요구량도 함께 커집니다.
Q. GPT-4 심판 대신 오픈소스 모델을 심판으로 써도 되나요?
가능은 하지만 MT-Bench 논문은 GPT-4가 다른 모델보다 사람과의 일치율이 높았다고 보고했습니다. 약한 심판일수록 위치·장황함 편향에 더 취약할 수 있으므로, 사람 평가와의 일치율을 먼저 확인하는 것이 안전합니다.
Q. 답변이 끝나지 않고 혼자 USER: 를 이어 써요.
대부분 템플릿 불일치나 종료 토큰 미설정이 원인입니다. Vicuna v1.1 계열 템플릿을 쓰고 </s>를 종료 조건으로 지정해 보세요.
Q. MT-Bench 점수가 높으면 우리 서비스에서도 좋을까요?
반드시 그렇지는 않습니다. MT-Bench는 일반 대화 능력 중심의 80문항이라 특정 도메인의 정확성을 대변하지 못합니다. 도메인 질문으로 구성한 자체 평가 세트를 함께 운영하세요.

🦙 한눈에 정리

① Vicuna는 LLaMA에 ShareGPT 실사용 대화를 SFT해 저비용으로 높은 대화 체감 품질을 끌어낸 모델이다.
② 품질의 비결은 멀티턴 데이터, 응답 전용 손실, 긴 컨텍스트, 데이터 정제였다.
③ "90%"는 80문항 GPT-4 채점의 총점 비율일 뿐, 이후 MT-Bench에서 상용 모델과의 격차가 분명히 드러났다.
④ LLM 심판은 위치·장황함·자기 선호 편향과 수학 채점 한계가 있지만, 통제하면 사람 판정과 80% 이상 일치한다.
⑤ 모방 학습은 스타일은 잘 배우지만 사실성과 능력은 기반 모델이 좌우한다.
⑥ 대화 품질 분석은 템플릿 확인 → 멀티턴 벤치마크 → 편향 통제 → 사실·코드 검증 → 사람 교차 검증 순으로 설계하자.

Vicuna 이야기는 결국 "말을 잘하는 것"과 "아는 것을 정확히 말하는 것"이 다르다는, AI 개발의 오래된 진실을 다시 확인시켜 줍니다. 그리고 그 차이를 재기 위해 만든 도구들이 지금도 우리가 쓰는 평가 표준이 되었다는 점에서, 이 작은 라마는 꽤 큰 발자국을 남긴 셈입니다. 여러분이 다음 모델을 평가할 때, 화려한 말투 아래 수면 밑을 한 번 더 들여다보는 습관을 들인다면 이 글은 제 역할을 다한 것입니다. AI 평가나 모델 파인튜닝 역량을 키워 재능넷에서 관련 프로젝트를 맡아보는 것도 좋은 도전이 될 거예요. 🚀

참고 자료

• LMSYS Org, "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality" (2023) — https://lmsys.org/blog/2023-03-30-vicuna/
• Zheng et al., "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena" (NeurIPS 2023) — https://arxiv.org/abs/2306.05685
• LMSYS Org, "Chatbot Arena: Benchmarking LLMs in the Wild with Elo Ratings" (2023) — https://lmsys.org/blog/2023-05-03-arena/
• Gudibande et al., "The False Promise of Imitating Proprietary LLMs" (2023) — https://arxiv.org/abs/2305.15717
• FastChat GitHub 저장소 (Vicuna 학습·서빙·llm_judge) — https://github.com/lm-sys/FastChat
• Hugging Face 모델 카드 lmsys/vicuna-13b-v1.5 — https://huggingface.co/lmsys/vicuna-13b-v1.5
• Zheng et al., "LMSYS-Chat-1M: A Large-Scale Real-World LLM Conversation Dataset" (2023) — https://arxiv.org/abs/2309.11998
댓글 작성

이 글에 대한 여러분의 생각을 들려주세요

댓글 0
댓글을 불러오는 중입니다.

아직 댓글이 없습니다.