Skip to content

BioNeMo Model Convergence Tests #19

BioNeMo Model Convergence Tests

BioNeMo Model Convergence Tests #19

name: "BioNeMo Model Convergence Tests"
on:
workflow_dispatch:
inputs:
branch:
description: "Branch to use (ignored if commit SHA is provided)"
required: true
default: "main"
type: string
commit_sha:
description: "Commit SHA (optional - overrides branch if provided)"
required: false
type: string
model_config:
description: "Model configuration to use"
required: true
default: "esm2_accelerate"
type: choice
options:
- amplify_accelerate_te_fp8.yaml
- esm2_accelerate
- esm2_native_te_mfsdp
- esm2_native_te_nvfsdp_thd
- geneformer_native_te_nvfsdp_fp8
config_override:
description: "Custom config override (optional, e.g. 'geneformer_106m')"
required: false
type: string
jobs:
submit-lepton-jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: |
requirements.ci.txt
ci/lepton/model_convergence/scripts/requirements.txt
- name: Install deps
run: |
python -m pip install --upgrade pip
pip install "hydra-core==1.3.2" "omegaconf==2.3.0" "leptonai" typer pandas
python - <<'PY'
import hydra, omegaconf, leptonai
print("OK:", hydra.__version__, omegaconf.__version__, leptonai.__version__)
PY
- name: Submit Lepton Jobs
env:
LEP_LOGIN_CREDENTIALS: ${{ secrets.LEP_LOGIN_CREDENTIALS }}
run: |
lep login -c "$LEP_LOGIN_CREDENTIALS" || true
if [ -n "${{ inputs.config_override }}" ]; then
python ci/lepton/model_convergence/scripts/launch_job.py \
--config-name="${{ inputs.config_override }}.yaml" \
branch="${{ inputs.branch }}" \
commit_sha="${{ inputs.commit_sha }}"
else
python ci/lepton/model_convergence/scripts/launch_job.py \
--config-name="recipes/${{ inputs.model_config }}" \
branch="${{ inputs.branch }}" \
commit_sha="${{ inputs.commit_sha }}"
fi