AI, 어디까지 활용해 봤니?
글/사진. 총무부 임선규 과장
-
대학원에서의 생활,
연라밸 유지하기 -
안녕하세요, 여러분! 저는 현재 우리 원에서 제공해 주신 학술연수 기회를 통해 AI 대학원 연구실에서 박사과정을 진행 중입니다. 제 연구 주제는 장기 시계열 예측, 경제지표 예측, 이상탐지 등 다양한 분야를 다루고 있어 매일이 새로운 도전과 발견으로 가득 차 있어요.
그리고 제가 학술연수를 떠나기 직전에 받은 가장 큰 선물인, 제 둘째 딸아이가 벌써 3살이 되었답니다. 아침마다 첫째와 둘째 딸아이들을 어린이집에 데려다주고 대학원 연구실로 향하고 있어요.하지만 학술연수 기간 동안 가족들과 여행을 많이 다니지 못한 것에 대해서는 정말로 아쉬움을 크게 느끼고 있어요. 특히 제 딸들이 빠르게 자라고 있어서, 그 시간을 함께 보내지 못한 게 가장 아쉬운 부분이에요. 올해 10월에 베트남으로 가족과 함께 여행을 가기로 했는데, 그때 가족과의 소중한 순간들을 만끽하려고 기대하고 있습니다.
회사로의 복귀는 약 4개월 정도 남았지만, 이 기간을 최대한 활용하려고 노력하고 있어요. 동료들과 오랜만에 만나서 이야기 공유하고 싶어요. 언제든 연락 주세요. 자 그럼 지금부터 AI를 친구로 만들어 줄 파인튜닝과 프롬프트 엔지니어링에 대해 살펴보겠습니다.
-
AI를 친구로!
LLM 파인튜닝과
프롬프트 엔지니어링 -
인공지능 기술의 발전으로 우리 일상생활이 변화하고 있다. 특히, 최근 급증하고 있는 오픈AI의 GPT나 메타의 Llama 등과 같은 대규모 언어 모델(LLM, Large Language Models)들은 텍스트 이해와 생성 분야에서 큰 성과를 보이며 우리와 더 가까워지고 있다. 이제 AI는 우리의 ‘친구’가 되어 일상적인 작업을 돕고 상호 작용하는 데 도움을 주고 있다. 이 기고에서는 LLM을 활용하여 AI를 개인화하는 두 가지 주요 기술인 파인튜닝(Fine-tuning)과 프롬프트 엔지니어링(Prompt Engineering)에 대해 살펴본다.
최근 급증한 대규모 언어 모델들
출처 : A Survey of Large Language Models
(arXiv, 2023. 9. 11.)
I. 파인튜닝: LLM을 개인화하다
-
1. 파인튜닝의 개념
-
파인튜닝이란? 파인튜닝은 사전에 학습된(Pre-trained) 모델을 어떤 작업(Task-specific)과 관련된 데이터로 추가 학습시켜 그 작업을 수행하는 데 적합하도록 조정하는 과정이다.
왜 필요한가? LLM을 처음부터 구축하는 것은 엄청난 어려움과 비용이 따르는 복잡한 작업이다. 이를 위해서는 대량의 데이터, 컴퓨팅 리소스, 그리고 전문 지식과 기술이 필요하다. 특히 모델의 크기, 즉 학습 파라미터의 개수가 증가할수록 데이터 및 리소스 요구량이 급증하며, 이는 비용 측면에서 막대한 부담을 초래한다. 따라서 개인이나 규모가 작은 조직이 LLM을 처음부터 직접 개발하는 것은 현실적으로 어려운 과제이다.
대규모 언어 모델의 크기
출처 : The Rise and Rise of A.I. Large Language Models
(Information is Beautiful , 2023. 7. 27.)파인튜닝은 개인 또는 작은 조직이 이러한 어려움을 극복하고 LLM을 활용하는 데 있어 중요한 역할을 한다. 질의응답, 감정분석, 번역 등 다양한 작업에 적용하기 위해 사전 학습된 LLM을 파인튜닝 하면, 고품질의 자연어 이해 및 생성 모델을 비교적 적은 노력으로 원하는 작업에 맞는 모델을 개발 및 활용할 수 있다. 또한, LLM은 요리에서 사용되는 기본 육수같이 다양한 음식을 만들기 위한 베이스와 같기 때문에, 원하는 요리를 완성하기 위해서는 해당 요리에 맞는 추가 재료(데이터)와 조리(파인튜닝)가 필요하다.
파인튜닝의 개념
-
2. 파인튜닝의 절차
-
베이스 모델 선택 가장 먼저 할 일은 베이스 모델로 사용할 LLM을 선택하는 것이다. 이 모델은 이미 언어 이해 능력을 갖추고 있으며, 다양한 자연어 처리 작업에 적용 가능하다.
데이터 수집과 전처리 그 후 특정 작업에 필요한 데이터를 수집하고 전처리한다. 이 데이터는 파인튜닝을 위한 핵심 자원으로 작업에 따라 텍스트, 이미지 등 다양한 형태가 될 수 있다.
모델 파인튜닝 선택한 베이스 모델을 특정 작업에 맞게 조정한다. 이 과정에서 베이스 모델이 갖고 있는 파라미터를 업데이트하고 추가 학습을 진행한다.
모델 평가와 최적화 마지막으로 파인튜닝된 모델을 평가하고, 필요에 따라 최적화를 진행한다.
파인튜닝의 절차
-
3. 파인튜닝의 효과
-
데이터 효율성 파인튜닝은 적은 양의 데이터로도 좋은 성능을 낼 수 있어 데이터 효율성이 높다.
시간 및 자원 절약 사전 학습된 베이스 모델을 활용하므로, 처음부터 모델을 학습시키는 것보다 시간과 자원을 크게 절약할 수 있다.
다양한 작업에 적용 가능 기본 모델이 범용적으로 학습되었다면, 다양한 작업에 그것을 파인튜닝하여 사용할 수 있다.
II. 프롬프트 엔지니어링: LLM과 대화하다
-
1. 프롬프트 엔지니어링의 개념
-
프롬프트 엔지니어링이란? 프롬프트 엔지니어링은 언어 모델에 대한 사용자의 입력을 효과적으로 설계하는 과정이다.
왜 필요한가? 추가 데이터를 사용한 모델 학습으로 LLM 자체를 특정 작업에 최적화하는 기술이 파인튜닝이라면, 프롬프트 엔지니어링은 LLM이 사전 학습한 다양한 작업을 원활하게 수행하도록 유도하기 위해 사용자의 입력을 설계하는 기술이다. 프롬프트 엔지니어링은 레스토랑에서 음식의 종류, 양, 특별한 요청 사항 등을 기록하는 ‘주문 양식’과 유사하다. 프롬프트는 언어 모델에 대한 사용자의 의도와 지시 사항이 담겨 있으며, LLM은 이를 해석하고 해당 작업을 수행한다. 따라서 사용자가 프롬프트 엔지니어링을 통해 정확하고 명확한 주문을 해야 LLM이 사용자의 요구를 이해하고 원하는 정보를 제공하거나 작업을 할 수 있다.
프롬프팅을 통한 LLM에서의 정보 획득
출처 : marketoonist
-
2. 프롬프트 엔지니어링 팁
-
명확하고 구체적인 프롬프트 작성 모델에게 원하는 입력과 출력을 명확하게 제시해야 한다. 구체적인 예시와 함께 프롬프트를 작성하면 모델이 원하는 결과를 더 정확하게 생성할 수 있다.
도메인 특화 프롬프트 사용 특정 분야에 관련된 정보를 프롬프트에 포함하여 모델이 해당 분야에 대한 답변을 생성할 수 있도록 도움을 줄 수 있다.
질문형 프롬프트 활용 모델에게 질문을 던지는 형태의 프롬프트를 사용하면 질문에 대한 답변을 생성하는 데 도움이 된다.
실험과 반복을 통한 최적화 다양한 프롬프트를 시도하고 모델의 출력을 확인하며 필요에 따라 프롬프트를 수정하고 반복적으로 테스트를 수행하여 모델의 출력을 향상시킬 수 있다.
개선된 피드백 활용 모델의 출력을 검토하고 피드백을 활용하여 프롬프트를 개선하고 모델의 성능을 향상시킬 수 있다.
컨텍스트 고려 모델은 이전 프롬프트나 대화 텍스트를 기반으로 응답한다. 따라서 이전 대화를 고려하여 프롬프트를 작성하면 모델이 더 의미 있는 답변을 제공할 수 있다.
인공지능은 우리의 일상생활에 더욱 밀접하게 통합되고 있다. LLM 파인튜닝과 프롬프트 엔지니어링은 이러한 통합을 가능하게 하는 핵심 기술 중 하나이다. 이 두 기술을 통해 AI는 우리의 친구, 동료, 심지어는 멘토가 될 수 있다. 그러나 이러한 가능성을 실현하기 위해서는 계속해서 연구와 개발이 필요하다. AI의 미래는 무한한 가능성을 가지고 있으며, 이러한 가능성을 최대한 활용하기 위해 우리 모두가 노력해야 한다. 결국, AI는 우리가 만들어 가는 것이며, 그 방향성은 우리가 결정한다. AI를 친구로 만드는 것은 우리의 몫이다.
사실 앞선 글들은…
.
-
앞서 제 근황을 알리는 글과 LLM 관련 내용은 챗GPT, 빙Chat, 클로바X, 뤼튼(wrtn), 아숙업(AskUp) 등 다양한 LLM 기반 서비스들을 사용해 작성했습니다. 챗GPT, 클로바X, 뤼튼으로 목차를 작성해 비교하고 약간의 수정 후 본문을 작성했습니다. 본문도 이들 서비스에서 프롬프팅으로 수정보완을 거쳤습니다. 이미지는 빙Chat, 뤼튼, 아숙업으로 생성했습니다.

