LLM은 다음에 올 단어를 확률로 예측해 이어 붙이는 방식이라, 같은 질문에도 답이 매번 조금씩 달라진다. 챗봇마다 답의 성향이 갈리는 것은 학습 데이터와 보이지 않는 시스템 설정, 지식의 기준 시점이 서로 다르기 때문이다. 어느 쪽이 더 똑똑한지를 따지기보다 목적에 맞는 서비스를 고르고 중요한 사실은 교차 확인하는 것이 현실적이다.
LLM은 Large Language Model, 즉 대규모 언어 모델의 약자다. 이름 그대로 방대한 양의 글을 학습해 문장을 이해하고 새 문장을 만들어내는 인공지능이다. 몇 해 전만 해도 '언어 모델'은 연구자들이 쓰던 말이었지만, 학습 규모가 커지면서 '대규모'가 붙었고 지금은 챗봇 기술을 통칭하는 용어가 됐다.
핵심은 작동 방식에 있다. LLM은 어딘가에 저장된 정답을 꺼내오는 검색기가 아니다. 앞에 놓인 문장을 보고 그다음에 올 단어를 확률로 예측한 뒤, 그중 하나를 골라 붙이고, 다시 그다음 단어를 예측하는 과정을 반복한다. 오늘날 대부분의 챗봇은 트랜스포머라는 구조를 바탕으로 이 예측을 수행한다. 그러니 챗봇의 답은 '조회한 결과'가 아니라 '가장 그럴듯하게 이어 붙인 결과'에 가깝다.
Photo by Luke Jones on Unsplash
똑같은 질문을 다시 넣었는데 답이 미묘하게 달라진 경험이 있을 것이다. 이건 오류가 아니라 설계된 특성이다.
모델은 다음 단어 하나를 정할 때 후보 단어들의 확률 분포를 만든 뒤 그중에서 하나를 뽑는다. 매번 가장 높은 확률의 단어만 고르는 게 아니라 일정한 무작위성을 두고 선택한다. 이 무작위성의 폭을 조절하는 값을 흔히 온도(temperature)라고 부른다. 그래서 같은 질문이라도 뽑히는 단어가 조금씩 달라지고, 문장 전체의 흐름이 바뀐다.
대화 맥락도 영향을 준다. 앞서 주고받은 내용이 다음 답의 입력으로 함께 들어가기 때문에, 같은 질문이라도 그 앞에 무슨 말을 했느냐에 따라 답의 방향이 달라진다. 요약하면, 챗봇의 답은 고정된 사실이 아니라 그때그때 생성되는 결과물이다.
여기서 한 걸음 더 들어가면, 서비스마다 답이 다른 건 단순히 어느 쪽이 더 똑똑해서가 아니다. 세 가지가 다르기 때문이다.
첫째, 학습한 데이터가 다르다. 어떤 모델은 공개 웹 문서 비중이 크고, 어떤 모델은 라이선스를 맺은 자료나 정제된 데이터를 더 많이 쓴다. 배운 재료가 다르면 특정 분야에서 답의 깊이가 갈린다.
둘째, 서비스마다 사용자에게 보이지 않는 설정이 붙는다. 회사가 미리 넣어둔 지시문(시스템 프롬프트)과 안전 필터, 말투 규칙 같은 것들이다. 같은 질문이라도 이 설정에 따라 답이 조심스러워지거나 단정적으로 나온다.
셋째, 지식의 기준 시점이 다르다. 모델은 학습을 마친 시점 이후의 일을 스스로 알지 못한다. 이 기준일이 서비스마다 다르기 때문에, 최근 사건을 물으면 한쪽은 모른다고 하고 다른 쪽은 아는 것처럼 답이 엇갈린다. 최근 흐름을 보면 모델 간 전반적인 성능 격차는 좁아졌고, 대신 각자의 강점이 뚜렷해지는 쪽으로 가고 있다.
'가장 좋은 챗봇'을 찾기보다 '무엇을 하려는가'로 정하는 편이 현실적이다. 목적별로 판단 기준을 정리하면 이렇다.
한 가지 기준은 목적과 상관없이 공통된다. 챗봇이 내놓은 숫자, 날짜, 인용은 그대로 믿지 말고 원 출처로 확인하는 것이다. 앞서 봤듯 챗봇은 사실을 조회하는 게 아니라 그럴듯한 문장을 생성한다. 그래서 중요한 결정을 앞두고 있다면, 한 서비스의 답을 다른 서비스나 1차 자료와 교차 확인하는 습관이 답이 다른 문제를 다루는 가장 확실한 방법이다.