Unsloth: инструмент с открытым исходным кодом для эффективной тонкой настройки и обучения больших языковых моделей
Общее введение
Unsloth - это проект с открытым исходным кодом, предназначенный для предоставления эффективных инструментов для тонкой настройки и обучения больших языковых моделей (LLM). Проект поддерживает широкий спектр известных моделей, включая Llama, Mistral, Phi, Gemma и т. д. Ключевыми особенностями Unsloth являются возможность значительно сократить использование памяти и ускорить обучение, что позволяет пользователям завершить тонкую настройку и обучение моделей за меньшее время. Кроме того, Unsloth предоставляет обширную документацию и учебные пособия, которые помогут пользователям быстро освоиться и в полной мере использовать все его возможности.

Список функций
- Эффективная тонкая настройка: Поддержка нескольких моделей, таких как Llama, Mistral, Phi и Gemma, с 2-5-кратной ускоренной тонкой настройкой и 50-80% меньшим потреблением памяти.
- Бесплатное использование: Предоставляется бесплатный блокнот, чтобы пользователи могли просто добавить набор данных и запустить весь код, чтобы получить точно настроенную модель.
- Несколько форматов экспорта: Поддержка экспорта точно настроенных моделей в GGUF, Ollama, vLLM или загрузки на Hugging Face.
- динамическое количественное определение: Поддерживает динамическое 4-битное квантование для повышения точности модели, занимая при этом менее 10% памяти.
- Длительная поддержка контекста: Поддерживает 89K контекстных окон для моделей Llama 3.3 (70B) и 342K контекстных окон для моделей Llama 3.1 (8B).
- Поддержка визуального моделирования: Поддерживает такие модели зрения, как Llama 3.2 Vision (11B), Qwen 2.5 VL (7B) и Pixtral (12B).
- Оптимизация рассуждений: Предоставляет различные возможности оптимизации вывода, позволяющие значительно повысить скорость вывода.
Использование помощи
Процесс установки
- Установка зависимостей: Убедитесь, что установлен Python 3.8 и выше, а также что установлены следующие зависимости:
bash
pip install torch transformers datasets - склад клонов: Клонируйте репозиторий Unsloth с помощью Git:
bash
git clone https://github.com/unslothai/unsloth.git
cd unsloth - Установите Unsloth: Выполните следующую команду, чтобы установить Unsloth:
bash
pip install -e .
Учебники
- Модели для погрузки: Загрузите предварительно обученную модель в сценарий Python:
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "unslothai/llama-3.3" model = AutoModelForCausalLM.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name)
- Тонкая настройка модели: Используйте блокнот, предоставленный Unsloth, для тонкой настройки модели. Вот простой пример:
from unsloth import Trainer, TrainingArguments training_args = TrainingArguments( output_dir="./results", num_train_epochs=3, per_device_train_batch_size=4, save_steps=10_000, save_total_limit=2, ) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, ) trainer.train()
- Экспортная модель: После завершения тонкой настройки модель можно экспортировать в различные форматы:
python
model.save_pretrained("./finetuned_model")
tokenizer.save_pretrained("./finetuned_model")
Детальное управление функциями
- динамическое количественное определениеUnsloth поддерживает динамическое 4-битное квантование в процессе тонкой настройки, что позволяет значительно повысить точность модели, занимая при этом менее 10% памяти. Пользователи могут включить эту функцию в параметрах обучения:
training_args = TrainingArguments( output_dir="./results", num_train_epochs=3, per_device_train_batch_size=4, save_steps=10_000, save_total_limit=2, quantization="dynamic_4bit" )
- Длительная поддержка контекста: Unsloth поддерживает контекстное окно размером 89 КБ в модели Llama 3.3 (70B) и контекстное окно размером 342 КБ в модели Llama 3.1 (8B). Это делает модель еще лучше в работе с длинным текстом. Пользователь может указать размер контекстного окна при загрузке модели:
model = AutoModelForCausalLM.from_pretrained(model_name, context_window=89000)
- Поддержка визуального моделированияUnsloth также поддерживает различные модели зрения, такие как Llama 3.2 Vision (11B), Qwen 2.5 VL (7B) и Pixtral (12B). Пользователи могут использовать эти модели для создания и обработки изображений:
python
model_name = "unslothai/llama-3.2-vision"
model = AutoModelForImageGeneration.from_pretrained(model_name)
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...