diff --git a/README.md b/README.md index 692887088e..e60b1f98d9 100644 --- a/README.md +++ b/README.md @@ -44,13 +44,16 @@ Unsloth can be used in two ways: through **[Unsloth Studio](https://unsloth.ai/d Unsloth Studio works on **Windows, Linux, WSL** and **macOS**. * **CPU:** Supported for **chat inference only** -* **NVIDIA GPUs:** Training works on RTX 30/40/50, Blackwell, DGX Spark, DGX Station and more +* **NVIDIA:** Training works on RTX 30/40/50, Blackwell, DGX Spark, Station and more * **macOS:** Currently supports chat only; **MLX training** is coming very soon +* **AMD:** Chat works. Train with [Unsloth Core](#unsloth-core-code-based). Studio support is coming soon. +* **Coming soon:** Training support for Apple MLX, AMD, and Intel. * **Multi-GPU:** Available now, with a major upgrade on the way #### Windows, MacOS, Linux or WSL: ``` -pip install unsloth +pip install --upgrade pip && pip install uv +uv pip install unsloth --torch-backend=auto unsloth studio setup unsloth studio -H 0.0.0.0 -p 8888 ``` @@ -58,9 +61,10 @@ Use our [Docker image](https://hub.docker.com/r/unsloth/unsloth) ```unsloth/unsl You can also install directly from source: ``` -git clone https://github.com/unslothai/unsloth.git +pip install --upgrade pip && pip install uv +git clone --filter=blob:none https://github.com/unslothai/unsloth.git cd unsloth -pip install -e . +uv pip install -e . --torch-backend=auto unsloth studio setup unsloth studio -H 0.0.0.0 -p 8888 ``` @@ -68,13 +72,14 @@ unsloth studio -H 0.0.0.0 -p 8888 ### Unsloth Core (code-based) #### Windows, Linux, WSL ```bash -pip install unsloth +pip install --upgrade pip && pip install uv +uv pip install unsloth --torch-backend=auto ``` For Windows, `pip install unsloth` works only if you have Pytorch installed. Read our [Windows Guide](https://unsloth.ai/docs/get-started/install/windows-installation). You can use the same Docker image as Unsloth Studio. #### AMD, Intel -For RTX 50x, B200, 6000 GPUs: `pip install unsloth`. Read our guides for: [Blackwell](https://unsloth.ai/docs/blog/fine-tuning-llms-with-blackwell-rtx-50-series-and-unsloth) and [DGX Spark](https://unsloth.ai/docs/blog/fine-tuning-llms-with-nvidia-dgx-spark-and-unsloth).
+For RTX 50x, B200, 6000 GPUs: `uv pip install unsloth --torch-backend=auto`. Read our guides for: [Blackwell](https://unsloth.ai/docs/blog/fine-tuning-llms-with-blackwell-rtx-50-series-and-unsloth) and [DGX Spark](https://unsloth.ai/docs/blog/fine-tuning-llms-with-nvidia-dgx-spark-and-unsloth).
To install Unsloth on **AMD** and **Intel** GPUs, follow our [AMD Guide](https://unsloth.ai/docs/get-started/install/amd) and [Intel Guide](https://unsloth.ai/docs/get-started/install/intel). ## ✨ Free Notebooks diff --git a/studio/backend/requirements/extras-no-deps.txt b/studio/backend/requirements/extras-no-deps.txt index 29bd421a0a..3bdce81cc1 100644 --- a/studio/backend/requirements/extras-no-deps.txt +++ b/studio/backend/requirements/extras-no-deps.txt @@ -8,7 +8,7 @@ snac # TRL and related packages trl==0.23.1 git+https://github.com/meta-pytorch/OpenEnv.git -executorch>=1.0.1 +# executorch>=1.0.1 # 41.5 MB - no imports in unsloth/zoo/studio torch-c-dlpack-ext sentence_transformers==5.2.0 transformers==4.57.1 diff --git a/studio/backend/requirements/extras.txt b/studio/backend/requirements/extras.txt index 51ef69cf5d..170b1c9ec8 100644 --- a/studio/backend/requirements/extras.txt +++ b/studio/backend/requirements/extras.txt @@ -4,7 +4,7 @@ tomli-w # ExecuTorch dependencies ruamel.yaml -coremltools +# coremltools # 10.2 MB - Apple CoreML, no imports in unsloth/zoo/studio expecttest flatbuffers hydra-core @@ -15,7 +15,7 @@ pytest<9.0 pytest-json-report pytest-rerunfailures==15.1 pytest-xdist -# Also needed by sentence_transformers +# Also needed by sentence_transformers (installed with --no-deps in extras-no-deps.txt) scikit-learn==1.7.1 # Additional extras @@ -26,8 +26,8 @@ omegaconf einx pyloudnorm openai-whisper -uroman -MeCab +# uroman # 4.0 MB - romanization, no imports found +# MeCab # 19.9 MB - Japanese tokenizer, no imports found loguru flatten_dict ffmpy diff --git a/studio/backend/requirements/studio.txt b/studio/backend/requirements/studio.txt index da0b4f382b..186ba82fe0 100644 --- a/studio/backend/requirements/studio.txt +++ b/studio/backend/requirements/studio.txt @@ -10,7 +10,7 @@ datasets==4.3.0 pyjwt easydict addict -gradio>=4.0.0 +# gradio>=4.0.0 # 148 MB - Studio uses React + FastAPI, not Gradio huggingface-hub==0.36.2 structlog>=24.1.0 diceware diff --git a/studio/frontend/src/features/chat/components/model-load-status.tsx b/studio/frontend/src/features/chat/components/model-load-status.tsx index ad9946b0fe..afec327a0f 100644 --- a/studio/frontend/src/features/chat/components/model-load-status.tsx +++ b/studio/frontend/src/features/chat/components/model-load-status.tsx @@ -4,7 +4,6 @@ import { Progress } from "@/components/ui/progress"; import { Spinner } from "@/components/ui/spinner"; import { Button } from "@/components/ui/button"; -import { XIcon } from "lucide-react"; type ModelLoadDescriptionProps = { title?: string | null; @@ -28,11 +27,11 @@ export function ModelLoadDescription({ const hasProgress = typeof progressPercent === "number"; return ( -
+
-
+
{title ?

{title}

: null} {hasProgress ? (
@@ -49,13 +48,13 @@ export function ModelLoadDescription({ {onStop ? ( ) : null}