# LogicKor 각 Task별 롯데 GPT의 정량적 성능 측정을 위한 LogicKor 기반 벤치마크 12B 기준 80GB 1장 가능 ## Quick Start ```bash sh start.sh ``` requirments 설치 뒤, 위의 sh 파일 실행하면 됩니다. ## Detailled Usage ### 1. 인퍼런스 결과 생성 ```bash python generator.py --model LDCC/Chat-Mistral-Nemo-12B-32k --gpu_devices 2 --model_len 32000 python3 lotte-generator.py --model LDCC/Chat-Mistral-Nemo-12B-32k --gpu_devices 2 --model_len 32000 ``` #### 2. 모델 평가 with OpenAI ```bash python evaluator.py -o generated/LDCC/Chat-Mistral-Nemo-12B-32k -m LDCC/Chat-Mistral-Nemo-12B-32k -k sk-### -t 30 -j gpt-4o python lotte-evaluator.py -o generated/LDCC/Chat-Mistral-Nemo-12B-32k -m LDCC/Chat-Mistral-Nemo-12B-32k -k sk-### -t 30 -j gpt-4o ``` ### 3. 결과 확인 ```bash python score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/default.jsonl python score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/1-shot.jsonl python score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/cot-1-shot.jsonl python lotte-score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/lotte_single_turn.jsonl ``` ### default | Category | Single turn | Multi turn | |---|---|---| | 추론(Reasoning) | 9.43 | 9.14 | | 코딩(Coding) | 9.71 | 9.14 | | 글쓰기(Writing) | 9.86 | 9.29 | | 수학(Math) | 8.86 | 9.14 | | 이해(Understanding) | 10.00 | 10.00 | | 문법(Grammar) | 9.14 | 10.00 | | Category | Score | |---|---| | Single turn | 9.50 | | Multi turn | 9.45 | | Overall | 9.48 | ### 1-shot | Category | Single turn | Multi turn | |---|---|---| | 수학(Math) | 8.29 | 9.29 | | 추론(Reasoning) | 9.57 | 7.43 | | 코딩(Coding) | 9.71 | 9.00 | | 글쓰기(Writing) | 9.71 | 9.00 | | 이해(Understanding) | 9.43 | 10.00 | | 문법(Grammar) | 10.00 | 10.00 | | Category | Score | |---|---| | Single turn | 9.45 | | Multi turn | 9.12 | | Overall | 9.29 | ### cot-1-shot | Category | Single turn | Multi turn | |---|---|---| | 추론(Reasoning) | 9.71 | 9.71 | | 수학(Math) | 6.57 | 8.00 | | 코딩(Coding) | 9.57 | 9.29 | | 글쓰기(Writing) | 9.86 | 9.71 | | 이해(Understanding) | 9.57 | 10.00 | | 문법(Grammar) | 10.00 | 10.00 | | Category | Score | |---|---| | Single turn | 9.21 | | Multi turn | 9.45 | | Overall | 9.33 | ### lotte score | Category | Single turn | |---|---| | task_assistant_mail_introduce | 9.00 | | text2sql | 8.00 | | task_assistant_mail_meeting | 9.00 | | task_assistant_mail_share | 9.00 | | search_keyword | 1.00 | | mrc | 3.00 | | task_assistant_mail_pr | 9.00 | | lotte_qa | 9.00 | | search_summary | 9.00 | | meeting_summary | 9.00 | | task_assistant_hire | 8.00 | | review_summary | 8.00 | ### 문제 예시 ```json {"id": 42, "category": "문법(Grammar)", "questions": ["나는어제친구와김치찌개를먹었다.\n\n이 문장을 올바르게 띄어 써보아라.", "아래 문장의 높임 표현을 올바르게 수정보아라.\n\n할머니가 밥을 먹는다."], "references": ["나는 어제 친구와 김치찌개를 먹었다.", "할머니께서 진지를 잡수신다."]} {"id": 22, "category": "코딩(Coding)", "questions": ["시간 복잡도를 어떻게 구할 수 있는지 설명해주고, 많이 쓰이는 알고리즘 중에 최적화를 통해 시간 복잡도를 줄인 예시를 알려줘.", "공간 복잡도라는 용어도 있던데 뭐가 다른 거야?"], "references": [null, null]} {"id": 1, "category": "search_keyword", "questions": ["음 그렇다면 세입자가 먼저 확정일자 신고를 해서 전세자금 전체를 보호받고 있음에도 소액임차보증금을 변제하는건 이중변제 아닌가 싶은데 어떻게 생각해?"], "references": [null]} ``` ### category - **기존** 각각 7개씩 존재하며, 단일턴과 멀티턴(2턴)으로 구성되어있음. - 추론(Reasoning) - 수학(Math) - 글쓰기(Writing) - 코딩(Coding) - 이해(Understanding) - 문법(Grammar) - **추가된 롯데 카테고리** 단일턴으로 구성되어있음. ```json #사용자의 질의를 받았을 때, 더 효과적인 검색을 위해 검색용 키워드를 생성하는 작업 "search_keyword":"인터넷 검색을 위한 키워드 생성해줘", #검색 결과를 받았을 때 이를 정리 및 요약해주는 작업 "search_summary":"다음 검색 결과를 바탕으로 사용자의 질문에 대답하세요. 검색 결과에 질문에 대한 정보가 없으면 관련 내용을 찾지 못했다고 답변하고 만약, 자체적으로 답변이 가능한 질문이면 답변하세요.", #상품 리뷰를 기반으로 이를 요약해주는 작업 "review_summary":"다음 상품 리뷰를 요약하시오. 요약 시 상품명이 반드시 들어가야 합니다. 부정적인 내용은 요약에 포함시키면 안됩니다.", #대화 및 회의 내용을 일정한 형식에 맞춰 요약해주는 작업 "meeting_summary":"다음 대화 스크립트를 핵심 내용만 남도록 요약하세요. 만약 대화 스크립트 내용이 없다면, 내용이 없다고 답하세요. 요약문 형식은 다음 형식을 꼭 따라야 합니다.\n#### [제목]\n- [요약문]\n- [요약문]\n제목 맨 앞에는 적절한 이모지를 꼭 넣어주세요.", #회의를 요청하는 메일을 작성해주는 작업 "task_assistant_mail_meeting":"아래 내용으로 회의를 요청하는 메일을 작성해줘.", #회의록을 전달하는 메일을 작성해주는 작업 "task_assistant_mail_share":"아래 내용을 바탕으로 회의록을 전달하는 이메일을 작성해주세요. 이메일에는 회의록 내용을 포함 시켜 정확하고 명확한 정보 전달이 이루어지도록 해주세요.", #홍보 메일을 작성해주는 작업 "task_assistant_mail_pr":"아래 사항을 반영하여 홍보 메일을 작성해주세요.", #기업 소개 메일을 작성해주는 작업 "task_assistant_mail_introduce":"아래 내용을 바탕으로 정중하고 전문적인 어투로 기업을 소개하는 메일을 작성해 주세요. 웹사이트 주소가 있다면 웹사이트 주소를 포함해 주세요.", #팀에 대해 소개해주는 작업 (채용 공고) "task_assistant_hire":"아래 세부 정보를 활용하여 조직의 매력적인 개요를 작성하십시오. 팀의 독특한 강점, 주요 프로젝트 및 주목할 만한 성취를 강조하고, 지정된 키워드에 대한 팀의 전문성이 그들의 책임과 프로젝트에서 어떻게 성공에 기여하는지를 강조합니다. 소개문은 설득력 있고, 팀의 정체성, 사명, 및 영향력에 대한 명확한 스냅샷을 제공해야 합니다.", #텍스트를 SQL로 변환해주는 작업 "text2sql":"DB 스키마 및 예시를 고려하여 질문에 적합한 SQL문을 단계별로 생각해가며 생성합니다. 답변은 조건을 반드시 만족해야 합니다.", #SQL를 텍스트로 변환해주는 작업 "sql2text":"주어진 `SQL 실행 쿼리` 와 `SQL 실행 결과`에서 확인할 수 있는 정보를 바탕으로 주어진 `질문`에 대해 답변해야 합니다. 답변은 조건을 반드시 만족해야 합니다.", #롯데 관련 질문에 답변을 제공해주는 작업 "lotte_qa":"", #문서를 기반으로 사실적 답변을 제공해주는 작업 "mrc":"다음 문서를 근거로 들면서 질문에 자세히 답변하세요. 문서 안에 질문에 대한 내용이 없으면 관련 내용을 찾을 수 없다고 답하세요.", #검색된 문서를 질문과 관련된 내용만 남도록 요약해주는 작업 "mrc_summary":"다음 문서를 질문과 관련있는 내용만 남도록 요약하세요. 요약 할때 질문과 관련된 정보는 최대한 유지해야 합니다. 만약 문서의 내용이 질문과 관련이 없다면, 관련 내용을 찾을 수 없다고 답하세요." #dart 기반 텍스트를 SQL로 변환해주는 작업 "text2sql_dart":"기업 재무제표 DB 스키마 및 조건을 고려하여 질문에 적합한 SQL문을 생성합니다. 답변은 조건을 반드시 만족해야 합니다." #dart 기반 SQL을 TEXT로 변환해주는 작업 "sql2text_dart":"주어진 `SQL 실행 쿼리` 와 `SQL 실행 결과`에서 확인할 수 있는 정보를 바탕으로 주어진 `질문`에 대해 답변해야 합니다. 답변은 조건을 반드시 만족해야 합니다.", ``` - **모델 학습용 데이터 포맷 예시** - [사용자 질의를 검색용 키워드로 변환](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/search_keyword.json) - [검색된 텍스트를 정리하여 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/search_summary.json) - [상품 리뷰를 정리하여 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/review_summary.json) - [회의 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/meeting_summary.json) - [업무도우미](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/task_assistant.json) - [상품 리뷰 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/review_summary.json) - [text2sql](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/text2sql.json) - [sql2text](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/sql2answer.json) - [감성채팅](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/empathetic_dialogues_mutli_turn.json) - [롯데 QA](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/lotte/%EB%A1%AF%EB%8D%B0QA_240105.json)