Compare commits
4 commits
main
...
fix/colab-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83309560a9 | ||
|
|
f5c33c1594 | ||
|
|
95dc2c0de5 | ||
|
|
c816455615 |
2 changed files with 156 additions and 170 deletions
|
|
@ -1,157 +1,153 @@
|
||||||
{
|
{
|
||||||
"cells": [
|
"cells": [
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"id": "view-in-github",
|
"id": "view-in-github",
|
||||||
"colab_type": "text"
|
"colab_type": "text"
|
||||||
},
|
},
|
||||||
"source": [
|
"source": [
|
||||||
"<a href=\"https://colab.research.google.com/github/unslothai/unsloth/blob/main/studio/Unsloth_Studio_Colab.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
|
"<a href=\"https://colab.research.google.com/github/unslothai/unsloth/blob/main/studio/Unsloth_Studio_Colab.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"id": "6b87de59",
|
|
||||||
"metadata": {
|
|
||||||
"id": "6b87de59"
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"To run this, press \"*Runtime*\" and press \"*Run all*\" on a **free** Tesla T4 Google Colab instance!\n",
|
|
||||||
"<div class=\"align-center\">\n",
|
|
||||||
"<a href=\"https://unsloth.ai/\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/unsloth%20new%20logo.png\" width=\"115\"></a>\n",
|
|
||||||
"<a href=\"https://discord.gg/unsloth\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/Discord button.png\" width=\"145\"></a>\n",
|
|
||||||
"<a href=\"https://unsloth.ai/docs/\"><img src=\"https://github.com/unslothai/unsloth/blob/main/images/documentation%20green%20button.png?raw=true\" width=\"125\"></a> Join Discord if you need help + ⭐ <i>Star us on <a href=\"https://github.com/unslothai/unsloth\">Github</a> </i> ⭐\n",
|
|
||||||
"</div>\n",
|
|
||||||
"\n",
|
|
||||||
"To install Unsloth Studio on your local device, follow [our guide](https://unsloth.ai/docs/new/unsloth-studio/install). Unsloth Studio is licensed [AGPL-3.0](https://github.com/unslothai/unsloth/blob/main/studio/LICENSE.AGPL-3.0).\n",
|
|
||||||
"\n",
|
|
||||||
"### Unsloth Studio\n",
|
|
||||||
"\n",
|
|
||||||
"Train and run open models with [**Unsloth Studio**](https://unsloth.ai/docs/new/unsloth-studio/start). Currently, installation may take 30+ mins so use a newer GPU.\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"We are actively working on making Unsloth Studio install on Colab T4 GPUs faster.\n",
|
|
||||||
"\n",
|
|
||||||
"[Features](https://unsloth.ai/docs/new/unsloth-studio#features) • [Quickstart](https://unsloth.ai/docs/new/unsloth-studio/start) • [Data Recipes](https://unsloth.ai/docs/new/unsloth-studio/data-recipe) • [Studio Chat](https://unsloth.ai/docs/new/unsloth-studio/chat) • [Export](https://unsloth.ai/docs/new/unsloth-studio/export)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"id": "e4206349",
|
|
||||||
"metadata": {
|
|
||||||
"id": "e4206349"
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"<p align=\"left\"><img src=\"https://github.com/unslothai/unsloth/raw/main/studio/frontend/public/studio%20github%20landscape%20colab%20display.png\" width=\"600\"></p>"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"id": "27da2957",
|
|
||||||
"metadata": {
|
|
||||||
"id": "27da2957"
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"### Setup: Clone repo and run setup"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "27e68f91",
|
|
||||||
"metadata": {
|
|
||||||
"id": "27e68f91"
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"!git clone --depth 1 --branch main https://github.com/unslothai/unsloth.git\n",
|
|
||||||
"%cd /content/unsloth\n",
|
|
||||||
"!chmod +x studio/setup.sh && ./studio/setup.sh"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"id": "3e1771a9",
|
|
||||||
"metadata": {
|
|
||||||
"id": "3e1771a9"
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"### Start Unsloth Studio"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "277e431e",
|
|
||||||
"metadata": {
|
|
||||||
"id": "277e431e"
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"import sys, time\n",
|
|
||||||
"sys.path.insert(0, \"/content/unsloth/studio/backend\")\n",
|
|
||||||
"from colab import start\n",
|
|
||||||
"start()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"source": [
|
|
||||||
"from google.colab import output\n",
|
|
||||||
"output.serve_kernel_port_as_iframe(8888, height = 1200, width = \"100%\")\n",
|
|
||||||
"for _ in range(10000): time.sleep(300), print(\"=\", end = \"\")"
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"id": "wb9UELh--XzX"
|
|
||||||
},
|
|
||||||
"id": "wb9UELh--XzX",
|
|
||||||
"execution_count": null,
|
|
||||||
"outputs": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"id": "f2b0c6a1",
|
|
||||||
"metadata": {
|
|
||||||
"id": "f2b0c6a1"
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"And we're done! If you have any questions on Unsloth, we have a [Discord](https://discord.gg/unsloth) channel! If you find any bugs or want to keep updated with the latest LLM stuff, or need help, join projects etc, feel free to join our Discord!\n",
|
|
||||||
"\n",
|
|
||||||
"Some other resources:\n",
|
|
||||||
"1. Looking to use Unsloth locally? Read our [Installation Guide](https://unsloth.ai/docs/get-started/install) for details on installing Unsloth on Windows, Docker, AMD, Intel GPUs.\n",
|
|
||||||
"2. Learn how to do Reinforcement Learning with our [RL Guide and notebooks](https://unsloth.ai/docs/get-started/reinforcement-learning-rl-guide).\n",
|
|
||||||
"3. Read our guides and notebooks for [Text-to-speech (TTS)](https://unsloth.ai/docs/basics/text-to-speech-tts-fine-tuning) and [vision](https://unsloth.ai/docs/basics/vision-fine-tuning) model support.\n",
|
|
||||||
"4. Explore our [LLM Tutorials Directory](https://unsloth.ai/docs/models/tutorials-how-to-fine-tune-and-run-llms) to find dedicated guides for each model.\n",
|
|
||||||
"5. Need help with Inference? Read our [Inference & Deployment page](https://unsloth.ai/docs/basics/inference-and-deployment) for details on using vLLM, llama.cpp, Ollama etc.\n",
|
|
||||||
"\n",
|
|
||||||
"<div class=\"align-center\">\n",
|
|
||||||
" <a href=\"https://unsloth.ai\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/unsloth%20new%20logo.png\" width=\"115\"></a>\n",
|
|
||||||
" <a href=\"https://discord.gg/unsloth\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/Discord.png\" width=\"145\"></a>\n",
|
|
||||||
" <a href=\"https://unsloth.ai/docs/\"><img src=\"https://github.com/unslothai/unsloth/blob/main/images/documentation%20green%20button.png?raw=true\" width=\"125\"></a>\n",
|
|
||||||
"\n",
|
|
||||||
" Join Discord if you need help + ⭐️ <i>Star us on <a href=\"https://github.com/unslothai/unsloth\">Github</a> </i> ⭐️\n",
|
|
||||||
"\n",
|
|
||||||
" <b>This notebook is licensed <a href=\"https://github.com/unslothai/unsloth/blob/main/studio/LICENSE.AGPL-3.0\">AGPL-3.0</a></b>\n",
|
|
||||||
"</div>"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"accelerator": "GPU",
|
|
||||||
"colab": {
|
|
||||||
"gpuType": "T4",
|
|
||||||
"provenance": [],
|
|
||||||
"include_colab_link": true
|
|
||||||
},
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": "Python 3",
|
|
||||||
"name": "python3"
|
|
||||||
},
|
|
||||||
"language_info": {
|
|
||||||
"name": "python"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
{
|
||||||
"nbformat_minor": 5
|
"cell_type": "markdown",
|
||||||
|
"id": "6b87de59",
|
||||||
|
"metadata": {
|
||||||
|
"id": "6b87de59"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"To run this, press \"*Runtime*\" and press \"*Run all*\" on a **free** Tesla T4 Google Colab instance!\n",
|
||||||
|
"<div class=\"align-center\">\n",
|
||||||
|
"<a href=\"https://unsloth.ai/\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/unsloth%20new%20logo.png\" width=\"115\"></a>\n",
|
||||||
|
"<a href=\"https://discord.gg/unsloth\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/Discord button.png\" width=\"145\"></a>\n",
|
||||||
|
"<a href=\"https://unsloth.ai/docs/\"><img src=\"https://github.com/unslothai/unsloth/blob/main/images/documentation%20green%20button.png?raw=true\" width=\"125\"></a> Join Discord if you need help + ⭐ <i>Star us on <a href=\"https://github.com/unslothai/unsloth\">Github</a> </i> ⭐\n",
|
||||||
|
"</div>\n",
|
||||||
|
"\n",
|
||||||
|
"To install Unsloth Studio on your local device, follow [our guide](https://unsloth.ai/docs/new/unsloth-studio/install). Unsloth Studio is licensed [AGPL-3.0](https://github.com/unslothai/unsloth/blob/main/studio/LICENSE.AGPL-3.0).\n",
|
||||||
|
"\n",
|
||||||
|
"### Unsloth Studio\n",
|
||||||
|
"\n",
|
||||||
|
"Train and run open models with [**Unsloth Studio**](https://unsloth.ai/docs/new/unsloth-studio/start). Currently, installation may take 30+ mins so use a newer GPU.\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"We are actively working on making Unsloth Studio install on Colab T4 GPUs faster.\n",
|
||||||
|
"\n",
|
||||||
|
"[Features](https://unsloth.ai/docs/new/unsloth-studio#features) • [Quickstart](https://unsloth.ai/docs/new/unsloth-studio/start) • [Data Recipes](https://unsloth.ai/docs/new/unsloth-studio/data-recipe) • [Studio Chat](https://unsloth.ai/docs/new/unsloth-studio/chat) • [Export](https://unsloth.ai/docs/new/unsloth-studio/export)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "e4206349",
|
||||||
|
"metadata": {
|
||||||
|
"id": "e4206349"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"<p align=\"left\"><img src=\"https://github.com/unslothai/unsloth/raw/main/studio/frontend/public/studio%20github%20landscape%20colab%20display.png\" width=\"600\"></p>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "27da2957",
|
||||||
|
"metadata": {
|
||||||
|
"id": "27da2957"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"### Setup: Clone repo and run setup"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "27e68f91",
|
||||||
|
"metadata": {
|
||||||
|
"id": "27e68f91"
|
||||||
|
},
|
||||||
|
"outputs": [],
|
||||||
|
"source": "!git clone --depth 1 --branch main https://github.com/unslothai/unsloth.git\n%cd /content/unsloth\n!chmod +x studio/setup.sh && ./studio/setup.sh --local"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "3e1771a9",
|
||||||
|
"metadata": {
|
||||||
|
"id": "3e1771a9"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"### Start Unsloth Studio"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "277e431e",
|
||||||
|
"metadata": {
|
||||||
|
"id": "277e431e"
|
||||||
|
},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"import sys, time\n",
|
||||||
|
"sys.path.insert(0, \"/content/unsloth/studio/backend\")\n",
|
||||||
|
"from colab import start\n",
|
||||||
|
"start()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"source": [
|
||||||
|
"from google.colab import output\n",
|
||||||
|
"output.serve_kernel_port_as_iframe(8888, height = 1200, width = \"100%\")\n",
|
||||||
|
"for _ in range(10000): time.sleep(300), print(\"=\", end = \"\")"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"id": "wb9UELh--XzX"
|
||||||
|
},
|
||||||
|
"id": "wb9UELh--XzX",
|
||||||
|
"execution_count": null,
|
||||||
|
"outputs": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "f2b0c6a1",
|
||||||
|
"metadata": {
|
||||||
|
"id": "f2b0c6a1"
|
||||||
|
},
|
||||||
|
"source": [
|
||||||
|
"And we're done! If you have any questions on Unsloth, we have a [Discord](https://discord.gg/unsloth) channel! If you find any bugs or want to keep updated with the latest LLM stuff, or need help, join projects etc, feel free to join our Discord!\n",
|
||||||
|
"\n",
|
||||||
|
"Some other resources:\n",
|
||||||
|
"1. Looking to use Unsloth locally? Read our [Installation Guide](https://unsloth.ai/docs/get-started/install) for details on installing Unsloth on Windows, Docker, AMD, Intel GPUs.\n",
|
||||||
|
"2. Learn how to do Reinforcement Learning with our [RL Guide and notebooks](https://unsloth.ai/docs/get-started/reinforcement-learning-rl-guide).\n",
|
||||||
|
"3. Read our guides and notebooks for [Text-to-speech (TTS)](https://unsloth.ai/docs/basics/text-to-speech-tts-fine-tuning) and [vision](https://unsloth.ai/docs/basics/vision-fine-tuning) model support.\n",
|
||||||
|
"4. Explore our [LLM Tutorials Directory](https://unsloth.ai/docs/models/tutorials-how-to-fine-tune-and-run-llms) to find dedicated guides for each model.\n",
|
||||||
|
"5. Need help with Inference? Read our [Inference & Deployment page](https://unsloth.ai/docs/basics/inference-and-deployment) for details on using vLLM, llama.cpp, Ollama etc.\n",
|
||||||
|
"\n",
|
||||||
|
"<div class=\"align-center\">\n",
|
||||||
|
" <a href=\"https://unsloth.ai\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/unsloth%20new%20logo.png\" width=\"115\"></a>\n",
|
||||||
|
" <a href=\"https://discord.gg/unsloth\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/Discord.png\" width=\"145\"></a>\n",
|
||||||
|
" <a href=\"https://unsloth.ai/docs/\"><img src=\"https://github.com/unslothai/unsloth/blob/main/images/documentation%20green%20button.png?raw=true\" width=\"125\"></a>\n",
|
||||||
|
"\n",
|
||||||
|
" Join Discord if you need help + ⭐️ <i>Star us on <a href=\"https://github.com/unslothai/unsloth\">Github</a> </i> ⭐️\n",
|
||||||
|
"\n",
|
||||||
|
" <b>This notebook is licensed <a href=\"https://github.com/unslothai/unsloth/blob/main/studio/LICENSE.AGPL-3.0\">AGPL-3.0</a></b>\n",
|
||||||
|
"</div>"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"accelerator": "GPU",
|
||||||
|
"colab": {
|
||||||
|
"gpuType": "T4",
|
||||||
|
"provenance": [],
|
||||||
|
"include_colab_link": true
|
||||||
|
},
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3",
|
||||||
|
"name": "python3"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"name": "python"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 5
|
||||||
}
|
}
|
||||||
|
|
@ -337,30 +337,20 @@ fast_install() {
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
# On Colab without a venv, skip all venv-dependent sections (Python deps
|
# On Colab without a venv, skip venv-dependent Python deps sections but
|
||||||
# update, llama.cpp build) -- the backend deps were already installed above.
|
# continue to llama.cpp install so GGUF inference is available.
|
||||||
if [ "$_COLAB_NO_VENV" = true ]; then
|
if [ "$_COLAB_NO_VENV" = true ]; then
|
||||||
echo "✅ Studio backend dependencies installed into system Python"
|
echo "✅ Studio backend dependencies installed into system Python"
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "╔══════════════════════════════════════╗"
|
|
||||||
echo "║ Setup Complete! ║"
|
|
||||||
echo "╠══════════════════════════════════════╣"
|
|
||||||
echo "║ Unsloth Studio is ready to start ║"
|
|
||||||
echo "║ in your Colab notebook! ║"
|
|
||||||
echo "║ ║"
|
|
||||||
echo "║ from colab import start ║"
|
|
||||||
echo "║ start() ║"
|
|
||||||
echo "╚══════════════════════════════════════╝"
|
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ── Check if Python deps need updating ──
|
# ── Check if Python deps need updating ──
|
||||||
# Compare installed package version against PyPI latest.
|
# Compare installed package version against PyPI latest.
|
||||||
# Skip all Python dependency work if versions match (fast update path).
|
# Skip all Python dependency work if versions match (fast update path).
|
||||||
_PKG_NAME="${STUDIO_PACKAGE_NAME:-unsloth}"
|
# On Colab (no venv), skip this version check (it needs $VENV_DIR/bin/python)
|
||||||
|
# but still run install_python_stack below (it uses sys.executable).
|
||||||
_SKIP_PYTHON_DEPS=false
|
_SKIP_PYTHON_DEPS=false
|
||||||
if [ "${SKIP_STUDIO_BASE:-0}" != "1" ] && [ "${STUDIO_LOCAL_INSTALL:-0}" != "1" ]; then
|
_PKG_NAME="${STUDIO_PACKAGE_NAME:-unsloth}"
|
||||||
|
if [ "$_COLAB_NO_VENV" != true ] && [ "${SKIP_STUDIO_BASE:-0}" != "1" ] && [ "${STUDIO_LOCAL_INSTALL:-0}" != "1" ]; then
|
||||||
# Only check when NOT called from install.sh (which just installed the package)
|
# Only check when NOT called from install.sh (which just installed the package)
|
||||||
INSTALLED_VER=$("$VENV_DIR/bin/python" -c "
|
INSTALLED_VER=$("$VENV_DIR/bin/python" -c "
|
||||||
from importlib.metadata import version
|
from importlib.metadata import version
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue