배경
영어 문제 생성에 특화된 AI 모델을 생성한다.
아래와 같이 Prompt를 입력했을 때 Completion 되도록 하는 모델을 학습시키는 것이 목표다.
Prompt |
Completion |
주어진 지문을 활용하여 '글의 목적'유형문제를 작성한다. 난이도는 '고3'학년 '수능/모의고사4점'난이도이다. 지문 : {{To whom it may concern, My name is Michael Brown. I have been a bird-watcher since childhood. I have always enjoyed watching birds in my yard and identifying them by sight and sound. Yesterday, I happened to read an article about your club. I was surprised and excited to find out about a community of passionate bird-watchers who travel annually to go birding. I would love to join your club, but your website appears to be under construction. I could not find any information except for this contact email address. I would like to know how to sign up for the club. I look forward to your reply. Sincerely, Michael Brown} } =>
|
다음 글의 목적으로 가장 적절한 것은?\n{To whom it may concern, My name is Michael Brown. I have been a bird-watcher since childhood. I have always enjoyed watching birds in my yard and identifying them by sight and sound. Yesterday, I happened to read an article about your club. I was surprised and excited to find out about a community of passionate bird-watchers who travel annually to go birding. I would love to join your club, but your website appears to be under construction. I could not find any information except for this contact email address. I would like to know how to sign up for the club. I look forward to your reply. Sincerely, Michael Brown} \n① 조류 관찰 클럽에 가입하는 방법을 문의하려고 ② 조류 관찰 시 주의해야 할 사항을 전달하려고 ③ 조류 관찰 협회의 새로운 규정을 확인하려고 ④ 조류 관찰과 관련된 웹 사이트를 소개하려고 ⑤ 조류 관찰 시 필요한 장비를 알아보려고\n\n정답 : 1번
|
위 예시는 실제 수능 영어의 문제다. 그리고 이런 모의고사, 수능기출 데이터로 OpenAI의 GPT-3 모델에 Fine Tuning 시키기는 방법을 초기에 시도했다.
그러나 Fine Tuning을 시도하면서 몇가지 문제를 발견했다.
문제점
문제1. OpenAI의 Chat Completion에 대한 Fine Tuning 미지원
23년 05월 기준 GPT-3 에서 Fine Tuning을 지원하는 모델을 다음과 같다.
- davinci
- curie
- babbage
- ada
그러나 위 모델들로 학습을 시키더라도 Chat Completion 이 아닌, Text Completion만 사용이 가능했다.
Text Completion 과 Chat Completion은 비슷보이지만 Text Completion 은 문장의 빈 칸이나 글뒤에 자연스러운 문장을 완성시키는 작업에 적합하며, Chat Completion은 prompt를 이해하고 이에 따른 명령을 수행하는 작업에 적합하다.
내가 생성하고자하는 모델은 영어문제를 생성하기 위한 다양한 조건을 이해하고 이에 따른 지문과 문제를 만들어야하기 때문에 Chat Completion을 사용하는 것이 더 적합했다. 따라서 OpenAI에서 제공하는 Fine Tuning을 활용하여 프로젝트를 완료하기에는 현재시점에서 한계가 있다고 판단했다.
문제2. 학습 데이터셋 부족
만약 근시일 내에 OpenAI에서 Chat Completion의 Fine Tuning을 지원하다고 하더라도 수능, 모의고사로는 데이터셋이 부족했으며 여러 유형별로 충분한 데이터 셋이 필요했다. (최소 1만개의 학습데이터가 있어야 할 것으로 추정)
구글에 검색하여 PDF기출문제를 찾을 수 있지만 엄청난 수작업을 필요로 할 것이기에...Chat GPT를 사용하여 영어문제를 대량 생성해보기로 한다.
Chat GPT에게 테스트해 본 결과, 아무리 조건을 디테일하게 작성해도 한 번에 영어문제를 만들어달라고 Prompt를 작성하는 것은 정확성이 떨어졌다.
여러 테스트 결과 지문을 제시하고 제시된 지문으로 문제를 만드는 방법이 보다 정확성이 높았다.
따라서 영어 지문을 1차적으로 수집하고 2차로 수집한 지문을 통해 문제를 생성해내도록 전략을 수립했다.
아래는 고등학교 영어문제 유형 중 '글의 목적'찾기 유형의 문제에 대해 지문을 생성하고 정답에 대한 선택지를 생성하는 프롬프트이다.
1. 영어 지문생성 프롬프트
:편지 양식의 지문을 랜덤으로 생성하고 편지 작성자의 목적을 같이 출력한다.
> Please write an English letter that meets the following criteria:
1. The names of the letter writer and the recipient should be arbitrarily designated. For example, the writer can be John and the recipient can be Emily.
2. The purpose of the letter writer can be various, such as 'Schedule Information', 'Store Advertising', 'Change Information', 'Program Reservation' etc.
3. The letter should be written as a complete letter that does not require further modification.
4. The total size of the letter should be between 550 and 700 characters.
5. After the last line break of the letter, include a sentence of 60-100 characters about the writer's purpose of writing the letter, indicated by the '->' symbol. ex) John is writing to Emily to provide her with information about ......
6. Exclude salutations and addresses and only write the body of the letter.
|
2. 선택지 생성 프롬프트
:프롬프트와 함께 정답(편지 작성 목적)을 제시하면 오답 선택지를 생성해낸다.
>Please create answer choices for an English exam question that satisfies the given requirements based on the provided sentence.
1. I will give you a correct answer to an English exam question.
2. Please select a specific word from the correct answer sentence and combine it with random words to create a new sentence.
3. The created sentence should not have the same meaning or a similar intent as the correct answer.
4. Please generate five additional sentences that satisfy the above conditions.
5. Explanation is omitted. Please provide the generated sentence only.
* correct answer : To encourage participation in the Science Education Policy Council
|
현재는 Fine Tuning을 위해 OpenAI이외에 다른 모델을 찾아보는 중이며, 위 방법으로 학습데이터를 수집하고 있다.(1만개 목표)