열심히 RAG를 튜닝중이지만 눈에 띄게 나아진건 없었다.
파면 팔수록 여러가지 문제가 있었다.
가장 큰 이슈는 recall이 너무 낮다.
우선 기존 chroma 에 박은게 내 데이터셋, 타이틀 > subpage 가 있는 구조를 반영하지 못해서 지표 밸류 자체가 떨어지는 문제가 있었다.
이부분은 재인덱싱을 통해 정상화 했다.
다만 이제 또 recall을 보고 mmr, top-k 범위를 러프하게 잡았더니 레이턴시가 개판이났다.
그래픽카드가 혹사당하는 모습을 지켜볼수밖에 없었다...
recall 을 0.7 ~ 까지 뽑아내면 이제 레이턴시가 작게는 800ms, 늦으면 1000ms가 넘어가는 끔찍한 상황이 나왔다.
그래서 일단 아무래도 지금 웹을 끼고있기때문에 너무 긴 레이턴시는 UX에 악영향을 주기때문에
레이턴시를 최대한 짧게, 길어도 500ms 미만으로 가져가기로 했다.
recall 위주로 봤었기에 레이턴시 위주로 다시 top-k를 2만 주고 mmr 폐기, 리랭크 잠구고 55ms까지 뽑아내는데에는 성공했지만
recall 자체가 0.3까지 떨어지는 상황이다.
그리고 아예 없었던 중복 문서까지 튀어나오고 있어서 해결해야 할 문제이다.
이 과정에서 그래도 가장 큰 개선점이라 하면 chroma 스키마의 확정과 튜닝 전용 스크립트 안정화, 매우 단순했던 평가지표들의 고도화가 있다.
mmr부터 단순 score, 중복기준, 데이터셋 구조에 맞게 중복 타이틀이지만 다른 subpage 에 대응하는 기능까지
이젠 진짜 초벌의 준비의 준비의 준비가 끝난 느낌이다.
지표들 최적화 다음으로 가장 큰 숙제는 애니 타이틀에 대한 은어, 줄임말들을 어떻게 반영할지이다.
뱅드림을 방도리라고 하거나 귀멸의칼날을 귀칼, 진격의거인을 진격거, 어쩌구저쩌구 꽃이핀다를 아노하나, 이세계에 멋진 축복을 같은 애니는 코노스바. 내 마음의 위험한 녀석을 내마위. 이런걸 반영해야 UX도 좋아지고 recall 도 좋아질것으로 판단되는데
지금 당장은 어떻게 할지 딱 떠오르는게 없다.
튜닝을 진행하면서 로컬 LLM을 활용하거나, 반자동화로 메이저 작품들 위주로 라벨링을 진행하거나 해야할 것 같다.
급하게 막 만들다 보니 지표들, RAG쪽 코드가 개판이 되서 이쪽도 깔끔하게 다시 모듈을 나눠야 하는데 이것도 튜닝 하면서 같이 진행해야겠다.
디렉토리 구조를 짜놓고 Codex를 처음 써봤다.
성능이 기가맥힌다...
뭐 로직 짜고 하는게 아니라 그냥 파일 몇개 뿌셔가지고 각 디렉토리의 각 파일들에 맥락에 맞게 재조립만 하는 작업이긴 했지만
이걸 진짜로 바로 몇분만에 뚝딱 해버리는게 기가맥힌다.
와. 사실 파일도 좀 커지고 쪼개서 넣고 의존성 다시 관리 하고 하는거 귀찮았는데
그냥 프롬프트 몇개로 뚝딱 해버리는게 신세계다.
물론 잘 돌아가는지는 자고일어나서 다시 확인하고 로직 빵꾸난거 없나도 확인할 예정이다.
이야 진짜 맛있네 이거 물건이네
'개인 프로젝트' 카테고리의 다른 글
| 도자기 빗는게 이런 느낌일까 (0) | 2025.09.11 |
|---|---|
| LLM + RAG 프로젝트 [9] 튜닝 진척도 (0) | 2025.09.09 |
| LLM + RAG 프로젝트 [7] 타율 0 해결을 위한 튜닝 (0) | 2025.09.04 |
| LLM + RAG 프로젝트 [6] End to End MVP 완성 (4) | 2025.09.01 |
| LLM + RAG 프로젝트 [5] 로컬 LLM 사용하면서 깨달은점 (5) | 2025.08.22 |