늦은 밤, 경찰관이 가로등 아래에서 손과 무릎으로 기어 다니는 술 취한 사람을 발견합니다. 그 취한 사람은 경찰관에게 지갑을 찾고 있다고 말합니다. 경찰관이 정말 여기서 지갑을 떨어뜨렸는지 묻자, 그는 아마도 길 건너편에서 떨어뜨린 것 같다고 대답합니다. 그러자 당황한 경찰관이 묻습니다. "그러면 왜 여기서 찾고 있나요?" 취한 사람이 설명합니다. "여기가 더 밝으니까요."
David H. Friedman, Why Scientific Studies Are So Often Wrong: The Streetlight Effect, Discover magazine, Dec. 2010
벤치마크는 현대 머신러닝 관행의 핵심 요소이며 오랫동안 그래왔지만, 매우 심각한 문제가 있습니다: 우리의 벤치마크가 실제로 유용한 것을 측정하고 있는지 알 수 없다는 것입니다.
이는 큰 문제이며, 이 글에서는 그 해결책의 일부인 AIR-Bench를 소개하겠습니다. Beijing Academy of Artificial Intelligence와의 공동 프로젝트인 이것은 벤치마크의 품질과 유용성을 개선하기 위해 설계된 AI 메트릭스에 대한 새로운 접근 방식입니다.

tag가로등 효과
과학 및 운영 연구는 측정에 많은 중점을 두지만, 측정은 단순한 것이 아닙니다. 건강 연구에서는 어떤 약물이나 치료가 환자의 건강을 개선하고, 수명을 연장하거나, 상태를 개선했는지 알고 싶어 할 것입니다. 하지만 건강과 삶의 질 향상은 직접 측정하기 어려운 것들이며, 어떤 치료가 누군가의 수명을 연장했는지 알아내는 데는 수십 년이 걸릴 수 있습니다.
그래서 연구자들은 대리 지표를 사용합니다. 건강 연구에서는 체력, 통증 감소, 혈압 저하 또는 쉽게 측정할 수 있는 다른 변수가 될 수 있습니다. 건강 연구의 문제점 중 하나는 이러한 대리 지표가 실제로 약물이나 치료를 통해 얻고자 하는 더 나은 건강 결과를 나타내지 않을 수 있다는 것입니다.
측정은 실제로 중요한 유용한 것에 대한 대리 지표입니다. 그 실제 대상을 측정할 수 없을 때, 측정할 수 있는 다른 것, 즉 실제로 관심 있는 유용한 것과 상관관계가 있다고 믿을 만한 이유가 있는 것을 측정합니다.
측정에 중점을 두는 것은 20세기 운영 연구의 주요 발전이었으며 깊고 긍정적인 영향을 미쳤습니다. 1980년대 일본의 경제적 지배력 상승의 원동력으로 평가받는 종합품질경영(Total Quality Management)은 거의 전적으로 대리 변수의 지속적인 측정과 그에 기반한 관행 최적화에 관한 것입니다.
하지만 측정에 대한 집중은 몇 가지 알려진 큰 문제를 가지고 있습니다:
- 측정값을 기반으로 결정을 내릴 때 그 측정이 더 이상 좋은 대리 지표가 아닐 수 있습니다.
- 실제로는 아무것도 개선하지 않으면서 측정값만 부풀리는 방법들이 있어, 부정행위의 가능성이 있거나 도움이 되지 않는 일을 하면서도 진전을 이루고 있다고 착각할 수 있습니다.
일부에서는 이러한 문제 때문에 대부분의 의학 연구가 잘못되었을 수 있다고 믿습니다. 측정 가능한 것과 실제 목표 사이의 괴리는 베트남 전쟁에서의 미국의 재앙의 원인으로 지목되는 이유 중 하나입니다.
이것은 때때로 "가로등 효과"라고 불립니다. 이 글 서두의 이야기처럼, 취한 사람이 물건을 잃어버린 곳이 아닌 빛이 더 밝은 곳에서 찾는 것과 같습니다. 대리 측정은 우리가 보고 싶은 것에는 빛이 없기 때문에 빛이 있는 곳을 보는 것과 같습니다.
더 기술적인 문헌에서 "가로등 효과"는 일반적으로 굿하트의 법칙과 연관됩니다. 이는 영국 경제학자 Charles Goodhart가 번영의 대리 지표를 많이 강조했던 대처 정부를 비판한 데서 유래했습니다. 굿하트의 법칙은 여러 가지 형태로 표현되지만, 아래가 가장 널리 인용되는 것입니다:
목표가 되는 모든 측정은 나쁜 측정이 된다[…]
Keith Hoskins, 1996 The 'awful idea of accountability': inscribing people into the measurement of objects.
AI에서 이의 유명한 예는 기계 번역 연구에 사용되는 BLEU 메트릭입니다. 2001년 IBM에서 개발된 BLEU는 기계 번역 시스템을 자동으로 평가하는 방법으로, 00년대 기계 번역 붐의 핵심 요소였습니다. 시스템에 점수를 매기기 쉬워지자 개선 작업을 할 수 있게 되었습니다. 그리고 BLEU 점수는 꾸준히 향상되었습니다. 2010년까지는 다른 시스템들이 잘 처리하지 못하는 특정 문제를 얼마나 잘 다루는지, 얼마나 혁신적인지와 상관없이 최신 BLEU 점수를 넘지 못하면 기계 번역에 관한 연구 논문을 저널이나 학회에 게재하기가 거의 불가능했습니다.
학회에 논문을 발표하는 가장 쉬운 방법은 모델의 매개변수를 약간 조정하여 Google Translate보다 조금이라도 높은 BLEU 점수를 얻은 다음 제출하는 것이었습니다. 이러한 결과들은 본질적으로 무의미했습니다. 번역할 새로운 텍스트만 가져와도 이들이 거의 최신 기술보다 나아지지 않았고 오히려 더 나쁜 경우가 많다는 것을 알 수 있었습니다.
기계 번역의 진전을 평가하는 데 BLEU를 사용하는 대신, 더 나은 BLEU 점수를 얻는 것이 목표가 되었습니다. 그렇게 되자마자, 그것은 더 이상 진전을 평가하는 유용한 방법이 되지 못했습니다.
tag우리의 AI 벤치마크는 좋은 대리 지표인가?
임베딩 모델에 가장 널리 사용되는 벤치마크는 MTEB 테스트 세트로, 56개의 특정 테스트로 구성되어 있습니다. 이들은 카테고리별로 평균을 내고 전체적으로 합산하여 클래스별 점수 모음을 생성합니다. 이 글을 쓰는 시점의 MTEB 리더보드 상위권은 다음과 같습니다:

최상위 임베딩 모델의 전체 평균 점수는 68.28이고, 그 다음은 67.56입니다. 이 표를 보고 그 차이가 큰지 작은지 판단하기는 매우 어렵습니다. 만약 차이가 작다면, 가장 높은 점수를 가진 모델보다 다른 요소들이 더 중요할 수 있습니다:
- 모델 크기: 모델들은 각기 다른 크기를 가지며, 이는 서로 다른 컴퓨팅 자원 요구사항을 반영합니다. 작은 모델은 더 빠르게 실행되고, 더 적은 메모리를 사용하며, 덜 비싼 하드웨어를 필요로 합니다. 이 상위 10개 목록에서 우리는 4억 3400만 개에서 460억 개의 매개변수를 가진 모델들을 볼 수 있습니다 - 100배의 차이입니다!
- 임베딩 크기: 임베딩 차원은 다양합니다. 더 작은 차원은 임베딩 벡터가 더 적은 메모리와 저장 공간을 사용하게 하고 벡터 비교(임베딩의 핵심 용도)를 훨씬 더 빠르게 만듭니다. 이 목록에서 우리는 768에서 4096까지의 임베딩 차원을 볼 수 있습니다 - 5배의 차이지만 상업적 애플리케이션을 구축할 때는 여전히 중요합니다.
- 컨텍스트 입력 윈도우 크기: 컨텍스트 윈도우는 크기와 품질 모두에서 2048 토큰에서 32768까지 다양합니다. 더욱이, 다른 모델들은 위치 인코딩과 입력 관리에 대해 다른 접근 방식을 사용하며, 이는 입력의 특정 부분에 편향을 만들 수 있습니다.
요약하면, 전체 평균은 어떤 임베딩 모델이 가장 좋은지 결정하기에는 매우 불완전한 방법입니다.
검색과 같은 작업별 점수를 살펴보더라도 같은 문제에 직면합니다. 이 테스트 세트에서 모델의 점수가 어떻든 간에, 귀하의 특정한 고유 사용 사례에서 어떤 모델이 가장 잘 수행될지 알 수 있는 방법은 없습니다.

