README.md 8.77 KB
Newer Older
kihoon.lee's avatar
kihoon.lee committed
1
# LogicKor
kihoon.lee's avatar
kihoon.lee committed
2
3
각 Task별 롯데 GPT의 정량적 성능 측정을 위한 LogicKor 기반 벤치마크
  
kihoon.lee's avatar
kihoon.lee committed
4
12B 기준 80GB 1장 가능
kihoon.lee's avatar
kihoon.lee committed
5

kihoon.lee's avatar
update    
kihoon.lee committed
6
7
8
9
10
11
12
## Quick Start
```bash
sh start.sh
```
requirments 설치 뒤, 위의 sh 파일 실행하면 됩니다.

## Detailled Usage
kihoon.lee's avatar
kihoon.lee committed
13
### 1. 인퍼런스 결과 생성
kihoon.lee's avatar
kihoon.lee committed
14

kihoon.lee's avatar
kihoon.lee committed
15
16
```bash
python generator.py --model LDCC/Chat-Mistral-Nemo-12B-32k --gpu_devices 2 --model_len 32000
kihoon.lee's avatar
update    
kihoon.lee committed
17
18

python3 lotte-generator.py --model LDCC/Chat-Mistral-Nemo-12B-32k --gpu_devices 2 --model_len 32000
kihoon.lee's avatar
kihoon.lee committed
19
20
21
```


kihoon.lee's avatar
kihoon.lee committed
22
#### 2. 모델 평가 with OpenAI
kihoon.lee's avatar
kihoon.lee committed
23

kihoon.lee's avatar
kihoon.lee committed
24
```bash
kihoon.lee's avatar
update    
kihoon.lee committed
25
26
27
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
kihoon.lee's avatar
kihoon.lee committed
28
```
kihoon.lee's avatar
kihoon.lee committed
29
30


kihoon.lee's avatar
kihoon.lee committed
31
### 3. 결과 확인
kihoon.lee's avatar
kihoon.lee committed
32

kihoon.lee's avatar
kihoon.lee committed
33
34
35
36
```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
kihoon.lee's avatar
update    
kihoon.lee committed
37
python lotte-score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/lotte_single_turn.jsonl
kihoon.lee's avatar
kihoon.lee committed
38
```
kihoon.lee's avatar
kihoon.lee committed
39

kihoon.lee's avatar
kihoon.lee committed
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
### 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 |
kihoon.lee's avatar
kihoon.lee committed
86
87
| Overall | 9.33 |

kihoon.lee's avatar
update    
kihoon.lee committed
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
### 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 |

kihoon.lee's avatar
kihoon.lee committed
104
105
106
107
108
109

### 문제 예시
```json
{"id": 42, "category": "문법(Grammar)", "questions": ["나는어제친구와김치찌개를먹었다.\n\n이 문장을 올바르게 띄어 써보아라.", "아래 문장의 높임 표현을 올바르게 수정보아라.\n\n할머니가 밥을 먹는다."], "references": ["나는 어제 친구와 김치찌개를 먹었다.", "할머니께서 진지를 잡수신다."]}

{"id": 22, "category": "코딩(Coding)", "questions": ["시간 복잡도를 어떻게 구할 수 있는지 설명해주고, 많이 쓰이는 알고리즘 중에 최적화를 통해 시간 복잡도를 줄인 예시를 알려줘.", "공간 복잡도라는 용어도 있던데 뭐가 다른 거야?"], "references": [null, null]}
kihoon.lee's avatar
kihoon.lee committed
110
111

{"id": 1, "category": "search_keyword", "questions": ["음 그렇다면 세입자가 먼저 확정일자 신고를 해서 전세자금 전체를 보호받고 있음에도 소액임차보증금을 변제하는건 이중변제 아닌가 싶은데 어떻게 생각해?"], "references": [null]}
kihoon.lee's avatar
kihoon.lee committed
112
113
114
115
```

### category
- **기존**
kihoon.lee's avatar
kihoon.lee committed
116
117
	
	각각 7개씩 존재하며, 단일턴과 멀티턴(2턴)으로 구성되어있음.
kihoon.lee's avatar
kihoon.lee committed
118
119
120
121
122
123
	- 추론(Reasoning)
	- 수학(Math)
	- 글쓰기(Writing)
	- 코딩(Coding)
	- 이해(Understanding)
	- 문법(Grammar)
kihoon.lee's avatar
update    
kihoon.lee committed
124

kihoon.lee's avatar
kihoon.lee committed
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170

- **추가된 롯데 카테고리** 

	단일턴으로 구성되어있음.
	```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문을 단계별로 생각해가며 생성합니다. 답변은 조건을 반드시 만족해야 합니다.",

	#롯데 관련 질문에 답변을 제공해주는 작업
	"lotte_qa":"",

	#문서를 기반으로 사실적 답변을 제공해주는 작업
	"mrc":"다음 문서를 근거로 들면서 질문에 자세히 답변하세요. 문서 안에 질문에 대한 내용이 없으면 관련 내용을 찾을 수 없다고 답하세요.",

	#검색된 문서를 질문과 관련된 내용만 남도록 요약해주는 작업
	"mrc_summary":"다음 문서를 질문과 관련있는 내용만 남도록 요약하세요. 요약 할때 질문과 관련된 정보는 최대한 유지해야 합니다. 만약 문서의 내용이 질문과 관련이 없다면, 관련 내용을 찾을 수 없다고 답하세요."
	```

- **모델 학습용 데이터 포맷 예시**
kihoon.lee's avatar
update    
kihoon.lee committed
171
172
173
	- [사용자 질의를 검색용 키워드로 변환](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)
kihoon.lee's avatar
kihoon.lee committed
174
175
176
177
178
179
	- [회의 요약](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)
kihoon.lee's avatar
update    
kihoon.lee committed
180
	- [롯데 QA](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/lotte/%EB%A1%AF%EB%8D%B0QA_240105.json)
kihoon.lee's avatar
kihoon.lee committed
181