Transformers documentation

Nanotron

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Nanotron

Nanotron é um framework de treinamento distribuído com paralelismo de tensor, paralelismo paralelo e paralelismo de dados (paralelismo 3D). Ele foi projetado para cargas de trabalho de treinamento em larga escala em centenas de GPUs.

Converta qualquer modelo do Transformers para uma implementação otimizada de modelo transformer Nanotron para pré-treino com o script convert_hf_to_nanotron.py.

torchrun --nproc_per_node=1 examples/llama/convert_hf_to_nanotron.py \
    --checkpoint_path=meta-llama/Llama-2-7b-hf \
    --save_path=./llama-7b-nanotron

Integração com Transformers

  1. Carregue um modelo compatível com o Transformers, como Llama, com a função from_pretrained(). Isso lê o arquivo config.json do diretório do checkpoint e cria um LlamaConfig.
  2. O Nanotron mapeia o LlamaConfig para o próprio formato de configuração e cria um modelo Nanotron.
  3. Converte os pesos do Transformers para o Nanotron. Um mapeamento de pesos orienta como mapear os nomes dos parâmetros do Nanotron para os nomes dos parâmetros do Transformers. Isso inclui o tratamento de transformações, como a fusão das projeções QKV e das projeções gate/up.

O Nanotron também depende do AutoTokenizer para converter texto em ids de tokens durante o pré-processamento e a geração.

Recursos

Update on GitHub