franken_ocr의 개요
franken_ocr은 DeepSeek-OCR에서 파생된 3B 전문가 혼합(MoE) 문서 모델인 Baidu의 Unlimited-OCR을 일반 CPU에서 실행합니다. 범용 ML 프레임워크를 쓰는 대신 고정된 모델 몇 개를 직접 이식하고, 디코더의 피드포워드 계층을 자체 .focrq 형식의 int8로 양자화합니다. 비전 타워, 어텐션, 출력 헤드는 더 높은 정밀도로 유지합니다. 명령줄 도구 focr은 x86-64와 ARM64의 macOS, Linux, Windows용 13~17MB 바이너리로 배포됩니다.
Unlimited-OCR 외에도 수식과 표용 GOT-OCR2, 이미지 설명용 SmolVLM2, 차트 데이터용 OneChart, 스캔한 악보를 MusicXML로 바꾸는 Polyphonic-TrOMR을 실행합니다. 스캔한 PDF를 기본으로 읽고, 여러 페이지를 한 번에 파싱할 수 있으며, 에이전트용 NDJSON 'robot' 모드가 있습니다.
프로젝트는 2026년 6월 25일에 시작해 9월 29일 v0.9.1에 이르렀습니다. Jeffrey Emanuel 한 사람의 작업이며(커밋 792개 전부), 외부 기여는 병합하지 않습니다. 라이선스는 MIT에 OpenAI, Anthropic 및 이들을 대리하는 누구에게도 권리를 주지 않는다는 단서 조항을 붙인 것입니다. 그래서 GitHub가 라이선스를 분류하지 못하며, OSI 오픈소스 라이선스도 아닙니다.
franken_ocr, 쓸 만한 가치가 있습니까?
franken_ocr은 GPU가 없는 기기에서 최신 문서 파싱 모델을 실행한다는 한 가지 일을 위해 만들어졌습니다. Baidu의 공식 Unlimited-OCR 스택은 Python과 CUDA입니다. 이 프로젝트는 그것을 바이너리 하나와 오프라인 추론으로 대체합니다. 저자의 성능 기록에 따르면 Apple Silicon 기기에서 스레드 8개로 한 페이지가 처음부터 끝까지 8.6초 걸렸고, Hugging Face bf16 CPU 기준 구현은 28.9초였습니다. 다른 페이지는 14.7초 대 41.3초로, 대략 세 배 빠릅니다. 이는 저자 자신의 측정값이지만, 불리한 결과도 유리한 결과와 함께 남겨 두는 등 이례적으로 꼼꼼하게 기록되어 있습니다.
저자의 수치로는 정확도가 버티지만 완벽하지는 않습니다. 과거 실제 페이지 실행에서 기준 디코딩 대비 문자 오류율은 0.0094였습니다. 현재 릴리스 아티팩트는 20페이지 코퍼스를 정규화 오류율 합계 0.193으로 통과하며, 어려운 페이지 하나가 꼬리 부분을 끌어내립니다. Unlimited-OCR용 int8 아티팩트는 디스크에서 약 4.2GB이고 최대 메모리 사용량은 그보다 훨씬 높습니다. 그래서 README 스스로 8GB 기기는 스와핑에 시간을 쓰게 된다고 경고합니다.
회사의 법무팀이 가장 먼저 눈여겨볼 것은 라이선스입니다. MIT이지만 OpenAI, Anthropic, 그 계열사, 이들을 대리해 일하는 누구에게도 코드를 테스트하거나 분석할 권리를 포함해 어떤 권리도 주지 않습니다. 대부분의 사용자에게 직접 영향을 줄 가능성은 낮지만, 구매 담당 팀이 문제로 지적할 비표준 라이선스이며 두 회사의 계약자는 배제됩니다.
두 번째는 버스 팩터입니다. 모든 커밋이 저자의 것이고, 저자는 외부 풀 리퀘스트를 병합하지 않겠다고 밝힙니다. 소스 빌드에는 고정된 nightly Rust 툴체인이 필요하며, crate의 crates.io 다운로드는 약 83회입니다. 작업은 꼼꼼하고 릴리스 검사도 광범위하지만, 한 사람의 프로젝트를 그의 조건대로 도입하는 셈입니다.
제 역할을 하는 곳
외장 GPU가 없는 32GB 노트북으로 스캔한 책을 디지털화하는 연구자
스캔한 PDF의 일부 장을 오프라인에서 Markdown으로 바꾸기
바이너리를 설치하고 focr pull을 실행한 다음 focr ocr book.pdf --pages 3,5-9 --split-spreads -o excerpt.md를 실행합니다. 무료이며, CPU에서 페이지당 몇 초에서 수십 초가 걸린다고 봐야 합니다. 상주 데몬이 실행 사이에 가중치를 메모리에 유지합니다.
음악원의 음악 사서
퍼블릭 도메인 인쇄 악보를 편집 가능한 MusicXML로 변환하기
focr pull tromr을 실행한 뒤 각 페이지에 focr ocr --task music을 실행합니다. 61MB int8 TrOMR 모델이 오선을 찾고 각각을 인식해 합칩니다. 카메라로 찍은 사진은 여전히 먼저 평평하게 펴야 하며, 저자는 이를 남은 작업으로 꼽습니다.
도입 전 확인할 점
- 설정
- 설치 스크립트를 curl로 받으면(Windows는 PowerShell) 바이너리를 내려받고 SHA256을 검사합니다. focr pull은 약 4.2GB의 Unlimited-OCR 아티팩트를 받아 검증합니다. 소스에서 빌드하려면 고정된 nightly Rust 툴체인이 필요합니다.
- 연동
- 블로킹 OcrEngine API를 갖춘 Rust 라이브러리, focr CLI, 공개된 스키마와 안정적인 종료 코드를 갖춘 NDJSON robot 모드. Markdown, 박스 정보가 담긴 JSON, 그림 잘라내기, MusicXML 출력.
- 데이터와 개인정보
- 가중치를 설치한 뒤에는 오프라인으로 추론하며, 네트워크 사용은 focr pull에 한정됩니다. 실행 기록은 로컬 데이터베이스(~/.cache/franken_ocr/runs.db)에 남습니다. 라이선스는 OpenAI, Anthropic 및 이들을 대리하는 누구도 배제하는 단서 조항이 붙은 MIT입니다.
- 대규모 사용 시 비용
- 유료 버전은 없고 비용은 CPU 시간입니다. 저자의 기록에서 Apple Silicon 스레드 8개로 한 페이지에 약 9~15초가 걸리므로, 대량 작업에는 여전히 vLLM 같은 GPU 스택이 유리합니다.
- 제한
- 설계상 CPU 전용입니다(CUDA는 '미뤄 둔 도전 목표'). 임의 모델이 아닌 고정된 모델 다섯 개만 지원합니다. int4는 검증되지 않았습니다. crates.io 다운로드는 약 83회이고, 프로젝트는 겨우 넉 달 되었습니다.
좋은 점
- Python, CUDA, GPU 없이 CPU에서 Unlimited-OCR 실행
- 저자의 기록상 Hugging Face CPU 경로보다 약 3배 빠름
- SHA256 검사를 갖춘 6개 플랫폼용 13~17MB 바이너리
- 수식, 차트, 악보용 추가 모델
아쉬운 점
- OpenAI, Anthropic과 그 계약자를 배제하는 자체 라이선스
- 외부 기여를 병합하지 않는 관리자 한 명
- 모델 아티팩트 약 4.2GB, 8GB 기기에서는 스와핑 발생
- 소스 빌드에 nightly Rust 필요
추천 대상
CPU만 있는 기기에서 Unlimited-OCR 수준의 품질이 필요하고, 1인 저자 프로젝트와 그 라이선스를 받아들일 수 있는 개인 개발자와 소규모 팀.
franken_ocr 대안
franken_ocr: 자주 묻는 질문
- franken_ocr, 쓸 만한 가치가 있습니까?
- franken_ocr은 Unlimited-OCR을 노트북 CPU에서 돌리게 해 주는 진지한 엔지니어링 결과물입니다. 다만 대부분의 회사가 받아들이지 않을 라이선스와 운영 방식에 싸여 있습니다. 평점은 5점 만점에 3.5점입니다.
- franken_ocr의 가격은 얼마입니까?
- OpenAI/Anthropic 배제 단서 조항이 붙은 MIT 라이선스로 무료입니다. 모델 가중치는 각 업스트림 라이선스를 따릅니다(Unlimited-OCR은 MIT).
- franken_ocr의 단점은 무엇입니까?
- OpenAI, Anthropic과 그 계약자를 배제하는 자체 라이선스; 외부 기여를 병합하지 않는 관리자 한 명; 모델 아티팩트 약 4.2GB, 8GB 기기에서는 스와핑 발생; 소스 빌드에 nightly Rust 필요.
- franken_ocr에 적합한 사람은 누구입니까?
- CPU만 있는 기기에서 Unlimited-OCR 수준의 품질이 필요하고, 1인 저자 프로젝트와 그 라이선스를 받아들일 수 있는 개인 개발자와 소규모 팀.
- 팀이나 프로덕션 환경에서 franken_ocr의 비용은 얼마입니까?
- 유료 버전은 없고 비용은 CPU 시간입니다. 저자의 기록에서 Apple Silicon 스레드 8개로 한 페이지에 약 9~15초가 걸리므로, 대량 작업에는 여전히 vLLM 같은 GPU 스택이 유리합니다.
- franken_ocr에 회사 데이터를 맡겨도 안전합니까?
- 가중치를 설치한 뒤에는 오프라인으로 추론하며, 네트워크 사용은 focr pull에 한정됩니다. 실행 기록은 로컬 데이터베이스(~/.cache/franken_ocr/runs.db)에 남습니다. 라이선스는 OpenAI, Anthropic 및 이들을 대리하는 누구도 배제하는 단서 조항이 붙은 MIT입니다.
- franken_ocr의 가장 좋은 대안은 무엇입니까?
- 저희가 리뷰한 것 중 가장 가까운 대안은 deepseek-ocr.rs, Xberg (formerly Kreuzberg), Ocrs 및 Docling입니다.
답변 확인일: 2026년 10월 26일.
