Spaces:
Sleeping
Sleeping
Improve model download performance on HF Spaces
Browse files- Enable HF_HUB_ENABLE_HF_TRANSFER for faster downloads
- Add informative logging about download size and expected time
- Helps prevent timeout perception on T4 instances with slower network
- Model download is ~1GB and may take several minutes on first run
- app.py +3 -0
- src/mosaic/gradio_app.py +2 -1
app.py
CHANGED
|
@@ -21,6 +21,9 @@ from mosaic.gradio_app import download_and_process_models
|
|
| 21 |
from mosaic.ui import launch_gradio
|
| 22 |
|
| 23 |
if __name__ == "__main__":
|
|
|
|
|
|
|
|
|
|
| 24 |
# Install flash-attn for H100 acceleration (if on Spaces)
|
| 25 |
if os.environ.get("SPACE_ID"):
|
| 26 |
try:
|
|
|
|
| 21 |
from mosaic.ui import launch_gradio
|
| 22 |
|
| 23 |
if __name__ == "__main__":
|
| 24 |
+
# Enable HF transfer for faster downloads on Spaces
|
| 25 |
+
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
|
| 26 |
+
|
| 27 |
# Install flash-attn for H100 acceleration (if on Spaces)
|
| 28 |
if os.environ.get("SPACE_ID"):
|
| 29 |
try:
|
src/mosaic/gradio_app.py
CHANGED
|
@@ -66,6 +66,7 @@ def download_and_process_models():
|
|
| 66 |
# Pre-download Optimus model from bioptimus/H-optimus-0
|
| 67 |
# This ensures it's cached at startup since it's needed for every slide
|
| 68 |
logger.info("Pre-downloading Optimus model from bioptimus/H-optimus-0...")
|
|
|
|
| 69 |
from mussel.models import ModelType, get_model_factory
|
| 70 |
|
| 71 |
optimus_factory = get_model_factory(ModelType.OPTIMUS)
|
|
@@ -75,7 +76,7 @@ def download_and_process_models():
|
|
| 75 |
use_gpu=False, # Just download, don't load to GPU yet
|
| 76 |
gpu_device_id=None,
|
| 77 |
)
|
| 78 |
-
logger.info("✓ Optimus model cached")
|
| 79 |
|
| 80 |
model_map = pd.read_csv(
|
| 81 |
Path(cache_dir) / "paladin_model_map.csv",
|
|
|
|
| 66 |
# Pre-download Optimus model from bioptimus/H-optimus-0
|
| 67 |
# This ensures it's cached at startup since it's needed for every slide
|
| 68 |
logger.info("Pre-downloading Optimus model from bioptimus/H-optimus-0...")
|
| 69 |
+
logger.info("This may take several minutes on first run - downloading ~1GB model...")
|
| 70 |
from mussel.models import ModelType, get_model_factory
|
| 71 |
|
| 72 |
optimus_factory = get_model_factory(ModelType.OPTIMUS)
|
|
|
|
| 76 |
use_gpu=False, # Just download, don't load to GPU yet
|
| 77 |
gpu_device_id=None,
|
| 78 |
)
|
| 79 |
+
logger.info("✓ Optimus model cached successfully")
|
| 80 |
|
| 81 |
model_map = pd.read_csv(
|
| 82 |
Path(cache_dir) / "paladin_model_map.csv",
|