ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ChatGPT 환각 현상을 줄이기 위한 프롬프트 기술
    프로그래밍/기계학습 2024. 11. 7. 23:59
    728x90
    반응형

     

     

     

     

     

    ChatGPT와 같은 언어 모델을 사용할 때, 모델이 종종 사실이 아닌 정보를 제공하거나 질문에 비현실적인 답변을 하는 현상을 '환각'이라고 합니다. 이는 모델이 훈련 데이터에서 배운 패턴을 바탕으로 답변을 생성하기 때문에 발생하는데, 특히 정보가 불완전하거나 애매한 질문에 대해 모델이 확신 없이 대답할 때 환각 현상이 두드러지게 나타납니다. 이를 줄이기 위해서는 적절한 프롬프트 설계가 중요합니다.

     

    아래에서는 ChatGPT의 환각 현상을 줄이기 위한 몇 가지 프롬프트 기술을 소개합니다.

     

    1. 명확한 질문 구조 사용

    모호한 질문은 환각을 유도할 수 있습니다. 따라서 질문을 구체적이고 명확하게 작성하는 것이 중요합니다.

    • 예시
      • 잘못된 프롬프트: "최신 영화 트렌드는 뭐야?"
      • 개선된 프롬프트: "2024년 영화 트렌드에 대해 최신 뉴스를 바탕으로 알려줘."

    질문에 구체적인 기준을 제시하면 모델이 덜 환각적이며, 보다 사실적이고 정확한 답변을 할 가능성이 높아집니다.

     

    2. 사전 지식 및 한계를 명시하기

    모델이 답변할 때 신뢰도가 높은 정보만을 사용할 수 있도록, 질문에 특정 기준을 추가하는 방법도 효과적입니다.

    • 예시
      • 잘못된 프롬프트: "최근 기술 뉴스에 대해 알려줘."
      • 개선된 프롬프트: "내가 제공한 자료만을 바탕으로 최근 기술 트렌드를 설명해줘."

    이렇게 프롬프트에 '자료'나 '제공된 정보'라는 제한을 추가하면, 모델이 새로운 정보를 생성하기보다는 주어진 정보를 바탕으로 답변을 생성하게 되어 환각 현상을 줄일 수 있습니다.

     

    3. 추가적인 정보 출처 요구

    모델이 특정 정보를 제공할 때 신뢰도 높은 출처가 뒷받침되도록 요청하는 것도 좋은 방법입니다. 이는 모델이 불확실한 정보나 환각성 답변을 줄이는 데 도움이 됩니다.

    • 예시
      • 잘못된 프롬프트: "국내 대기업 트렌드는 어떻게 변했어?"
      • 개선된 프롬프트: "2023년 기준으로 확인 가능한 출처가 있는 국내 대기업 트렌드에 대해 설명해줘."

    출처가 있는지 여부를 명확히 요구하면, 모델이 답변할 때 환각을 줄이고, 신뢰할 만한 답변을 생성할 가능성이 높아집니다.

     

    4. 제한적 시점과 범위를 설정하기

    언어 모델은 훈련 시점 이후의 정보를 알지 못하므로, 답변에 포함될 수 있는 정보를 시점이나 범위에 따라 제한하면 환각을 줄일 수 있습니다.

    • 예시
      • 잘못된 프롬프트: "최신 기술 발전에 대해 설명해줘."
      • 개선된 프롬프트: "2023년까지의 기술 발전 현황에 대해 알려줘."

    모델이 인식할 수 있는 시점에 맞춘 제한을 두면, 그 이후 발생한 사실을 추측하는 환각 현상이 줄어듭니다.

    5. “모른다고 말해도 좋다”는 조건 추가

    모델이 알지 못하는 정보에 대해 억지로 답변하지 않도록, 모르는 경우에는 그대로 답하지 않도록 허용하는 것도 좋은 방법입니다.

    • 예시
      • 잘못된 프롬프트: "내년에 일어날 경제 변화에 대해 예측해줘."
      • 개선된 프롬프트: "알 수 없는 경우 '모르겠다'라고 답하고, 가능한 한 현재의 경제 정보를 바탕으로 알려줘."

    이와 같은 조건을 추가하면, 모델이 과도한 환각 없이 사실에 기반한 답변을 할 수 있게 됩니다.

     

     

    6. 점진적 질의 방식 적용

    복잡한 질문에 대해 한 번에 답변을 요구하기보다는, 한 단계씩 질문을 분할하여 단계별로 답변을 요청하는 방식입니다. 이는 모델이 지나친 일반화나 가정을 통해 환각을 일으키는 것을 방지합니다.

    • 예시
      • 초기 프롬프트: "AI 기술이 다양한 산업에 미친 영향을 설명해줘."
      • 개선된 프롬프트:
        1. "AI가 제조업에 미친 영향을 설명해줘."
        2. "다음으로, 금융 산업에 미친 AI의 영향을 설명해줘."

    이처럼 하나의 복잡한 질문을 여러 단계로 쪼개면, 모델이 답변을 구체화하고 정확하게 할 가능성이 높아집니다.

    7. 사례 기반 질문 활용

    모델에게 특정 상황이나 사례를 제공하여 이를 바탕으로 답변을 생성하도록 하는 방법입니다. 실제 예시를 통해 답변을 요청하면 환각을 줄이고 현실적인 답변을 얻을 수 있습니다.

    • 예시
      • 모호한 질문: "효과적인 리더십이 무엇인지 설명해줘."
      • 개선된 프롬프트: "성과를 높인 리더십 사례를 하나 제시해주고, 그 리더가 사용한 구체적인 전략을 설명해줘."

    이렇게 구체적인 예시를 요청하면, 모델이 답변을 생성할 때 불필요한 환각을 줄이고 실제 사례에 기반한 답변을 제공하게 됩니다.

    8. Yes/No 질문을 통한 확인 및 보완

    모델이 답변을 정확히 이해하고 있는지 확인하는 질문을 추가하여, 단계별로 정보의 정확성을 검증하는 방법입니다. 이를 통해 답변의 일관성과 신뢰성을 강화할 수 있습니다.

    • 예시
      • 초기 질문: "클라우드 컴퓨팅의 장점에 대해 알려줘."
      • 추가 질문: "이 답변이 비용 절감과 관련된 장점을 포함하고 있나요?"

    이런 방식으로 모델이 답변할 때 단계별로 추가 확인을 하도록 유도하면 환각을 줄일 수 있습니다.

    9. 선행 지식에 기반한 재확인 요구

    답변에 대해 이미 알고 있는 지식을 기준으로 검증 질문을 추가하여 모델이 환각성 답변을 줄이도록 유도할 수 있습니다. 이때 모델이 근거를 명확히 제시하도록 요구하면 더욱 효과적입니다.

    • 예시
      • 초기 질문: "클라우드 서비스의 보안 위험은 무엇인가?"
      • 추가 질문: "기존에 알려진 클라우드 보안 위험에 대해 언급한 답변인지, 새로운 가정을 추가한 것인지 설명해줘."

    이런 재확인을 통해 모델이 이미 검증된 정보를 기반으로 답변을 구성하도록 할 수 있으며, 환각적인 요소를 줄이는 데 도움이 됩니다.

    10. 언어 모델의 한계에 대한 인지 추가

    프롬프트에 모델의 한계에 대해 명시해두는 것도 하나의 방법입니다. 이를 통해, 모델이 불확실한 정보를 생성하지 않고 실제로 아는 범위에서만 답변하도록 유도할 수 있습니다.

    • 예시
      • 초기 질문: "미래의 자동차 산업에 대해 예측해줘."
      • 개선된 프롬프트: "현재 데이터와 한계를 바탕으로 예측해줘. 불확실한 부분에 대해서는 추측하지 말고, 현재 사실만을 언급해줘."

    모델에게 한계를 인지시키면, 더 신중한 답변을 유도할 수 있으며 환각을 줄이는 데 효과적입니다.


    이 외에도 특정 단어 사용 제한, 모델에게 짧고 명료한 답변을 요구하기 등의 방법이 추가로 활용될 수 있습니다. 이러한 다양한 방법을 조합하여 프롬프트를 설계하면, ChatGPT와 같은 언어 모델에서 환각 현상을 줄이는 데 도움이 될 것입니다.

     

     

    결론

    ChatGPT와 같은 언어 모델은 유용하지만, 환각 현상을 완전히 피할 수는 없습니다. 따라서 위와 같은 프롬프트 설계 기술을 활용하여 환각을 최소화할 수 있도록 해야 합니다. 명확한 질문, 정보 출처 요구, 시점 설정, 모를 때는 모른다고 답하는 조건 등을 통해, 보다 신뢰할 수 있는 답변을 얻을 수 있습니다.

    환각을 줄이기 위한 프롬프트 설계를 통해 모델 사용의 효율성과 신뢰도를 크게 향상시킬 수 있습니다.

     

     

    728x90
    반응형
Designed by Tistory.