rwkv-x-exp Run (lane1) #123
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: rwkv-x-exp Run (lane1) | |
on: | |
workflow_dispatch: | |
permissions: | |
users: | |
- picocreator | |
inputs: | |
notebookFile: | |
description: 'Notebook to run (inside `experiment/rwkv-x-exp` dir)' | |
required: true | |
gpuTarget: | |
description: 'GPU Target (use 8x24vgb)' | |
# required: true | |
default: '8x24vgb' | |
lanePrefence: | |
description: 'Lane preferenc (lane1,laneX)' | |
default: "lane1" | |
cudaVersion: | |
description: 'cuda version' | |
# required: true | |
default: '11-8' | |
huggingFaceRepo: | |
description: 'Hugging Face repo to upload to' | |
default: 'rwkv-x-dev/rwkv-x-playground' | |
env: | |
# Notebook runner settings | |
gpuTarget: ${{github.event.inputs.gpuTarget}} | |
cudaVersion: ${{github.event.inputs.cudaVersion}} | |
# HF repo to sync to | |
HF_REPO_SYNC: ${{github.event.inputs.huggingFaceRepo}} | |
# Cache dir size limit | |
RUNNER_CACHE_SIZE_LIMIT: 100G | |
# Secrets | |
HUGGING_FACE_HUB_TOKEN: ${{secrets.HUGGING_FACE_HUB_TOKEN}} | |
WANDB_API_KEY: ${{secrets.WANDB_API_KEY}} | |
jobs: | |
notebook-run: | |
# Due to github worker hard limitation, of 24 hours | |
# we apply a timeout of 23 hours instead. | |
timeout-minutes: 1380 | |
name: ${{github.event.inputs.notebookFile}} - ${{github.event.inputs.gpuTarget}} / cuda-${{github.event.inputs.cudaVersion}} | |
runs-on: | |
- cuda-${{github.event.inputs.cudaVersion}} | |
- ${{github.event.inputs.gpuTarget}} | |
- ${{github.event.inputs.lanePrefence}} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Update external services | |
run: | | |
pip install --upgrade huggingface_hub | |
pip install --upgrade wandb | |
- name: Setup HF cache | |
run: | | |
cd ./notebook/github-runner | |
chmod +x ./hf-cache-setup.sh | |
./hf-cache-setup.sh | |
- name: Run the notebook, with harness | |
run: | | |
cd ./notebook/github-runner | |
chmod +x ./github-runner.sh | |
./github-runner.sh "experiment/rwkv-x-exp/${{github.event.inputs.notebookFile}}" | |
- name: Save output notebook | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: output-notebook | |
path: | | |
output | |
- name: Upload outputs to HF | |
if: always() | |
run: | | |
cd ./notebook/github-runner | |
chmod +x ./hf-upload-runner.sh | |
./hf-upload-runner.sh "experiment/rwkv-x-exp/${{github.event.inputs.notebookFile}}" | |
# Note that this is meant to be a contigency measure, in case the HF upload failed | |
- name: Save output models | |
uses: actions/upload-artifact@v3 | |
# if: failure() | |
if: always() | |
with: | |
name: output-models | |
path: | | |
model/*.pth | |
retention-days: 14 |