카테고리 보관물: 미분류

MMLU – 대규모 멀티태스크 언어 이해력 평가

MMLU: 대규모 멀티태스크 언어 이해력 평가

https://paperswithcode.com/sota/multi-task-language-understanding-on-mmlu

인공지능의 평가 및 비교를 볼 때 MMLU라는 지표를 자주 보게 됩니다.

MMLU(Massive Multitask Language Understanding)는 인공지능 모델의 지식 습득 능력을 종합적으로 평가하기 위한 벤치마크 중 하나입니다. 이 평가는 인공지능이 어느 정도까지 다양한 지식 영역을 이해하고 있는지를 측정하기 위해 고안되었습니다.

즉, 인공지능이 얼마나 다양한 지식을 가지고 있는지 평가하는 지표입니다.

MMLU의 특징

  • 다양한 주제 범위: MMLU는 STEM(과학, 기술, 공학, 수학), 인문학, 사회과학 등 약 57가지의 다양한 주제에 대한 이해를 평가합니다.
  • 다지선다 형식의 문제: 평가는 주로 다지선다 형식의 문제를 사용하여, 모델이 주어진 정보를 바탕으로 가장 적절한 답을 선택하도록 요구합니다.
  • zero-shot 및 few-shot 학습 환경: 이 벤치마크는 특히 모델이 사전에 해당 주제에 대한 특정한 학습 없이도 얼마나 잘 수행할 수 있는지(zero-shot), 또는 매우 제한된 데이터로 학습한 후의 성능(few-shot)을 평가합니다.

현재 성과와 리더보드

최신 인공지능 모델들의 성능은 Papers with Code 웹사이트의 MMLU 벤치마크 섹션에서 확인할 수 있습니다. 현재 GPT-4가 86.4%의 높은 정확도로 최고 성능을 기록하고 있습니다.

자료 및 리소스

  • 공식 GitHub: MMLU의 구현과 관련된 자세한 정보, 데이터셋 접근 및 사용 방법 등은 GitHub 페이지에서 확인할 수 있습니다. 이 페이지에는 또한 연구자들이 자신의 모델을 벤치마크에 적용해 볼 수 있는 지침과 도구들이 제공됩니다.

MMLU의 중요성

MMLU는 단순히 특정한 지식 영역에서의 모델 성능을 측정하는 것을 넘어, AI 모델이 얼마나 광범위하고 다양한 주제를 이해하고 있는지를 평가함으로써, 인공지능 기술의 종합적인 이해력과 다재다능성을 테스트합니다.

요약하면

MMLU는 아직까지는 AGI를 만들어가는데 중요한 평가지표입니다.

OpenAI Assistant API v2 달라진점

OpenAI Assistant API는 openapi에서 모델을 활용해서 개발하게 하는 API인데 2023 말에 Beta V1을 발표했습니다.

하지만 몇가지 단점과 한계, 버그가 있었는데 새 버전 2가 발표되었습니다.

간략한 요약은 다음과 같습니다.

