M1 Pro DeepSeek OCR 실험(실패) 기록
TL;DR
DeepSeek OCR을 macOS에서 시도했으나 transformers 라이브러리 호환성 문제로 실패. 대신 PaddleOCR과 Tesseract로 대체했고, 클라우드 사용을 권장함.
시도한 이유
기존 프로젝트에서 Tesseract, EasyOCR 사용 중이었음. DeepSeek OCR의 강점:
- Markdown 출력으로 문서 구조 보존
 - 한글+영어 혼합 텍스트에 강함
 - 최신 Vision-Language 모델
 
문제
1. 숨겨진 의존성
문서에 없는 패키지 필요:
pip install addict easydict matplotlib
2. Transformers 호환성 (치명적)
Error: cannot import name 'LlamaFlashAttention2'
- 최신 transformers 4.57.1과 호환 안 됨
 - 구버전으로 다운그레이드해도 tokenizer 파싱 오류
 - 결과: macOS에서 실행 불가 ❌
 
대안
PaddleOCR (실행 중)
- 한글 지원 우수
 - MPS 미지원, CPU만 사용
 - 23페이지에 20분+ 소요 (느림)
 
Tesseract (권장)
- 빠름 (~2-3초/페이지)
 - 이미 구현되어 있음
 - 안정적
 
Google Colab (DeepSeek 쓰고 싶다면)
!pip install transformers==4.46.3
model = AutoModel.from_pretrained('deepseek-ai/DeepSeek-OCR').cuda()
무료 GPU로 실행 가능
성능 비교
| 도구 | 속도 | 한글 | 출력 | 상태 | 
|---|---|---|---|---|
| Tesseract | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | Text | ✅ | 
| EasyOCR | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Text | ✅ | 
| PaddleOCR | ⭐⭐ | ⭐⭐⭐⭐ | Text | ⏳ | 
| DeepSeek | ⭐⭐ | ⭐⭐⭐⭐⭐ | Markdown | ❌ | 
배운 점
- 최신 ≠ 최고 - 검증된 도구가 더 나을 수 있음
 - TDD 유용 - 초기에 문제 발견해서 시간 절약
 - 문서화 중요 - 실패도 학습 자료가 됨
 - 의존성 명시 - requirements.txt에 버전 고정 필수
 
바로 쓸 수 있는 방법
DeepSeek 꼭 써보고 싶으면
- Google Colab에서 새 노트북
 - GPU 런타임 선택
 - PDF 업로드
 - 결과 다운로드
 
참고: DeepSeek GitHub | Hugging Face
Member discussion