모델 정확도를 올리는 대신, 결과를 초안으로 쓰기로 했다
AI agent가 사진에서 특징을 뽑는 실험 결과를 보내왔다. 테스트 사진 10장은 당시 성공 기준을 모두 통과했다. 그런데 사진마다 틀린 특징도 4~8개씩 있었다. 수염이 없는 사람에게 moustache를 추천한 경우도 있었다.
기준으로는 성공이었다. 화면에 띄울 결과로는 아니었다.
처음 만들고 싶었던 것은 사진에서 캐릭터 생성에 필요한 특징을 뽑아주는 작은 도구였다. 다만 시작부터 조건이 하나 있었다. 내 사진 원본을 외부 AI 서비스나 서버에 올리고 싶지 않았다. 그렇다고 머리 길이, 머리색, 안경, 옷, 표정 같은 특징을 처음부터 하나씩 고르는 것도 귀찮았다.
그래서 원본 사진을 서버로 보내지 않고, 브라우저에서 로컬 모델이 제한된 특징들을 추천하는 방법을 실험해 보기로 했다. 모델 후보와 평가 방법, 성공 기준은 AI agent가 제안하고 구체화했고, 나는 그 내용을 보고 승인했다. 실제 실험도 AI agent가 맡았다.
처음 결과가 나왔을 때는 정확도보다 브라우저에서 정말 돌아간다는 사실이 먼저 신기했다.
“어? 일단 돌아는 가네? 재밌다?”
성공했는데 이상했다
초기 성공 기준은 단순했다.
사진 한 장에서 정확한 특징이 5개 이상 나오면 통과.
문제는 내가 승인한 이 기준이 맞은 특징만 셌다는 것이다. 수염이 없는 사람에게 moustache가 떠도 다른 특징 다섯 개가 맞으면 통과였다.
그래서 다음 평가에서는 맞은 것뿐 아니라 틀린 값과 빠진 주요 특징도 함께 보도록 기준을 다시 잡기로 했다. 새 기준으로는 처음 10장 중 통과가 한 장도 없었고, 새로 고른 10장으로 여러 번 조정한 뒤에도 많아야 1장이었다.
더 좋은 모델을 쓰면 되지 않을까
더 강한 모델을 서버에서 돌리는 방법도 있다. 하지만 그러려면 사진을 서버로 보내야 했다. 사진 원본을 외부로 보내지 않는 조건을 버리면 내가 만들고 싶었던 것과 다른 도구가 된다.
그때 AI agent가 모델이 특징을 확정하는 대신, 사람이 고쳐 쓸 첫 입력을 채우게 하는 방향을 제안했다. 모델 조정에 쓰지 않은 별도 사진들에서는 15개 항목 중 평균 7~8개는 맞았다. 전부 맞는 답으로 쓰기에는 부족했지만, 처음부터 모든 항목을 고르는 대신 시작값으로 쓰기에는 가능성이 있었다.
그래서 그 제안을 받아들였다.
모델 결과를 폼의 시작값으로 썼다
처음 생각했던 방식은 이랬다.
사진에서 당신의 특징을 정확히 추출합니다.
바꾼 뒤에는 이렇게 됐다.
사진을 보고 특징 폼을 먼저 채웁니다. 틀린 것만 고치세요.
모델이 고른 값은 바로 확인하고 수정할 수 있게 했다. 같은 오류라도 추출 결과에 남아 있으면 잘못된 답이지만, 미리 채워진 폼에 있으면 고칠 항목이 된다.
Character Prompt 직접 써보기
사진 원본은 서버로 보내지 않고 브라우저에서 처리합니다. 틀린 값이 나올 수 있습니다. 필요한 만큼 고쳐서 써보세요.