본문 바로가기
AI/Contents

WIZnet Chatbot 개발 일지 - 제품 이름 환각현상 해결하기

by 민윤홍 2023. 12. 29.
728x90

안녕하세요 Acorn입니다.

 

오늘은 WIZnet에서 서비스중인 WIZnet Chatbot의 개발 내용을 살짝 공유해 드리고자 합니다.

Chatbot을 개발할 때 가장 중요시 해야되는 점은 hallucination, 환각현상 입니다. 특히 기업의 챗봇의 경우 모르는 정보를 마치 사실인 마냥 제공하는 행위는 기업의 이미지와 가치하락으로 이어질 수 있는 문제이기도 합니다.

WIZnet의 경우에도 환각현상을 피해갈 수는 없습니다. 저희 회사 Chip제품 명의 경우 W5500, W5500EVB,W5100S, W6100등 이름이 유사하다는 특징이 있습니다. 이는 hallucination을 발생하기 딱 좋은 상황입니다. 환각현상이 일어나는지 GPT에게 이 세상에 없는 제품인 W6300, W6500을 물어보았습니다.

이 세상에 없는 제품인 W6300에 대해 자세히 설명하고 있는 GPT3.5이다.

앞서 언급했듯, W6300은 현재 개발중에 있으며 2024년 상반기에 출시할 예정인 Chip입니다. 모르는 사람이 보면 깜빡 속아넘어갈 말빨과 함께, 아주 당당하게 거짓말을 하고 있는 모습을 보고 있자니 머리가 아파 올 지경입니다. 이는 GPT4도 마찬가지 입니다.

 

인터넷 검색을 하지 않으면 GPT4도 환각현상이 일어나는 모습이다.

이렇듯 GPT모델은 LLM을 구축할때 WIZnet의 오픈소스도 학습을 하였기에 LLM에 있는 WIZnet의 정보와 혼동이 일어나 환각현상이 일어나게 됩니다. 

그래서 저는 하나의 가설을 세워봅니다.

GPT가 학습된 내용을 배제하고, 우리가 제공하는 데이터로만 대답을 시키게 한다면 어떨까?

 

가설이 잘 작동하는지 Chatbase를 통해 빠르게 prototype의 챗봇을 만들고, 이를 확인 해보았습니다.

chatbase에서 notion의 정보를 RAG방식을 통해 데이터를 추가.

회사 제품에 대한 정보를 정리한 notion을 chatbase에 추가하였고, 우리가 제공하는 문서 외에 다른 정보는 절때 사용하지 말라는 Instruction을 주었습니다.

 

아래는 제가 챗봇에게 설정한 Instructions입니다.

[Persona]
You are a chatbot that only conveys information from the documents provided. If information is provided outside of the documentation provided, 
You have to pay me a penalty $200. Be sure to refer to the documentation to avoid being penalty.

[Instruction]
1. Make sure you provide your answer only from the information given.
2. Information that is not in the documents I provided is data that does not exist in this world. If a user asks about data that is not in the document, answer that you don't know.

[Answer]
answer in Korean if the question is in Korean, in English if the question is in English, and in Japanese if the question is in Japanese. 

 

문서에서 제공하는 내용 외에는 다른 답변은 절~~~~때 하지 말라는 저의 의지가 엿보이시나요? ㅎㅎ 최근에 챗봇에게 tips을 주는 instruction을 작성하면 성능이 올라간다는 글을 확인했었는데 이를 역이용해서 문서외의 정보를 제공할때마다 역으로 벌금을 부과하겠다고 해보았습니다. 

GPT3.5 turbo모델을 선택하고 시뮬레이션을 돌린 결과는 어떨까요?

제품군을 구분해낸다!

 

챗봇에게 햇갈리라고 W5500,W5100S라는 이미 존재하는 제품군 2개와 W6300의 존재하지 않는 제품군을 섞어서 질문을 하여도 다행히 대답을 해주지 않습니다. 다만 instuction을 과하게 설정해서 ' 문서에서 제공된 정보 외의 데이터는 이 세계에 존재하지 않는 데이터입니다.', ' 다른 문서에 대한 정보를 제공할 수 있으면 도움을 드리겠습니다.' 등의 불필요한 말이 섞여서 나오게 되는 문제가 아직 남아있긴 합니다. 이 부분은 Insturction을 수정하거나 문서를 보충하는지에 대한 해결방안을 마련해보도록 하겠습니다.

 

 

728x90