2024년 4월 발표. OpenAI Assistants API의 기본 버전에 새로운 기능과 개선 사항을 넣어 OpenAI-Beta: assistants=v2 릴리즈로 만듦

  • 파일 검색 도구 개선: ‘file_search’ 도구는 이전보다 500배 많은 최대 10,000개 파일을 처리할 수 있습니다. 이 도구는 검색 속도가 빠르고, 멀티 스레드 검색을 통한 병렬 쿼리를 지원하며, 향상된 재정렬 및 쿼리 재작성 기능을 제공합니다. 기능 개선 및 신규 지원
  • 벡터 스토어 객체 도입: 파일이 벡터 스토어에 추가되면 자동으로 파싱, 청킹, 임베딩되어 검색 준비가 완료됩니다. 벡터 스토어는 여러 보조기와 스레드에 걸쳐 사용할 수 있어 파일 관리와 결제가 간소화됩니다. 신규 지원
  • 토큰 사용 최대치 제어: 실행할 때 사용하는 최대 토큰 수를 제어할 수 있어 토큰 사용 비용을 관리할 수 있습니다. 또한, 각 실행에서 사용되는 이전/최근 메시지의 수에 대한 제한을 설정할 수 있습니다. 신규 지원
  • 도구 선택 매개변수 지원: 특정 실행에서 특정 도구(예: file_search, code_interpreter 등)의 사용을 강제할 수 있는 ‘tool_choice’ 매개변수를 추가했습니다. 신규 지원
  • 역할이 보조인 메시지 생성 가능: Threads에서 사용자 정의 대화 이력을 생성할 수 있습니다.
  • 보조 및 실행 객체의 모델 구성 매개변수 지원: 인기 있는 모델 구성 매개변수(온도, 응답 형식(JSON 모드), top_p 등)를 지원합니다. 신규 지원
  • 미세 조정 모델 사용 가능: 현재는 gpt-3.5-turbo-0125의 미세 조정 버전만 지원됩니다. 신규 지원
  • 스트리밍 지원: Assistants API가 이제 스트리밍을 지원합니다. 신규 지원
  • 스트리밍 및 폴링 도우미 추가: Node 및 Python SDK에 여러 스트리밍 및 폴링 도우미를 추가했습니다. 신규 지원
  • 마이그레이션 가이드 제공: 최신 버전의 Assistants API로 도구 사용을 마이그레이션하는 방법에 대해 자세히 알아볼 수 있습니다. 신규 지원

데이터 사이언스의 스킬 범위

데이터 사이언스에 대한 좋은 도표가 있어 공유합니다.

그림처럼 Python만 써야 하는 것은 아닙니다. Python은 데이터과학을 하는데 필요한 컴퓨터 기술을 통칭한다고 생각하면 됩니다.

데이터분석과 데이터과학을 구별하지 못할 때가 많은데 차이점은 도메인 날리지(업무 지식)

이 이야기는 데이터과학이라는 용어가 생겼을 때부터 데이터과학의 정의에 항상 설명되어 있는 내용입니다.

데이터과학은 모든 기술을 업무 문제를 해결하는데 집중합니다.

반면 데이터분석은 현재 데이터의 상태를 확인하고 검증하는 것으로 끝냅니다.

현실의 문제를 해결하려는 목적없이 기계학습 모델만 만들고 싶어하면 단순한 ML엔지니어이고 통계적 분석만 한다면 단순한 분석가가 되는 것입니다.

하지만 복잡하고 풀기 곤란한 현실의 비즈니스 문제에 개입하고 싶지 않으려는 사람들이 많은데 그 사람들은 도메인 날리지를 제외하고 나머지 부분만을 데이터과학이라고 주장합니다.

추천시스템을 개선해서 CTR을 올리면 매출도 증가할까?

CTR은 Click Through Rate 입니다.
클릭수/노출수x100으로 계산하는데
짧게 말하면 노출대비 클릭수의 비율이라고 할 수 있습니다.
검색결과 또는 추천시스템의 성과를 확인하기 위한 가장 기본적인 지표로 많이 쓰입니다.

본론으로 들어가서
광고 노출, 검색 결과를 잘 조절해서 CTR을 획기적으로 올리는 방법은
별로 없습니다.

보통 제안하는 상품이나 검색 결과가 오디언스(사용자 또는 고객)의 관심을 끌지 못하면 CTR은 떨어집니다. 관심이 없으면 클릭을 하지 않기 때문입니다.

이커머스에서도 CTR은 매우 중요합니다. 이커머스에서는 추천상품 모듈이 있어서 검색이나 특정 상품을 볼 때 다른 추천 상품을 제안해서 구매를 유도합니다. 그 외에 검색해서 나오는 상품들도 사실상 추천이라고 할 수 있습니다. 검색 결과도 원칙적으로는 추천입니다.

추천시스템(Recommendation system)을 업그레이드 해서 개선에 성공한다면, 그리고 CTR을 올리면 과연 매출이 올라가느냐?라는 의문을 가질 수 있습니다.
이게 정말 그러냐는 것인데

답: 그럴 수도 있지만 아닌 경우가 더 많습니다.

