본문 바로가기
AI/LLM

[한국어 LLM 벤치마크] Korean MT-bench score 계산하기 (2)

by didi0di 2024. 4. 15.
728x90

 

[이전글] : [한국어 LLM 벤치마크] Korean MT-bench score 계산하기 (1)

 

[한국어 LLM 벤치마크] Korean MT-bench score 계산하기 (1)

한국어 LLM 리더보드인 호랑이에 대해 리뷰를 진행해보고, 외부 오픈소스 모델 및 내부 사내 자체 개발 모델에 대해 평가를 진행해보기로 결정! 호랑이 한국어 LLM 리더보드에 대한 소개는 아래

didi-universe.tistory.com

 

이전 글에 이어서 직접 코드를 수정하고 평가해본 결과를 살펴보자.

전체 코드는 아래 깃헙 레포에 정리해 두었다. 

 

https://github.com/ai-yeongji/ko_llm_eval/tree/main?tab=readme-ov-file

 

GitHub - ai-yeongji/ko_llm_eval: 한국어 llm 성능 평가 관련 repo.

한국어 llm 성능 평가 관련 repo. . Contribute to ai-yeongji/ko_llm_eval development by creating an account on GitHub.

github.com

 

FastChat/fastchat/llm_judge 디렉토리 내 소스코드로 성능평가를 해볼 수 있다.

 

우선 평가는 앞에서 살펴본 것처럼 3가지 스텝으로 이뤄진다.

아래는 오픈소스 모델인 42dot/42dot_LLM-SFT-1.3B로 벤치마크 성능평가하는 코드의 예시이다.

 

 

cd fastchat/llm_judge

# Step 1. Generate model answers to MT-bench questions
# This will generate `data/korean_mt_bench/model_answer/42dot_LLM-SFT-1.3B.jsonl`
python gen_model_answer.py --bench-name korean_mt_bench --model-path 42dot/42dot_LLM-SFT-1.3B --model-id 42dot_LLM-SFT-1.3B

# Step 2. Generate GPT-4 judgments
# This will generate `data/korean_mt_bench/model_judgment/gpt-4_single.jsonl`
OPENAI_API_KEY=<API-KEY> python gen_judgment.py --bench-name korean_mt_bench --model-list 42dot_LLM-SFT-1.3B --judge-file data/judge_ko_prompts.jsonl


# Step 3. Show MT-bench scores
python show_result.py --bench-name korean_mt_bench --input-file <step2.에서 생성한 judgment jsonl 파일>

 

 

 

step.1 LLM 답변 생성

 

step.1에서는 아래 명령어로 gen_model_answer.py로 벤치마크 질문에 대한 답변을 생성해야 하는데,

이때 본인이 선택한 모델의 prompt template이나 모델 로드 시 옵션에 맞게 스크립트 수정이 필요할 수 있다.

 

python gen_model_answer.py --bench-name korean_mt_bench --model-path 42dot/42dot_LLM-SFT-1.3B  --model-id 42dot_LLM-SFT-1.3B

 

--model-path에 본인이 테스트 하고 싶은 모델의 허깅 페이스 주소 또는 로컬 경로를 입력해주면 된다.

--model-id는 생성한 답변 및 나중에 평가 결과에 대한 구분자로 넣는 인자로, 그냥 모델 이름을 넣으면 된다.

 

스크립트 수정

 

 

스크립트 수정이 필요한 부분은 크게 2군데이다.

 

1. FastChat/fastchat/conversation.py 
  :  prompt templates 등록/수정/관리

2. FastChat/fastchat/model/model_adapter.py

  : 모델 및 토크나이저를 로드하는 모델 어댑터 관련 설정 

 

 

1. conversation.py 

 

해당 코드에는 이미 LLaMA2, SOLAR와 같은 다양한 오픈소스 모델의 템플릿이 등록되어 있다.

 

물론, 베이스 코드를 사용해도 되지만

하지만 본인이 테스트하고자 하는 모델의 prompt template이 없다면 직접 추가해줘야 보다 정확한 성능평가를 진행할 수 있다. 

 

