<div align="center">
<h1>
Training Studio App
</h1>
<img src="https://pl-flash-data.s3.amazonaws.com/assets_lightning/lightning_hpo_logo.png">
<div align="center">
<p align="center">
<a href="https://www.lightning.ai/">Lightning Gallery</a> •
<a href="https://lightning-ai.github.io/lightning-hpo">Docs</a> •
<a href="https://github.com/Lightning-AI/lightning-hpo/tree/master/examples">Examples</a>
</p>
[![ReadTheDocs](https://readthedocs.org/projects/pytorch-lightning/badge/?version=0.0.7)](https://lightning-ai.github.io/lightning-hpo)
[![Slack](https://img.shields.io/badge/slack-chat-green.svg?logo=slack)](https://www.pytorchlightning.ai/community)
[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Lightning-AI/lightning/blob/master/LICENSE)
</div>
The [Training Studio App](https://lightning-ai.github.io/lightning-hpo/training_studio.html) is a full-stack AI application built using the [Lightning](https://lightning.ai/lightning-docs/) framework to enable running experiments or sweeps with state-of-the-art sampling hyper-parameters algorithms and efficient experiment pruning strategies and more.
Learn more [here](https://github.com/Lightning-AI/lightning-hpo#the-training-studio-app).
</div>
______________________________________________________________________
## Installation
Create a new virtual environment with python 3.8+
```bash
python -m venv .venv
source .venv/bin/activate
```
Clone and install lightning-hpo.
```bash
git clone https://github.com/Lightning-AI/lightning-hpo && cd lightning-hpo
pip install -e . -r requirements.txt --find-links https://download.pytorch.org/whl/cpu/torch_stable.html --pre
```
Make sure everything works fine.
```bash
python -m lightning run app app.py
```
Check the [documentation](https://lightning-ai.github.io/lightning-hpo) to learn more !
______________________________________________________________________
## Run the Training Studio App locally
In your first terminal, run the Lightning App.
```bash
lightning run app app.py
```
In second terminal, connect to the Lightning App and download its CLI.
```bash
lightning connect localhost --yes
```
```bash
lightning --help
Usage: lightning [OPTIONS] COMMAND [ARGS]...
--help Show this message and exit.
Lightning App Commands
Usage: lightning [OPTIONS] COMMAND [ARGS]...
--help Show this message and exit.
Lightning App Commands
create data Create a Data association by providing a public S3 bucket and an optional mount point.
The contents of the bucket can be then mounted on experiments and sweeps and
accessed through the filesystem.
delete data Delete a data association. Note that this will not delete the data itself,
it will only make it unavailable to experiments and sweeps.
delete experiment Delete an experiment. Note that artifacts will still be available after the operation.
delete sweep Delete a sweep. Note that artifacts will still be available after the operation.
download artifacts Download artifacts for experiments or sweeps.
run experiment Run an experiment by providing a script, the cloud compute type and optional
data entries to be made available at a given path.
run sweep Run a sweep by providing a script, the cloud compute type and optional
data entries to be made available at a given path. Hyperparameters can be
provided as lists (`model.lr="[0.01, 0.1]"`) or using distributions
(`model.lr="uniform(0.01, 0.1)"`, `model.lr="log_uniform(0.01, 0.1)"`).
Hydra multirun override syntax is also supported.
show artifacts Show artifacts for experiments or sweeps, in flat or tree layout.
show data List all data associations.
show experiments Show experiments and their statuses.
show logs Show logs of an experiment or a sweep. Optionally follow logs as they stream.
show sweeps Show all sweeps and their statuses, or the experiments for a given sweep.
stop experiment Stop an experiment. Note that currently experiments cannot be resumed.
stop sweep Stop all experiments in a sweep. Note that currently sweeps cannot be resumed.
You are connected to the local Lightning App. Return to the primary CLI with `lightning disconnect`.
```
Run your first Sweep from [sweep_examples/scripts](./sweep_examples/scripts) folder
```bash
lightning run sweep train.py --model.lr "[0.001, 0.01, 0.1]" --data.batch "[32, 64]" --algorithm="grid_search" --requirements 'jsonargparse[signatures]>=4.15.2'
```
______________________________________________________________________
## Scale by running the Training Studio App in the Cloud
Below, we are about to train a 1B+ LLM Model with multi-node.
```bash
lightning run app app.py --cloud
```
Connect to the App once ready.
```
lightning connect {APP_NAME} --yes
```
Run your first multi node training experiment from [sweep_examples/scripts](./sweep_examples/scripts) folder (2 nodes of 4 V100 GPUS each).
```bash
lightning run experiment big_model.py --requirements deepspeed lightning-transformers==0.2.5 --num_nodes=2 --cloud_compute=gpu-fast-multi --disk_size=80
```
Raw data
{
"_id": null,
"home_page": "https://github.com/PyTorchLightning/lightning",
"name": "lightning-hpo",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "deep learning,pytorch,AI",
"author": "PyTorchLightning et al.",
"author_email": "thomas@grid.ai",
"download_url": "https://files.pythonhosted.org/packages/26/4b/0ca4fda52b9db42af52747ce265d0dfcbe958d8e87a6a05f0f6be2cfca05/lightning_hpo-0.0.7.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <h1>\n Training Studio App\n </h1>\n <img src=\"https://pl-flash-data.s3.amazonaws.com/assets_lightning/lightning_hpo_logo.png\">\n\n<div align=\"center\">\n\n<p align=\"center\">\n <a href=\"https://www.lightning.ai/\">Lightning Gallery</a> \u2022\n <a href=\"https://lightning-ai.github.io/lightning-hpo\">Docs</a> \u2022\n <a href=\"https://github.com/Lightning-AI/lightning-hpo/tree/master/examples\">Examples</a>\n</p>\n\n[![ReadTheDocs](https://readthedocs.org/projects/pytorch-lightning/badge/?version=0.0.7)](https://lightning-ai.github.io/lightning-hpo)\n[![Slack](https://img.shields.io/badge/slack-chat-green.svg?logo=slack)](https://www.pytorchlightning.ai/community)\n[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Lightning-AI/lightning/blob/master/LICENSE)\n</div>\n\nThe [Training Studio App](https://lightning-ai.github.io/lightning-hpo/training_studio.html) is a full-stack AI application built using the [Lightning](https://lightning.ai/lightning-docs/) framework to enable running experiments or sweeps with state-of-the-art sampling hyper-parameters algorithms and efficient experiment pruning strategies and more.\n\nLearn more [here](https://github.com/Lightning-AI/lightning-hpo#the-training-studio-app).\n\n</div>\n\n______________________________________________________________________\n\n## Installation\n\nCreate a new virtual environment with python 3.8+\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate\n```\n\nClone and install lightning-hpo.\n\n```bash\ngit clone https://github.com/Lightning-AI/lightning-hpo && cd lightning-hpo\n\npip install -e . -r requirements.txt --find-links https://download.pytorch.org/whl/cpu/torch_stable.html --pre\n```\n\nMake sure everything works fine.\n\n```bash\npython -m lightning run app app.py\n```\n\nCheck the [documentation](https://lightning-ai.github.io/lightning-hpo) to learn more !\n\n______________________________________________________________________\n\n## Run the Training Studio App locally\n\nIn your first terminal, run the Lightning App.\n\n```bash\nlightning run app app.py\n```\n\nIn second terminal, connect to the Lightning App and download its CLI.\n\n```bash\nlightning connect localhost --yes\n```\n\n```bash\nlightning --help\n\nUsage: lightning [OPTIONS] COMMAND [ARGS]...\n\n --help Show this message and exit.\n\nLightning App Commands\nUsage: lightning [OPTIONS] COMMAND [ARGS]...\n\n --help Show this message and exit.\n\nLightning App Commands\n create data Create a Data association by providing a public S3 bucket and an optional mount point.\n The contents of the bucket can be then mounted on experiments and sweeps and\n accessed through the filesystem.\n delete data Delete a data association. Note that this will not delete the data itself,\n it will only make it unavailable to experiments and sweeps.\n delete experiment Delete an experiment. Note that artifacts will still be available after the operation.\n delete sweep Delete a sweep. Note that artifacts will still be available after the operation.\n download artifacts Download artifacts for experiments or sweeps.\n run experiment Run an experiment by providing a script, the cloud compute type and optional\n data entries to be made available at a given path.\n run sweep Run a sweep by providing a script, the cloud compute type and optional\n data entries to be made available at a given path. Hyperparameters can be\n provided as lists (`model.lr=\"[0.01, 0.1]\"`) or using distributions\n (`model.lr=\"uniform(0.01, 0.1)\"`, `model.lr=\"log_uniform(0.01, 0.1)\"`).\n Hydra multirun override syntax is also supported.\n show artifacts Show artifacts for experiments or sweeps, in flat or tree layout.\n show data List all data associations.\n show experiments Show experiments and their statuses.\n show logs Show logs of an experiment or a sweep. Optionally follow logs as they stream.\n show sweeps Show all sweeps and their statuses, or the experiments for a given sweep.\n stop experiment Stop an experiment. Note that currently experiments cannot be resumed.\n stop sweep Stop all experiments in a sweep. Note that currently sweeps cannot be resumed.\n\nYou are connected to the local Lightning App. Return to the primary CLI with `lightning disconnect`.\n```\n\nRun your first Sweep from [sweep_examples/scripts](./sweep_examples/scripts) folder\n\n```bash\nlightning run sweep train.py --model.lr \"[0.001, 0.01, 0.1]\" --data.batch \"[32, 64]\" --algorithm=\"grid_search\" --requirements 'jsonargparse[signatures]>=4.15.2'\n```\n\n______________________________________________________________________\n\n## Scale by running the Training Studio App in the Cloud\n\nBelow, we are about to train a 1B+ LLM Model with multi-node.\n\n```bash\nlightning run app app.py --cloud\n```\n\nConnect to the App once ready.\n\n```\nlightning connect {APP_NAME} --yes\n```\n\nRun your first multi node training experiment from [sweep_examples/scripts](./sweep_examples/scripts) folder (2 nodes of 4 V100 GPUS each).\n\n```bash\nlightning run experiment big_model.py --requirements deepspeed lightning-transformers==0.2.5 --num_nodes=2 --cloud_compute=gpu-fast-multi --disk_size=80\n```\n",
"bugtrack_url": null,
"license": "TBD",
"summary": "Lightning HPO",
"version": "0.0.7",
"split_keywords": [
"deep learning",
"pytorch",
"ai"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "979ccb2e7adf9c9447144197a1ec24b3",
"sha256": "e65f9661a8503ed318ff32252118e5dfdba252cd720b817daf0cf2074786bf3a"
},
"downloads": -1,
"filename": "lightning_hpo-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "979ccb2e7adf9c9447144197a1ec24b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 1078924,
"upload_time": "2022-12-09T02:15:19",
"upload_time_iso_8601": "2022-12-09T02:15:19.483256Z",
"url": "https://files.pythonhosted.org/packages/cb/91/265943fc70294b526fd31d983c8344f1087d1d977f822335979e2b0caed5/lightning_hpo-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "5c11ef462e522b88794906690dd1ee16",
"sha256": "8db57965fb9a9a4c0d7fb33c583b7551265a9b6f5ab9ac82e62c99f7b76849a2"
},
"downloads": -1,
"filename": "lightning_hpo-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "5c11ef462e522b88794906690dd1ee16",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 1030033,
"upload_time": "2022-12-09T02:15:21",
"upload_time_iso_8601": "2022-12-09T02:15:21.466411Z",
"url": "https://files.pythonhosted.org/packages/26/4b/0ca4fda52b9db42af52747ce265d0dfcbe958d8e87a6a05f0f6be2cfca05/lightning_hpo-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-09 02:15:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "PyTorchLightning",
"github_project": "lightning",
"lcname": "lightning-hpo"
}