Llama de ajuste FLUS 3.2 3B comanda o código Python: o guia perfeito para entrar
Inteligência artificial

Llama de ajuste FLUS 3.2 3B comanda o código Python: o guia perfeito para entrar


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



Source link

Você também pode gostar...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *