Transformers documentation
Nanotron
Comece agora
Classes base
Modelos
Pré-processadores
Inferência
Pipeline API
API de geração
Otimização
Conversar com modelos
Serving
Treinamento
Hardware
Quantização
Integrações com o ecossistema
Recursos
API
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).
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-nanotronIntegração com Transformers
- Carregue um modelo compatível com o Transformers, como
Llama, com a função from_pretrained(). Isso lê o arquivoconfig.jsondo diretório do checkpoint e cria um LlamaConfig. - O Nanotron mapeia o LlamaConfig para o próprio formato de configuração e cria um modelo Nanotron.
- 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
- repositório Nanotron
- Ultrascale Playbook descreve como escalar o treinamento de forma eficiente com Nanotron