Настройка Llama 3.2 3B для Python: Полное руководство с Unsloth

 Fine-Tuning Llama 3.2 3B Instruct for Python Code: A Comprehensive Guide with Unsloth

“`html

Настройка и тонкая настройка модели Llama 3.2 3B Instruct

Установка необходимых зависимостей

Выполните следующие команды для установки библиотек:

!pip install "unsloth[colab-new]" 
!pip install "transformers" 
!pip install -U trl 
!pip install --no-deps trl peft accelerate bitsandbytes 
!pip install torch torchvision torchaudio triton 
!pip install xformers 
!python -m xformers.info 
!python -m bitsandbytes 

Эти команды установят все необходимые библиотеки для тонкой настройки модели Llama 3.2 3B Instruct.

Импорт необходимых библиотек

from unsloth import FastLanguageModel
from trl import SFTTrainer
from transformers import TrainingArguments
import torch
from datasets import load_dataset

Импортируем классы и функции для обучения модели и подготовки датасета.

Загрузка датасета Python кода

max_seq_length = 2048
dataset = load_dataset("user/Llama-3.2-Python-Alpaca-143k", split="train")

Устанавливаем максимальную длину последовательности в 2048 токенов и загружаем пользовательский датасет.

Инициализация модели Llama 3.2 3B

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Llama-3.2-3B-Instruct-bnb-4bit",
    max_seq_length = max_seq_length,
    load_in_4bit = True
)

Загружаем модель в 4-битном формате для экономии памяти.

Настройка LoRA с Unsloth

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,
    use_gradient_checkpointing = "unsloth",
    max_seq_length = max_seq_length
)

Применяем LoRA для оптимизации модели и настройки использования памяти.

Подключение Google Drive

from google.colab import drive
drive.mount("/content/drive")

Подключаем Google Drive для доступа к файлам.

Настройка и запуск цикла обучения

trainer = SFTTrainer(
    model = model,
    train_dataset = dataset,
    max_seq_length = max_seq_length,
    tokenizer = tokenizer,
    args = TrainingArguments(
        per_device_train_batch_size = 2,
        max_steps = 60,
        learning_rate = 2e-4,
        output_dir = "/content/drive/My Drive/Llama-3.2-3B-Instruct-bnb-4bit"
    ),
)

trainer.train()

Создаем экземпляр SFTTrainer и запускаем процесс тонкой настройки.

Сохранение тонко настроенной модели

model.save_pretrained("lora_model")
tokenizer.save_pretrained("lora_model")

Сохраняем модель и токенизатор для дальнейшего использования.

Заключение

В этом руководстве мы рассмотрели, как тонко настроить модель Llama 3.2 3B Instruct с помощью библиотеки Unsloth. Вы можете использовать эти скрипты для создания эффективной модели, которая хорошо справляется с задачами, связанными с Python кодом.

Как использовать ИИ в вашем бизнесе

Чтобы ваша компания оставалась конкурентоспособной, важно внедрять решения на основе ИИ:

  • Проанализируйте, как ИИ может изменить вашу работу.
  • Определите ключевые показатели эффективности (KPI), которые хотите улучшить с помощью ИИ.
  • Выберите подходящее решение и внедряйте его постепенно.
  • Начните с небольшого проекта, анализируйте результаты и расширяйте автоматизацию на основе полученных данных.

Контакты

Если вам нужны советы по внедрению ИИ, пишите нам в Telegram. Следите за новостями о ИИ в нашем канале или Twitter.

Попробуйте AI Sales Bot, который помогает отвечать на вопросы клиентов и генерировать контент для отдела продаж.

“`

Полезные ссылки: