Обучение языковой модели на собственных данных обычно требует десятки гигабайт видеопамяти и неделю подготовки. Unsloth ужимает обе цифры: четырёхбитная загрузка плюс адаптеры LoRA вмещают компактную модель в одну видеокарту, а готовый notebook запускается за вечер.
Что умеет Unsloth
Unsloth — свободный инструмент, который позволяет дообучать и запускать языковые модели, экономя видеопамять. Он встроен в экосистему Hugging Face и ускоряет загрузку, обучение и вывод. Поддерживаются LoRA, QLoRA, full fine-tuning, SFT, RL, а также выгрузка под локальный либо серверный запуск.
| Вариант | Когда использовать |
|---|---|
| Unsloth Desktop | Локальный запуск моделей через готовое приложение |
| Unsloth Studio (Beta) | Визуальная подготовка данных, обучение и наблюдение за процессом |
| Unsloth Core | Скрипты Python, воспроизводимые эксперименты и собственные конвейеры |
| Готовые notebooks | Первый эксперимент в Google Colab или Kaggle |
Базовая схема работы Unsloth Core: загрузить instruct-модель в 4-битном виде, прикрепить LoRA-адаптеры, обучить их на собственных данных и сохранить отдельно либо слить с исходной моделью.
Важно: QLoRA — приём дообучения, при котором исходную модель грузят в 4-битном формате, а поправки фиксируют в лёгких LoRA-адаптерах. За счёт этого падают запросы к VRAM.
Unsloth, Ollama и LM Studio
Все три инструмента предназначены для открытых моделей, но закрывают разные участки процесса. Unsloth готовит данные, обучает и выгружает результат. Ollama и LM Studio поднимают готовую модель на локальном компьютере или сервере.
| Критерий | Unsloth | Ollama | LM Studio |
|---|---|---|---|
| Основная задача | Дообучение, RL, вывод и экспорт моделей | Локальный или серверный запуск моделей | Визуальный запуск, подбор и тестирование моделей |
| Типичный пользователь | ML-инженер, разработчик, технический пользователь | Разработчик, системный администратор, автор автоматизаций | Пользователь, которому нужен графический интерфейс |
| Дообучение | LoRA, QLoRA, full fine-tuning, SFT и RL | Запускает готовые модели и совместимые адаптеры | В основном используется для запуска и проверки готовых моделей |
| Интерфейс | Desktop, Studio, notebooks и Python | Терминал, HTTP API и интеграции | Десктопное приложение с чатом и каталогом |
| Форматы | LoRA, Safetensors, GGUF и другие форматы экспорта | GGUF, модели и адаптеры через Modelfile | GGUF и MLX, импорт через приложение или lms import |
| Локальный API | Есть в Unsloth Studio | OpenAI-совместимый API на порту 11434 | OpenAI-совместимый API на порту 1234 |
| Сервер без GUI | Core, Studio и Docker | Один из основных сценариев | Доступен headless-режим |
| Подбор моделей | Каталог Unsloth и готовые notebooks | Реестр Ollama и импорт своих моделей | Встроенный визуальный поиск по Hugging Face |
Совет: связка выглядит так — обучите модель в Unsloth, выгрузите в GGUF, далее откройте файл в LM Studio для визуальной проверки либо подключите через Ollama — для API, автоматизаций и постоянной серверной эксплуатации.
Перенос модели в Ollama
После выгрузки найдите фактический GGUF-файл: Unsloth складывает артефакты в заданный каталог, а итоговое имя зависит от модели и версии экспортёра.
find ./unsloth-model -name "*.gguf"
Создайте Modelfile, в котором указан абсолютный путь к найденному файлу:
FROM /absolute/path/to/model-Q4_K_M.gguf
PARAMETER temperature 0.2
PARAMETER num_ctx 4096
Импортируйте и запустите модель в Ollama:
ollama create my-finetuned-model -f Modelfile
ollama run my-finetuned-model
Для QLoRA основной рекомендованный путь — слитая модель → GGUF → Ollama. Подключение отдельного адаптера напрямую — продвинутый сценарий:
FROM <exact-base-model>
ADAPTER /path/to/safetensors/adapter/directory
Нужно точное совпадение исходной модели и поддерживаемой архитектуры Ollama. Из-за различий в квантизации Ollama советует для прямого импорта в первую очередь неквантованные адаптеры. Если ответы нестабильны — выгрузите объединённую модель в GGUF.
Запуск модели в LM Studio
Импортируйте полученный GGUF-файл. Команда lms import пока помечена как экспериментальная; если она выдаёт ошибку — загрузите файл через интерфейс или скопируйте его в каталог моделей вручную.
lms import /absolute/path/to/model-Q4_K_M.gguf
lms ls
lms ls покажет идентификатор модели. Далее её можно открыть в чате, сверить с оригиналом и поднять через локальный API:
lms load <model-identifier> --identifier="my-finetuned-model"
lms server start --port 1234
Проверочный запрос:
curl http://localhost:1234/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "my-finetuned-model",
"messages": [
{
"role": "user",
"content": "Выполни контрольное задание"
}
]
}'
Внимание: если модель отвечает правильно в Unsloth, но ломается после импорта, сверьте chat template, EOS token и формат системного сообщения. Они должны совпадать с обучающим контуром.
Выбор инструмента после обучения
- LM Studio — ручное тестирование, визуальное сравнение и работа без терминала.
- Ollama — локальный API, фоновая служба, автоматизации, агенты и несколько клиентов.
- Unsloth Studio — оставьте основным интерфейсом, если планируете продолжать обучение, сверять контрольные точки и выгружать новые версии.
- vLLM — высокая серверная нагрузка и параллельные пользователи.
Зачем нужно дообучение
Дообучение оправдано, когда модель обязана стабильно воспроизводить конкретное поведение:
- отвечать в заданном формате;
- выполнять узкую классификацию или извлечение данных;
- поддерживать специальный стиль диалога;
- применять повторяющуюся процедуру на примерах;
- лучше работать с терминологией определённой области.
Для часто меняющихся фактов обычно проще RAG — подача релевантных документов в контекст при запросе. Дообучение комбинируется с RAG: адаптер отвечает за поведение и формат, а внешняя база поставляет актуальные сведения.
Перед обучением соберите небольшой тестовый набор запросов и зафиксируйте ответы исходной модели. Эти опорные ответы дадут возможность проверить, дало ли обучение измеримое улучшение.
Когда использовать
Дообучение оправдано, если можно собрать примеры правильного результата и оценить качество на новых данных. Ниже — задачи, которые реально начать с компактной модели и QLoRA.
| Сценарий | Чему учить модель | Как проверить | Где запускать |
|---|---|---|---|
| Ответы службы поддержки | Тону, структуре ответа, правилам эскалации | Отложенные обращения и оценка операторов | Ollama или серверный API |
| Извлечение данных | Возвращать поля в строгом JSON | Доля корректных полей и валидного JSON | Ollama, LM Studio или пакетный скрипт |
| Классификация обращений | Выбирать категорию, приоритет и маршрут | Accuracy и матрица ошибок | Локальный API |
| Карточки товаров | Превращать характеристики в заданный шаблон | Соответствие полям и отсутствие выдуманных фактов | Пакетная обработка |
| Внутренний стиль | Соблюдать терминологию, длину и структуру | Редакционный чеклист | LM Studio для тестов, Ollama для интеграции |
| Работа с кодом | Следовать внутренним паттернам и формату патчей | Тесты, линтер и проверка кода | Кодинг-агент через локальный API |
| Нормализация расшифровок | Убирать речевой шум и сохранять факты | Сравнение с размеченными расшифровками | Локальный пакетный процесс |
| Генерация команд инструментов | Формировать стабильные tool calls | Доля валидных вызовов и успешных исполнений | Агентный рантайм |
| Персональные адаптеры | Настроить поведение под пользователя или команду | Изолированные тестовые наборы | Общая базовая модель с разными LoRA |
| Офлайн-помощник | Выполнять узкую задачу без внешнего API | Тесты на целевом устройстве без сети | Ноутбук, рабочая станция или локальный сервер |
Поддержка и обработка обращений
Датасет можно собрать из проверенных диалогов между клиентами и специалистами. Модель учится определять тип запроса, формировать ответ в принятой структуре, уточнять недостающие данные и передавать сложные случаи оператору.
В обучающую выборку нельзя без подготовки переносить персональные данные, платёжные реквизиты и конфиденциальную переписку.
Извлечение структурированных данных
Unsloth подходит, чтобы адаптировать компактную модель под повторяемое преобразование текста в JSON. Примеры задач:
- счёт или акт → реквизиты, сумма, дата;
- резюме → навыки и опыт;
- обращение клиента → категория и приоритет;
- описание объекта → набор характеристик;
- расшифровка встречи → решения и задачи.
Сценарий легко проконтролировать автоматически: JSON проходит валидацию, а извлечённые поля сравниваются с эталоном.
Единый формат корпоративных документов
Дообученная модель может стабильно собирать отчёты по проекту, карточки базы знаний, описания инцидентов и технические задания по фиксированной схеме.
Факты для документа лучше передавать в текущем запросе либо получать через RAG. Адаптер отвечает за структуру, язык и порядок разделов.
Локальная обработка чувствительных данных
После обучения модель выгружается в GGUF и запускается без внешнего API. Такой контур подходит для документов, которые нельзя отправлять в облачные сервисы.
Внимание: локальный запуск защищает данные от передачи внешнему API, но не отменяет контроль доступа, шифрование диска, журналирование и удаление временных файлов.
Адаптация под устройство
Компактную модель можно дообучить для одной узкой операции и запускать на ноутбуке, рабочей станции или edge-устройстве — компьютере на границе сети, который обрабатывает данные локально. Это полезно при работе без интернета, большом потоке однотипных запросов и необходимости зафиксировать конкретную версию модели.
Сперва определите лимиты целевого устройства, затем подбирайте объём модели и квантизацию. Контроль проводите на том же железе, где модель будет работать.
Когда дообучение не окупится
Не начинайте обучение, если:
- задача покрывается системным промптом и парой примеров;
- нужные факты постоянно меняются;
- отсутствуют эталонные ответы для контроля;
- набор данных состоит из случайно собранных документов;
- нужен только поиск по внутренней базе;
- ожидается единичный редкий запрос;
- неясно, какую метрику требуется улучшить.
В этих ситуациях сперва проверьте промптинг, RAG либо готовую более мощную модель. Адаптацию добавляйте после появления измеримого ограничения.
Быстрый путь через Unsloth Studio
Если собственный Python-конвейер не нужен, начните с Unsloth Studio — локального веб-интерфейса, который на момент проверки находился в Beta.
- Установите Unsloth Desktop либо запустите Studio по официальной инструкции.
- Возьмите актуальную instruct-модель из каталога и сверьте её лицензию.
- Загрузите JSONL, CSV либо документы и просмотрите полученные обучающие примеры.
- Отложите отдельный набор контрольных запросов, который не попадёт в обучение.
- Запустите короткий QLoRA-прогон с рекомендованными настройками.
- Сопоставьте базовую и дообученную модели на одинаковых запросах.
- Выгрузите удачную версию в GGUF для LM Studio либо Ollama.
Studio удобнее для первого эксперимента, отслеживания loss и сверки контрольных точек. Unsloth Core нужен, когда важны воспроизводимость, автоматизация, собственная обработка данных и встраивание обучения в кодовый конвейер.
Выбор модели и параметров
Для первого эксперимента берите актуальный conversational notebook Unsloth. Там уже согласованы модель, токенизатор, chat template и параметры записи.
Пример ниже берёт Llama 3.2 3B как компактную учебную модель, а не как безусловно лучший выбор в 2026 году. Для нового проекта сперва проверьте свежие model-specific notebooks, поддержку целевого языка, лицензию и ограничения будущего контура запуска.
Важно: Unsloth Core поставляется под Apache 2.0, отдельные компоненты Studio — под AGPL-3.0, а веса Llama 3.2 — по собственной лицензии Meta. Скачать и дообучить модель — не значит получить автоматическое разрешение на любое коммерческое применение.
При самостоятельной настройке стартуйте с компактной instruct-модели и QLoRA:
- load_in_4bit=True;
- max_seq_length=2048 для первого запуска;
- LoRA rank r=16;
- один короткий тестовый прогон на 60 шагов;
- затем полноценное обучение на 1–3 эпохи.
Внимание: избегайте full fine-tuning на старте. Сперва проверьте данные и задачу на LoRA либо QLoRA. Полное обучение требует заметно больше памяти и не исправит плохой набор данных.
Объём модели выбирайте по доступной видеопамяти и длине примеров. Точные требования зависят от архитектуры, batch size и context length, поэтому сверяйтесь с карточкой выбранной модели и актуальным notebook.
Установка Unsloth Core
Ниже — вариант для Linux или WSL. Для Windows, macOS, AMD и Intel обратитесь к отдельным официальным инструкциям.
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv unsloth_env --python 3.13
source unsloth_env/bin/activate
uv pip install unsloth --torch-backend=auto
# Зафиксировать фактически установленные версии
uv pip freeze | grep -E '^(unsloth|unsloth_zoo|trl|transformers|torch)=='
uv pip freeze > requirements-lock.txt
Важно: в примере ниже задействован актуальный публичный API TRL: processing_class и max_length. В старых notebooks Unsloth могут встречаться tokenizer и max_seq_length. Не комбинируйте параметры из разных версий; при расхождении следуйте notebook для выбранной модели и его окружению.
Проверьте, что PyTorch видит GPU:
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'GPU not found')"
Для NVIDIA ожидается True и название видеокарты. Если выводится False, проверьте драйвер, версию CUDA и выбранный PyTorch backend.
Подготовка датасета
Для диалоговой instruct-модели используйте conversational-схему: в каждой строке JSONL лежит массив messages. Это не обязательно буквальный ChatML — токенизатор преобразует сообщения в chat template конкретной модели. Чужой шаблон вручную не подставляйте.
{"messages":[{"role":"system","content":"Отвечай кратко и возвращай результат в JSON."},{"role":"user","content":"Извлеки город: встреча состоится в Казани."},{"role":"assistant","content":"{\"city\":\"Казань\"}"}]}
{"messages":[{"role":"system","content":"Отвечай кратко и возвращай результат в JSON."},{"role":"user","content":"Извлеки город: офис находится в Самаре."},{"role":"assistant","content":"{\"city\":\"Самара\"}"}]}
Правила подготовки:
- каждый пример содержит законченный запрос и эталонный ответ;
- формат отвечает реальному режиму использования модели;
- ответы не противоречат друг другу;
- редкие случаи представлены отдельными примерами;
- дубли, пустые строки и повреждённый JSON удалены;
- часть данных заранее отложена для контроля.
Сто примеров — техническая отправная точка для проверки конвейера, а не гарантия качества. Для стабильного результата нужен более крупный и разнообразный набор. Контрольную выборку отделите до обучения и сделайте достаточно большой для редких и критичных случаев: десять тестовых строк годятся только для smoke test. Качество примеров важнее простого увеличения их количества.
Запуск QLoRA-дообучения
Пример использует небольшую Llama 3.2 Instruct. Перед запуском сверьте имя модели в каталоге Unsloth.
from datasets import load_dataset
from trl import SFTConfig, SFTTrainer
from unsloth import FastLanguageModel, is_bfloat16_supported
MAX_LENGTH = 2048
MODEL_NAME = "unsloth/Llama-3.2-3B-Instruct-unsloth-bnb-4bit"
model, tokenizer = FastLanguageModel.from_pretrained(
model_name=MODEL_NAME,
max_seq_length=MAX_LENGTH,
load_in_4bit=True,
)
model = FastLanguageModel.get_peft_model(
model,
r=16,
target_modules=[
"q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj",
],
lora_alpha=16,
lora_dropout=0,
bias="none",
use_gradient_checkpointing="unsloth",
random_state=3407,
)
raw_dataset = load_dataset(
"json",
data_files="train.jsonl",
split="train",
)
split = raw_dataset.train_test_split(
test_size=0.1,
seed=3407,
)
def format_examples(batch):
texts = [
tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=False,
)
for messages in batch["messages"]
]
return {"text": texts}
train_dataset = split["train"].map(format_examples, batched=True)
eval_dataset = split["test"].map(format_examples, batched=True)
trainer = SFTTrainer(
model=model,
processing_class=tokenizer,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
args=SFTConfig(
dataset_text_field="text",
max_length=MAX_LENGTH,
per_device_train_batch_size=2,
gradient_accumulation_steps=4,
learning_rate=2e-4,
warmup_steps=10,
max_steps=60,
logging_steps=1,
eval_strategy="steps",
eval_steps=20,
per_device_eval_batch_size=1,
fp16=not is_bfloat16_supported(),
bf16=is_bfloat16_supported(),
output_dir="outputs",
optim="adamw_8bit",
seed=3407,
report_to="none",
),
)
trainer.train()
Этот упрощённый пример считает loss по всей собранной последовательности, включая инструкции пользователя. Для рабочего instruction-tuning изучите response-only либо completion-only обучение в актуальном notebook выбранной модели, чтобы оптимизировать в первую очередь ответы ассистента.
Вслед за запуском должны появиться training loss, eval_loss на шагах контроля и каталог outputs с checkpoints. Наличие этих файлов подтверждает работу конвейера, но не качество модели.
max_steps=60 годится для проверки конвейера. Для полноценного запуска замените на num_train_epochs=1 и при необходимости увеличьте до трёх эпох, следя за validation loss.
Проверка результата
Падение training loss подтверждает, что LLM учится на наборе данных, но само по себе не доказывает полезность адаптера. Контролируйте результат в три этапа:
- Прогоните одинаковые контрольные запросы на исходной и дообученной модели.
- Проверьте точность формата, содержание и поведение на примерах, отсутствовавших в обучении.
- Убедитесь, что модель сохранила базовые навыки и не копирует обучающие ответы механически.
Для классификации и извлечения данных считайте метрики на отдельной отложенной выборке. Для диалогового поведения подготовьте фиксированный набор сценариев и критерии ручной оценки. Порог успешности задайте до обучения, чтобы не подбирать метрику задним числом.
| Задача | Основная проверка | Что считать ошибкой |
|---|---|---|
| JSON-извлечение | Валидность JSON и точность по каждому полю | Невалидная схема, пропущенное или выдуманное значение |
| Классификация | Macro-F1, матрица ошибок и recall критичных классов | Ошибочный маршрут или пропуск приоритетного класса |
| Поддержка | Чеклист фактов, тона, структуры и эскалации | Выдуманный факт, нарушение политики или неверная эскалация |
| Tool calls | Доля валидных вызовов и успешных исполнений | Неверная схема, аргумент или выбор инструмента |
Признаки переобучения:
- training loss продолжает падать, а validation loss растёт;
- модель повторяет фразы из набора данных;
- ответы становятся однообразными;
- качество падает на иных формулировках той же задачи.
Сохранение LoRA и экспорт в GGUF
Запись небольшого LoRA-адаптера:
model.save_pretrained("unsloth-lora")
tokenizer.save_pretrained("unsloth-lora")
Выгрузка слитой модели в GGUF под llama.cpp, Ollama либо LM Studio:
model.save_pretrained_gguf(
"unsloth-model",
tokenizer,
quantization_method="q4_k_m",
)
Артефакты сохранятся в каталоге unsloth-model; точное имя файла не стоит предугадывать. Найдите созданный GGUF и используйте этот путь в LM Studio либо Modelfile Ollama:
find ./unsloth-model -name "*.gguf"
q4_k_m годится как стартовый баланс размера и качества. Для более точного контроля дополнительно выгрузите q8_0 и сопоставьте ответы.
Внимание: при исполнении выгруженной модели применяйте тот же chat template и корректный EOS token, что использовались при обучении. Несовпадение шаблона часто провоцирует повторы, бессвязный текст либо бесконечную генерацию.
Для многопользовательского серверного вывода изучите выгрузку в 16-bit и запуск через vLLM. GGUF в первую очередь удобен для локального исполнения через llama.cpp-совместимые инструменты.
Лицензии и воспроизводимость
Перед обучением проверьте четыре независимых права и ограничения:
- лицензию Unsloth и используемых компонентов;
- лицензию базовой модели и её Acceptable Use Policy;
- право применять документы, переписку и код в обучающем наборе данных;
- условия распространения получившегося адаптера либо слитой модели.
Для Llama 3.2 действует Llama 3.2 Community License. Для другого примера условия могут отличаться. Фиксируйте рядом с результатом название и revision базовой модели, chat template, версии пакетов, параметры обучения, seed и описание набора данных. Без этого эксперимент трудно воспроизвести либо проверить.
Типичные проблемы
| Проблема | Что проверить |
|---|---|
| CUDA out of memory | Уменьшите batch size и max_seq_length, оставьте 4-bit, увеличьте gradient accumulation |
| Модель ломается в Ollama | Сверьте chat template, EOS token и служебные токены |
| Загрузка останавливается на 90–95% | Установите UNSLOTH_STABLE_DOWNLOADS=1 до импорта Unsloth |
| Validation loss растёт | Сократите число эпох, снизьте learning rate, проверьте дубли и противоречия |
| Ответы копируют датасет | Добавьте разнообразные примеры и увеличьте отложенную выборку |
| Экспорт завершается по OOM | Уменьшите maximum_memory_usage при сохранении, например до 0.5 |
Ограничения
Ограничения
Что учитывать
Технические границы, которые нужно учитывать при планировании адаптации.
Требования к видеопамяти зависят от модели — Размер, batch size и context length определяют расход VRAM.
Llama 3.2 3B в 4-bit с LoRA r=16 укладывается в 6–8 ГБ, но более крупные модели требуют пропорционально больше. Сверяйтесь с карточкой модели и актуальным notebook перед запуском.
Прямой импорт адаптера в Ollama — продвинутый сценарий — Требует точного совпадения исходной модели и поддерживаемой архитектуры.
Для QLoRA рекомендуется объединённая модель → GGUF → Ollama, а не подключение адаптера напрямую.
lms import в LM Studio помечен как экспериментальный — Команда может не сработать.
Если она не работает — загрузите файл через интерфейс либо скопируйте GGUF в каталог моделей вручную.
Загрузка может останавливаться на 90–95%
— Известная проблема, устраняется установкой переменной окружения UNSLOTH_STABLE_DOWNLOADS=1 до импорта Unsloth в скрипте.
Лицензии компонентов различаются — Unsloth Core — Apache 2.0, компоненты Studio — AGPL-3.0, веса моделей — по собственным лицензиям вендоров.
Коммерческое применение требует проверки каждого слоя.
Антипаттерны
Антипаттерны
Чего не делать
Ошибочные ходы, которые приводят к потере времени и ресурсов.
Начинать с полного дообучения — Full fine-tuning требует значительно больше памяти и не спасёт слабый набор данных.
Сперва проверьте данные и задачу на QLoRA с 60 шагами, затем переходите к полному обучению.
Использовать персональные данные без подготовки
— Перенос персональных данных, платёжных реквизитов и конфиденциальной переписки в обучающую выборку без анонимизации нарушает регуляции и создаёт юридический риск.
Обучать на случайно собранных документах — Датасет из неструктурированных файлов без разметки и проверки даёт непредсказуемый результат.
Сначала определите формат, отложите контрольную выборку, удалите дубли.
Смешивать параметры из разных версий TRL — В старых notebooks встречаются tokenizer и max_seq_length, в актуальном API — processing_class и max_length.
Не комбинируйте параметры из разных версий; ориентируйтесь на notebook для выбранной модели.
Игнорировать chat template и EOS token при экспорте — Несовпадение шаблона провоцирует повторы, бессвязный текст или бесконечную генерацию.
Фиксируйте chat template и EOS token рядом с моделью.
Чеклист
Чеклист
Проверка перед запуском
Проверяемые действия перед запуском адаптации.
Адаптация особенно полезна, когда у команды есть повторяемая задача, качественные примеры и понятный способ оценить результат. Отдельно стоит рассчитать требования к железу и дальнейший контур запуска модели.
GPU виден PyTorch — torch.cuda.is_available() возвращает True, название видеокарты определено.
Если False — проверьте драйвер, CUDA и PyTorch backend.
Контрольные запросы записаны до обучения — Ответы исходной модели сохранены как опорная точка.
После обучения можно сопоставить и измерить улучшение.
Датасет соответствует реальному использованию — Формат примеров совпадает с тем, как модель будет применяться.
Ответы не противоречат друг другу, дубли удалены, редкие случаи представлены.
Контрольная выборка отделена — Тестовые данные не попадают в обучение.
Размер выборки достаточен для редких и критичных случаев, а не ограничивается десятью строками.
Версии пакетов зафиксированы — requirements-lock.txt создан после установки.
Включает unsloth, trl, transformers, torch с точными версиями для воспроизводимости.
Лицензии проверены — Unsloth, базовая модель и компоненты Studio — каждый слой отдельно.
Коммерческое применение подтверждено или ограничено.
Ссылки
Ссылки
- Документация: Unsloth — официальная документация
- Документация: Руководство по дообучению LLM
- Документация: Подготовка датасетов
- Документация: Установка Unsloth
- Документация: Экспорт в GGUF
- Документация: Troubleshooting и FAQ
- Репозиторий: unslothai/unsloth
- Репозиторий: Каталог notebooks
- Документация: Импорт в LM Studio
- Документация: Импорт модели в Ollama
- Документация: Unsloth Studio
- Документация: Актуальный API SFTTrainer
- Документация: Карточка и лицензия Llama 3.2 3B Instruct