원문 캡처 · github.com
원문 캡처 · github.com

NeuronDump는 Ollama와 llama.cpp에서 사용하는 GGUF 형식의 로컬 언어 모델을 그래프로 살펴보고, 일부 구성 요소를 제거한 더 작은 파일로 저장하는 도구다. 모델의 레이어와 어텐션 헤드, 어휘, 채팅 템플릿, 가중치 통계를 확인하고 제거 영향을 살펴볼 수 있다.

NeuronDump는 모델별로 정보를 미리 하드코딩하지 않고 각 파일의 메타데이터를 읽는다. 웹 인터페이스에서는 모델 구조를 3D 또는 2D 그래프로 열어볼 수 있으며, 그래프 구성 요소를 클릭해 연결 관계와 크기, 제거 가능성 등을 확인한다. 위험한 제거는 강제로 지정하지 않는 한 거부된다.

제거 영향을 즉시 분석하는 기능은 매개변수와 파일 크기의 변화, 끊기는 연결, llama.cpp에서 파일을 불러올 수 있는지 등을 보여준다. --features trace 기능을 추가하면 원본과 제거 모델을 메모리에서 실행해 다음 토큰, KL 발산, 생성 텍스트, 레이어별 logit lens, 퍼플렉시티를 비교할 수 있다. 이 비교에서는 파일을 저장하지 않는다. 레이어나 헤드를 차례로 제거해 손상 정도를 비교하는 기능도 있다.

Windows와 Linux용 사전 빌드는 릴리스 페이지에서 받을 수 있다. 압축을 푼 뒤 neurondump list를 실행하면 된다. 소스에서 빌드하려면 Git과 Rust 1.88 이상이 필요하며, 설치 안내는 설치 문서에 있다.

모델을 확인하고 분석 계획을 만든 뒤 일부 어휘를 제거해 저장하는 명령은 다음과 같다.

text
neurondump list # every local model
neurondump inspect llama3.2:1b # what's inside a model
neurondump vocab llama3.2:1b --search hello
neurondump template llama3.2:1b # the chat template as a tree
neurondump analyze llama3.2:1b --out plan.json
neurondump slim llama3.2:1b --plan plan.json --only vocab --out small.gguf
neurondump web --open # the same, in your browser

인자 없이 neurondump를 실행하면 대화형 CLI와 웹 인터페이스 중 하나를 선택할 수 있다. 웹 인터페이스는 필요한 파일을 함께 제공해 오프라인에서도 작동한다. 자세한 사용 방법은 그래프와 제거 분석 문서에서 확인할 수 있다.

NeuronDump는 초기 버전이며, Ollama 모델을 대상으로 Windows에서 테스트됐다. 알려진 미비점은 수동 테스트 계획에 정리돼 있다. 라이선스는 MIT다.

관련 문서: 시작하기, 작동 방식, CLI 참고 문서, 웹 인터페이스, 모델 분석과 크기 축소, Trace, 실제 모델 살펴보기, 빌드 안내. 프로젝트 웹사이트에는 그림을 곁들인 짧은 설명이 있다.