|
## Finetuning Mochi with LoRA on Modal |
|
|
|
This example demonstrates how to run the Mochi finetuner on Modal GPUs. |
|
|
|
### Setup |
|
Install [Modal](https://modal.com/docs/guide). |
|
```bash |
|
pip install modal |
|
modal setup |
|
``` |
|
|
|
### Fetch the dataset |
|
There is a labeled dataset for a dissolving visual effect available on Google Drive. Download it into the `mochi-tune-videos` modal volume with: |
|
```bash |
|
modal run main::download_videos |
|
``` |
|
|
|
### Download the model weights |
|
Download the model weights from Hugging Face into the `mochi-tune-weights` modal volume with: |
|
```bash |
|
modal run -d main::download_weights |
|
``` |
|
Note that this download can take more than 30 minutes. The `-d` flag allows you to exit the terminal session without losing progress. |
|
|
|
### Prepare the dataset |
|
We now run the preprocessing script to prepare the dataset for finetuning: |
|
```bash |
|
modal run main::preprocess |
|
``` |
|
This puts preprocessed training input into the `mochi-tune-videos-prepared` modal volume. |
|
|
|
### Finetuning |
|
Finetune the model using the prepared dataset. |
|
|
|
You may configure the finetune run using the `lora.yaml` file, such as number of steps, learning rate, etc. |
|
|
|
Run the finetuning with: |
|
```bash |
|
modal run -d main::finetune |
|
``` |
|
|
|
This will produce a series of checkpoints, as well as video samples generated along the training process. You can view these files in the Modal `moshi-tune-finetunes` volume using the Storage tab in the dashboard. |
|
|
|
### Inference |
|
You can now use the MochiLora class to generate videos from a prompt. The `main` entrypoint will initialize the model to use the specified LoRA weights from your finetuning run. |
|
|
|
```bash |
|
modal run main |
|
``` |
|
or with more parameters: |
|
```bash |
|
modal run main lora-path="/finetunes/my_mochi_lora/model_1000.lora.safetensors" prompt="A pristine snowglobe featuring a winter scene sits peacefully. The glass begins to crumble into fine powder, as the entire sphere deteriorates into sparkling dust that drifts outward." |
|
``` |
|
|
|
See modal run main --help for all inference options. |