#1405·xformers

Unsloth на Windows для fine-tuning.

Author: caprall116Created Aug 14, 2026Updated Aug 14, 2026

❓ Questions and Help

Тема: Что делать, если Unsloth не устанавливается на Windows? (разбор ошибок и итог)

Цель: дообучить (fine-tune) модель Qwen2.5-7B-Instruct на собственных данных с помощью библиотеки Unsloth (которая обещает ускорение обучения в 2-5 раз и снижение потребления VRAM).

Система:

ОС: Windows 11 Pro 64-bit

Процессор: Intel Core i5/i7 (x86_64)

Видеокарта: NVIDIA GeForce RTX 3050 (6 ГБ VRAM)

Драйвер NVIDIA: 591.86 (поддерживает CUDA 11.8)

CUDA Toolkit: 11.8 (установлен в C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8)

Python: 3.12.7

Виртуальное окружение: venv

Компилятор: Visual Studio Build Tools 2022 (MSVC v143) + Windows SDK 10.0.26100.0

Ninja: установлен

Описание проблемы

Попытка установить Unsloth на Windows с CUDA 11.8 привела к серии ошибок, которые в итоге сделали процесс невозможным. Основные проблемы:

Отсутствие prebuilt wheels для xformers 0.0.28 на Windows с CUDA 11.8

Начиная с версии xformers 0.0.28, разработчики удалили prebuilt wheels для Windows с CUDA 11.8 и 12.1. Официально доступны только сборки для Linux. При попытке установить xformers через pip install xformers==0.0.28.post3 --index-url https://download.pytorch.org/whl/cu118 получаем ошибку:

ERROR: Could not find a version that satisfies the requirement xformers==0.0.28.post3 ERROR: No matching distribution found for xformers==0.0.28.post3

Попытка сборки из исходников - ошибка library.h

Мы попытались собрать xformers из исходников с помощью Ninja:

git clone https://github.com/facebookresearch/xformers.git cd xformers set MAX_JOBS=2 set TORCH_CUDA_ARCH_LIST=8.6 set NVCC_FLAGS=-allow-unsupported-compiler python setup.py build --ninja

Сборка завершилась ошибкой:

fatal error C1083: Не удается открыть файл включение: torch/csrc/stable/library.h: No such file or directory

Файл library.h появился в PyTorch начиная с версии 2.6. Актуальная версия xformers из main требует PyTorch >= 2.6, а у нас был PyTorch 2.5.1+cu118.

Автозамена PyTorch на несовместимую версию

При попытке установить Unsloth через официальную команду:

pip install "unsloth[windows] @ git+https://github.com/unslothai/unsloth.git"

установщик самовольно обновлял PyTorch до версии 2.12.1 (или 2.11.0), что приводило к конфликтам:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. torchaudio 2.5.1+cu118 requires torch==2.5.1+cu118, but you have torch 2.12.1 which is incompatible.

Это известная проблема: Unsloth требует точную версию PyTorch (например, 2.10.0), а зависимости, установленные вместе с ним, могут перезаписывать PyTorch на другую версию.

Циклические конфликты версий

После каждой попытки исправления возникали новые конфликты:

datasets требовал fsspec[http]<=2025.9.0, а устанавливалась более новая версия

xformers требовал torch>=2.10, но при установке PyTorch 2.5.1 возникала несовместимость

unsloth требовал transformers>=4.51.3, а у нас была 4.44.2

unsloth требовал datasets>=3.4.1, а у нас была 3.1.0

Замкнутый круг, из которого не удалось выйти.

Предпринятые шаги для решения

Шаг 1: Установка Visual Studio Build Tools 2022 + MSVC v143 - Результат: Успешно Шаг 2: Установка CUDA Toolkit 11.8 - Результат: Успешно Шаг 3: Установка Ninja - Результат: Успешно Шаг 4: Установка PyTorch 2.5.1+cu118 - Результат: Успешно Шаг 5: Попытка установить xformers через pip - Результат: Ошибка: нет wheel для Windows Шаг 6: Сборка xformers из исходников с Ninja - Результат: Ошибка: отсутствует library.h Шаг 7: Обновление PyTorch до 2.6+ для совместимости с xformers - Результат: Конфликт с CUDA 11.8 Шаг 8: Установка Unsloth через unsloth[windows] - Результат: Автозамена PyTorch на 2.12.1 Шаг 9: Фиксация версий через --no-deps - Результат: Пропадают зависимости, Unsloth не работает Шаг 10: Полная очистка и переустановка с фиксированными версиями - Результат: Циклические конфликты

