I. Introduction
ChatGPT는 OpenAI에서 거대 언어 모델로 개발한 챗봇이다. ChatGPT는 기본적인 채팅 기능 외에도 자료를 검색하여 요약하거나, 새로운 글을 창작하기, 번역을 하거나 코딩을 하는 등의 다양한 활용이 가능하다는 점에서 주목받고 있다[1]. 이러한 까닭에 국내외 주요 기업에서는 ChatGPT의 API를 활용한 다양한 서비스를 빠르게 개발하여 보급하고 있으며, 개인 사용자는 ChatGPT를 자신의 업무를 자동화하거나, 창작을 위한 영감을 얻거나, 불필요한 작업들을 줄이는 데 사용하기도 한다.
교육계에서도 ChatGPT에 대한 다양한 연구와 평가가 이뤄지고 있다. 여러 연구에서 ChatGPT의 자가 학습 도구로서의 가능성을 발견하고 있으며[2], ChatGPT와 같은 기술이 실제 교육 현장에서 2022개정 교육과정에서 강조하는 학습자 주도성을 실현시키는 데 상당히 기여할 수 있다는 평가도 있다[3].
그러나 도덕적 가치와 같은 윤리적인 측면에서는 아직까지 바람직한 수준에 도달하지 못한 점 등은 교육적 활용의 한계로 보고 있다[3].
이처럼 현재는 주로 ChatGPT를 학습 보조 수단으로 보고 그 역할과 가능성에 대해 논의가 이뤄지고 있다. 따라서 ChatGPT가 가진 기능이나 가능성으로 볼 때 교사의 교육활동을 지원하는 교수 보조 수단으로서의 역할과 가치에 대해서도 논의가 필요한 것으로 보인다.
따라서 본 연구에서는 ChatGPT와 Stable Diffusion을 이용하여 교사가 입력한 수업 주제에 따라 교수·학습용 그림 자료를 추천하여 제공하는 프로그램을 구현하여 교수 보조 수단으로서 역할과 가능성에 대해 탐색해보고자 한다.
II. Preliminaries
1. Related works
정한민 외 1인(2023)은 ChatGPT는 분명 기존의 문헌 작성 방식을 획기적으로 바꿀 수 있는 패러다임의 변화를 제시하고 있음을 부정하기 어려우며, 특히 연구 개발 활동에서 다양한 단계에 결과물 생성에 도움을 줄 것이라고 하였다. 그리고 문헌 작성 과정에 의미있는 도움을 제공할 수 있으므로 ChatGPT 활용 역량이 미래 사회 대학생들에게 필연적으로 요구된다고 하였다[2].
신동광 외 2인(2023)은 ChatGPT가 교수학습 보조 도구로서 활용 가능하며, 학생들이 자기주도적으로 챗봇에서 대화, 질의를 통해 문제를 해결하고, 창작에서도 도움을 받는 것이 가능하다고 하였다[3].
조동하 외 2인(2022)은 GPT-3를 활용한 시나리오 생성 보조 시스템에서 시나리오 생성을 포함한 문장 생성을 하는 분야의 보조 도구로 활용하여 작가가 의도한 대로 결과물을 생성하는 시스템을 설계하여 GPT-3를 활용한 보조 시스템의 가능성을 탐색하였다[6].
Junaid Qadir(2022)는 ChatGPT가 학생들에게 맞춤형 피드백과 설명을 제공하고 실제 학습을 위한 가상 시뮬레이션을 만들어 효과적인 학습 경험을 제공할 수 있는 잠재력이 있다고 하였으나, 기술의 한계를 고려하여 부정적 결과를 최소화하면서 인공지능 기술이 제공하는 이점을 활용할 수 있도록 해야한다고 하였다[7].
선행 연구로 미루어 볼 때 ChatGPT는 교육 목적으로 개발 된 것이 아니라 교육 환경에 적용할 때 기술적, 내용적 한계가 있음에도 불구하고 교육적으로 활용할 수 있는 가치를 분명히 가지고 있는 것으로 나타났다. 또 관련한 많은 연구가 학습 보조 수단으로서의 ChatGPT의 역할이나 교육적 가치에 대해 집중하고 있어, 교사의 교육 활동을 지원하기 위한 교수 보조 수단으로서의 역할이나 가치에 대한 연구가 필요한 것으로 판단된다.
2. ChatGPT
ChatGPT는 OpenAI가 개발한 대화형 챗봇으로 2022년 11월 30일에 출시되었다. InstructGPT와 동일한 방식을 사용하여 작동하지만 데이터 수집에서 사람이 피드백 하여 강화학습을 한 점(RLHF)에서 차이가 있다. 이에 대한 세부 과정은 Fig. 1.과 같다[1].
Fig. 1. How to create a reward model for reinforcement learning
ChatGPT는 GPT-3.5 시리즈 모델이 활용된다. GPT-3.5 시리즈에는 ‘code-davinci-002’, ‘text-davinci-002’, ‘text-davinci-003’의 세 가지 모델이 있으며, 모델별 특징은 Table 1.과 같다[1].
Table 1. Models referred to as "GPT 3.5"
이러한 ChatGPT가 가지고 있는 한계점으로는 종종 부정확하거나 논리적이지 않은 답변을 하는 점, 표현에 따라 응답의 가능 여부가 달라지는 점, 특정 문구를 과도하게 반복하여 사용하는 점, 부적절한 질문에 응답하거나 특정 질문에 편향된 답을 하는 점이 있다[1].
3. Stable Diffusion
Stable Diffusion은 텍스트를 입력하여 사진과 같은 사실적인 이미지를 생성할 수 있는 딥 러닝 텍스트-이미지 모델이다. Stable Diffusion에서 사용하는 잠재 확산 모델(latent diffusion model)은 이미지 생성 방식 중 하나로 확산 모델(Diffusion model)의 변형이며 학습 데이터를 기반으로 새로운 데이터를 생성할 수 있는 일종의 기계학습 모델이다. Stable Diffusion의 기본 데이터 세트는 LAION 5B (https://laion.ai/blog/laion-5b/)의 2B 영어 레이블 하위 집합이다[4].
4. NLTK
NLTK는 Natural Language Tool Kit의 약어로 Python에서 사용하는 라이브러리 및 프로그램의 모음이다. 무료 오픈소스 커뮤니티 기반 프로젝트이며, NLTK를 이용하여 분류, 토큰화, 형태소 분석, 태그 지정, 구문 분석 및 의미론적 추론을 위한 텍스트 처리 등을 할 수 있어 Python을 이용한 자연어 처리에 사용된다[9].
5. Prompt Engineering
ChatGPT는 사용자가 입력하는 내용에 따라 대답을 하며 작동하는데 이때 사용자가 입력하는 명령을 프롬프트라고 한다. 프롬프트는 사용자가 입력하는 일련의 명령이며 거대 언어 모델(LLM)을 사용자 정의하여 사용하거나, 기능을 향상 또는 개선할 때 프롬프트를 이용하여 거대 언어 모델을 프로그래밍 한다[10]. ChatGPT를 이용할 때 명령 작성에 있어서 명확하게 요구하는 바를 작성해야 하는데, 이를 프롬프트 엔지니어링이라고 하여 활발하게 연구되고 있다[2].
III. Development of Program
1. Program development intentions
본 연구는 ChatGPT와 Stable Diffusion의 API를 조합하여, ChatGPT의 응답을 그림으로 나타낼 수 있도록 자동화한 것이다. ChatGPT의 프롬프트는 교수·학습용 그림 자료를 추천하도록 하였다.
기존의 Stable Diffusion은 사용자가 입력한 키워드나 문장을 그림으로 그려낸다. 따라서 Stable Diffusion을 이용하여 그림을 그리기 위해서는 필요한 그림에 대한 키워드나 문장을 생각하여 직접 일일이 입력해야 한다.
본 연구에서 자동화 한 프로그램은 사용자가 입력한 키워드를 가르치기 위해 필요한 그림 자료에 대한 아이디어를 ChatGPT를 이용하여 생성하도록 함으로써, 단순한 키워드의 모양을 그려내는 것이 아니라 가르치는 데 필요한 그림 자료를 다양하게 추천받는다는 점에서 차이점이 있다.
2. Algorithm structure
교수·학습용 그림 자료를 추천 프로그램 구현을 위한 알고리즘은 Fig. 2.와 같다.
Fig. 2. Configuring Algorithms
교사는 교수·학습용 그림 자료를 추천받기 위하여 수업 주제의 핵심 키워드를 입력한다. ChatGPT는 영어로 명령을 입력하였을 때 가장 정확한 결과를 얻을 수 있으므로, 입력한 키워드는 Google Translate API를 이용하여 영어로 번역한다.
번역한 키워드는 가르치기 위한 그림 자료 추천을 요청하는 문장으로 완성되어 ChatGPT에 입력한다. ChatGPT는 질문에 따라 그림 자료를 추천하는 문장을 출력한다. ChatGPT의 응답은 그림 생성에 대해 불필요한 낱말이 있으므로 NLTK를 이용하여 핵심적인 낱말을 추출한다. 추출한 낱말을 Stable Diffusion에 입력하여 최종 추천 이미지를 생성한다.
3. Program Implementation
본 연구는 클라우드 기반 가상 개발 환경인 Google Colab을 이용하였으며, 사용한 언어는 Python이다. 번역을 위해 Google translator를 사용하였고, 교수·학습 자료 추천은 ChatGPT를 이용하였다. ChatGPT의 응답을 전처리하기 위해 Python 라이브러리인 NLTK를 이용하고, 그림 생성은 Stable Diffusion을 이용하였다.
3.1. Translate to generate prompt
ChatGPT에 사용할 프롬프트를 구성하기 위해 ChatGPT에 수업 주제어 낱말만 입력하였을 때와, 교수·학습용 그림 자료를 추천을 요청하는 의미를 지닌 문장을 입력하였을 때의 ChatGPT의 응답을 비교하여 의도한 응답을 출력할 확률이 높은 방식을 선정하였다. 입력하는 키워드를 ‘고래(Whale)’로 하였을 때 프롬프트에 따른 응답의 차이는 Table 2.과 같다.
Table 2. ChatGPT response based on input method
키워드인 ‘Whale’만 입력한 경우 고래에 대한 개념과 관련 지식을 응답하였다. 교수·학습용 그림 자료를 요청하는 같은 의미를 갖는 여러 문장 중 ‘Recommend images to teach about whale.’가 질의를 정확하게 이해하고 정형화된 응답을 나타냈다. 따라서 본 연구에서는 한국어로 입력받은 키워드를 Google translator를 이용하여 번역한 뒤 ‘Recommend images to teach about [영문 키워드]’를 프롬프트로 사용하기로 하였으며, 코드는 Table 3.와 같다.
Table 3. Prompt
프롬프트에서 번역한 키워드의 관사는 ChatGPT의 응답 결과에 영향을 주지 않아 번역한 키워드를 그대로 입력하도록 하였다.
3.2. Input to ChatGPT
본 연구에서는 GPT3.5의 모델 중 상식이나 대화를 생성하는 최신 모델인 text-davinci-003를 사용하였으며 답변의 자유도에 영향을 주는 파라미터인 temperature는 교수·학습용 그림 자료를 응답받아야 하므로 0.1로 설정하여 사실적인 답변과 일관된 응답을 하도록 설정하였다. 세부 내용은 Table 4.와 같다.
Table 4. Define a function to generate responses using GPT-3
3.2.에서 생성한 프롬프트를 ChatGPT에 입력하여 그림 자료를 추천하는 응답을 받고, bot_response 변수로 선언한다.
3.3. ChatGPT Response Preprocessing
프롬프트로 사용한 ‘Recommend images to teach about [Key word]’는 Table 5.와 같이 정형화 된 응답을 나타내며, 응답 전체의 자료형은 문자열이다.
Table 5. Response from ChatGPT
따라서 ChatGPT의 응답을 활용하여 10가지의 이미지를 생성하기 위해서는 연번을 삭제하고 문단을 해체하여 각 문장이 낱개의 요소가 되어야 한다.
따라서 Table 6.과 같이 전처리를 자동화하였다.
Table 6. ChatGPT Response Preprocessing
ChatGPT 응답 전처리기를 이용한 결과는 Table 7.와 같다.
Table 7. ChatGPT Response Processing
ChatGPT의 응답을 처리하기 전의 자료형은 문자열이며 하나의 문단으로 구성되어 있고 연번을 포함하고 있으나, 응답을 처리한 후에는 연번이 삭제되고 각각의 문장을 요소로 갖는 리스트가 되었다.
3.4. Create a picture using Stable Diffusion
3.3. 에서 얻은 ChatGPT 응답 문장 리스트를 순서대로 Stable Diffusion에 입력하여 그림을 생성하도록 하였다. Stable Diffusion도 자체적으로 자연어를 처리하기 때문에, 리스트의 요소를 그대로 입력하였다. 문장에 따라 잘못된 그림이 생성될 가능성이 있어, 문장별로 3개의 이미지를 생성하도록 하였으며 이것을 배열하여 최종 출력하도록 하였다. 코드는 Table 8.과 같다.
Table 8. Create a picture using Stable Diffusion
출력되는 grid는 ChatGPT가 응답한 문장의 개수만큼의 행과 3열로 이루어진 이미지 배열이다. 만약 ChatGPT의 응답 중 부적절한 이미지(Not Safe For Work)가 생성될 가능성이 있는 경우 ‘Potential NSFW content was detected in one or more images. A black image will be returned instead. Try again with a different prompt and/or seed.’메시지와 함께 검정색으로 채워진 사각형 이미지를 출력한다.
4. Application of a program
완성된 프로그램은 google colab에서 실행하였고 하드웨어 가속기는 GPU로 설정하였다. 키워드는 한글로 입력하였다.
4.1. Results
구현한 프로그램을 테스트하기 위해 2015 개정 초등학교 교육과정의 성취기준을 무작위 선정하였다. 해당 성취 기준에서 학습 주제가 되는 내용을 명사로 진술하였다. 선정한 키워드는 Table 9.와 같다.
Table 9. Keywords selected in the elementary school curriculum
무작위로 선정한 키워드는 삼각형, 가족, 자연물, 여가 생활, 나침반이다. 프로그램은 키워드와 관련한 ChatGPT의 응답별로 3개의 이미지를 생성하여 키워드 별 30장의 이미지를 추천하였다. 결과는 Table 10.과 같다.
Table 10. Result of entering keywords in the program
삼각형을 키워드로 한 그림 자료에서는 4개의 NSFW가 검정 사각형으로 나타났다. 그림 자료로는 삼각형 모양의 구체물, 삼각형을 그린 그림, 삼각형 모양의 도식, 삼각형을 이용한 수학적 정리가 표시된 그림 등이 있었다. 그러나 어떤 도형은 삼각형이 아닌 것도 있었으며, 삼각형과 관련한 수학적 정리에 적힌 영문자는 문법적으로 옳지 않은 글자가 적혀 있었다.
가족을 키워드로 한 그림 자료에서는 30개의 그림이 모두 나타났으며, 가족을 그린 초상화, 가족과 함께 찍은 사진, 가족과 함께 음식을 먹는 사진이나, 그 음식 그림이 나타났으며 가족의 관계를 나타내는 가족관계도도 추천되었다. 또 핵가족, 대가족 등 다양한 가족관계가 나타났으며 반려동물도 함께 나타났다. 그러나 인종적인 측면에서는 백인과 흑인의 가족만 그림으로 표현되었다.
자연물을 키워드로 한 그림은 30개의 그림이 모두 나타났으며, 산과 바다의 풍경, 무지개가 나타난 하늘, 들판, 동물, 다양한 식생, 토네이도와 낙뢰, 먹이사슬과 같은 도식, 물의 순환을 나타낸 도식, 오로라 사진이 포함되었다. 해당 그림들이 자연물에 대체로 해당이 되나, 물의 순환을 나타내는 도식 등은 다소 거리가 있어 보인다.
여가 활동을 키워드로 한 그림은 1장의 그림이 NSFW 처리되었고, 29장의 그림이 나타났다. 여가 활동은 바다에서 즐기는 선탠, 가족과 함께하는 보드게임, 독서, 악기연주, 등산, 테니스 등의 운동, 소풍, 그림그리기, 게임, 텃밭 가꾸기가 나타났으며 대체로 키워드를 지도하기에 적절한 그림들로 보여진다.
마지막으로 나침반을 키워드로 한 그림은 30개 모두 나타났으며 나침반을 나타내는 그림, 나침반의 실제 모습, 다양한 나침반의 사진, 나침반을 사용하는 방법이 보였다.
5가지 키워드 모두 그림을 완전히 얻는데 평균적으로 6분 내외가 소요되었다.
IV. Conclusions
본 연구에서는 ChatGPT와 Stable Diffusion을 이용하여 교사가 입력한 수업 주제어에 따라 교수·학습용 그림 자료를 추천하는 프로그램을 구현하여 교수 보조자로서의 가능성을 탐색하였다.
사용자가 얻고자 하는 학습 키워드를 입력하면 키워드를 번역하여 질의 문장을 생성하여 ChatGPT에 입력한다. 얻은 응답을 NLTK로 의미 문장만 추출한 후 Stable Diffusion을 이용하여 추천 그림 자료를 출력하도록 하였다.
구현한 프로그램을 테스트하기 위해 2015개정 초등학교 교육과정의 성취기준을 무작위로 5가지 선정하여 성취 기준의 학습 주제가 되는 내용을 명사로 진술하여 프로그램에 입력하였다. 선정한 키워드는 삼각형, 가족, 자연물, 여가생활, 나침반이다.
구현한 프로그램은 키워드 별 30개의 그림자료를 추천하였으며 일부 그림은 필터링 되었다. 소요시간은 평균적으로 6분 내외였으며 추천하는 이미지의 수에 따라 변할 수 있을 것으로 보인다.
대체로 키워드와 관련된 그림을 추천해 주었으며, 추천한 그림에 담긴 글자는 글자를 나타내려는 의도만 알 수 있고 글자를 인식하고 뜻을 알 수는 없었다.
그러나 추천되는 그림의 종류나 내용이 ChatGPT의 응답에 전적으로 의존하고 있다는 점과 모든 키워드에 대한 그림을 정확하게 추천할 수 있는지 알 수 없는 점은 추가적인 연구가 필요해 보인다. 또한, 추천된 그림이 키워드와 관련된 것은 사실이나 교육적인 가치를 가지고 있는가에 대한 평가는 인간 교사의 지도적 판단에 맡겨야 하는 논의의 대상이다.
References
- ChatGPT, https://openai.com/blog/chatgpt/
- HmJung, JhJung, "Design and Issues of Writing Literatures Using ChatGPT", Journal of Knowledge Information Technology and Systems(JKITS), Vol. 18, No. 1, pp. 31~40, Feb 2023. DOI: 10.34163/jkits.2023.18.1.004
- DkShin, HkJung & YsLee, "Exploring the potential of using ChatGPT as a content-based English learning and teaching tool." Journal of the Korea English Education Society, 22(1), 171-192. Feb 2023. DOI: 10.18649/jkees.2023.22.1.171
- Stable Diffusion, https://stablediffusionweb.com/
- Mjchun, "A study on narrative and creative education methods using AI literary works," Master's thesis. Chung-Ang University. Aug 2021
- Dhcho, Esjun, Mgmoon, "Scenario Generation Assistance System Using GPT-3 ," Journal of the Korea society of computer and information. Vol. 30. No. 2. pp. 503-504. Jul 2022.
- Qadir, Junaid. "Engineering Education in the Era of ChatGPT: Promise and Pitfalls of Generative Al for Education." TechRxiv. Preprint. Dec 2022. DOI: 10.36227/techrxiv.21789434.v1
- OpenAI, https://platform.openai.com/docs/model-index-for-researchers
- NLTK, https://www.nltk.org/
- P. Liu, W. Yuan, J. Fu, Z. Jiang, H. Hayashi, and G. Neubig, "Pretrain, prompt, and predict: A systematic survey of prompting methodsin natural language processing." ACM Computing Surveys, vol. 55, no. 9,pp. 1-35, Jan 2023. DOI: 10.1145/3560815