Em aprendizado de máquina, uma lei de escala neural é uma lei de escala empírica que descreve como o desempenho de uma rede neural muda conforme fatores principais são aumentados ou reduzidos. Esses fatores incluem tipicamente o número de parâmetros, o tamanho do conjunto de dados de treinamento, e o custo de treinamento. Alguns modelos também exibem ganhos de desempenho ao escalar a inferência por meio do aumento do computo em tempo de teste (test-time compute, TTC), estendendo as leis de escala neural além do treinamento para a fase de implantação.

Introdução Em geral, um modelo de aprendizado profundo pode ser caracterizado por quatro parâmetros: tamanho do modelo, tamanho do conjunto de dados de treinamento, custo de treinamento e a taxa de erro pós-treinamento (por exemplo, a taxa de erro no conjunto de teste). Cada uma dessas variáveis pode ser definida como um número real, geralmente escrito como (respectivamente: contagem de parâmetros, tamanho do conjunto de dados, custo computacional e perda).

Uma lei de escala neural é uma lei estatística empírica ou teórica entre esses parâmetros. Existem também outros parâmetros com outras leis de escala.

Tamanho do modelo Na maioria dos casos, o tamanho do modelo é simplesmente o número de parâmetros. No entanto, surge uma complicação com o uso de modelos esparsos, como modelos de mistura de especialistas. Em modelos esparsos, durante a inferência, apenas uma fração de seus parâmetros é utilizada. Em comparação, a maioria dos outros tipos de redes neurais, como os modelos transformadores, sempre usa todos os seus parâmetros durante a inferência.

Tamanho do conjunto de dados de treinamento O tamanho do conjunto de dados de treinamento geralmente é quantificado pelo número de pontos de dados contidos nele. Conjuntos de dados maiores são tipicamente preferidos, pois fornecem uma fonte de informação mais rica e diversificada a partir da qual o modelo pode aprender. Isso pode levar a um melhor desempenho de generalização quando o modelo é aplicado a dados novos e não vistos.Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. No entanto, aumentar o tamanho do conjunto de dados de treinamento também aumenta os recursos computacionais e o tempo necessários para o treinamento do modelo.

Com o método "pré-treinar e depois ajustar fino" (pretrain, then finetune) usado para a maioria dos modelos de linguagem grandes, existem dois tipos de conjunto de dados de treinamento: o conjunto de dados de pré-treinamento e o conjunto de dados de ajuste fino. Seus tamanhos têm efeitos diferentes no desempenho do modelo. Geralmente, o conjunto de dados de ajuste fino tem menos de 1% do tamanho do conjunto de dados de pré-treinamento.

Em alguns casos, uma pequena quantidade de dados de alta qualidade é suficiente para o ajuste fino, e mais dados não melhoram necessariamente o desempenho.

Muitas leis de escala, devido à sua natureza inerente de retornos decrescentes, valorizam os dados com base em uma função submodular de conjunto (submodular set function), conforme mostrado em um artigo sobre este tópico.

Custo de treinamento

O custo de treinamento é tipicamente medido em termos de tempo (quanto tempo leva para treinar o modelo) e recursos computacionais (quanta capacidade de processamento e memória são necessárias). É importante notar que o custo do treinamento pode ser significativamente reduzido com algoritmos de treinamento eficientes, bibliotecas de software otimizadas e computação paralela em hardware especializado, como GPUs ou TPUs.

O custo de treinamento de um modelo de rede neural é uma função de vários fatores, incluindo tamanho do modelo, tamanho do conjunto de dados de treinamento, complexidade do algoritmo de treinamento e os recursos computacionais disponíveis. Em particular, dobrar o tamanho do conjunto de dados de treinamento não necessariamente dobra o custo do treinamento, porque pode-se treinar o modelo várias vezes sobre o mesmo conjunto de dados (cada uma sendo uma "época").

Desempenho

