O NVIIDI Tuning Nviadi nvia nvira nvira nvidi nvem nos dados do DataSet da Amazon usando LORA e PEFT: tipo eficazes de mudanças e reformador
Inteligência artificial

O NVIIDI Tuning Nviadi nvia nvira nvira nvidi nvem nos dados do DataSet da Amazon usando LORA e PEFT: tipo eficazes de mudanças e reformador


Nesta lição, examinamos se o modelo NV-SHUD-V1 V1 do NVI-V1 do NVIDIS do Mazon usa Lora (admissão de baixo rank) com peft (parâmetro-phye-pye-tuning funciona bem) da cabeça da face . Ao aproveitar a Lora, adaptamos o modelo sem alterar todos os seus parâmetros, fazendo uma boa fórmula no grus de baixo gramas.
Etapas para a implementação desta lição podem ser divididas nas seguintes etapas:

  1. Ruluvantes para acessar a NV-Embetbed-V1
  2. Carregando e preparando bem o modelo
  3. Usar Lora faz uma boa equipe usando peft
  4. Encontrando o conjunto de dados de polaridade da Amazon para treinar
  5. Preparando -se para o uso da memória da GPU usando `id_map =” Auto “`
  6. Modelo de treinamento e teste na separação de sentidos

No final deste guia, você terá um modelo de NV-V1 bem feito, separado dos símbolos binários, para mostrar como você pode usar as técnicas necessárias nas atividades reais da PNL.

from huggingface_hub import login


login()  # Enter your Hugging Face token when prompted


import os
HF_TOKEN = "...."  # Replace with your actual token
os.environ["HF_TOKEN"] = HF_TOKEN


import torch
import torch.distributed as dist
from transformers import AutoModel, AutoTokenizer, TrainingArguments, Trainer
from datasets import load_dataset
from peft import LoraConfig, get_peft_model

Primeiro de tudo, entramos no hub de abraço de rosto, usamos seu token de API, configuramos o token como variáveis ​​e enviamos várias bibliotecas de informações para serem treinadas em treinamento e modelos de deliciosas transformações como a Lora.

MODEL_NAME = "nvidia/NV-Embed-v1"
HF_TOKEN = "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"  # Replace with your actual token


tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, token=HF_TOKEN)
model = AutoModel.from_pretrained(
    MODEL_NAME,
    device_map="auto",  # Enable efficient GPU placement
    torch_dtype=torch.float16,  # Use FP16 for efficiency
    token=HF_TOKEN
)

O Streppet define um nome de modelo específico e um token de autenticação e carregando um toxenizador compatível com o modelo do centro de futebol de ensacamento. Ele também prepara o modelo para usar a deformação padrão da GPU e a precisão do desempenho avançado do FP16.

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["self_attn.q_proj", "self_attn.v_proj"],  
    lora_dropout=0.1,
    bias="none",
    task_type="FEATURE_EXTRACTION",
)


model = get_peft_model(model, lora_config)
model.print_trainable_parameters()

Com o código acima, nos preparamos para a configuração do LORA com alguns parâmetros (como r = 16, lora_alpha = 3,1 falta de atenção à sua atenção e identidade. Ele abrange essa configuração no modelo usando o PEFT para apenas as camadas Lora são acessíveis apenas em comissões de recursos e, finalmente, os parâmetros treinados são impressos.

dataset = load_dataset("amazon_polarity")


def tokenize_function(examples):
    return tokenizer(examples["content"], padding="max_length", truncation=True)


tokenized_datasets = dataset.map(tokenize_function, batched=True)

Aqui, carregamos os dados da Amazon, descrevemos a função de seu campo “Conteúdo” com preenchimento e truncamento e usamos essa função para modificar o formato do modelo do modelo.

training_args = TrainingArguments(
    output_dir="./results",
    evaluation_strategy="epoch",
    per_device_train_batch_size=4,
    per_device_eval_batch_size=4,
    num_train_epochs=1,
    save_strategy="epoch",
    save_total_limit=1,
    logging_dir="./logs",
    logging_steps=10,
    fp16=True,  # Mixed precision
)


trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_datasets["train"],
    eval_dataset=tokenized_datasets["test"],
)

trainer.train()

Com o código acima, configuramos parâmetros de treinamento, como Patch, Login e FP16, para verificar a precisão – usando o treinador com o modelo e as datas de treinador / teste tonizadas e, eventualmente, iniciar o processo de treinamento.

model.save_pretrained("./fine_tuned_nv_embed")
tokenizer.save_pretrained("./fine_tuned_nv_embed")
print("✅ Training Complete! Model Saved.")

Por fim, mantemos um modelo bem organizado e seu tokenzer no diretório especificado e imprimimos uma mensagem de confirmação indicando que o treinamento é concluído e o modelo é salvo.

No final desta lição, planejamos com sucesso o NV-JOB-V1 no conjunto de dados de polaridade da Amazon usando LORA e PEFT, para garantir o uso e a adaptação eficazes da memória. Esta lição destaca a força do parâmetro de bom planejamento, permitindo sincronizar o domínio de modelos grandes sem a necessidade de grandes recursos do computador. Esse método pode ser estendido a outros modelos baseados em transformadores, o que o torna útil em motivação personalizada, análise emocional e aplicações conduzidas pela PNL. Esteja você trabalhando em uma revisão do produto, os sistemas gratuitos são conduzidos pela IA ou pelos motores relacionados à família, essa opção permite planejar grandes modelos de orçamento.


Aqui está o Caderno de Colab do projeto acima. 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.

🚨 Pesquisa recomendada recomendada para nexo


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.



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 *