Biblioteca open source de LLM baseada em JAX e implementação de referência para pré-treinar e pós-treinar modelos grandes em TPUs e GPUs do Google Cloud.
google/paxml
Pax é um framework baseado em JAX para configurar e executar experimentos de machine learning em larga escala, principalmente com modelos de linguagem, em TPUs.
- Estrelas
- 560
- Forks
- 73
- Issues abertas
- 30
- Último commit
- há 12 dias
O que é?
Pax (Paxml) é um framework para configurar e executar experimentos de machine learning com JAX. Ele foi desenvolvido em torno de experimentos totalmente configuráveis e paralelização, com foco no treinamento de modelos grandes, como modelos de linguagem Transformer apenas com decoder. Modelos, tarefas e learners são definidos com hiperparâmetros baseados em dataclasses, que usam a biblioteca de camadas complementar Praxis e oferecem suporte à configuração com Fiddle.
O projeto é voltado para TPU VMs do Google Cloud, incluindo configurações v4 de host único, slices de TPU Pod e configurações multislice. Ele inclui configurações de exemplo para treinar com o dataset C4 em modelos com 1B, 16B e mais parâmetros, além de um benchmark de Model FLOPs Utilization (MFU) em execuções com weak scaling nos TPU v4 Pods. Os dados podem vir de SeqIO, Lingvo ou subclasses personalizadas de BaseInput; o projeto também traz orientações sobre sharding em ambientes multihost e avaliação.
O repositório informa que a NVIDIA mantém uma versão separada e atualizada do Pax com suporte a GPU, indicada em seu próprio repositório.
Recursos principais
- 01Experimentos configuráveis e hiperparâmetros baseados em dataclasses e Fiddle.
- 02Suporte a paralelismo com pjit/SPMD, pmap e configurações multislice de TPU.
- 03Configurações de exemplo para treinamento com C4 em modelos de 1B, 16B e no estilo GPT-3 XL.
- 04Várias opções de entrada de dados, incluindo SeqIO, adaptadores do Lingvo e entradas personalizadas.
- 05Benchmarks de Model FLOPs Utilization em TPU v4 Pods.
Casos de uso
- Treinar modelos de linguagem grandes, apenas com decoder, em Google Cloud TPU v4 Pods.
- Executar experimentos reproduzíveis baseados em JAX, com configurações personalizáveis de modelo e paralelismo.
- Medir a eficiência do treinamento (MFU) em diferentes escalas de modelos e chips.
Início rápido
- 1
Crie uma Cloud TPU VM (configure primeiro as variáveis de ambiente)
gcloud compute tpus tpu-vm create $TPU_NAME --zone=$ZONE --version=$VERSION --project=$PROJECT --accelerator-type=$ACCELERATOR - 2
Acesse a TPU VM por SSH
gcloud compute tpus tpu-vm ssh $TPU_NAME --zone=$ZONE - 3
Instale o Pax pelo PyPI junto com o JAX para TPU
python3 -m pip install paxml jax[tpu] -f https://storage.googleapis.com/jax-releases/libtpu_releases.html - 4
Execute um modelo de teste de exemplo
python3 .local/lib/python3.8/site-packages/paxml/main.py --exp=tasks.lm.params.lm_cloud.LmCloudSpmd2BLimitSteps --job_log_dir=gs://<your-bucket>
Antes de usar
- Foi desenvolvido para hardware Cloud TPU; a configuração e os exemplos do README pressupõem o uso de TPU VMs.
- A configuração depende de recursos do Google Cloud, como um projeto GCP e um bucket de armazenamento.
Tópicos
Perguntas frequentes
- O que é paxml?
- Pax é um framework baseado em JAX para configurar e executar experimentos de machine learning em larga escala, principalmente com modelos de linguagem, em TPUs. Pax (Paxml) é um framework para configurar e executar experimentos de machine learning com JAX. Ele foi desenvolvido em torno de experimentos totalmente configuráveis e paralelização, com foco no treinamento de modelos grandes, como modelos de linguagem Transformer apenas com decoder. Modelos, tarefas e learners são definidos com hiperparâmetros baseados em dataclasses, que usam a biblioteca de camadas complementar Praxis e oferecem suporte à configuração com Fiddle.
- paxml é gratuito? Qual é a licença?
- paxml é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- paxml ainda é mantido?
- Manutenção ativa. O último commit de paxml foi em 26 de out. de 2026.
- Para que posso usar paxml?
- Treinar modelos de linguagem grandes, apenas com decoder, em Google Cloud TPU v4 Pods. Executar experimentos reproduzíveis baseados em JAX, com configurações personalizáveis de modelo e paralelismo. Medir a eficiência do treinamento (MFU) em diferentes escalas de modelos e chips.
- Como instalar paxml?
- Crie uma Cloud TPU VM (configure primeiro as variáveis de ambiente): gcloud compute tpus tpu-vm create $TPU_NAME --zone=$ZONE --version=$VERSION --project=$PROJECT --accelerator-type=$ACCELERATOR Acesse a TPU VM por SSH: gcloud compute tpus tpu-vm ssh $TPU_NAME --zone=$ZONE Instale o Pax pelo PyPI junto com o JAX para TPU: python3 -m pip install paxml jax[tpu] -f https://storage.googleapis.com/jax-releases/libtpu_releases.html Execute um modelo de teste de exemplo: python3 .local/lib/python3.8/site-packages/paxml/main.py --exp=tasks.lm.params.lm_cloud.LmCloudSpmd2BLimitSteps --job_log_dir=gs://<your-bucket>
- Onde consigo paxml?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/paxml
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um pacote instalável via pip que fixa um conjunto testado de bibliotecas JAX (Flax, Optax, Orbax, Chex, Grain) para IA e computação numérica.
Um backend de PyTorch que permite executar modelos e operações do PyTorch nas Tensor Processing Units (TPUs) do Google.
Framework baseado em Ray e vLLM para RLHF e treinamento de agentes com RL em modelos de linguagem e visão-linguagem de grande porte.
Engine unificado de treinamento para modelos multimodais, com suporte a treinamento de VLMs, modelos de difusão e LLMs usando FSDP2, Muon e kernels Liger.
Pacote Swift com módulos de LLM para o ecossistema Spezi, incluindo modelos no dispositivo, OpenAI e inferência em nós Fog.