Robot April in TISTORY
나만의 chatGPT 는 만들 수 없다 본문
필자는 OpenAI 에서 제공하는 API 를 사용하면, 나만의 chatGPT 를 만들 수 있다고 들었다. 하지만 실제 API 를 사용해 코딩을 해보니, 이건 새빨간 거짓말이라는 걸 알게 됐다. 이 사실은 chatGPT 스스로도 이미 알고 있더라. 인공지능 전문가라고 말하는 사깃꾼들에게 또 속았다. 입만 열면 거짓말이 술술 나오는 인간들.
아래는 내가 chatGPT 와 Gemini 에게 물어본 프롬프트(OpenAI API 에 대한 질문)와 그에 대한 인공지능의 대답이다.
나의 질문:
OpenAI API 를 공부하면 나만의 chatGPT 를 만들 수 있다고 해서, 책도 사서 읽고, API 실행을 위해 OpenAI 사이트에서 API 토큰 구매를 위한 돈도 지불하고, 너와 대화하면서 파이썬 코딩도 해봤지만, 내 기대와 달리 나의 문서파일(CSV로 변환한 출장규정 문서)을 읽고 학습한 나만의 chatGPT 가 아닌, 그 문서로 만든 벡터 파일을 참고하여, 나의 질문에 그 벡터파일의 내용을 그대로 인용하는 chatGPT 일뿐이었어. 내 말이 맞아?
chatGPT 대답:
네, 어느 정도 맞는 말씀입니다. 지금 사용하신 방식은 "리트리벌 증강 생성(Retrieval-Augmented Generation)" 기법에 가깝습니다. 이 방식에서는 다음과 같은 과정이 진행됩니다:
- 벡터 데이터베이스 구축:
규정문서(여기서는 CSV 파일)를 전처리한 후, 텍스트 임베딩(벡터화)을 진행합니다. 이렇게 만들어진 벡터 파일은 문서의 내용을 고차원 공간에서 표현한 것입니다. - 질문에 따른 벡터 검색:
사용자가 질문을 하면, 해당 질문도 임베딩 처리되어 벡터화됩니다. 이 질문 벡터와 문서 벡터 간의 유사도를 계산하여 가장 관련 있는 텍스트 조각(문단이나 구절 등)을 검색합니다. - 챗봇 응답 생성:
검색된 텍스트 조각들을 프롬프트의 일부로 제공하여, 모델이 이를 참고해 응답을 생성합니다. 이 과정에서 모델은 검색된 내용을 그대로 인용할 수도 있고, 필요한 경우에는 이를 재구성하거나 요약하기도 합니다.
따라서, 챗봇이 규정문서를 "학습"하는 것은 아니고, 매번 질문에 대해 외부 데이터(벡터 파일)를 검색하여 그 결과를 바탕으로 답변을 만드는 것입니다. 그래서 특정 규정이나 문장이 직접적으로 인용되는 경우가 많을 수 있습니다.
만약 내부에 규정 내용을 보다 자연스럽게 반영하고 싶다면, 다음과 같은 방법을 고려할 수 있습니다:
- 파인튜닝(Fine-tuning):
출장 규정 문서를 기반으로 모델을 직접 파인튜닝하여, 답변 생성 시 보다 자연스럽게 규정 내용을 반영할 수 있도록 하는 방법입니다. 다만, 이 방법은 데이터 보안과 모델 관리 측면에서 신중하게 진행해야 합니다. - 프롬프트 엔지니어링:
벡터 검색된 결과를 단순 인용하는 대신, 모델이 해당 내용을 바탕으로 요약하거나 재구성하도록 프롬프트를 더 세밀하게 조정할 수 있습니다.
현재 사용하신 방식은 실시간으로 관련 정보를 가져와 답변을 구성하는 시스템이기 때문에, 때때로 문서에서 그대로 인용되는 결과가 나타날 수 있습니다. 이게 반드시 잘못된 것은 아니지만, 원하시는 대화 스타일에 맞게 조정이 필요할 수도 있습니다.
요약하자면, 네, 현재 시스템은 출장 규정문서 내용을 "학습"한 것이 아니라, 벡터 파일에서 검색된 텍스트를 참고하여 답변을 생성하고 있습니다. 이를 기반으로 필요한 부분을 수정하거나, 파인튜닝 등 다른 기법을 추가하는 방법도 고려해보시면 좋겠습니다.
Gemini 대답:
네, 맞습니다. ChatGPT API를 사용하여 만든 챗봇은 문서를 직접 학습하는 것이 아니라, 문서의 벡터 파일을 참조하여 답변을 생성합니다.
ChatGPT API 작동 방식
- 문서 벡터화: 사용자가 제공한 문서는 OpenAI의 임베딩 모델을 통해 벡터 형태로 변환됩니다. 이 벡터는 문서의 의미와 내용을 수학적으로 표현한 것입니다.
- 질문 벡터화: 사용자의 질문 역시 동일한 방식으로 벡터 형태로 변환됩니다.
- 유사도 측정: 질문 벡터와 문서 벡터 간의 유사도를 측정하여, 질문과 가장 관련 있는 문서를 찾습니다.
- 답변 생성: 유사도가 높은 문서를 참고하여 답변을 생성합니다. 이때, ChatGPT 모델은 단순히 문서를 그대로 인용하는 것이 아니라, 문맥에 맞게 재구성하고 필요한 정보를 추가하여 답변을 생성합니다.
사용자의 오해
사용자께서는 API를 통해 만든 챗봇이 문서를 "학습"한다고 생각하셨을 수 있습니다. 하지만, 실제로는 문서를 벡터 형태로 변환하여 참조하는 것입니다. 따라서, 챗봇은 문서의 내용을 완벽하게 이해하거나 새로운 지식을 학습하는 것은 아닙니다.
추가 정보
- ChatGPT API는 텍스트 생성, 요약, 번역 등 다양한 기능을 제공합니다.
- API를 활용하여 다양한 형태의 챗봇을 만들 수 있습니다.
- 챗봇의 성능은 문서의 품질, 양, 그리고 API 활용 방법에 따라 달라질 수 있습니다.
결론
ChatGPT API를 사용하여 만든 챗봇은 문서를 직접 학습하는 것이 아니라, 벡터 파일을 참조하여 답변을 생성합니다. 따라서, 챗봇이 문서의 내용을 완벽하게 이해하거나 새로운 지식을 학습하는 것은 아닙니다. 하지만, API를 활용하여 다양한 기능을 가진 챗봇을 만들 수 있으며, 문서의 품질과 API 활용 방법에 따라 챗봇의 성능을 향상시킬 수 있습니다.
즉, OpenAI API 를 이용해서 나만의 chatGPT 는 만들 수 없다. 그냥 내가 소유한 데이터를 인용하여 대답을 해줄 뿐이다. 그것도 대답해 주는 글자수(정확히는 토큰수)에 따라 돈까지 지불해 가면서. OpenAI API 를 공부하려는 사람들은 이런 사실은 알고 시작해야한다.
'로봇(Robot)' 카테고리의 다른 글
로봇 대신 "물리적 AI" (0) | 2025.03.19 |
---|---|
일본 로보틱스 & 인공지능 지수 (J. Robotics & AI Index) (0) | 2023.07.05 |
수술로봇의 원조기업, 미국 Intuitive Surgical, Inc. (0) | 2022.01.16 |
공장 자동화와 로봇용 센서 절대 강자, 일본 Keyence (0) | 2022.01.09 |
물류 자동화 분야 세계 1위 기업, 일본 DAIFUKU (0) | 2021.06.30 |