Artigos · arXiv 2203.15556
Treinamento de Grandes Modelos de Linguagem Otimizados por Computação
Training Compute-Optimal Large Language Models
Publicado em cs.CLcs.LG arXivPDF
Resumo em três linhas
- 🎯 Determina o trade-off ideal entre parâmetros do modelo e tokens de treinamento sob um orçamento de computação fixo.
- 🔧 Ajusta leis de escala empiricamente em >400 execuções de transformers usando envelopes de perda mínima, cortes IsoFLOP e modelagem paramétrica de perda.
- 📈 Parâmetros e tokens devem escalar igualmente (, ). O modelo Chinchilla de 70B treinado em 1,4T tokens iguala o orçamento de computação do Gopher e atinge 67,6% no MMLU.
Resumo
Investigamos o tamanho ideal de modelo e o número de tokens para treinar um modelo de linguagem transformer sob um determinado orçamento computacional. Descobrimos que os grandes modelos de linguagem atuais são significativamente subtreinados, consequência do foco recente em escalar modelos de linguagem mantendo constante a quantidade de dados de treinamento. Ao treinar mais de 400 modelos de linguagem que variam de 70 milhões a mais de 16 bilhões de parâmetros em 5 a 500 bilhões de tokens, constatamos que, para um treinamento compute-optimal, o tamanho do modelo e o número de tokens de treinamento devem ser escalados na mesma proporção: para cada duplicação do tamanho do modelo, o número de tokens de treinamento também deve ser duplicado. Testamos essa hipótese treinando um modelo previsto como compute-optimal, o Chinchilla, que utiliza o mesmo orçamento computacional do Gopher, mas com 70B parâmetros e 4 mais dados. O Chinchilla supera de forma uniforme e significativa o Gopher (280B), o GPT-3 (175B), o Jurassic-1 (178B) e o Megatron-Turing NLG (530B) em uma ampla gama de tarefas de avaliação downstream. Isso também significa que o Chinchilla utiliza substancialmente menos computação para fine-tuning e inferência, facilitando muito o uso downstream. Como destaque, o Chinchilla atinge uma acurácia média de estado da arte de 67,5% no benchmark MMLU, uma melhoria superior a 7% em relação ao Gopher.
Resumo original (inglês)
We investigate the optimal model size and number of tokens for training a transformer language model under a given compute budget. We find that current large language models are significantly undertrained, a consequence of the recent focus on scaling language models whilst keeping the amount of training data constant. By training over 400 language models ranging from 70 million to over 16 billion parameters on 5 to 500 billion tokens, we find that for compute-optimal training, the model size and the number of training tokens should be scaled equally: for every doubling of model size the number of training tokens should also be doubled. We test this hypothesis by training a predicted compute-optimal model, Chinchilla, that uses the same compute budget as Gopher but with 70B parameters and 4 more more data. Chinchilla uniformly and significantly outperforms Gopher (280B), GPT-3 (175B), Jurassic-1 (178B), and Megatron-Turing NLG (530B) on a large range of downstream evaluation tasks. This also means that Chinchilla uses substantially less compute for fine-tuning and inference, greatly facilitating downstream usage. As a highlight, Chinchilla reaches a state-of-the-art average accuracy of 67.5% on the MMLU benchmark, greater than a 7% improvement over Gopher.
Guia de leitura
Problema e motivação
Trabalhos anteriores (notadamente Kaplan et al., 2020) sugeriram que, quando a computação aumenta, os parâmetros do modelo devem escalar agressivamente (), enquanto a contagem de tokens cresce de forma muito mais lenta (). Consequentemente, modelos grandes como GPT-3 (175B), Jurassic-1 (178B), Gopher (280B) e MT-NLG (530B) foram consistentemente treinados em cerca de 300 bilhões de tokens. No entanto, isso deixou esses grandes modelos significativamente subtreinados em relação aos seus investimentos computacionais. Este trabalho revisita esse trade-off: para um orçamento fixo de computação , como o número de parâmetros e o volume de tokens devem ser alocados para minimizar a perda no teste?
Ideias-chave
- Escalonamento igual: Para cada duplicação dos parâmetros do modelo, os tokens de treinamento também devem dobrar (, ).
- Alinhamento do cronograma de cosseno: Os cronogramas de taxa de aprendizado devem corresponder ao horizonte real de treinamento. Usar pontos intermediários de uma execução decaída sobre um horizonte longo fixo (por exemplo, 130B tokens) superestima a perda para contagens menores de tokens e distorce as estimativas empíricas de escala.
- Eficiência downstream: Treinar um modelo menor com substancialmente mais tokens resulta em acurácia idêntica ou superior na mesma paridade de computação de pré-treinamento, reduzindo drasticamente o consumo de memória, os custos de fine-tuning e a latência de inferência.
Método (com as equações principais)
Os autores avaliam mais de 400 modelos (de 70M a 16B parâmetros, treinados em 5B a 500B tokens) usando três estratégias complementares:
Mínimo sobre curvas de treinamento: Variação do horizonte ao longo de 4 durações para arquiteturas de modelo fixas. Extração do envelope de perda mínima por FLOP e ajuste de leis de potência: resultando em , .
Perfis IsoFLOP: Fixação da contagem total de FLOPs em 9 orçamentos discretos ( a ) com decaimento de cosseno alinhado ao horizonte. Ajuste de parábolas sobre as contagens de parâmetros para encontrar os mínimos de perda, resultando em , .
Ajuste paramétrico de perda: Modelagem da perda suavizada por meio de uma decomposição de risco: onde representa a entropia do texto natural, representa a subotimalidade da representação e captura a subotimalidade decorrente de parada precoce/dados finitos. A minimização da perda de Huber sobre os resíduos logarítmicos fornece , , , , . Sob a restrição :
Resultados (com os números mais importantes)
- Chinchilla 70B: Treinado com o mesmo orçamento de FLOPs do Gopher ( FLOPs, ou sob contagem exata) usando 70B parâmetros e 1,4 trilhão de tokens.
- Benchmark MMLU: O Chinchilla atinge uma acurácia média de 67,6% em 5-shot, superando o Gopher (60,0%), o GPT-3 (43,9%) e superando a previsão de especialistas humanos de junho de 2023 (63,4%). Ele alcança de acurácia em 4 tarefas distintas do MMLU.
- Benchmarks downstream: Supera o Gopher no BIG-bench (65,1% vs 54,4%), LAMBADA (77,4% vs 74,5%) e Natural Questions em closed-book (31,5% em 5-shot vs 24,5%).
- Viés e Toxicidade: A toxicidade não induzida (unprompted) permanece comparável entre Gopher e Chinchilla (mediana de 0,064 vs 0,066), enquanto a acurácia no Winogender melhora de 71,4% para 78,3% no geral.
Limitações e questões em aberto
- Apenas dois pontos de fronteira em larga escala em paridade foram diretamente verificados (Gopher 280B vs Chinchilla 70B) devido ao custo computacional de treinamento.
- A análise assume treinamento em época única (single-epoch) em conjuntos de dados da web; o comportamento ao repetir dados ao longo de múltiplas épocas não foi explorado.
- Há evidências empíricas de uma leve curvatura negativa (concavidade) em em altos orçamentos de computação, sugerindo que as leis de potência ainda podem superestimar ligeiramente o tamanho ideal do modelo.
Termos-chave
- Chinchilla
- Um modelo de linguagem autorregressivo de 70 bilhões de parâmetros treinado em 1,4 trilhão de tokens utilizando o orçamento computacional do Gopher.
- Gopher
- Um modelo de linguagem transformer de 280 bilhões de parâmetros treinado em 300 bilhões de tokens que serve como baseline de computação equivalente.
- IsoFLOP profiles
- Metodologia na qual o número de parâmetros do modelo varia mantendo constantes os FLOPs totais de treinamento para localizar o tamanho de parâmetro de perda mínima.
- Compute-optimal frontier
- A curva matemática que relaciona os FLOPs de treinamento disponíveis à alocação ideal do número de parâmetros e do volume de tokens de treinamento.
- Parametric loss function
- A decomposição estatística da perda do modelo de linguagem em entropia bayesiana irredutível, déficit de capacidade de parâmetros e erro de otimização amostral de tokens.
- Huber loss
- Uma função de perda robusta utilizada na Abordagem 3 para ajustar execuções empíricas de LM, atenuando o efeito de outliers residuais em escalas computacionais menores.
- MassiveText
- O corpus de pré-treinamento multidomínio contendo páginas da web, livros, notícias, código e Wikipedia, utilizado para treinar tanto o Gopher quanto o Chinchilla.
- FLOPs calculation
- O cálculo do orçamento de operações de multiplicação e acumulação, estimado aproximadamente como ao longo dos passos forward e backward ou por meio de contagem camada por camada.
Perguntas
Por que Kaplan et al. concluíram que os parâmetros deveriam escalar mais rápido do que os tokens?
Kaplan et al. utilizaram um cronograma de taxa de aprendizado com decaimento de cosseno fixo (por exemplo, decaído para 130B tokens) e usaram avaliações intermediárias não convergidas para pontos com menos tokens. Como os cronogramas de cosseno perdem eficiência se o comprimento do ciclo exceder significativamente o total de passos, essas perdas intermediárias foram artificialmente altas, subestimando a eficácia de treinar modelos menores com menos tokens.
Qual é a regra prática para escalonamento compute-optimal segundo o Chinchilla?
Tanto o número de parâmetros do modelo quanto o número de tokens de treinamento devem ser escalados em proporções aproximadamente iguais: para cada aumento de na computação, o tamanho do modelo deve aumentar em e os tokens de treinamento devem aumentar em .
Quantos tokens são recomendados para treinar um modelo compute-optimal de 175B?
De acordo com as previsões do artigo, um modelo de 175 bilhões de parâmetros requer cerca de 3,7 a 4,3 trilhões de tokens e de a FLOPs para ser compute-optimal, superando em muito os 300 bilhões de tokens tipicamente usados no GPT-3.
Quais mudanças de arquitetura foram feitas entre o Gopher e o Chinchilla?
Além de reduzir o número de camadas e a dimensão oculta de 280B para 70B, o Chinchilla substituiu o otimizador Adam pelo AdamW, manteve os pesos mestre em float32 no estado do otimizador distribuído e removeu a normalização NFKC do tokenizador SentencePiece.
A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.