Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
6.3.0
Оптимізація швидкодії LightOnOCR-1B на M3 Max
Поточна ситуація
- PyTorch на MPS: ~4 хвилини на сторінку (дуже повільно)
- Причина: MPS backend значно повільніший за CUDA для трансформерів
Швидкі оптимізації (PyTorch)
1. Зменшення max_tokens
# У backends/pytorch_backend.py, рядок ~95
generated_ids = self.model.generate(
**inputs,
max_new_tokens=1024, # Було 2048, зменшити до 512-1024
temperature=temperature,
do_sample=temperature > 0,
pad_token_id=self.processor.tokenizer.eos_token_id
)
2. Використання нижчої роздільної здатності
# Замість scale=1.5, використовуйте scale=1.0
python ocr_cli.py document.pdf --scale 1.0
Рекомендоване рішення: GGUF + llama.cpp
Чому GGUF швидший?
- Оптимізований для Apple Silicon (Metal)
- Квантизація (Q8_0) зменшує розмір і прискорює
- Спеціалізований inference engine
Встановлення
# 1. Встановити llama-cpp-python з Metal support
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
# 2. Завантажити GGUF модель
git lfs install
git clone https://huggingface.co/ggml-org/LightOnOCR-1B-1025-GGUF
# Або
git clone https://huggingface.co/Mungert/LightOnOCR-1B-1025-GGUF
Використання
# Після завантаження моделі
python ocr_cli.py document.pdf --backend gguf --model-path path/to/model.gguf
Очікувані результати
- PyTorch оптимізований: ~2-3 хвилини на сторінку
- GGUF Q8_0: ~30-60 секунд на сторінку (орієнтовно)
Примітка
GGUF backend у поточній версії є заглушкою. Для повної підтримки потрібно:
- Завантажити GGUF модель
- Реалізувати vision model support у
backends/gguf_backend.py