오늘은 올라마(Ollama)에 임베딩 모델을 다뤘다. 나에게는 흥미로운 현상을 발견했는데, 이게 좀 머리 아픈 문제였다.
먼저, 상황을 간단히 설명하자면:
여기서 중요한 점:
max length는 512 토큰이다.Truncation도 True로 설정되어 있었다.
내 예상:
올라마 api로도 text1과 text2의 코사인 유사도가 1이 나올 거라고 생각했다.
왜? text2가 max length를 넘어가면 어차피 512 토큰 이후는 잘릴 테니까, 결국 text1과 text2는 실질적으로 같은 문장이 되는 거 아닌가?
하지만 현실은:
올라마에서 가져온 모델을 Postman으로 API 호출해서 확인해보니, text1과 text2의 임베딩 값이 서로 달랐다.
이게 대체 왜 그런 걸까? 🤔
이 현상에 대해 더 깊이 파고들어야 할 것 같다. 임베딩 모델의 내부에 토큰화 과정에 뭔가 내가 모르는 개념이 있는 것 같다. 공부할게 많다. 주말에 이 문제를 좀 더 자세히 들여다봐야겠다. 다음포스트요.