[run] name = "airfrans-hf-smoke" timeout_minutes = 30 local_artifact_dir = "artifacts/remote_runs" max_attempts = 1 artifact_sync_interval_seconds = 300 [provider] kind = "vastai" disk_gb = 32 max_price_per_hour = 0.08 image = "vastai/base:0.0.2" [provider.gpu] name = "RTX 3060" count = 1 min_vram_gb = 12 [selection] min_reliability = 0.90 min_down_mbps = 50 min_up_mbps = 5 require_verified = true blocked_geos = ["CN"] blacklist_hosts = [59017, 187467, 155385] drop_cheap_frac = 0.0 image_size_gb = 5.0 base_url = "https://cloud.vast.ai" [workspace] workdir = "." exclude = [ "/artifacts", "/data/raw", "/.venv", "/notebooks", "HF_TOKEN", "__pycache__", "*.pyc", ] [bootstrap] command = """ uv sync --no-dev uv run --no-dev python -c "import torch; print('torch_cuda_available=' + str(torch.cuda.is_available())); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'no_cuda_device')" uv run --no-dev python -c "import huggingface_hub; print('huggingface_hub_ok')" """ [job] command = """ uv run --no-dev remote-run hf-smoke --artifact-dir artifacts/current_run --run-id "$AIRFRANS_REMOTE_RUN_ID" --repo-id airfrans-hf-smoke """ artifact_dir = "artifacts/current_run" heartbeat_file = "artifacts/current_run/heartbeat.json" metrics_file = "artifacts/current_run/metrics.jsonl" [artifacts] mode = "object_store_upload" required = [ "config.toml", "metrics.jsonl", "latest_metrics.json", "heartbeat.json", "checkpoint_latest.pt", "checkpoint_best.pt", "checkpoint_final.pt", "final_metrics.json", "run_manifest.json", "environment_manifest.json", "hf_upload_manifest.json", "artifact_manifest.json", "checksums.txt", ] [cleanup] on_success = "sky_down" on_failure = "collect_then_keep"