나는 아래와 같이 42dot 모델의 prompt template 맞게 작성해서 추가해주었다.

# 42dot_LLM-SFT-1.3B
# # reference: https://huggingface.co/42dot/42dot_LLM-SFT-1.3B
# # reference: https://github.com/42dot/42dot_LLM/blob/main/example_cli.py
register_conv_template(
    Conversation(
        name="42dot",
        system_message=(
                '호기심 많은 인간 (human)과 인공지능 봇 (AI bot)의 대화입니다. '
                '봇의 이름은 42dot LLM이고 포티투닷 (42dot)에서 개발했습니다. '
                '봇은 인간의 질문에 대해 친절하게 유용하고 상세한 답변을 제공합니다. '
                '봇은 인간이 질문한 언어와 동일한 언어로 답변을 제공합니다. '
            ),
        roles=("<human>", "<bot>"),
        sep_style=SeparatorStyle.ADD_COLON_SINGLE,
        sep="",
    )
)

 

해당 템플릿은 42dot 깃헙에서 찾았다.

 

42dot_LLM/example_cli.py at main · 42dot/42dot_LLM

42dot LLM consists of a pre-trained language model, 42dot LLM-PLM, and a fine-tuned model, 42dot LLM-SFT, which is trained to respond to user prompts and supports both languages simultaneously by t...

github.com

 

 

2. model_adapter.py

이 부분은 말 그대로 모델 어댑터에 대한 부분이다.

본인 모델에 맞게 Adapter 클래스를 만들어서 모델 및 토크나이저를 로드할 때 추가로 줘야하는 옵션을 추가한다.

 

클래스를 정의하고 나서는 스크립트 맨 아래 부분에 마지막 라인처럼 register_model_adapter()함수를 이용해 등록을 해줘야 한다.

 

class L42dotAdapter(BaseModelAdapter):
    """The model adapter for 42dot (e.g., 42dot/42dot_LLM-SFT-1.3B)"""
    def match(self, model_path: str):
        return "42dot" in model_path.lower()
    
    def load_model(self, model_path: str, from_pretrained_kwargs: dict):
        tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False, add_bos_token=True)
        model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")

        return model, tokenizer

    def get_default_conv_template(self, model_path: str) -> Conversation:
        return get_conv_template("42dot")
        
        
# Note: the registration order matters.
# The one registered earlier has a higher matching priority.
register_model_adapter(L42dotAdapter) # ADD 42dot

 

 

우선 이 2개 스크립트를 수정하고 나면, 본인이 원하는 모델에 맞게 답변 생성을 할 수 있게 된다.

모델이 생성한 답변은 llm_judge/data/korean_mt_bench/model_answer/ 폴더 밑에 [model-id]_jsonl 파일로 저장된다.

 

42dot 모델이 생성한 답변 예시는 다음과 같으며, 전체 데이터는 여기에서 확인 가능하다.

