현재 저희 회사에서 OpenAI ChatGPT 또는 네이버 하이퍼클로바를 이용해 제품을 개선하는 작업을 진행하고 있습니다.
근데 저희 회사 서비스가 의료 관련이라 전문 지식이나 용어 같은 생소한 정보를 많이 요구하다보니, OpenAI나 하이퍼클로바의 기본 모델로는 이러한 전문 지식에 대한 대응이 잘 안 되는 것으로 보였습니다.
그래서 "OpenAI ChatGPT에 회사가 가진 데이터를 연결해서 성능을 높여볼 수 없을까?"란 아이디어와 함께 방법을 찾게 되었습니다.
처음엔 OpenAI의 다빈치 모델과 네이버의 하이퍼클로바를 파인튜닝해봤습니다. 그러나 성능이 딱히 만족스럽지 않았습니다. (사실 제가 ML엔지니어가 아니라 백앤드 개발자라 직관도 요령도 없었기 때문일 가능성이 큽니다.)
게다가 네이버 클로바에서 파인튜닝 모델을 한 번 만들 때마다 돈을 몇십만 원씩 내야하는 구조였습니다. 제가 ML엔지니어가 아니라서 AI 지식도 직관도 부족하기에, 이 방식으로는 ROI(= 가성비)가 너무 안 나올 게 자명해보였습니다.
그래서 대안을 찾던 중, Vector DB를 LLM 모델과 연결해서 사용하면 마치 LLM의 외장하드처럼 VectorDB 를 사용할 수 있다고 들었습니다.
그러나 현재 Vector DB에 관한 한국어 문서는 아예 없는 상황입니다. (그래서 요새 미국과 한국의 기술 격차를 확 느끼고 있습니다. ㅠㅠ) 그래서 제가 맨땅에 헤딩한 내용이라도 조금씩 한국어 문서로 남겨보려고 합니다.
부디 이 글을 시작(?)으로 한국어 글이 많아지길 소망해봅니다.
Vector DB는 데이터를 고차원 벡터 형태로 변환하여 저장하는 데이터베이스입니다. 각 벡터에는 데이터의 복잡성과 세분성에 따라 수십에서 수천에 이르는 특정 수의 차원이 있습니다.