O desempenho de um modelo de rede neural é avaliado com base em sua capacidade de prever com precisão a saída dados alguns dados de entrada. As métricas comuns para avaliar o desempenho do modelo incluem:

Log-verossimilhança negativa por token (logaritmo da perplexidade) para modelagem de linguagem; Acurácia, precisão, revocação e pontuação F1 para tarefas de classificação; Erro quadrático médio (MSE) ou erro absoluto médio (MAE) para tarefas de regressão; Classificação Elo em uma competição contra outros modelos, como em jogos ou preferência por um juiz humano.LMSYS Chatbot leaderboard

O desempenho pode ser melhorado usando mais dados, modelos maiores, diferentes algoritmos de treinamento, regularizando o modelo para evitar sobreajuste e parada antecipada usando um conjunto de validação.

Quando o desempenho é um número limitado ao intervalo , como acurácia, precisão, etc., ele frequentemente escala como uma função sigmoide do custo, como visto nas figuras.

Exemplos

(Hestness, Narang, et al, 2017) O artigo de 2017 é um ponto de referência comum para leis de escala neural ajustadas por análise estatística em dados experimentais. Trabalhos anteriores antes dos anos 2000, conforme citados no artigo, eram teóricos ou ordens de magnitude menores em escala. Enquanto trabalhos anteriores geralmente encontravam o expoente de escala como , com , o artigo descobriu que .

Dos fatores que variaram, apenas a tarefa pode alterar o expoente . Alterar os otimizadores, regularizadores e funções de perda da arquitetura alteraria apenas o fator de proporcionalidade, não o expoente. Por exemplo, para a mesma tarefa, uma arquitetura pode ter enquanto outra pode ter . Eles também descobriram que, para uma determinada arquitetura, o número de parâmetros necessário para atingir os níveis mais baixos de perda, dado um tamanho fixo do conjunto de dados, cresce como para outro expoente .

Eles estudaram tradução automática com LSTM (), modelagem de linguagem generativa com LSTM (), classificação ImageNet com ResNet () e reconhecimento de fala com duas arquiteturas híbridas (LSTMs complementadas por CNNs ou um decodificador de atenção) ().

(Henighan, Kaplan, et al, 2020) Uma análise de 2020 estudou relações estatísticas entre em uma ampla gama de valores e encontrou leis de escala semelhantes, na faixa de , , e em várias modalidades (texto, vídeo, imagem, texto para imagem, etc.).

Em particular, as leis de escala encontradas são (Tabela 1 de):

Para cada modalidade, eles fixaram um dos dois e variaram o outro ( é variado junto usando ), a perda de teste alcançável satisfazonde é a variável variada, e são parâmetros a serem encontrados por ajuste estatístico. O parâmetro é o mais importante. Quando é a variável variada, varia de a dependendo da modalidade do modelo. Isso corresponde ao do artigo de escala Chinchilla. Quando é a variável variada, varia de a dependendo da modalidade do modelo. Isso corresponde ao do artigo de escala Chinchilla. Dado um orçamento computacional fixo, a contagem ideal de parâmetros do modelo é consistentemente em torno deO parâmetro varia por um fator de até 10 para diferentes modalidades. O parâmetro expoente varia de a para diferentes modalidades. Esse expoente corresponde ao do artigo de escala Chinchilla. É "fortemente sugerido" (mas não verificado estatisticamente) que . Esse expoente corresponde ao do artigo de escala Chinchilla.

A lei de escala de foi confirmada durante o treinamento do GPT-3 (Figura 3.1).

Escala Chinchilla (Hoffmann, et al, 2022)

Uma lei de escala particular ("escala Chinchilla") afirma que, para um modelo de linguagem grande (LLM) treinado autoregressivamente por uma época, com um agendamento de taxa de aprendizado cosseno, temos:onde as variáveis são

