Este tutorial oferece um guia detalhado para executar o
ajuste refinado supervisionado (SFT) em uma única
instância de v6e-8
máquina virtual (VM) da Unidade de Processamento de Tensor (TPU) no Google Cloud usando o MaxText, uma
pilha de treinamento de alto desempenho baseada em JAX para modelos de linguagem grandes (LLMs).
Objetivos
- Configure uma instância de VM do Cloud TPU.
- Instale o MaxText e as dependências dele.
- Converter um modelo do Hugging Face para o formato MaxText.
- Execute uma carga de trabalho de treinamento de SFT na TPU.
- Converta o modelo refinado de volta para o formato do Hugging Face para veiculação.
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Para mais informações, consulte Limpar.
Antes de começar
Você precisa de um token de acesso do Hugging Face para usar este tutorial. Você pode se inscrever para uma conta sem custo financeiro no Hugging Face. Depois de ter uma conta, gere um token de acesso:
- Na página Bem-vindo ao Hugging Face, clique no avatar da sua conta e selecione Tokens de acesso.
- Na página Tokens de acesso, clique em Criar novo token.
- Selecione o tipo de token Leitura e insira um nome para ele.
- Seu token de acesso vai aparecer. Salve o token em um local seguro.
- No site do Hugging Face, aceite o contrato de licença do modelo que você planeja treinar. Este tutorial usa o modelo
gemma3-4b.
Para conseguir as permissões necessárias a fim de concluir o tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
- Administrador da TPU (
roles/tpu.admin) - Usuário da conta de serviço (
roles/iam.serviceAccountUser) - Editor do Compute (
roles/compute.editor)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Configure o ambiente
Configure as variáveis de ambiente executando o seguinte script:
Substitua:
- YOUR_PROJECT_ID: o ID do projeto do Google Cloud
- YOUR_ZONE: a zona que você quer usar
- YOUR_RESERVATION_NAME: sua reserva de capacidade
- YOUR_TPU_NAME: o nome da instância de VM da Cloud TPU
Execute o seguinte comando para fazer a autenticação com Google Cloud :
gcloud auth login
Criar uma VM do Cloud TPU
Crie uma instância de VM de TPU do Cloud TPU com oito chips de TPU v6e vinculados à sua reserva de capacidade.
Depois que a instância de VM for criada, conecte-se a ela usando SSH.
Conclua as etapas a seguir na sua instância de VM de TPU.
Instalar o MaxText
Atualize os pacotes do sistema na instância de VM da TPU.
Instale o Python 3.12, que é necessário para o MaxText, e o pacote de ambiente virtual dele.
Use uv para acelerar a instalação do pacote Python.
Crie e ative um ambiente virtual chamado maxtext_venv.
Instale o MaxText e as dependências necessárias para tarefas pós-treinamento.
Instale as dependências necessárias restantes executando o seguinte comando:
Converter o modelo para o formato MaxText
Para treinar o modelo no formato MaxText, é preciso convertê-lo do formato Hugging Face para o formato MaxText.
Especifique as variáveis de ambiente, como o token de acesso do Hugging Face, o nome do modelo que você quer usar e o diretório em que quer salvar o modelo no formato MaxText.
Substitua YOUR_HF_TOKEN pelo token de acesso do Hugging Face que você criou anteriormente.
Para converter o modelo do formato Hugging Face para o formato MaxText, execute o script a seguir. Essa conversão leva cerca de cinco minutos para ser concluída.
Iniciar a carga de trabalho de treinamento
Depois que o processo de conversão for concluído, você poderá iniciar a carga de trabalho do SFT.
Configure os parâmetros de treinamento da carga de trabalho SFT.
Inicie o job de treinamento. Isso leva cerca de 10 minutos em uma instância de VM
v6e-8.
Converter o modelo treinado de volta para o formato do Hugging Face
Depois que a carga de trabalho de treinamento for concluída, converta o modelo de volta para o formato do Hugging Face.
Defina os caminhos para exportação e os parâmetros treinados.
Execute a conversão de volta para o formato do Hugging Face.
Depois que a conversão for concluída, o modelo ajustado armazenado em
/dev/shm/gemma3-4b/hf-trained estará pronto para uso. Como você perde o acesso ao conteúdo da pasta /dev/shm quando a VM é reinicializada, mova o modelo ajustado para um armazenamento permanente ou faça upload dele para o Hugging Face Hub.
Limpar
Para evitar cobranças extras, exclua os recursos criados durante este tutorial.
Excluir a instância de VM de TPU
Saia da instância de VM de TPU da Cloud TPU e exclua-a.
A seguir
- Para mais informações sobre o Cloud TPU, consulte Introdução ao Cloud TPU.
- Para detalhes da arquitetura e da configuração da TPU
v6e-8, consulte TPU v6e.