As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
GitHub repositórios
Para iniciar um trabalho de treinamento, você utiliza arquivos de dois GitHub repositórios distintos:
Esses repositórios contêm componentes essenciais para iniciar, gerenciar e personalizar os processos de treinamento de grandes modelos de linguagem (LLM). Você usa os scripts dos repositórios para configurar e executar os trabalhos de treinamento para o seu LLMs.
HyperPod repositório de receitas
Use o repositório de SageMaker HyperPod receitas
-
main.py: esse arquivo serve como ponto de entrada principal para iniciar o processo de envio de um trabalho de treinamento para um cluster ou um trabalho de SageMaker treinamento. -
launcher_scripts: Esse diretório contém uma coleção de scripts comumente usados, projetados para facilitar o processo de treinamento de vários modelos de linguagem grande (LLMs). -
recipes_collection: essa pasta contém uma compilação de fórmulas predefinidas de LLM fornecidas pelos desenvolvedores. Os usuários podem utilizar essas fórmulas com seus próprios dados personalizados para treinar modelos de LLM adaptados às suas necessidades específicas.
Você usa as SageMaker HyperPod receitas para iniciar trabalhos de treinamento ou de ajuste fino. Independentemente do cluster que você está usando, o processo de envio da tarefa é o mesmo. Por exemplo, você pode usar o mesmo script para enviar um trabalho a um cluster do Slurm ou do Kubernetes. O inicializador envia uma tarefa de treinamento com base em três arquivos de configuração:
-
Configuração geral (
config.yaml): inclui configurações comuns, como os parâmetros padrão ou variáveis de ambiente usadas na tarefa de treinamento. -
Configuração de cluster (cluster): para tarefas de treinamento que usam somente clusters. Se você estiver enviando uma tarefa de treinamento a um cluster do Kubernetes, talvez seja necessário especificar informações como volume, rótulo ou política de reinicialização. Para clusters do Slurm, talvez seja necessário especificar o nome da tarefa do Slurm. Todos os parâmetros estão relacionados ao cluster específico que você está usando.
-
Fórmula (fórmulas): as fórmulas contêm as configurações da tarefa de treinamento, como tipos de modelo, grau de fragmentação ou caminhos do conjunto de dados. Por exemplo, você pode especificar o Llama como seu modelo de treinamento e treiná-lo usando técnicas de paralelismo de dados ou de modelos, como paralelismo de dados totalmente fragmentados (FSDP) em oito máquinas. Você também pode especificar diferentes frequências ou caminhos de pontos de verificação para a tarefa de treinamento.
Depois de especificar uma receita, você executa o script do lançador para especificar um trabalho de end-to-end treinamento em um cluster com base nas configurações por meio do main.py ponto de entrada. Para cada fórmula usada, há scripts de shell associados localizados na pasta launch_scripts. Esses exemplos orientam você a enviar e iniciar tarefas de treinamento. A figura a seguir ilustra como um lançador de SageMaker HyperPod receitas envia um trabalho de treinamento para um cluster com base no anterior. Atualmente, o lançador de SageMaker HyperPod receitas é construído sobre o Nvidia NeMo Framework Launcher. Para obter mais informações, consulte o Guia do NeMo Launcher
HyperPod repositório de adaptadores de receitas
O adaptador SageMaker HyperPod de treinamento é uma estrutura de treinamento. Você pode usá-lo para gerenciar todo o ciclo de vida de suas tarefas de treinamento. Use o adaptador para distribuir o pré-treinamento ou o ajuste fino de seus modelos em várias máquinas. O adaptador usa diferentes técnicas de paralelismo para distribuir o treinamento. Ele também lida com a implementação e o gerenciamento do salvamento de pontos de verificação. Consulte mais detalhes em Configurações avançadas.
Use o repositório do adaptador de SageMaker HyperPod receita
-
src: esse diretório contém a implementação do treinamento em larga escala de um grande modelo de linguagem (LLM), abrangendo vários recursos, como paralelismo do modelo, treinamento de precisão mista e gerenciamento de pontos de verificação. -
examples: esta pasta fornece uma coleção de exemplos que demonstram como criar um ponto de entrada para treinar um LLM, servindo como um guia prático para os usuários.