2026-07-23 05:47:43 +00:00
|
|
|
[run]
|
2026-07-25 16:12:49 +00:00
|
|
|
name = "model_class_frontier_7gb_01_film_fourier_inr"
|
2026-07-23 08:36:59 +00:00
|
|
|
timeout_minutes = 360
|
2026-07-23 05:47:43 +00:00
|
|
|
local_artifact_dir = "artifacts/remote_runs"
|
|
|
|
|
max_attempts = 2
|
|
|
|
|
|
|
|
|
|
[provider]
|
|
|
|
|
kind = "vastai"
|
2026-07-23 08:36:59 +00:00
|
|
|
disk_gb = 128
|
|
|
|
|
max_price_per_hour = 0.80
|
2026-07-23 05:47:43 +00:00
|
|
|
image = "vastai/base:0.0.2"
|
|
|
|
|
|
|
|
|
|
[provider.gpu]
|
|
|
|
|
name = "RTX 4090"
|
|
|
|
|
count = 1
|
2026-07-23 08:36:59 +00:00
|
|
|
min_vram_gb = 20
|
2026-07-23 05:47:43 +00:00
|
|
|
|
|
|
|
|
[selection]
|
|
|
|
|
min_reliability = 0.95
|
|
|
|
|
min_down_mbps = 100
|
|
|
|
|
min_up_mbps = 25
|
|
|
|
|
require_verified = true
|
|
|
|
|
blocked_geos = ["CN"]
|
|
|
|
|
blacklist_hosts = [59017]
|
|
|
|
|
drop_cheap_frac = 0.30
|
|
|
|
|
image_size_gb = 5.0
|
|
|
|
|
base_url = "https://cloud.vast.ai"
|
|
|
|
|
|
|
|
|
|
[workspace]
|
|
|
|
|
workdir = "."
|
|
|
|
|
exclude = [
|
|
|
|
|
"/artifacts",
|
|
|
|
|
"/data/raw",
|
|
|
|
|
"/.venv",
|
|
|
|
|
"/notebooks",
|
|
|
|
|
"__pycache__",
|
|
|
|
|
"*.pyc",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[bootstrap]
|
|
|
|
|
command = """
|
|
|
|
|
uv sync --no-dev
|
|
|
|
|
uv run --no-dev python -c "import torch; assert torch.cuda.is_available(); print(torch.cuda.get_device_name(0))"
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
[data]
|
|
|
|
|
validation_command = """
|
2026-07-25 16:12:49 +00:00
|
|
|
uv run --no-dev python -c "from airfrans_frontier.training.config import load_training_config; c=load_training_config('configs/aggressive_smoke.toml'); assert c.data.source == 'huggingface'; print('data_source=' + c.data.source + ' repo=' + str(c.data.hf_repo_id))"
|
2026-07-23 05:47:43 +00:00
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
[job]
|
|
|
|
|
command = """
|
2026-07-23 08:36:59 +00:00
|
|
|
uv run --no-dev remote-run smoke-train configs/aggressive_smoke.toml --artifact-dir artifacts/current_run --run-id "$AIRFRANS_REMOTE_RUN_ID"
|
2026-07-23 05:47:43 +00:00
|
|
|
"""
|
|
|
|
|
artifact_dir = "artifacts/current_run"
|
|
|
|
|
heartbeat_file = "artifacts/current_run/heartbeat.json"
|
|
|
|
|
metrics_file = "artifacts/current_run/metrics.jsonl"
|
|
|
|
|
|
|
|
|
|
[artifacts]
|
2026-07-25 16:12:49 +00:00
|
|
|
mode = "object_store_upload"
|
2026-07-23 05:47:43 +00:00
|
|
|
required = [
|
2026-07-23 08:36:59 +00:00
|
|
|
"config.toml",
|
2026-07-23 05:47:43 +00:00
|
|
|
"metrics.jsonl",
|
2026-07-23 08:36:59 +00:00
|
|
|
"latest_metrics.json",
|
|
|
|
|
"heartbeat.json",
|
|
|
|
|
"checkpoint_latest.pt",
|
|
|
|
|
"checkpoint_best.pt",
|
|
|
|
|
"checkpoint_final.pt",
|
|
|
|
|
"final_metrics.json",
|
|
|
|
|
"split_manifest.json",
|
|
|
|
|
"data_manifest.json",
|
|
|
|
|
"normalization.json",
|
2026-07-23 05:47:43 +00:00
|
|
|
"environment_manifest.json",
|
2026-07-25 16:12:49 +00:00
|
|
|
"calibration_manifest.json",
|
|
|
|
|
"evaluation_protocol.json",
|
|
|
|
|
"hf_upload_manifest.json",
|
|
|
|
|
"run_manifest.json",
|
2026-07-23 05:47:43 +00:00
|
|
|
"artifact_manifest.json",
|
|
|
|
|
"checksums.txt",
|
2026-07-25 16:12:49 +00:00
|
|
|
"verification_report.json",
|
2026-07-23 05:47:43 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[cleanup]
|
|
|
|
|
on_success = "sky_down"
|
|
|
|
|
on_failure = "collect_then_keep"
|