{"question_id": 81, "answer_id": "Hvs8NvFZmDCDxf3JM6uVV3", "model_id": "42dot_LLM-SFT-1.3B", "choices": [{"index": 0, "turns": ["제목: 하와이의 매력적인 문화 체험과 꼭 가봐야 할 명소들\n\n소개:\n하와이는 아름다운 자연 경관과 독특한 문화를 자랑하는 섬으로, 많은 사람들이 찾는 인기 있는 여행지입니다. 이번 포스팅에서는 하와이에서 경험할 수 있는 매력적인 문화 체험과 꼭 가봐야 할 명소들을 소개하고자 합니다. 하와이의 문화와 역사를 탐험하며, 이곳의 다양한 음식과 예술을 경험해보세요. 하와이의 매력을 느껴보세요!\n\n1. 자연과 문화의 조화\n하와이는 자연과 문화가 조화를 이루는 섬으로 유명합니다. 이 곳에서는 섬 전체를 커버하는 다양한 국립공원을 탐험할 수 있습니다. 그 중에서도 대표적인 자연 명소로는 몰로카이 국립공원, 카우아이 국립공원, 마우이 국립공원 등이 있습니다. 또한, 하와이 문화의 중심지인 와이키키 해변과 와이키키 마을, 하와이 문화를 대표하는 마우이 섬 등의 명소들도 꼭 방문해보세요.\n\n2. 하와이 원주민의 유산\n하와이는 하와이 원주민의 역사와 문화를 보존하고 있는 섬입니다. 하와이 원주민의 유산에는 그들의 언어, 전통 예술, 건축 양식 등이 있습니다. 대표적인 하와이 원주민의 유산으로는 푸알레와 하와이언 박물관, 하와이 원주민 문화 센터, 하와이 원주민 역사 유적지 등이 있습니다. 이러한 유산들을 방문하여 하와이 원주민의 역사와 문화를 배워보세요.\n\n3. 하와이 요리 맛보기\n하와이 요리는 세계적으로 유명하며 하와이만의 독특한 맛을 가지고 있습니다. 하와이안 푸드 마켓, 하와이안 레스토랑, 하와이 특산품 전문점 등을 방문하여 하와이 요리를 경험해보세요. 하와이 특산품인 커피, 코코넛, 아보카도 등을 활용한 음식들도 맛볼 수 있습니다. 하와이 요리의 다양한 맛을 즐겨보세요!\n\n4. 하와이 문화의 중심지: 와이키키 해변과 마우이 섬\n하와이에서 가장 유명한 해변 중 하나인 와이키키 해변은 휴식과 관광을 동시에 즐길 수 있는 장소입니다. 또한, 하와이 문화의 중심지인 마우이 섬은 섬 전체를 커버하는 국립공원과 해변, 유명 관광지들로 가득한 곳입니다. 마우이 섬을 방문하여 아름다운 해변, 푸른 바다, 하와이 원주민 문화 등을 경험해보세요.\n\n5. 하와이 문화의 중심지: 와이키키 마을\n하와이의 문화와 역사를 탐험하며, 와이키키 마을을 방문해보세요. 이곳에서는 하와이 문화와 전통을 체험할 수 있는 다양한 상점과 예술 갤러리를 찾을 수 있습니다. 또한, 하와이 문화를 대표하는 하와이 예술 박물관과 하와이 문화센터도 방문해 보세요. 하와이의 역사와 문화를 가까이에서 느껴보세요!\n\n이러한 명소들을 방문하며 하와이의 매력을 느껴보세요. 자연과 문화의 조화, 하와이 원주민의 유산, 하와이 요리, 그리고 하와이 문화의 중심지들을 경험하며 하와이의 매력에 푹 빠져보세요.", "제목: 하와이의 매력적인 문화 체험과 꼭 가봐야 할 명소들\n\n소개:\n하와이는 아름다운 자연 경관과 독특한 문화를 자랑하는 섬으로, 많은 사람들이 찾는 인기 있는 여행지입니다. 이번 포스팅에서는 하와이에서 경험할 수 있는 매력적인 문화 체험과 꼭 가봐야 할 명소들을 소개하고자 합니다. 하와이의 문화와 역사를 탐험하며, 이곳의 다양한 음식과 예술을 경험해보세요. 하와이의 매력을 느껴보세요!\n\n1. 자연과 문화의 조화\n하와이는 자연과 문화가 조화를 이루는 섬으로 유명합니다. 이 곳에서는 섬 전체를 커버하는 다양한 국립공원을 탐험할 수 있습니다. 그 중에서도 대표적인 자연 명소로는 몰로카이 국립공원, 카우아이 국립공원, 마우이 국립공원 등이 있습니다. 또한, 하와이 문화의 중심지인 와이키키 해변과 와이키키 마을, 하와이 문화를 대표하는 마우이 섬 등의 명소들도 꼭 방문해보세요.\n\n2. 하와이 원주민의 유산\n하와이는 하와이 원주민의 역사와 문화를 보존하고 있는 섬입니다. 하와이 원주민의 유산에는 그들의 언어, 전통 예술, 건축 양식 등이 있습니다. 대표적인 하와이 원주민의 유산으로는 푸알레와 하와이언 박물관, 하와이 원주민 문화 센터, 하와이 원주민 역사 유적지 등이 있습니다. 이러한 유산들을 방문하여 하와이 원주민의 역사와 문화를 배워보세요.\n\n3. 하와이 요리 맛보기\n하와이 요리는 세계적으로 유명하며 하와이만의 독특한 맛을 가지고 있습니다. 하와이 요리 전문점, 카페, 레스토랑 등을 방문하여 하와이 요리를 경험해보세요. 하와이 특산품인 커피, 코코넛, 아보카도 등을 활용한 음식들도 맛볼 수 있습니다. 하와이 요리의 다양한 맛을 즐겨보세요!\n\n4. 하와이 문화의 중심지: 와이키키 해변과 마우이 섬\n하와이에서 가장 유명한 해변 중 하나인 와이키키 해변은 휴식과 관광을 동시에 즐길 수 있는 장소입니다. 또한, 하와이 문화의 중심지인 마우이 섬은 섬 전체를 커버하는 국립공원과 해변, 유명 관광지들로 가득한 곳입니다. 마우이 섬을 방문하여 아름다운 해변, 푸른 바다, 하와이 원주민 문화 등을 경험해보세요.\n\n5. 하와이 문화의 중심지: 와이키키 마을\n하와이의 문화와 역사를 탐험하며, 와이키키 마을을 방문해보세요. 이곳에서는 하와이 문화와 전통을 체험할 수 있는 다양한 상점과 예술 갤러리를 찾을 수 있습니다. 또한, 하와이 문화를 대표하는 하와이 예술 박물관과 하와이 문화센터도 방문해 보세요. 하와이의 역사와 문화를 가까이에서 느껴보세요!\n\n이러한 명소들을 방문하며 하와이의 매력을 느껴보세요. 자연과 문화의 조화, 하와이 원주민의 유산, 하와이 요리, 그리고 하와이 문화의 중심지들을 경험하며 하와이의 매력에 푹 빠져보세요."]}], "tstamp": 1712553152.5382564}
{"question_id": 82, "answer_id": "WpySSfPHSir58gfxJcU9j6", "model_id": "42dot_LLM-SFT-1.3B", "choices": [{"index": 0, "turns": ["제목: 분기별 재무 보고서 피드백 요청\n\n안녕하세요 상사님,\n\n저는 분기별 재무 보고서를 작성하여 보내드렸습니다. 그러나 상사님의 피드백을 기다리고 있습니다. 상사님의 의견을 듣고 싶습니다.\n\n데이터 분석, 프레젠테이션 스타일, 도출된 결론의 명확성 등에 대해 상사님께서 어떤 부분을 중요하게 생각하시나요? 또한 개선이 필요한 부분이 있다면 어떤 부분인지 알려주시면 감사하겠습니다.\n\n또한, 보고서 작성에 대한 의견이 있으시다면, 어떤 방향으로 개선해야 할지도 알려주시면 감사하겠습니다.\n\n다음 달에 분기별 재무 보고서를 다시 작성하여 보내드리겠습니다. 상사님의 피드백을 바탕으로 더 나은 재무 보고서를 작성하도록 노력하겠습니다.\n\n감사합니다.\n\n[이름/직위] 드림", "이 이메일은 적절한 주제와 내용을 가지고 있으며 간결한 문장으로 작성되었습니다. 상사님의 피드백을 받기 위한 목적과 상사님의 의견을 듣고 싶다는 의도를 명확하게 전달합니다. 또한, 상사님께서 어떤 부분을 중요하게 생각하시는지, 개선이 필요한 부분이 무엇인지 명확히 언급하고 있습니다.\n\n이메일은 보고서를 전달하기 위한 절차와 함께 상사님의 의견을 기대하는 내용으로 구성되어 있습니다. 또한, 작성자의 응답이 간결하고 명확하게 작성되어 있어 상사님의 피드백을 받기 위한 준비가 잘 되어있는 것으로 보입니다.\n\n그러나 몇 가지 개선점을 찾을 수 있습니다. 상사님의 의견을 듣고자 하는 목적을 명확히 전달하기 위해 좀 더 구체적인 예시를 사용하거나, 구체적인 피드백을 제공하는 것이 좋습니다. 또한, 보고서 작성에 대한 의견을 명확하게 제시하는 것이 도움이 될 것입니다.\n\n이러한 개선점들을 고려하여 보고서를 작성하면 상사님의 피드백을 효과적으로 반영할 수 있을 것입니다."]}], "tstamp": 1712552768.1161573}

 

 