Почему это не сработало (главные причины)

Xformers 0.0.28 не имеет prebuilt wheels для Windows с CUDA 11.8. Это официальное решение разработчиков, и оно не изменится в ближайшее время.

Сборка из исходников на Windows крайне сложна и требует точного соответствия версий PyTorch, CUDA, MSVC и самого xformers. Даже при наличии всех инструментов возникают ошибки из-за отсутствия специфичных файлов (например, library.h).

Unsloth агрессивно управляет версией PyTorch, что приводит к конфликтам с другими пакетами (torchaudio, torchvision).

Экосистема Windows для ML-разработки исторически менее дружелюбна, чем Linux. Большинство библиотек (xformers, flash-attention, triton) тестируются в первую очередь на Linux, а Windows-сборки либо отсутствуют, либо требуют сложной компиляции.

RTX 3050 с 6 ГБ VRAM - хотя и поддерживает CUDA 11.8, но для fine-tuning 7B-модели с Unsloth требуется больше памяти. Даже при успешной установке обучение могло бы не запуститься из-за CUDA out of memory.

Итог: неудача

Unsloth не был установлен. После множества попыток, переустановок, сборок и фиксации версий мы пришли к выводу, что на данной системе (Windows 11 + CUDA 11.8 + Python 3.12) стабильная установка Unsloth невозможна без перехода на Linux или использования WSL2.

Что делать? (рекомендации)

Вариант А: Переход на WSL2 (рекомендуется)

Установите Windows Subsystem for Linux (WSL2) с дистрибутивом Ubuntu 22.04. В WSL2:

Установка PyTorch с CUDA 11.8: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Установка xformers (для Linux есть prebuilt wheel!): pip install xformers==0.0.28.post3 --index-url https://download.pytorch.org/whl/cu118

Установка Unsloth: pip install unsloth

В WSL2 xformers устанавливается без проблем, и Unsloth работает стабильно.

Вариант Б: Стандартный fine-tuning без Unsloth

Если переход на WSL2 невозможен, используйте стандартный подход с bitsandbytes + peft + transformers. Это медленнее на 30-40%, но стабильно работает на Windows.

pip install torch==2.5.1+cu118 torchvision==0.20.1+cu118 --index-url https://download.pytorch.org/whl/cu118 pip install transformers accelerate peft bitsandbytes datasets trl

Скрипт для fine-tuning:

from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer from peft import LoraConfig, get_peft_model from datasets import load_dataset import torch

model = AutoModelForCausalLM.from_pretrained( "Qwen/Qwen2.5-7B-Instruct", load_in_4bit=True, torch_dtype=torch.bfloat16, device_map="auto", )

настройка LoRA и обучение Вариант В: Использование готовых fine-tuned моделей

Если fine-tuning не является обязательным, можно использовать уже дообученные модели с Hugging Face (например, русскоязычные адаптации Qwen2.5-7B).

Вариант Г: Облачные решения

Использовать Google Colab (бесплатный GPU) или RunPod (платный) для fine-tuning, а затем скачать готовую модель и использовать её локально через Ollama.

Заключение

Попытка установить Unsloth на Windows с CUDA 11.8 закончилась неудачей из-за:

отсутствия prebuilt wheels для xformers

сложности сборки из исходников

агрессивного управления версиями PyTorch со стороны Unsloth

общей недружелюбности Windows-экосистемы для ML-разработки

Рекомендация: перейти на WSL2 или использовать стандартный fine-tuning без Unsloth.

Если у вас есть опыт успешной установки Unsloth на Windows с CUDA 11.8 - пожалуйста, поделитесь. Буду благодарен за любые советы.

Почта для связи: [email protected]

Source: facebookresearch/xformers