{"cells": [{"cell_type": "markdown", "id": "9c902f0b", "metadata": {"papermill": {"duration": 0.020088, "end_time": "2023-10-04T01:00:26.256659", "exception": false, "start_time": "2023-10-04T01:00:26.236571", "status": "completed"}, "tags": []}, "source": ["\n", "# Fine-Tuning Scheduler\n", "\n", "* **Author:** [Dan Dale](https://github.com/speediedan)\n", "* **License:** CC BY-SA\n", "* **Generated:** 2023-10-04T00:59:41.547882\n", "\n", "This notebook introduces the [Fine-Tuning Scheduler](https://finetuning-scheduler.readthedocs.io/en/stable/index.html) extension\n", "and demonstrates the use of it to fine-tune a small foundation model on the\n", "[RTE](https://huggingface.co/datasets/viewer/?dataset=super_glue&config=rte) task of\n", "[SuperGLUE](https://super.gluebenchmark.com/) with iterative early-stopping defined according to a user-specified\n", "schedule. It uses Hugging Face's ``datasets`` and ``transformers`` libraries to retrieve the relevant benchmark data\n", "and foundation model weights. The required dependencies are installed via the finetuning-scheduler ``[examples]`` extra.\n", "\n", "\n", "---\n", "Open in [![Open In Colab](data:image/png;base64,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){height=\"20px\" width=\"117px\"}](https://colab.research.google.com/github/PytorchLightning/lightning-tutorials/blob/publication/.notebooks/lightning_examples/finetuning-scheduler.ipynb)\n", "\n", "Give us a \u2b50 [on Github](https://www.github.com/Lightning-AI/lightning/)\n", "| Check out [the documentation](https://pytorch-lightning.readthedocs.io/en/stable/)\n", "| Join us [on Slack](https://www.pytorchlightning.ai/community)"]}, {"cell_type": "markdown", "id": "c5a929ac", "metadata": {"papermill": {"duration": 0.017506, "end_time": "2023-10-04T01:00:26.292196", "exception": false, "start_time": "2023-10-04T01:00:26.274690", "status": "completed"}, "tags": []}, "source": ["## Setup\n", "This notebook requires some packages besides pytorch-lightning."]}, {"cell_type": "code", "execution_count": 1, "id": "2b818c6f", "metadata": {"colab": {}, "colab_type": "code", "execution": {"iopub.execute_input": "2023-10-04T01:00:26.321284Z", "iopub.status.busy": "2023-10-04T01:00:26.321092Z", "iopub.status.idle": "2023-10-04T01:00:31.435751Z", "shell.execute_reply": "2023-10-04T01:00:31.434738Z"}, "id": "LfrJLKPFyhsK", "lines_to_next_cell": 0, "papermill": {"duration": 5.131552, "end_time": "2023-10-04T01:00:31.438692", "exception": false, "start_time": "2023-10-04T01:00:26.307140", "status": "completed"}, "tags": []}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\r\n", "\u001b[0m"]}], "source": ["! pip install --quiet \"finetuning-scheduler[examples]>=2.0.0\" \"setuptools>=68.0.0, <68.3.0\" \"urllib3\" \"torchmetrics>=0.7, <1.3\" \"torch>=1.12.1\" \"matplotlib>=3.0.0, <3.9.0\" \"pytorch-lightning>=1.4, <2.1.0\" \"ipython[notebook]>=8.0.0, <8.17.0\" \"torch>=1.8.1, <2.1.0\""]}, {"cell_type": "markdown", "id": "7d794101", "metadata": {"papermill": {"duration": 0.026176, "end_time": "2023-10-04T01:00:31.494949", "exception": false, "start_time": "2023-10-04T01:00:31.468773", "status": "completed"}, "tags": []}, "source": ["## Scheduled Fine-Tuning with the Fine-Tuning Scheduler Extension\n", "\n", "![Fine-Tuning Scheduler logo](data:image/png;base64,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){height=\"55px\" width=\"401px\"}\n", "\n", "The [Fine-Tuning Scheduler](https://finetuning-scheduler.readthedocs.io/en/stable/index.html) extension accelerates and enhances model experimentation with flexible fine-tuning schedules.\n", "\n", "Training with the extension is simple and confers a host of benefits:\n", "\n", "- it dramatically increases fine-tuning flexibility\n", "- expedites and facilitates exploration of model tuning dynamics\n", "- enables marginal performance improvements of fine-tuned models\n", "\n", "Setup is straightforward, just install from PyPI! Since this notebook-based example requires a few additional packages (e.g.\n", "``transformers``, ``sentencepiece``), we installed the ``finetuning-scheduler`` package with the ``[examples]`` extra above.\n", "Once the ``finetuning-scheduler`` package is installed, the [FinetuningScheduler](https://finetuning-scheduler.readthedocs.io/en/stable/api/finetuning_scheduler.fts.html#finetuning_scheduler.fts.FinetuningScheduler) callback (FTS) is available for use with Lightning.\n", "For additional installation options, please see the Fine-Tuning Scheduler [README](https://github.com/speediedan/finetuning-scheduler/blob/main/README.md).\n", "\n", "\n", "\n", "