step.2 평가

# 42dot-LLM-SFT-v1.3 Model
OPENAI_API_KEY=<YOUR OPENAI KEY> python gen_judgment.py --bench-name korean_mt_bench --model-list 42dot_LLM-SFT-1.3B --judge-file data/judge_ko_prompts.jsonl

 

그 다음으로 step.2에서 위의 명령어를 돌리면 GPT-4를 이용해서 평가를 진행하게 되는데,

GPT-4를 이용하기 때문에 OpenAI API 키값을 같이 넣어줘야 한다.

 

--model-list에 step.1에서 --model-id로 넣어줬던 값을 넣어주면 된다.

참고로, 해당 인자는 리스트 타입으로 받기 때문에 모델 id를 여러개 넣으면 리스트 안에 추가해서 여러 개가 들어가게 된다.

 

한국어 벤치마크 데이터셋에 대한 평가를 시키는 것이기 때문에, 

--bench-name에는 korean_mt_bench를 --judge-file 인자에 data/judge_ko_prompts.jsonl 을 넣어준다.

 

 

GPT-4가 step.1에서 LLM이 생성한 답변에 대해 평가한 내용은 아래 위치에 저장된다.

llm_judge/data/korean_mt_bench/model_judgment/gpt-4_single/[model-list 이름]__1turn.jsonl

 