우선 개발자 또는 ML엔지니어가 가장 많이 착각하는 것이 “CTR을 올리면 당연히 매출도 올라가겠지” 라고 단정해서 짐작하는 것입니다.
하지만 이 짐작은 그 자체로는 과학적 근거가 없습니다.
게다가 CTR은 비즈니스 업종, 제품 카테고리(품목), 시즌에 따라서 각기 다른 양상을 보입니다.
매우 복잡하지요.

더 구체적으로 설명하면

상품 노출 후 구매까지의 단계는
추천 상품 노출 -> 클릭 -> 구매
로 됩니다.

그리고 클릭율과 전환율의 정의를 보면

노출 -> 클릭으로 가는 비율을 계산한 것이 CTR (클릭율)
클릭 -> 구매로 가는 비율을 계산한 것이 CVR (전환율)

다시 원래의 질문으로 돌아가서 CTR을 높이면 매출이 정말 올라가느냐?가 맞으려면 CTR을 올리고 CVR이 그대로 이거나 증가해야 합니다.

CTR이 많이 올라갔으면 CVR은 오히려 조금 떨어져도 됩니다. 높은 CTR이 CVR의 감소를 만회해 줍니다.

하지만

모델을 개선해서 CTR을 올렸는데 CVR이 줄어드는 경우가 꽤 많이 생깁니다.
CVR과 CTR이 음의 상관관계를 가지는 경우가 많기 때문입니다.
이것 때문에 분명 CTR은 높아졌는데 정작 매출이 늘지 않게 됩니다.

그래서 이것이 클릭예측모델(클릭 모델)을 만든 후에 구매예측모델을 만드는 발단이 되기도 합니다. 구매예측모델은 더 만들기 어렵고 잘 안됩니다. 이것은 나중에 따로 얘기하기로 합니다.

마케팅과 행동과학 측면에서 생각하는 것을 고려해야 합니다.

CTR이 오른다는 것은 사람들이 추천한 제품에 관심을 많이 보였다는 것입니다.
그런데
사람들에게 많은 관심을 받는 제품이 반드시 잘 팔리는 제품은 아닙니다.
예를 들어
“휘어지는 4K 200인치 TV” 같은 것은 많은 사람들에게 관심을 갖도록 할 수 있지만
구매하는 사람은 많지 않습니다.
“생글생글 생수” 이런 생수는 사람들의 관심을 끄는 제품이 아니라서 CTR은 낮지만
CVR은 매우 높은 제품입니다.

TV는 고관여제품이고 생수는 저관여제품입니다.

고관여제품: 사는데 고민을 많이 하고 비싼 제품. 구매 후 실패하면 위험 부담이 큰 제품
저관여제품: 사는데 고민을 적거 하고 싼제품. 구매 후 실패를 걱정하지 않는 제품

사람들은 생수에 대해서 잘 알고 있고 동일한 제폼이나 유사한 제품을 반복해서 구매합니다.
그래서 이런 저관여제품의 구매는 망설임이 없이 구매합니다.

이외에도 여러 문제가 있다.
그래서 추천시스템의 성과를 단순히 CTR로 측정해서는 안되고 추천해서 사람들이 클릭한 것만으로 모델의 가치평가를 하게 되면 모델을 론칭하고 나서 비즈니스에서는 실제 개선이 없는 상황을 맞이 하게 됩니다.

추천시스템의 모델링에 집착해서 기계학습 모델의 개선에만 몰두하는 곳이 매우 많은데
위와 같이 실제 비용효율이 나지 않는 경우를 많이 보았습니다.
대부분의 모델을 새 알고리즘으로 교체하거나 피처 엔지니어링을 통해 개선하고 나면 아주 적은 CTR의 개선을 볼 수 있겠지만 전체 매출에는 통계적으로 무의미한 미미한 증가만 얻게 됩니다.

비용효율이 안나오게 되고 이런 일이 반복되면 비즈니스 담당자로부터 모델과 기술자는 신뢰를 잃게 됩니다.

무작정 CTR을 올리는 모델을 잘 만들기만 하면 비즈니스는 대박이 나고 나는 스타가 될 수 있을꺼야 라고 생각하는 MLE나 데이터과학자가 많습니다.

해보면 알겠지만
세상은 그렇게 만만하지 않습니다.