CPT em Nova 2.0 - SageMaker Inteligência Artificial da Amazon

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á.

CPT em Nova 2.0

O Amazon Nova Lite 2.0 é um modelo de raciocínio treinado em conjuntos de dados maiores e mais diversos do que o Nova Lite 1.0. Apesar de ser um modelo maior, o Nova Lite 2.0 oferece inferência mais rápida do que o Nova Lite 1.0, ao mesmo tempo em que oferece recursos aprimorados de raciocínio, maiores comprimentos de contexto e melhor desempenho multilíngue.

O CPT no Nova 2.0 permite que você estenda esses recursos avançados com seus dados específicos de domínio, permitindo que o modelo desenvolva uma profunda experiência em áreas especializadas, mantendo suas habilidades superiores de raciocínio e análise.

Preparação de dados para CPT em 2.0

Requisitos de formato de dados

Os conjuntos de dados de treinamento e validação devem ser arquivos JSONL seguindo o formato mostrado abaixo, em que cada linha contém um objeto JSON representando uma conversa com a estrutura e os campos necessários. Exemplo:

{"text": "AWS stands for Amazon Web Services"} {"text": "Amazon SageMaker is a fully managed machine learning service"} {"text": "Amazon Bedrock is a fully managed service for foundation models"}

As entradas de texto devem conter conteúdo fluído naturalmente e de alta qualidade que represente o domínio de destino.

Teste se os dados podem ser convertidos no formato Arrow. Use o script python abaixo para ajudar com isso. Certifique-se de que a datasets==2.18.0 versão, no mínimo, seja usada:

from datasets import load_dataset, load_from_disk from pathlib import Path input_path = Path("<Your jsonl file>") output_path = Path("<Your output directory>") dataset = load_dataset("json", data_files=str(input_path), split="train") dataset.save_to_disk(str(output_path), max_shard_size="1GB") try: test_dataset = datasets.load_from_disk(output_dir) print(f"Dataset loaded successfully ✅! Contains {len(test_dataset)} samples") except Exception as e: print(e)

Ele deve imprimir o mesmo número de linhas que estavam no arquivo JSONL.

Ao usar o datamixing, execute o primeiro trabalho com. max_steps=2 Isso ajudará a criar otimizações no cluster para acesso aos dados e validar se todos os conjuntos de dados estão disponíveis.

Como preparar dados para o CPT

Os dados de treinamento são o fator determinante mais importante para o sucesso do pré-treinamento contínuo. Embora os dados do CPT sejam frequentemente descritos como “sem rótulo”, a realidade é muito mais sutil. A forma como os dados são estruturados, formatados e apresentados determina se o modelo adquirirá o conhecimento e as habilidades necessárias para o caso de uso comercial.

Preparando conjuntos de dados corporativos estruturados para o CPT

Esse é um desafio comum para empresas e organizações que criam modelos básicos especializados em seu domínio. A maioria das empresas possui ricos repositórios de dados estruturados: catálogos de produtos, perfis de usuário, registros de transações, envios de formulários, chamadas de API e metadados operacionais. À primeira vista, isso parece muito diferente do texto web não estruturado normalmente usado no pré-treinamento padrão.

Para aprender de forma eficaz com dados corporativos estruturados, pense cuidadosamente nas tarefas posteriores e projete a apresentação dos dados para forçar o modelo a aprender as relações preditivas corretas.

Para liberar todo o potencial do pré-treinamento contínuo, considere:

  • Quais tarefas o modelo deve realizar no momento da inferência

  • Quais informações estão presentes nos dados brutos

  • Como estruturar esses dados para que o modelo aprenda a extrair e manipular as informações corretamente

Simplesmente despejar dados estruturados no treinamento não ensinará o modelo a raciocinar sobre isso. Molde ativamente a apresentação dos dados para orientar o que o modelo aprende.

Nas seções a seguir, há uma revisão da literatura demonstrando a importância do aumento de dados e fornecendo exemplos de estratégias de aumento para dados comerciais estruturados que fornecerão ideias úteis sobre como tratar e organizar o conjunto de dados de negócios para CPT.

Dados estruturados para CPT na literatura

O CPT pode incluir fatos de domínio no modelo, mas geralmente falha em tornar esses fatos recuperáveis e manipuláveis quando as entradas ou tarefas mudam. Experimentos controlados mostram que, sem um aumento diverso durante o pré-treinamento, os modelos memorizam fatos de maneiras frágeis que permanecem difíceis de extrair mesmo após o ajuste posterior das instruções, e recomendam injetar sinais semelhantes a instruções no início do treinamento. Para dados semiestruturados, a serialização aleatória e outros aumentos reduzem o sobreajuste do esquema, e é por isso que o CPT deve ser intercalado com tarefas de estilo de instrução em vez de ser executado primeiro e o IFT depois. O trabalho focado em finanças descobriu ainda que a combinação conjunta de dados de CPT e instrução em tempo de lote melhora a generalização e reduz o esquecimento em relação à receita sequencial. O relatório técnico da Qwen converge para o mesmo padrão ao integrar dados de instrução de alta qualidade ao próprio pré-treinamento, o que aumenta o aprendizado contextual e preserva o acompanhamento das instruções enquanto adquire novos conhecimentos de domínio.