챗GPT 활용

빙Chat 활용

클로바X 활용

뤼튼 활용

아숙업 활용
-
다음은 챗GPT를 사용해 본 기고문을 작성했던 과정에 대한 샘플 영상입니다. LLM은 동일한 질문에 대해서도 다른 답을 할 수 있으므로 기고문과 일부 상이한 내용이 있습니다.
인터페이스뿐만 아니라 답변의 내용도 완성도가 높았습니다. 아무래도 가장 먼저 출시되었고, 그간 많은 업데이트가 이루어졌기 때문인 것 같습니다. 빙Chat은 검색 서비스 빙(Bing)과 연계해 답변의 출처들을 명확하게 표시하는 것이 유용했습니다. 뤼튼은 이와 유사한 검색모드가 있어 출처를 확인하는데 편리했습니다. 또한 GPT 3.5/4.0, PaLM 등 다양한 LLM을 선택해 서비스를 이용할 수 있었습니다. 클로바X는 베타 서비스 단계라 그런지 답변이 다소 부정확하거나 동일한 내용을 반복해 답변하는 오류가 발생하기도 했습니다. 그리고 한국어에 특화되었다는 점이 장점으로 많이 부각되고 있는데, 기고문을 생성하는 과정에서는 잘 느끼지 못했지만 추후 정식 오픈을 기대해 봅니다.
-
인터페이스뿐만 아니라 답변의 내용도 완성도가 높았습니다. 아무래도 가장 먼저 출시되었고, 그간 많은 업데이트가 이루어졌기 때문인 것 같습니다. 빙Chat은 검색 서비스 빙(Bing)과 연계해 답변의 출처들을 명확하게 표시하는 것이 유용했습니다. 뤼튼은 이와 유사한 검색모드가 있어 출처를 확인하는데 편리했습니다. 또한 GPT 3.5/4.0, PaLM 등 다양한 LLM을 선택해 서비스를 이용할 수 있었습니다. 클로바X는 베타 서비스 단계라 그런지 답변이 다소 부정확하거나 동일한 내용을 반복해 답변하는 오류가 발생하기도 했습니다. 그리고 한국어에 특화되었다는 점이 장점으로 많이 부각되고 있는데, 기고문을 생성하는 과정에서는 잘 느끼지 못했지만 추후 정식 오픈을 기대해 봅니다.
이미지 생성에서는 개념도나 흐름도 형태의 그림은 요구한 대로 충분하게 그리지 못했습니다. 비현실적인(?), 몽환적인(?) 스타일의 이미지를 그리거나 만화나 포스터 느낌으로 생성하는 경우가 많았습니다. 일부 서비스는 사람의 신체를 기이하게 표현하는 경우도 있었습니다. 그리고 프롬프팅에서 “부적절한 이미지 생성 가능성이 있어서 이미지가 전달되지 않았습니다”라는 답변과 함께 이미지가 생성되지 않는 경우도 있었는데, 서비스 오용을 방지하려는 목적으로 의심되는 프롬프팅을 차단하는 것 같습니다.
정보가 넘치는 시대에 LLM은 우리가 필요로 하는 지식을 추출하고 문제를 해결하는 데 많은 도움을 주리라 예상합니다. 다만, 사실이 아닌 내용을 사실처럼 생성하는 현상(Hallucination), 조작된 자료를 동원한 가짜 뉴스(Fake News) 생성, 인간사회의 다양한 데이터를 학습하면서 발생할 수 있는 편향(Bias/Prejudice), 규칙에서 벗어나 교란을 일으켜 폭력적이거나 불법적인 내용을 다루는 탈옥(Jailbreak/Safety Bypass) 등 신뢰성에 대한 이슈가 있으므로 LLM이 우리에게 제시한 지식이나 솔루션을 선택적으로 받아들이는 것 또한 필수일 것입니다. 여러 LLM 기반 서비스를 비교하며 사용하거나 어떤 정보가 LLM을 사용해 생성되었는지 여부를 확인하는 서비스(예를 들어, ZeroGPT)를 동시에 활용하는 것이 도움이 되리라 생각합니다.
-
“You can’t be pro-insurrection and pro-American.” —@JoeBiden pic.twitter.com/ufJxWPruj4
— The Democrats (@TheDemocrats) July 26, 2022 -
딥페이크로 조작한 인터뷰 영상, 무엇이 진짜일까?
-
앗! 마지막으로, 다음은 제 근황을 알리는 실제 사진입니다^^ 연구뿐만 아니라 두 딸아이와도 많은 시간을 함께하기 위해 열심히 노력하고 있습니다.
-
.
-
※ 사용한 LLM 서비스들
-
- 챗GPT : https://chat.openai.com/
- 빙Chat : https://www.bing.com/
- 클로바X : https://clova-x.naver.com/
- 뤼튼 : https://wrtn.ai/
- 아숙업 : https://www.upstage.ai/askup







