Gemma 4(e2b) 오프라인 조류 식별 시도, 자신만만한 오답에 사진 보물찾기 'Outside Quest'로 전환한다
원문 제목 — I tried using Gemma 4 (e2b) offline to identify birds. It confidently got them wrong, so I built a photo scavenger hunt instead
📄 전문 번역
개발자는 Ollama로 노트북에서 돌아가는 오프라인 조류·식물 식별기를 만들고자 했고, UI 제작 전에 사진 6장으로 테스트했다. Common Myna 사진에 gemma4:e2b는 'Jackdaw'를, gemma4:e4b는 'Weaver Bird'를 높은 확신으로 답했다. Monarch butterfly에는 'butterfly, undetermined'와 'Heliconius'가 나왔고 Peacock은 두 모델 모두 정답이었다. 상위 3개 목록 요청도 도움이 되지 않았고 gemma3:4b는 더 부정확했으며 JSON 출력도 깨졌다. 그러나 모든 실행에서 '새가 있다', '꽃 위의 나비', '빨간 버섯', '폭풍 구름' 같은 대략적 답은 정확했고, 개발자는 소형 오픈 모델이 잘하는 것만 묻도록 설계를 바꿨다.
그 결과물이 Outside Quest다. 걷는 장소를 입력하면 Gemma가 현지 계절에 맞는 6개 항목의 퀘스트 카드를 작성하며(Nagpur 기준) 휴대폰은 주머니에 넣고 발견물을 촬영할 때만 꺼낸다. 집에 돌아와 사진을 넣으면 Gemma가 각 사진이 완료하는 퀘스트를 확인하고 보이는 증거를 반드시 서술해야 한다. 사진의 EXIF GPS로 걷기 타임라인과 경로 지도도 제공되며 지도 타일 없이 오프라인으로 그려진다.
작동에 기여한 요소로는 JSON 스키마가 사진당 퀘스트당 두 개의 예/아니오 답변('주요 피사체인가'와 '완료되었는가')을 강제하고 둘 다 참이어야 한다는 점이 꼽히며, 테스트 세트에서 5개의 정확한 매치와 0개의 오매치를 기록했다. 안전 필터는 프롬프트가 아닌 코드에 넣어 등반, 물, 만지거나 먹기, 도로, 야간 산책 관련 퀘스트는 안전한 내장 풀에서 대체된다. 사진과 GPS 데이터는 기기를 떠나지 않으며 6GB GTX 1660 Ti에서 퀘스트 카드당 약 30초, 사진당 약 30초로 실행된다. 코드는 MIT 라이선스로 GitHub 저장소 JayPokale/outside-quest에서 공개됐고 Claude Code의 도움으로 제작됐으며, 더 큰 오픈 모델이 로컬에서 종 식별을 잘 처리하는지에 대한 피드백을 환영한다.
💬 주요 댓글 번역 (3)
🔍 루키 분석
Gemma 4(e2b)와 e4b는 조류 종 식별에서 높은 확신으로 오답을 냈지만 대략적 장면 인식은 정확했고, 개발자는 이를 반영해 소형 모델이 잘하는 이중 예/아니오 검증 방식의 Outside Quest를 설계했다. 댓글에서는 WhatsApp과 iMessage 등이 EXIF GPS를 제거해 타임라인과 경로 지도가 빈 결과를 내는 문제와 배경 피사체 엣지 케이스가 지적되었으며, 세 가지 결과 검사와 EXIF 누락 경고 추가가 개선책으로 논의됐다. 이 프로그램은 6GB GTX 1660 Ti에서 퀘스트 카드당 약 30초, 사진당 약 30초로 실행되며 사진과 GPS 데이터가 기기를 떠나지 않는 로컬 전용 구조다.
— 루키 · glm-5.3-flash:cloud
모델을 종 식별에서 대략적 검증으로 옮긴 것은 올바른 판단이며, '주요 피사체인가'와 '완료되었는가' 두 답변 모두 참을 요구하는 것은 오매치를 막는 깔끔한 방법이다. 더 많은 사람이 Outside Quest를 시도하기 전에 확인할 점은 사진이 휴대폰에서 노트북으로 전송되는 방식이다. WhatsApp과 많은 공유 시트는 EXIF를 제거하고 iOS는 공유 시 위치 정보를 떨어뜨릴 수 있어 타임라인과 경로 지도가 오류 없이 그냥 비어 나올 수 있다. '9장 중 4장에서 GPS를 찾지 못했다. AirDrop이나 USB를 시도하라' 같은 보이는 메시지가 혼란스러운 사용자를 구할 것이다. 또한 근접 실패 사례도 테스트해 볼 것을 권한다.
GPS 제거는 실제 골치 아픈 문제다. iMessage가 조용히 그렇게 한 적이 있어 하이킹을 지도에 표시하려 할 때 핀 절반이 대서양에 있어서야 알았다. AirDrop은 대부분 그대로 유지하지만 EXIF가 없을 때 경고를 띄우는 것은 v0.2의 쉬운 개선 과제처럼 보인다. 배경 피사체 엣지 케이스는 순식간에 복잡해지는 부분이다. 퀘스트 새가 멀리 뒤에 앉아 있고 무작위 비둘기가 정면 중앙에 있는 사진을 어떻게 처리하는지 궁금하며, 구도가 모호하면 주요 피사체 검사가 뒤집힐 수 있다.
핀이 대서양에 떨어지는 것은 아무도 보고하지 않는 종류의 실패다. 사람들은 그냥 지도를 신뢰하지 않게 되므로 EXIF 누락 경고는 v0.2에 들어갈 자격이 충분하다. 비둘기 사례의 경우 검사를 두 개 대신 세 가지 결과로 나누기를 제안한다. 퀘스트 항목이 주요 피사체인 경우, 사진에 있지만 주요 피사체가 아닌 경우, 사진에 없는 경우다. 중간 케이스는 사용자에게 잘라내기나 새 탭을 요청할 수 있어 모호한 구도가 잘못된 거절 대신 재시도를 얻게 된다. 배경 새 사진을 몇 장 준비해 두면 검사가 얼마나 자주 뒤집히는지 확인할 수 있다. 필자는 ThreadFox를 만들고 있으며 Outside Quest용 무료 Reddit 플랜이 준비되어 있다.