é o custo de treinamento do modelo, medido em operações de ponto flutuante (FLOPs). é o número de tokens no conjunto de treinamento. é a perda média de log-verossimilhança negativa por token (nats/token), alcançada pelo LLM treinado no conjunto de dados de teste. representa a perda de um processo generativo ideal nos dados de teste. captura o fato de que um modelo de linguagem Transformer com parâmetros tem desempenho inferior ao processo generativo ideal. captura o fato de que o modelo treinado em tokens tem desempenho inferior ao processo generativo ideal.

e os parâmetros estatísticos são

, significando que custa 6 FLOPs por parâmetro para treinar em um token. Isso foi estimado por Kaplan et al. Observe que o custo de treinamento é muito maior do que o custo de inferência, pois o treinamento envolve passes diretos e retropropagação, enquanto a inferência custa de 1 a 2 FLOPs por parâmetro para inferir em um token. . Embora Besiroglu et al. afirmem que a estimativa estatística está ligeiramente incorreta e deveria ser .

As leis estatísticas foram ajustadas a dados experimentais com .

Como existem 4 variáveis relacionadas por 2 equações, impor 1 restrição adicional e 1 objetivo de otimização adicional permite resolver todas as quatro variáveis. Em particular, para qualquer fixo, podemos resolver exclusivamente todas as 4 variáveis que minimizam . Isso nos fornece o ideal para qualquer fixo:Inserindo os valores numéricos, obtemos o tamanho do modelo e o tamanho do conjunto de dados de treinamento "eficiente Chinchilla", bem como a perda de teste alcançável:Da mesma forma, podemos encontrar o tamanho ideal do conjunto de dados de treinamento e o orçamento computacional de treinamento para qualquer tamanho fixo de parâmetro do modelo, e assim por diante.

Existem outras estimativas para o tamanho do modelo e tamanho do conjunto de dados de treinamento "eficiente Chinchilla". O acima é baseado em um modelo estatístico de . Também se pode ajustar diretamente uma lei estatística para sem passar pelo desvio, para o qual se obtém:ou conforme tabelado: + / FLOP / FLOPs do treinamento do Gopher400 milhões1,92e+191/299688,0 bilhões1 bilhão1,21e+201/570620,2 bilhões10 bilhões1,23e+221/2819205,1 bilhões67 bilhões5,76e+2311,5 trilhão175 bilhões3,85e+246,73,7 trilhões280 bilhões9,90e+2417,25,9 trilhões520 bilhões3,43e+2559,511,0 trilhões1 trilhão1,27e+26221,321,2 trilhões10 trilhões1,30e+2822515,9216,2 trilhões

Discrepância A análise da lei de escala Chinchilla para treinamento de modelos de linguagem transformadores sugere que, para um dado orçamento de computação de treinamento (), para atingir a perda de pré-treinamento mínima para esse orçamento, o número de parâmetros do modelo () e o número de tokens de treinamento () devem ser escalonados em proporções iguais, . Essa conclusão difere da análise conduzida por Kaplan et al., que descobriu que deve ser aumentado mais rapidamente do que , .

Essa discrepância pode ser atribuída principalmente ao fato de os dois estudos usarem métodos diferentes para medir o tamanho do modelo. Kaplan et al.:

não contaram os parâmetros na camada de embedding de token, o que, quando analisado em tamanhos de modelo menores, leva a coeficientes enviesados; estudaram modelos menores do que o grupo Chinchilla, amplificando o efeito; assumiram que .

Efeitos secundários também surgem devido a diferenças no ajuste de hiperparâmetros e nos agendamentos de taxa de aprendizado. Kaplan et al.:

usaram um agendamento de aquecimento muito longo para modelos menores, tornando-os aparentemente menos eficientes; não ajustaram completamente os hiperparâmetros de otimização.

Além da escala Chinchilla Como a escala Chinchilla tem sido o ponto de referência para muitas execuções de treinamento em grande escala, houve um esforço concomitante para ir "além da escala Chinchilla", ou seja, modificar parte do pipeline de treinamento para obter a mesma perda com menos esforço, ou deliberadamente treinar por mais tempo do que o "ótimo Chinchilla".