Merge branch 'main' into fix/windows-setup-no-gpu

This commit is contained in:
Daniel Han 2026-03-18 00:25:04 -07:00 committed by GitHub
commit ce80c3f9ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 22 additions and 18 deletions

View file

@ -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). <br>
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). <br>
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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 (
<div className="flex min-h-12 w-full items-stretch gap-2">
<div className="relative flex min-h-12 w-full items-stretch gap-2">
<div className="flex h-full shrink-0 items-center self-center">
<Spinner className="size-4 text-foreground" />
</div>
<div className="min-w-0 flex-1">
<div className="min-w-0 flex-1 pr-5">
{title ? <p className="text-foreground leading-5 font-semibold">{title}</p> : null}
{hasProgress ? (
<div className="w-full pt-1">
@ -49,13 +48,13 @@ export function ModelLoadDescription({
{onStop ? (
<Button
type="button"
size="icon-sm"
size="xs"
variant="ghost"
aria-label="Stop model loading"
className="h-auto w-10 self-stretch shrink-0 rounded-xl text-muted-foreground hover:bg-destructive/10 hover:text-destructive focus-visible:text-destructive"
className="h-auto self-stretch shrink-0 !rounded-none !border-0 bg-transparent px-1 text-[10px] text-muted-foreground hover:bg-transparent hover:text-destructive focus-visible:text-destructive"
onClick={onStop}
>
<XIcon className="size-3.5" />
Cancel
</Button>
) : null}
</div>