구조화된 생성으로 프롬프트 일관성 향상
구조화된 생성—정규 표현식이나 문맥 자유 문법을 사용해 모델의 출력을 특정 형식으로 제한하는 방법—은 LLM 벤치마크가 프롬프트 형식과 샷 순서에 민감하게 반응하는 정도를 크게 줄여줍니다. 이 접근법은 모델 순위를 안정화시킬 뿐만 아니라 전체 기대 성능을 향상시키는 경우가 많아, 프롬프트 구조의 사소한 변화만으로도 결과가 크게 달라지는 현재 LLM 평가의 중요한 결함을 해결합니다.
문제: 프롬프트 형식에 대한 평가 민감도
LLM 벤치마크 성능은 기본 정보가 동일하더라도 프롬프트의 구체적인 형식에 크게 좌우됩니다. Hugging Face Leaderboards and Evals 팀의 연구에 따르면, 프롬프트 형식의 겉보이는 변화만으로도 정확도에 큰 차이가 발생하고 모델 순위가 불안정해집니다.
정확도 및 순위에 미치는 영향
다섯 가지 모델과 여덟 가지 프롬프트 형식을 사용해 MMLU 작업을 실험한 결과, 다음과 같은 현상이 관찰되었습니다:
- 점수 변동: 모델 성능이 형식마다 약 10점 정도 차이났습니다. 한 극단적인 사례에서는 Qwen1.5-7B의 정확도가 특정 프롬프트 변형과 연관된 토크나이저 문제 때문에 51.2%에서 22.9%로 급락했습니다.
- 순위 불안정성: 어떤 모델도 모든 프롬프트 변형에서 일관된 순위를 유지하지 못했습니다. 이는 모델 개발자가 자신에게 가장 유리한 프롬프트 형식을 선택해 보고된 결과를 조작할 가능성을 시사합니다.
- 샷 순서 민감도: 프롬프트 형식과 예시가 동일하더라도, 몇 샷 예시의 순서를 섞는 것만으로도 성능 차이가 최대 3점까지 발생했습니다.
구조화된 생성을 해결책으로
이러한 변동성을 줄이기 위해 Hugging Face와 Dottxt는 Outlines 라이브러리를 활용한 구조화된 생성 방식을 탐구했습니다. 입력(프롬프트)에 집중하기보다, 모델이 미리 정의된 구조를 따르도록 출력을 강제하는 방법입니다.
기술 구현
GSM8K(초등학교 수준 수학 문제)와 같은 작업에서는 정규 표현식을 사용해 출력을 제한했습니다. 해당 정규식은 모델에게 다음을 요구했습니다:
- 200~700자 사이로 추론한다.
- 명시적으로 "The answer is" 라고 적는다.
- 최대 10자리 숫자를 제공한다 (0으로 시작하지 않음).
이 기법은 "thought control"이라고 불리며, 연구자들이 모델이 답을 도출하기 전에 수행하는 추론 양을 조절할 수 있게 합니다.
실험 결과
GSM8K: N-샷 프롬프트
Mistral-7Bv0.1과 Zephyr-7B-beta를 GSM8K 데이터셋에 1~8 샷 프롬프트로 테스트한 결과, 구조화된 생성은 다음과 같은 효과를 보였습니다:
- 변동 감소: 서로 다른 n-샷 설정 간 성능 변동이 크게 낮아졌습니다.
- 순위 안정화: 모델들의 상대 순위가 일관되게 유지되었습니다; Mistral이 Zephyr보다 꾸준히 우수했습니다.
- 효율성 향상: 1-샷 구조화 성능이 1-샷 비구조화 성능보다 현저히 뛰어나, 5-샷 비구조화 생성과 동등한 수준을 달성했습니다.
GPQA: N-샷 및 샷 순서 변형
Graduate-Level Google-Proof Q&A Benchmark(GPQA) ‘diamond’ 서브셋을 사용해 샷 수와 샷 순서(섞는 시드)를 동시에 변형시켜 실험했습니다.
성능 향상:
| 모델 | 비구조화 평균 | 구조화 평균 |
|---|---|---|
| Mistral-7B-v0.1 | 0.2360 | 0.2935 |
| Zephyr-7b-beta | 0.2387 | 0.3048 |
변동 감소:
| 모델 | 비구조화 표준편차 | 구조화 표준편차 |
|---|---|---|
| Mistral-7B-v0.1 | 0.0213 | 0.0202 |
| Zephyr-7b-beta | 0.0273 | 0.0180 |
순위 일관성에 대한 결론
GPQA 실험 전반에 걸쳐 구조화된 생성 적용은 두 모델 간 "승자"를 결정하는 일관성을 크게 향상시켰습니다. 출력을 제한함으로써 연구자들은 잡다한 프롬프트 특징의 영향을 최소화했고, 평가가 모델의 실제 능력을 보다 정확히 반영하도록 만들었습니다.