프롬프트 엔지니어링이란?
- 프롬프트는 AI에게 질문이나 요청을 전달하는 명령문 또는 입력 텍스트를 의미한다.
- 프롬프트 엔지니어링은 AI나 LLM에게 최적의 결과물을 만들어 내도록 유도하는 프롬프트를 작성하는 개발 방법론이다.
- 잘 설계된 프롬프트는 모델이 더 명확하고 관련성 높은 응답을 제공할 수 있도록 도와준다.
- 각 언어 모델마다 최적의 답변을 도출하기 위해서 언어 모델마다 적합한 프롬프트는 달라질 수 있다.
- 고도화된 프롬프트는 상호작용마다 발생하는 모델 사용비를 줄여 경제적으로 LLM을 사용할 수 있게 해준다.
- 프롬프트 엔지니어링을 제작하는 과정은 정확하고 일관적인 답변의 확률을 높여나가는 과정이라고 할 수 있다.
상용화된 LLM들의 대표적인 오류
1. Hallucination (할루시네이션, 환각)
Hallucination은 현재 범용적으로 사용되는 ChatGPT 시리즈와 BARD 등 여러 LLM에서도 발생하는 문제다.
Hallucination이란 AI가 모르는 질문에 대해서 잘못된 정보나 없는 사실을 마치 실재하는 것 처럼 답변하는 현상으로 많은 LLM에서 발생하는 대표적인 오류다.
이러한 Hallucination은 AI 모델을 학습시키는 과정에서 학습 데이터가 부족하거나 잘못된 정보가 주기적으로 포함되면 AI는 이를 마치 사실인 것으로 받아들이거나 없는 사실을 만들어낸다.
2. 편향성 (bias)
편향성은 특정한 관점, 선입견, 또는 고정된 사고방식이 AI 모델의 답변에 영향을 미치는 현상을 말한다.
과거에는 특정 LLM들이 질문에 대한 답변을 종교나 인종, 특정 지역에 편향되는 답변을 생성하는 경우가 종종 발생했다.
편향성은 AI가 학습한 데이터나 알고리즘 설계의 특성에서 비롯되는 경우가 많기 때문에 다양하고 균형 잡힌 데이터로 AI를 훈련시키고 이후에도 지속적인 모니터링이 필요하다.
3. 기초적인 수학 문제 및 상식 오류
일반인들에게는 간단한 수학 문제를 고도로 학습된 AI가 해결하지 못하는 경우가 생각보다 높은 확률로 발생한다.
우리는 9.9와 9.10을 비교할때 이를 9.90과 9.10으로 만들어 비교하기 때문에 9.9가 9.10보다 큰 숫자임을 간단하게 알고 있지만 이를 LLM에게 학습시킬때는 생각보다 어려운 과정이 필요하다.
이는 AI 모델이 숫자를 정확히 수학적 관점에서 비교하는 것이 아니라 언어적 패턴으로 이해하는 경우가 많기 때문이다.
아마 AI에 위의 사례처럼 답변하는 이유는 9.9와 9.10에서 소수점을 9 와 10으로 단순 비교해서 10을 더 큰 숫자로 인식하기 때문에 9.9보다 9.10을 더 큰 숫자로 인식하는 것으로 예상된다.
AI 모델은 텍스트 데이터를 기반으로 훈련되었기 때문에, 숫자나 수학적 표현도 언어적 관계로 해석하고 문맥적으로 빈번한 패턴을 따르는 경향이 있고 이를 해결하기 위에서는 이러한 수학 문제에 특화된 LLM을 사용하거나 명확한 인과관계와 예시가 들어간 프롬프트를 작성해 주어야 한다.
프롬프트 엔지니어링의 필요성
AI 모델을 더 정확하고 신뢰성 있게 사용하기 위해서는 잘 짜여진 프롬프트를 작성하는 것이 중요하다.
위에 서술한 대표적인 오류 발생의 확률을 대폭 줄여주는 것은 물론 모델의 한계를 보완하고 정확한 답변을 유도하는 가장 효과적인 방법은 프롬프트를 잘 설계하고 제작하는 것이라고 볼 수 있다.
이러한 이유들로 인해 AI를 잘 활용하기 위해서 우리는 프롬프트 엔지니어링을 학습해야 하고, 이를 위해 프롬프트를 잘 설계하고 작성하기 위해서는 꼭 알아야 하는 사항들이 있다.
다음 글에서 프롬프트의 필수 요소들을 분석하고 상호 작용간 발생하는 대화 및 프롬프트 설계법을 알아보자.
사진 출처 : https://towardsdatascience.com/what-i-learned-pushing-prompt-engineering-to-the-limit-c40f0740641f
'프롬프트 엔지니어링' 카테고리의 다른 글
[프롬프트 엔지니어링] - 프롬프트 기획과 제작 (12) | 2024.11.08 |
---|