하지만 이러한 종류의 벤치마크들이 가진 문제는 여기서 끝나지 않습니다.
Goodhart의 법칙의 주요 통찰은 의도하지 않은 경우에도 지표는 항상 조작될 수 있다는 것입니다. 예를 들어, MTEB 벤치마크는 귀하의 훈련 데이터에 포함되었을 가능성이 높은 공개 소스의 데이터로 구성되어 있습니다. 벤치마크 데이터를 훈련에서 제거하기 위해 특별히 노력하지 않는 한, 귀하의 벤치마크 점수는 통계적으로 신뢰할 수 없게 됩니다.
간단하고 포괄적인 해결책은 없습니다. 벤치마크는 대리 지표이며, 우리가 직접 측정할 수 없지만 알고 싶은 것을 정확히 반영한다고 확신할 수는 없습니다.
하지만 우리는 AI 벤치마크에서 완화할 수 있는 세 가지 핵심 문제를 발견했습니다:
- 벤치마크는 본질적으로 고정되어 있습니다: 동일한 텍스트를 사용하는 동일한 작업들.
- 벤치마크는 일반적입니다: 실제 시나리오에 대해 매우 유익한 정보를 제공하지 않습니다.
- 벤치마크는 유연하지 않습니다: 다양한 사용 사례에 대응할 수 없습니다.
AI는 이러한 문제를 만들어내기도 하지만, 때로는 해결책도 만들어냅니다. 우리는 AI 모델을 사용하여 적어도 AI 벤치마크에 영향을 미치는 이러한 문제들을 해결할 수 있다고 믿습니다.
tagAI를 사용하여 AI를 벤치마크하기: AIR-Bench
AIR-Bench는 오픈소스이며 MIT 라이선스로 제공됩니다. GitHub 저장소에서 코드를 확인하거나 다운로드할 수 있습니다.
tag어떤 기능을 제공하나요?
AIR-Bench는 AI 벤치마킹에 중요한 기능들을 제공합니다:
- 검색 및 RAG 애플리케이션을 위한 특화
이 벤치마크는 현실적인 정보 검색 애플리케이션과 검색 증강 생성 파이프라인에 중점을 둡니다. - 도메인 및 언어의 유연성
AIR은 도메인별 데이터나 다른 언어, 심지어 귀하만의 작업별 데이터로 벤치마크를 만드는 것을 훨씬 쉽게 만듭니다. - 자동화된 데이터 생성
AIR-Bench는 테스트 데이터를 생성하고 데이터셋이 정기적으로 업데이트되어 데이터 유출의 위험을 줄입니다.
tagHuggingFace의 AIR-Bench 리더보드
우리는 현재 출시된 AIR-Bench 생성 작업을 위해 MTEB와 유사한 리더보드를 운영하고 있습니다. 우리는 정기적으로 벤치마크를 재생성하고, 새로운 것을 추가하며, 더 많은 AI 모델에 대한 coverage를 확장할 것입니다.

tag어떻게 작동하나요?
AIR 접근방식의 핵심 통찰은 대규모 언어 모델(LLM)을 사용하여 어떤 훈련 세트에도 포함될 수 없는 새로운 텍스트와 새로운 작업을 생성할 수 있다는 것입니다.
AIR-Bench는 LLM의 창의적 능력을 활용하여 시나리오를 실행합니다. 사용자는 문서 모음(일부 모델의 훈련 데이터에 포함될 수 있는 실제 문서)을 선택한 다음, 정의된 역할을 가진 사용자와 해당 문서 말뭉치를 사용해야 하는 상황을 상상합니다.

그런 다음, 사용자는 말뭉치에서 문서를 선택하고 이를 사용자 프로필 및 상황 설명과 함께 LLM에 전달합니다. LLM은 해당 사용자와 상황에 적합하고 해당 문서를 찾을 수 있는 쿼리를 생성하도록 프롬프트됩니다.

AIR-Bench 파이프라인은 문서와 쿼리로 LLM에 프롬프트를 주고, 제공된 문서와 유사하지만 쿼리와 일치하지 않아야 하는 합성 문서를 만듭니다.

