neural-maze/production-ocr-course
Build, deploy, and scale a production-grade OCR pipeline using Rust, vLLM, Redis, KEDA, and Kubernetes.
해결하는 문제
이 과정은 단순히 API를 호출하고 텍스트를 받는 간단한 OCR 튜토리얼을 넘어섭니다. 텍스트를 읽을 뿐만 아니라 차트, 표, 레이아웃을 포함한 문서를 진정으로 이해하는 완전한 프로덕션급 파이프라인을 구축하는 방법을 가르칩니다. 크고 비싼 모델에 의존하는 대신, 소형 언어 모델(Qwen 3.5)을 사용하여 저비용으로 고정밀 OCR을 달성합니다. 또한 이 과정은 실제 환경에서 이러한 시스템을 실행할 때의 어려운 부분(작업 폭증 처리 확장, 파이프라인 보안, AI 에이전트가 사용할 수 있도록 만드는 것)을 다룹니다.
작동 방식
Kubernetes(AKS 또는 GKE)에서 이벤트 기반 OCR 시스템을 구축합니다. 파일은 고동시성 Rust 게이트웨이를 통해 들어오며, Redis에 저장되고 작업이 큐에 추가됩니다. KEDA 자동 확장기가 큐를 모니터링하고 필요에 따라 리소스를 시작합니다. 소비자 워커(T4 GPU에서 실행)는 레이아웃 감지기(PP-DocLayoutV3)를 사용하여 문단, 표, 차트와 같은 의미적 영역을 찾습니다. 그런 다음 이러한 크롭을 vLLM 서버(A100 GPU에서 실행)로 보내 Qwen 3.5를 사용하여 텍스트를 생성합니다. 전체 프로세스는 제로 카피 공유 메모리 핸드오프(/dev/shm)를 사용하여 디스크 병목을 피합니다. 마지막으로 시스템은 MCP 서버로 래핑되어 Claude Code와 같은 AI 에이전트가 기본적으로 사용할 수 있습니다.
대상 독자
이 과정은 OCR API를 호출하는 방법은 알지만 프로덕션에서 실행하는 데 필요한 사항을 이해하려는 ML/AI 엔지니어와 플랫폼 엔지니어를 위해 설계되었습니다. GPU 노드 풀, 자동 확장 경제성, 네트워크 보안, 높은 처리량으로 생성 모델을 서빙하는背后的 시스템 설계 트레이드오프를 다룹니다.
하이라이트
- 실제 프로덕션 배포: 다른 작업을 위한 별도의 노드 풀을 가진 Kubernetes에 전체 파이프라인을 배포합니다.
- SLM 기반 OCR: Qwen 3.5(4B)를 사용하여 차트, 손글씨, 컨텍스트를 이해합니다. 단순 평면 텍스트 추출이 아닙니다.
- 높은 처리량: vLLM의 연속 배치 및 Multi-Token Prediction으로 초당 1.86페이지를 달성합니다.
- 자동 확장: KEDA가 T4 및 A100 노드 풀을 0에서 버스트 부하까지 독립적으로 확장합니다.
- 보안 우선: 파이프라인은 내부 로드 밸런서와 엔터프라이즈 API 게이트웨이 뒤에 잠겨 있으며 공개 노출이 없습니다.
- 에이전트 준비: MCP 서버로 노출되어 AI 에이전트가 직접 사용할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트