1P by kurthong 5시간전 | ★ favorite | 댓글과 토론

안녕하세요.

작은 로컬 LLM이 긴 작업을 얼마나 버틸 수 있는지 실험해보는 저장소를 하나 공개했습니다.

Gemento
https://github.com/hang-in/gemento

이 프로젝트는 새 모델 아키텍처도 아니고, 논문도 아니고, 4B 모델이 frontier 모델을 대체한다는 주장도 아닙니다.

그보다는 “모델 안에 있어야 한다고 생각했던 것들 중 일부를 워크플로 바깥으로 빼면, 작은 모델에서도 어느 정도 성능이 회복되는가?”를 재현 가능한 형태로 측정해보는 실험 하네스에 가깝습니다.

출발점은 제가 seCall과 tunaFlow를 만들면서 반복해서 부딪힌 문제였습니다.

  • 긴 작업이 세션을 넘어 살아남지 못함
  • 컨텍스트가 너무 빨리 비싸짐
  • 모델이 자기 실수를 스스로 잘 발견하지 못함
  • 작은 로컬 모델은 단발 추론에서 한계가 뚜렷함

그래서 단순한 질문에서 시작했습니다.

프롬프트 컨텍스트를 계속 늘리는 대신, 기억·상태·검증·계산·루프 제어를 바깥으로 빼면 어떻게 될까?

Gemento에서는 이를 네 축으로 나눴습니다.

  1. Tattoo
    작업 기억 / 중간 상태를 구조화된 JSON 상태로 외부화

  2. Tools
    계산을 함수 호출 기반 도구로 외부화

  3. Role
    자기검증을 Proposer / Critic / Judge 역할 분리로 외부화

  4. Orchestrator
    종료 조건과 반복 제어를 Python 루프로 외부화

이름은 영화 Memento의 문신, 폴라로이드, 메모 은유에서 따왔습니다.

현재까지 주로 사용한 모델은 Gemma 4 E4B, effective 4B급 로컬 모델입니다.

아직 표본 수가 작고, 일부 결과는 통계적으로 유의하지 않습니다. 그래서 README에서도 supported / conditionally supported / inconclusive / rejected를 구분해 적었습니다.

눈에 띄었던 결과는 다음 정도입니다.

  • 단발 추론보다 다중 루프가 뚜렷하게 나았습니다.
    Exp02: 50% → 94.4%
    Exp10: 1-loop 41.3% → 8-loop ABC 78.1%

  • 같은 모델에게 “네가 틀렸는지 검토해봐”라고 시키는 방식은 거의 실패했습니다.
    Exp03: planted error 15개 중 0개 탐지

  • 반대로 역할을 분리하면 오류 탐지가 크게 좋아졌습니다.
    Exp035: 15개 중 12개 탐지, 80%

  • 수학 계산은 도구 외부화 효과가 분명했습니다.
    Exp08 / Exp08b에서 tool call과 error hint를 강제하자 특정 math task가 0% → 100%까지 회복했습니다.

  • 긴 컨텍스트 작업에서는 단순 dump보다 chunked ABC+Tattoo가 강하게 나왔습니다.
    Exp09 Large 20K 조건에서 Solo 0%, RAG 67%, ABC+Tattoo 100%
    다만 ABC+Tattoo가 RAG보다 보편적으로 낫다는 결론은 아직 내리지 않았습니다. H9b는 inconclusive입니다.

  • 강한 모델을 Judge로 넣는 방식은 오히려 실패했습니다.
    Exp11에서 Judge만 Gemini 2.5 Flash로 바꿨지만 mixed condition이 baseline all-Gemma보다 낮게 나왔습니다.
    관찰된 메커니즘은 “강한 Judge가 약한 모델의 자기 발견 과정을 도와주는 것이 아니라, 중간 상태 스키마와 결론 수렴을 방해할 수 있다”는 쪽이었습니다.

  • 반면 앞단에 Extractor 역할을 추가하는 것은 작지만 양의 방향이었습니다.
    Exp12: Δ +0.050
    특히 catastrophic case 일부에서 회복이 보였습니다.

  • 뒷단 Reducer 역할은 반대로 나빴습니다.
    Exp13: Δ -0.053
    최종 답을 “깔끔하게 정리”하는 과정에서 근거 구조가 압축되어 점수가 떨어지는 abstraction loss가 관찰됐습니다.

그래서 현재 해석은 이렇습니다.

작은 모델을 무조건 더 강한 모델로 심판하게 만드는 것보다, 같은 모델이라도 역할을 어디에 배치하느냐가 더 중요할 수 있다.

특히 pre-stage 역할 추가는 비교적 안전했고, post-stage 요약/정리는 위험했습니다.

이 프로젝트에서 아직 주장하지 않는 것도 명확히 적어두었습니다.

  • 4B 모델이 큰 모델을 대체한다는 주장 아님
  • ABC+Tattoo가 RAG보다 항상 낫다는 주장 아님
  • 새 아키텍처나 학습 방법 아님
  • 논문 수준의 통계 검정이 끝났다는 주장 아님
  • Related work 일부는 아직 bibliographic verification이 끝나지 않았음

현재는 “공개 실험 노트”에 가깝습니다.

혼자 만든 실험은 착시가 생기기 쉽습니다. 특히 이런 구조 실험은 taskset, scorer, prompt, loop 조건에 따라 결과가 쉽게 흔들릴 수 있다고 봅니다.

그래서 polished paper가 되기 전에 공개했습니다.

원하는 피드백은 대략 이런 쪽입니다.

  • 다른 로컬 모델에서 재현되는지
  • taskset / scorer가 편향되어 있지 않은지
  • RAG baseline이 충분히 공정한지
  • ABC+Tattoo가 실제로 다른 실패 모드를 보이는지
  • Search Tool / Graph Tool / Evidence Tool을 붙이면 Tool axis에서 더 분명한 효과가 나오는지

다음 후보 실험은 Exp14 Search Tool입니다.

관심 있으신 분은 README나 docs/reference 쪽을 보시면 됩니다.

반례, 재현 실패, 비판 모두 환영합니다.