Este repositório contém código para ajustar modelos de idiomas grandes (LLMs) com um conjunto de dados de citações famosas.
Os métodos suportados de Finetuning são DeepSpeed, Lora ou Qlora.
Originalmente, o repo baixou e converteu os pesos do modelo para o GPTJ quando ainda não foi adicionado ao pacote de transformadores do HuggingFace. Esse código ainda pode ser visto no ramo original_youtube .
/quotes_dataset contém o conjunto de dados adequadamente formatado para ajuste fino. Veja repo para fazer este conjunto de dados aqui
/finetuning_repo contém código originalmente do repo aqui que modifiquei para trabalhar com mais modelos e com mais métodos.
Se precisar de ajuda profissional paga, isso está disponível nesse e -mail
Veja o vídeo antigo para o código de repo original aqui para um tutorial em vídeo.
Um vídeo mais atualizado para usar o modelo Huggingface pode ser visto aqui
Vá para o ramo original_youtube é que você deseja ver o código, mas eu recomendo que você use métodos mais modernos
O passo a passo atualizado usa o NVIDIA-Docker para tirar a dor de cabeça de grande parte do processo.
Se você possui um sistema Linux de 64 bits e precisar de drivers para um A100, poderá executar um comando como esse para ser configurado.
wget https://us.download.nvidia.com/tesla/515.86.01/NVIDIA-Linux-x86_64-515.86.01.run
Você executará o programa baixado com sudo.
chmod 777 NVIDIA-Linux-x86_64-515.86.01.run
sudo ./NVIDIA-Linux-x86_64-515.86.01.run
build_image.sh . Se você receber um erro sobre não poder encontrar a imagem do Docker, atualize para uma versão mais recente do CUDA. As imagens são periodicamente depreciadas. Em seguida, abra um PR para que você possa corrigir esse problema para os outros. Construir a imagem do Docker pode levar muitos minutos.run_image.sh . Este script executa a imagem do Docker que acabou de ser construída e monta o diretório atual para /workspace dentro do recipiente do docker. Todas as GPUs no sistema serão passadas. Além disso, para impedir o download de modelos sempre que este contêiner é executado, seu .cache também será passado.