Nesta lição, iremos para configurar e editar bem e planejar bem no LLAMA ENSINE MODEL 3.2 3B Usando o Código Python especial para o Python. No final deste guia, você estará melhor ciente de que pode personalizar grandes idiomas com o código ativo de código e compreensão das atividades necessárias para encontrar o melhor plano.
Para incluir a inclinação necessária
!pip install "unsloth[colab-new] @ git+
!pip install "git+
!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
Essas instruções incluem todas as bibliotecas necessárias – como desagradáveis, variáveis e xformmers – necessárias para organizar o LLLAM 3.2 3B. Por fim, executamos instruções de diagnóstico para garantir uma instalação eficaz de Xformers e Bisandbytes.
INGREGAÇÃO IMPORTANTE
from unsloth import FastLanguageModel
from trl import SFTTrainer
from transformers import TrainingArguments
import torch
from datasets import load_dataset
Nós importamos classes e funções do Ensloth, TRL, bem como modelos de modelo e boa ordem. Além disso, enviamos os dados do código Python com o `load_dataSet` do Hugging Face para preparar amostras de treinamento.
Carregando os dados do código Python
max_seq_length = 2048
dataset = load_dataset("user/Llama-3.2-Python-Alpaca-143k", split="train") #Save the dataset on your user profile on HF, then load the dataset on your user id
Colocamos o comprimento alto para 2048 tokens em um modelo bem preparado e carregamos o código Python personalizado da face da face. Verifique se você possui dados armazenados em seu nome de usuário para acessar o acesso apropriado.
Modelo de partida Yelllama 3.2 3b
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/Llama-3.2-3B-Instruct-bnb-4bit",
max_seq_length = max_seq_length,
dtype = None,
load_in_4bit = True
)
Carregamos o LLAMA ENSINE MODEL 3.2 3B em formato de 4 bits usando a Biblioteca Invisível, o que reduz o uso da memória. Gerenciando a entrada de texto por um longo tempo, também definimos os seguintes comprimentos do murmúrio em 2048.
Preparação de Lora com não -lotes
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, # Supports any, but = 0 is optimized
bias = "none", # Supports any, but = "none" is optimized
# [NEW] "unsloth" uses 30% less VRAM, fits 2x larger batch sizes!
use_gradient_checkpointing = "unsloth", # True or "unsloth" for very long context
random_state = 3407,
use_rslora = False, # We support rank stabilized LoRA
loftq_config = None, # And LoftQ
max_seq_length = max_seq_length
)
Aplicamos o LORA (adaptação de baixo rank) ao nosso modelo carregado de 4 bits, especificamos as configurações de classificação (R), alfa (Lora_alpha) e abandono. Wese_gradient_checkpoint = “UNSLOTH” nos permite ser usados para memória bem eficiente e permite o treinamento do Moilded. Opções adicionais do LORA, como USE_SLORA e LOUFTQ_CONFIG, estão disponíveis com estratégias programadas desenvolvidas e está desativado aqui para facilitar. Finalmente, colocamos o melhor comprimento de sequência para corresponder à nossa configuração anterior.
Google Google Drive
from google.colab import drive
drive.mount("/content/drive")
Nós importamos o módulo Google Colab Drive para acessar o acesso ao Google Drive a partir do ambiente Colob.
Definir e usar loop de treinamento em loop
trainer = SFTTrainer(
model = model,
train_dataset = dataset,
dataset_text_field = "text",
max_seq_length = max_seq_length,
tokenizer = tokenizer,
args = TrainingArguments(
per_device_train_batch_size = 2,
gradient_accumulation_steps = 4,
warmup_steps = 10,
# num_train_epochs = 1, # Set this for 1 full training run.
max_steps = 60,
learning_rate = 2e-4,
fp16 = not torch.cuda.is_bf16_supported(),
bf16 = torch.cuda.is_bf16_supported(),
logging_steps = 1,
optim = "adamw_8bit",
weight_decay = 0.01,
lr_scheduler_type = "linear",
seed = 3407,
output_dir = "/content/drive/My Drive/Llama-3.2-3B-Instruct-bnb-4bit"
),
)
trainer.train()
Criamos um exemplo de um conjunto de dados de código SFFTRAER com nosso modelo, Tokenzer e Python, que descreve o campo de treinamento. O TrainingGargs descreve os principais hiperpâmetros como um tamanho de lote, classificação de aprendizado, etapas de alto treinamento, hardware como FP16 ou BF16. Neste exemplo, colocamos o diretório de saída do Google Drive para salvar pontos de verificação e logs. Finalmente, pedimos ao método de treinamento.Train () para iniciar um bom processo de pedido.
Mantém um modelo bem preparado
model.save_pretrained("lora_model") # Local saving
tokenizer.save_pretrained("lora_model")
Mantemos o modelo treinado da LORA e seu tokenzer em uma pasta local é Lora_model. Isso permite que você envie e use um modelo bem preparado ao longo do tempo sem repetir o processo de treinamento.
Na conclusão, indique a lição inteira, mostrando como podemos consertar o LLAMA 3.2 3B, eu me ensino um modelo no conjunto de dados do Pythoset usando o LORA e a biblioteca Suaty de 4 bits. Ao inserir os textos fornecidos, você pode treinar um modelo pequeno, trabalhando com a memória que funciona bem do que produzir e entender o código Python. Nesse processo, mostramos uma integração de Evlothi do uso de memória bem feito, a adaptação do modelo Lora, bem como as ferramentas e o treinamento de gerenciamento de rosto. Essa configuração permite criar e personalizar modelos de idiomas associados a operações específicas relacionadas ao código, melhorar a precisão e o funcionamento dos recursos.
Baixar notebook Colab aqui. Todo o crédito deste estudo é pesquisado para este projeto. Além disso, não se esqueça de seguir Sane e junte -se ao nosso Estação de telégrafo incluindo LinkedIn grtópico. Não se esqueça de se juntar ao nosso 75k + ml subreddit.
🚨 O Marktechpost está gritando para as empresas / inicialização / grupos cooperarem com as próximas revistas da IA a seguinte 'fonte AI em produção' e 'e' Agentic AI '.
O Asphazzaq é um Markteach Media Inc. De acordo com um negócio e desenvolvedor de visualização, a ASIFI está comprometida em integrar uma boa inteligência social. Sua última tentativa é lançada pelo lançamento do Plano de Química para uma Inteligência, Marktechpost, uma prática íntima devastadora de um aprendizado de máquina e problemas de aprendizado profundo que são de forma clara e facilmente compreendida. A plataforma está aderindo a mais de dois milhões de visitas à lua, indicando sua popularidade entre o público.
✅ [Recommended] Junte -se ao nosso canal de telégrafo