42dot 모델이 생성한 답변에 대해 평가한 예시는 다음과 같으며, 전체 데이터는 여기에서 확인가능하다.  

{"question_id": 81, "model": "42dot_LLM-SFT-1.3B", "judge": ["gpt-4", "single-v1"], "user_prompt": "[지시]\n공평한 판단자로 행동하고 아래에 표시되는 사용자의 질문에 대한 AI 어시스턴트 응답의 품질을 평가합니다. 귀하의 평가는 응답의 유용성, 관련성, 정확성, 깊이, 창의성, 상세도 등의 요소를 고려해야 합니다. AI 어시스턴트의 응답 언어는 사용자가 사용하는 언어와 일치해야 하며, 그렇지 않으면 감점되어야 합니다. 평가는 짧은 설명으로 시작하십시오. 가능한 한 객관적인 것. 설명을 제공한 후 \"[[평가]]\" 형식에 엄격히 따라 1에서 10까지의 스케일로 응답을 평가해야 합니다. (예시: \"평가: [[5]]\"). \n\n[질문]\n최근 하와이 여행에 대한 매력적인 여행 블로그 포스팅을 작성하여 문화 체험과 꼭 가봐야 할 명소를 소개하세요.\n\n[도움말 답변 시작]\n제목: 하와이의 매력적인 문화 체험과 꼭 가봐야 할 명소들\n\n소개:\n하와이는 아름다운 자연 경관과 독특한 문화를 자랑하는 섬으로, 많은 사람들이 찾는 인기 있는 여행지입니다. 이번 포스팅에서는 하와이에서 경험할 수 있는 매력적인 문화 체험과 꼭 가봐야 할 명소들을 소개하고자 합니다. 하와이의 문화와 역사를 탐험하며, 이곳의 다양한 음식과 예술을 경험해보세요. 하와이의 매력을 느껴보세요!\n\n1. 자연과 문화의 조화\n하와이는 자연과 문화가 조화를 이루는 섬으로 유명합니다. 이 곳에서는 섬 전체를 커버하는 다양한 국립공원을 탐험할 수 있습니다. 그 중에서도 대표적인 자연 명소로는 몰로카이 국립공원, 카우아이 국립공원, 마우이 국립공원 등이 있습니다. 또한, 하와이 문화의 중심지인 와이키키 해변과 와이키키 마을, 하와이 문화를 대표하는 마우이 섬 등의 명소들도 꼭 방문해보세요.\n\n2. 하와이 원주민의 유산\n하와이는 하와이 원주민의 역사와 문화를 보존하고 있는 섬입니다. 하와이 원주민의 유산에는 그들의 언어, 전통 예술, 건축 양식 등이 있습니다. 대표적인 하와이 원주민의 유산으로는 푸알레와 하와이언 박물관, 하와이 원주민 문화 센터, 하와이 원주민 역사 유적지 등이 있습니다. 이러한 유산들을 방문하여 하와이 원주민의 역사와 문화를 배워보세요.\n\n3. 하와이 요리 맛보기\n하와이 요리는 세계적으로 유명하며 하와이만의 독특한 맛을 가지고 있습니다. 하와이안 푸드 마켓, 하와이안 레스토랑, 하와이 특산품 전문점 등을 방문하여 하와이 요리를 경험해보세요. 하와이 특산품인 커피, 코코넛, 아보카도 등을 활용한 음식들도 맛볼 수 있습니다. 하와이 요리의 다양한 맛을 즐겨보세요!\n\n4. 하와이 문화의 중심지: 와이키키 해변과 마우이 섬\n하와이에서 가장 유명한 해변 중 하나인 와이키키 해변은 휴식과 관광을 동시에 즐길 수 있는 장소입니다. 또한, 하와이 문화의 중심지인 마우이 섬은 섬 전체를 커버하는 국립공원과 해변, 유명 관광지들로 가득한 곳입니다. 마우이 섬을 방문하여 아름다운 해변, 푸른 바다, 하와이 원주민 문화 등을 경험해보세요.\n\n5. 하와이 문화의 중심지: 와이키키 마을\n하와이의 문화와 역사를 탐험하며, 와이키키 마을을 방문해보세요. 이곳에서는 하와이 문화와 전통을 체험할 수 있는 다양한 상점과 예술 갤러리를 찾을 수 있습니다. 또한, 하와이 문화를 대표하는 하와이 예술 박물관과 하와이 문화센터도 방문해 보세요. 하와이의 역사와 문화를 가까이에서 느껴보세요!\n\n이러한 명소들을 방문하며 하와이의 매력을 느껴보세요. 자연과 문화의 조화, 하와이 원주민의 유산, 하와이 요리, 그리고 하와이 문화의 중심지들을 경험하며 하와이의 매력에 푹 빠져보세요.\n[도움말 답변 종료]", "judgment": "AI 어시스턴트의 응답은 매우 상세하고 유익하며, 하와이 여행에 대한 매력적인 블로그 포스팅을 작성하는 데 필요한 모든 정보를 제공합니다. 응답은 하와이의 문화, 역사, 자연, 음식 등 다양한 주제를 다루며, 각 주제에 대해 깊이 있는 정보를 제공합니다. 또한, 응답은 사용자가 요청한 내용을 정확하게 이해하고 있으며, 요청한 정보를 제공하는 데 필요한 모든 요소를 포함하고 있습니다. 그러나, 일부 중복된 정보(와이키키 해변과 마우이 섬에 대한 설명)가 있어 이 부분은 개선이 필요합니다.\n\n평가: [[9]]", "score": 9, "turn": 1, "tstamp": 1712556669.302299}
{"question_id": 82, "model": "42dot_LLM-SFT-1.3B", "judge": ["gpt-4", "single-v1"], "user_prompt": "[지시]\n공평한 판단자로 행동하고 아래에 표시되는 사용자의 질문에 대한 AI 어시스턴트 응답의 품질을 평가합니다. 귀하의 평가는 응답의 유용성, 관련성, 정확성, 깊이, 창의성, 상세도 등의 요소를 고려해야 합니다. AI 어시스턴트의 응답 언어는 사용자가 사용하는 언어와 일치해야 하며, 그렇지 않으면 감점되어야 합니다. 평가는 짧은 설명으로 시작하십시오. 가능한 한 객관적인 것. 설명을 제공한 후 \"[[평가]]\" 형식에 엄격히 따라 1에서 10까지의 스케일로 응답을 평가해야 합니다. (예시: \"평가: [[5]]\"). \n\n[질문]\n작성한 '분기별 재무 보고서'에 대한 상사의 피드백을 구하는 업무 이메일을 작성하세요. 데이터 분석, 프레젠테이션 스타일, 도출된 결론의 명확성 등에 대해 구체적으로 질문하세요. 이메일은 짧고 간결하게 작성하세요.\n\n[도움말 답변 시작]\n제목: 분기별 재무 보고서 피드백 요청\n\n안녕하세요 상사님,\n\n저는 분기별 재무 보고서를 작성하여 보내드렸습니다. 그러나 상사님의 피드백을 기다리고 있습니다. 상사님의 의견을 듣고 싶습니다.\n\n데이터 분석, 프레젠테이션 스타일, 도출된 결론의 명확성 등에 대해 상사님께서 어떤 부분을 중요하게 생각하시나요? 또한 개선이 필요한 부분이 있다면 어떤 부분인지 알려주시면 감사하겠습니다.\n\n또한, 보고서 작성에 대한 의견이 있으시다면, 어떤 방향으로 개선해야 할지도 알려주시면 감사하겠습니다.\n\n다음 달에 분기별 재무 보고서를 다시 작성하여 보내드리겠습니다. 상사님의 피드백을 바탕으로 더 나은 재무 보고서를 작성하도록 노력하겠습니다.\n\n감사합니다.\n\n[이름/직위] 드림\n[도움말 답변 종료]", "judgment": "AI 어시스턴트의 응답은 사용자의 요청에 매우 잘 부합합니다. 사용자가 요청한 업무 이메일을 작성하는 데 필요한 모든 요소를 포함하고 있습니다. 이메일은 짧고 간결하며, 상사에게 필요한 피드백을 요청하는 데 필요한 모든 정보를 제공합니다. 또한, 이메일은 상사에게 존중을 표현하고, 피드백을 받아들일 준비가 되어 있음을 보여줍니다. 이메일의 언어와 톤은 전문적이며 적절합니다. \n\n평가: [[10]]", "score": 10, "turn": 1, "tstamp": 1712556678.4089506}

 

처음 글은 score를 9, 두번째는 10으로 매우 잘 생성했다고 평가한 것을 볼 수 있다.

 

step.3 MT-Bench Score 계산

 

step.2에서 평가한 각 질문 별 score를 평균 낸 점수를 확인해 볼 수 있다.

 

# Step 3. Show MT-bench scores
python show_result.py --bench-name korean_mt_bench --input-file <step2.에서 생성한 judgment jsonl 파일>
# 실제 코드
# python show_result.py --bench-name korean_mt_bench --input-file data/korean_mt_bench/model_judgment/gpt-4_single/42dot_LLM-SFT-1.3B__1turn.jsonl --model-list 42dot_LLM-SFT-1.3B

 

 

--input-file에 step.2에서 생성한 judgment jsonl 파일 경로를 넣어준다. 

위 명령어를 돌리게 되면, 다음과 같이 Average MT-Bench Score가 출력된다. 

 

 

결론

 

 

자 이렇게 실제 본인이 원하는 모델로 Korean MT-Bench 스코어를 계산해보았다.

 

그런데 놀랍게도.. 실제 호랑이 리더보드에 나와있는 42dot의 MT-Bench Score 보다 2배 이상 높게 나온 것이 아닌가????

 

 

리더보드에는 해당 모델의 점수가 2.088으로 되어있는데, 내가 돌린 코드에선 4.75로 나왔다..ㅎㅎ

 

아무래도 model adapter쪽이나 conversation 스크립트를 수정하지 않고 그냥 베이스라인으로 돌린것이 아닌지??

 42dot 관계자분들 보시면 연락주세요~ ㅎㅎ..

 

 

728x90

댓글