raylim commited on
Commit
a15a72c
·
unverified ·
1 Parent(s): 6bb43ff

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

Files changed (2) hide show
  1. app.py +3 -0
  2. 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",