O aumento de dados para corporações semiestruturadas é uma alavanca fundamental. O CPT com reconhecimento de gráficos sintéticos expande pequenos conjuntos de domínios em corpora vinculados a entidades que ensinam explicitamente relacionamentos e compostos com recuperação em tempo de inferência. A combinação conjunta de CPT e instruções supera os pipelines sequenciais no domínio financeiro e o equilíbrio com dados gerais reduz a degradação das habilidades gerais. O CPT de domínio de muito grande escala também pode manter uma ampla capacidade e até mesmo permitir compensações por meio da fusão de modelos, mas ainda aponta o ajuste de instruções como uma próxima etapa essencial, reforçando o valor da introdução de sinais de instrução durante o CPT.

Injetando diversidade por meio de randomização e embaralhamento

Uma estratégia geral que ajuda a ensinar o modelo de forma eficaz a partir dos conjuntos de dados estruturados e semiestruturados é alterar a ordem dos campos nos conjuntos de dados e até mesmo excluir aleatoriamente algumas chaves.

Embaralhar os campos força o modelo a ler o que cada valor significa em vez de onde ele aparece e a aprender as relações entre todos os campos. Por exemplo, no caso de um videogame publicado na loja da Amazon, quando “Título”, “Plataforma”, “Preço”, “Condição” e “Edição” chegam em permutações diferentes, o modelo não pode confiar em “o terceiro slot é a plataforma”; ele deve vincular rótulos a valores e aprender as relações bilaterais entre atributos: título, plataforma, preço, condição e preço. Assim, ele pode, por exemplo, inferir uma plataforma provável a partir do nome de um jogo e de um preço observado, ou estimar uma faixa de preço plausível considerando um título e uma plataforma.

O descarte aleatório de chaves durante a serialização age como o abandono de um recurso: evita a co-adaptação em qualquer campo e força o modelo a recuperar as informações perdidas das evidências restantes. Se “Plataforma” estiver ausente, o modelo deverá retirá-la da sequência de título ou do texto de compatibilidade; se “Preço” estiver oculto, ele deverá triangular a partir da plataforma, edição e condição. Isso cria simetria (A → B e B → A), robustez a listagens confusas do mundo real e invariância de esquema quando os campos estão ausentes, renomeados ou reordenados.

Um exemplo de estilo de compras torna isso concreto. Serialize o mesmo item de várias maneiras — “Título: 'Elden Ring' | Plataforma: PlayStation 5 | Condição: Usado — Como novo | Preço: $34,99" e uma permutação como “Preço: $34,99 | Título: 'Elden Ring' | Condição: Usado — Como novo | Plataforma: 5" — e, em alguns passes, solte “Plataforma” deixando “Compatível com” na descrição. PlayStation PS5 Treine objetivos complementares, como prever a plataforma a partir de {title, price} e prever uma faixa de preços a partir de {title, platform}. Como a ordem e até mesmo a presença das chaves variam, a única estratégia estável é aprender as verdadeiras relações entre os atributos em vez de memorizar um modelo.

A forma como os dados são apresentados é importante

LLMs aprenda prevendo o próximo token a partir do que eles já viram. Portanto, a ordem dos campos e eventos mostrados durante o treinamento decide o que o modelo pode aprender. Se o formato do treinamento corresponder à tarefa real, a perda recairá sobre os tokens de decisão exatos. Se os campos forem agrupados sem estrutura, o modelo aprende atalhos ou memoriza a popularidade e, em seguida, falha quando solicitado a escolher entre as opções.

Mostre primeiro a situação, depois as opções e depois a decisão. Se o modelo também precisar aprender sobre resultados ou explicações, coloque-os após a decisão.

Amostras de embalagem para CPT

O que é embalagem?

Significa simplesmente preencher cada janela de sequência nos dados de treinamento com vários exemplos inteiros para que a janela fique densa com tokens reais, não com preenchimento.

Por que isso importa?

Durante o treinamento, um tamanho máximo de contexto é definido, por exemplo, 8.192 tokens. Os lotes são moldados para [tamanho do lote × comprimento do contexto]. Se um exemplo de treinamento for menor que o comprimento do contexto, as posições restantes serão preenchidas. O preenchimento ainda percorre os núcleos de atenção e MLP, mesmo que a perda seja mascarada, então a computação é paga por tokens que não transmitem nenhum sinal de aprendizado.

Como fazer a embalagem?

Para empacotar várias amostras, concatene várias amostras de treinamento com um [DOC] separador entre elas (observe o espaço antes e depois do [DOC]) de forma que o comprimento total das amostras fique abaixo do comprimento de contexto desejado.

Um exemplo de documento empacotado ficaria assim:

{"text": "training sample 1 [DOC] training sample 2 [DOC] training sample 3"}