이제 우리는 다음을 가지게 됩니다:
- 쿼리 모음
- 각 쿼리에 대한 일치하는 실제 문서
- 예상되는 일치하지 않는 합성 문서의 작은 모음
AIR-Bench는 합성 문서를 실제 문서 모음과 병합한 다음, 하나 이상의 임베딩 및 재순위 지정 모델을 사용하여 쿼리가 일치하는 문서를 검색할 수 있어야 하는지 확인합니다. 또한 LLM을 사용하여 각 쿼리가 검색해야 하는 문서와 관련이 있는지 확인합니다.
이 AI 중심의 생성 및 품질 관리 프로세스에 대한 자세한 내용은 GitHub의 AIR-Bench 저장소에 있는 데이터 생성 문서를 참조하세요.
그 결과는 고품질의 쿼리-매치 쌍과 이를 실행할 수 있는 반합성 데이터셋입니다. 원본 실제 문서 컬렉션이 학습의 일부를 구성하더라도, 추가된 합성 문서와 쿼리 자체는 이전에 학습할 수 없었던 새로운 데이터입니다.
tag도메인별 벤치마크와 현실 기반 테스팅
쿼리와 문서를 합성하는 것은 벤치마크 데이터가 학습에 유출되는 것을 방지할 뿐만 아니라, 일반적인 벤치마크의 문제를 해결하는 데도 큰 도움이 됩니다.
AIR-Bench는 LLM에 선택된 데이터, 사용자 프로필, 시나리오를 제공함으로써 특정 사용 사례에 대한 벤치마크를 매우 쉽게 구성할 수 있게 합니다. 또한 특정 유형의 사용자와 사용 시나리오에 대한 쿼리를 구성함으로써, AIR-Bench는 전통적인 벤치마크보다 실제 사용 환경에 더 가까운 테스트 쿼리를 생성할 수 있습니다. LLM의 제한된 창의성과 상상력이 실제 시나리오와 완전히 일치하지 않을 수 있지만, 연구자들이 사용할 수 있는 데이터로 만든 정적 테스트 데이터셋보다는 더 나은 매칭을 제공합니다.
이러한 유연성의 부산물로, AIR-Bench는 GPT-4가 지원하는 모든 언어를 지원합니다.
또한 AIR-Bench는 임베딩 모델의 가장 광범위한 응용 분야인 현실적인 AI 기반 정보 검색에 특별히 초점을 맞춥니다. 클러스터링이나 분류와 같은 다른 종류의 작업에 대한 점수는 제공하지 않습니다.
tagAIR-Bench 배포
AIR-Bench는 GitHub 저장소를 통해 다운로드, 사용 및 수정할 수 있습니다.
AIR-Bench는 두 가지 유형의 벤치마크를 지원합니다:
- 특정 쿼리와 관련된 문서의 올바른 검색을 평가하는 정보 검색 작업
- 검색 증강 생성 파이프라인의 정보 검색 부분을 모방하는 "긴 문서" 작업
또한 AIR-Bench 사용 방법의 실제 예시로 영어와 중국어로 된 벤치마크 세트를 사전 생성했으며, 이를 생성하는 스크립트도 함께 제공합니다. 이는 쉽게 사용할 수 있는 데이터 세트를 활용합니다.
예를 들어, 6,738,498개의 영어 위키피디아 페이지 선택에 대해, 4,260개의 문서와 매칭되는 1,727개의 쿼리와 추가로 7,882개의 매칭되지 않지만 유사한 합성 문서를 생성했습니다. 우리는 8개의 영어 데이터셋과 6개의 중국어 데이터셋에 대한 기존의 정보 검색 벤치마크를 제공합니다. "긴 문서" 작업의 경우, 모두 영어로 된 15개의 벤치마크를 제공합니다.
전체 목록과 자세한 내용을 보려면 GitHub의 AIR-Bench 저장소에 있는 Available Tasks 페이지를 방문하세요.
tag참여하기
AIR-Benchmark는 참여하는 사용자가 자신의 요구에 더 잘 맞는 벤치마크를 만들 수 있도록 Search Foundations 커뮤니티를 위한 도구로 설계되었습니다. 여러분의 테스트가 사용 사례에 대해 정보를 제공할 때, 우리도 여러분의 요구를 더 잘 충족하는 제품을 만들 수 있습니다.