글 수 219
https://blog.replika.com/posts/building-a-compassionate-ai-friend
일상대화 챗봇 Replika가 기술 블로그를 시작했습니다. 첫번째 포스트는 Replika의 AI 기술에 대해서 다뤘습니다.
대화 알고리즘은 크게 retrieval model, generative model, reranking model 3부분으로 구성됩니다. retrieval은 대화 DB에서 질문에 가장 적절한 답변을 찾습니다. 이루다 역시 이 방식으로 동작합니다. generative는 직접 대답 문장을 생성합니다. GPT-3를 쓰기도 했는데 지금은 자체 모델을 사용한다고 합니다. reranking은 retrieval과 generative로 도출한 답변후보 중에서 최종 대답을 선택합니다. BERT기반의 cross-encoder 방식을 사용합니다. 질문과 대답을 붙여서 같이 입력에 넣고 그것이 잘 이어지는지 판단합니다. cross-encoder는 속도가 느리다는 단점이 있습니다. 그래서 reranking에만 사용하고 retrieval에서는 보통 bi-encoder 방식을 적용합니다.
앞으로 블로그에서 좋은 글들이 올라오길 기대해봅니다. 그밖에 Replika 관련 문서들이 github(https://github.com/lukalabs/replika-research)에 있으니 필요하신 분들은 참고하시기 바랍니다.