
O Felafax é uma estrutura para o treinamento contínuo e o ajuste fino LLMS usando o XLA Runtime . Cuidamos da configuração necessária de tempo de execução e fornecemos um notebook Jupyter fora da caixa para começar.
Nosso objetivo no Felafax é construir a infra para facilitar a execução de cargas de trabalho da IA em hardware não-NVIDIA (TPU, AWS Trainium, AMD GPUs e Intel GPUs).
Adicione seu conjunto de dados, clique em "Run All" e você executará o recurso TPU gratuito no Google Colab!
| Apoios Felafax | Cadernos grátis |
|---|---|
| Lhama 3.1 (1b, 3b) |
LLAMA-3.1 JAX IMPLEMENTAÇÃO
LLAMA-3/3.1 Pytorch XLA
Comece com o ajuste fino dos seus modelos usando a CLI Felafax em algumas etapas simples.
Comece instalando a CLI.
pip install pipx
pipx install felafax-cliEm seguida, gerar um token de autenticação:
Por fim, autentique sua sessão da CLI usando seu token:
felafax-cli auth login --token < your_token > Primeiro, gerar um arquivo de configuração padrão para ajuste fino. Este comando gera um arquivo config.yml no diretório atual com valores de hiperparameter padrão.
felafax-cli tune init-configSegundo, atualize o arquivo de configuração com seus hyperparameters:
Huggingface Knobs:
Parâmetros de pipeline e treinamento do conjunto de dados:
batch_size , max_seq_length para usar para ajustar o conjunto de dados.null se você deseja que o Trainig seja executado por um conjunto de dados inteiro. Se NUM_STEPS estiver definido como um número, o treinamento será interrompido após o número especificado de etapas.learning_rate e lora_rank para usar para ajuste fino.eval_interval é o número de etapas entre as avaliações.Execute o comando a seguir para ver a lista de modelos básicos que você pode ajustar, apoiamos todas as variantes do llama-3.1 a partir de agora.
felafax-cli tune start --help Agora, você pode iniciar o processo de ajuste fino com o modelo selecionado da lista acima e o nome do conjunto de dados do HuggingFace (como yahma/alpaca-cleaned ):
felafax-cli tune start --model < your_selected_model > --config ./config.yml --hf-dataset-id < your_hf_dataset_name >Exemplo de comando para você começar:
felafax-cli tune start --model llama3-2-1b --config ./config.yml --hf-dataset-id yahma/alpaca-cleanedDepois de iniciar o trabalho de ajuste fino, a Felfaxx CLI cuida de girar as TPUs, executando o treinamento e carrega o modelo de ajuste fino para o hub do Huggingface.
Você pode transmitir logs em tempo real para monitorar o progresso do seu trabalho de ajuste fino:
# Use `<job_name>` with the job namethat you get after starting the fine-tuning.
felafax-cli tune logs --job-id < job_name > -fApós a conclusão do ajuste fino, você pode listar todos os seus modelos de ajuste fino:
felafax-cli model listVocê pode iniciar uma sessão interativa do terminal para conversar com seu modelo de ajuste fino:
# Replace `<model_id>` with model id from `model list` command you ran above.
felafax-cli model chat --model-id < model_id > A CLI é dividida em três grupos de comando principal:
tune : para iniciar/parar os trabalhos de ajuste fino.model : para gerenciar e interagir com seus modelos ajustados.files : Para fazer upload/visualizar seus arquivos do YourDataSet. Use o sinalizador --help para descobrir mais sobre qualquer grupo de comando:
felafax-cli tune --helpRecentemente, ajustamos o modelo LLAMA3.1 405B em GPUs 8xamd MI300X usando JAX em vez de Pytorch. As APIs avançadas de sharding da JAX nos permitiram alcançar um ótimo desempenho. Confira nossa postagem no blog para saber sobre a configuração e os truques de sharding que usamos.
Fizemos um ajuste fino com todos os pesos do modelo e parâmetros de LORA na precisão do BFLOAT16, e com Lora Rank de 8 e Lora Alpha de 16:
Os gráficos de utilização da GPU e utilização de VRAM podem ser encontrados abaixo. No entanto, ainda precisamos calcular a utilização do modelo (MFU). NOTA: Não foi possível executar a versão compilada do JIT do modelo 405B devido a restrições de infraestrutura e VRAM (precisamos investigar mais isso). Toda a execução de treinamento foi executada no modo Jax Eager, portanto, há um potencial significativo para melhorias no desempenho.


Se você tiver alguma dúvida, entre em contato conosco em [email protected].