Minhas informações de contato
Correspondênciaadmin@informação.bz
2024-08-16
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Relatório do coração da máquina
Editores: Du Wei, Chen Chen, Zenan
A ascensão dos pequenos modelos.
No mês passado, a Meta lançou a série de modelos Llama 3.1, que inclui o maior modelo 405B da Meta até o momento, bem como dois modelos menores com 70 bilhões e 8 bilhões de parâmetros, respectivamente.
O Llama 3.1 é considerado o início de uma nova era de código aberto. No entanto, embora os modelos de nova geração tenham desempenho poderoso, eles ainda exigem uma grande quantidade de recursos computacionais quando implantados.
Portanto, outra tendência surgiu na indústria, que é desenvolver modelos de linguagem pequena (SLM) que tenham um bom desempenho em muitas tarefas linguísticas e também sejam muito baratos para implantar.
Recentemente, uma pesquisa da NVIDIA mostrou que a redução de peso estruturada combinada com a destilação de conhecimento pode gradualmente obter modelos de linguagem menores a partir de um modelo inicialmente maior.
Yann LeCun, vencedor do Prêmio Turing e cientista-chefe de IA da Meta, também gostou e republicou o estudo.
Após poda e destilação, a equipe de pesquisa da NVIDIA refinou o Llama 3.1 8B no Llama-3.1-Minitron 4B e o tornou de código aberto. Este é o primeiro trabalho da NVIDIA na série de código aberto Llama 3.1.
Llama-3.1-Minitron 4B supera modelos de código aberto de última geração de tamanho semelhante, incluindo Minitron 4B, Phi-2 2.7B, Gemma2 2.6B e Qwen2-1.5B.
O artigo relacionado a esta pesquisa foi divulgado no mês passado.
poda e destilação
A poda torna o modelo menor e mais enxuto e pode ser obtida removendo camadas (poda de profundidade) ou removendo neurônios e cabeças de atenção e incorporando canais (poda de largura). A poda geralmente é acompanhada por algum grau de reciclagem para restaurar a precisão.
A destilação de modelo é uma técnica para transferir conhecimento de um modelo grande e complexo (geralmente chamado de modelo de professor) para um modelo de aluno menor e mais simples. O objetivo é criar um modelo mais eficiente que retenha grande parte do poder preditivo do modelo original maior, ao mesmo tempo que funciona mais rápido e consome menos recursos.
Existem dois métodos principais de destilação: ajuste fino SDG e destilação de conhecimento clássico. Esses dois métodos de destilação são complementares. Este artigo enfoca métodos clássicos de destilação de conhecimento.
NVIDIA usa um método que combina poda e destilação de conhecimento clássico para construir modelos grandes. A figura abaixo mostra o processo de poda e destilação de um único modelo (parte superior) e a cadeia de poda e destilação de modelo (parte inferior). O processo específico é o seguinte:
1. A NVIDIA começa com um modelo de 15B, avalia a importância de cada componente (camadas, neurônios, cabeçotes e canais de incorporação) e, em seguida, classifica e limpa o modelo para atingir o tamanho alvo: modelo de 8B.
2. Em seguida, use a destilação de modelo para reciclagem leve, com o modelo original como professor e o modelo podado como aluno.
3. Após o treinamento, use o modelo pequeno (8B) como ponto de partida, corte-o e destile-o em um modelo 4B menor.
O processo de poda e destilação do modelo 15B.
Uma coisa a notar é que antes de podar o modelo, você precisa entender quais partes do modelo são importantes. A NVIDIA propõe uma estratégia de avaliação de importância pura baseada em ativação que calcula simultaneamente informações em todas as dimensões relevantes (profundidade, neurônio, cabeça e canais de incorporação), usando um pequeno conjunto de dados de calibração de 1.024 amostras, e apenas a propagação direta é necessária. Esta abordagem é mais simples e mais económica do que estratégias que dependem de informações de gradiente e requerem retropropagação.
Durante a poda, você alterna iterativamente entre a poda e a estimativa de importância para um determinado eixo ou combinação de eixos. Estudos empíricos mostram que a utilização de uma única estimativa de importância é suficiente e que estimativas iterativas não trazem benefícios adicionais.
Retreinamento usando destilação de conhecimento clássico
A Figura 2 abaixo mostra o processo de destilação, no qual o modelo do aluno da camada N (o modelo podado) é destilado do modelo do professor da camada M (o modelo original não podado). O modelo do aluno é aprendido minimizando a combinação de perda de saída incorporada, perda logit e perda específica do codificador do Transformer mapeada para o bloco S do aluno e o bloco T do professor.
Figura 2: Perda de treinamento de destilação.
Melhores práticas de poda e destilação
Com base em extensas pesquisas de ablação sobre poda e destilação de conhecimento em modelos de linguagem compacta, a NVIDIA resume seus resultados de aprendizado nas seguintes práticas recomendadas de compactação estruturada.
Um está redimensionando.
A segunda é a poda.
A terceira é treinar novamente.
Llama-3.1-Minitron: Colocando as melhores práticas em prática
A Meta lançou recentemente a poderosa família Llama 3.1 de modelos de código aberto que rivaliza com modelos de código fechado em muitos benchmarks. Os parâmetros do Llama 3.1 variam de enormes 405B a 70B e 8B.
Com a experiência da destilação Nemotron, a NVIDIA decidiu destilar o modelo Llama 3.1 8B em um modelo 4B menor e mais eficiente, tomando as seguintes medidas:
Afinação do professor
Para corrigir o viés de distribuição do conjunto de dados original no qual o treinamento do modelo foi baseado, a NVIDIA primeiro ajustou o modelo 8B não podado em seu conjunto de dados (tokens de 94B). As experiências mostram que, se o viés de distribuição não for corrigido, o modelo do professor fornece uma orientação abaixo do ideal para o conjunto de dados durante a destilação.
Poda apenas em profundidade
Para reduzir de 8B para 4B, a NVIDIA eliminou 16 camadas (50%). Eles primeiro avaliam a importância de cada camada ou grupo de subcamadas consecutivas, removendo-as do modelo e observam um aumento na perda de LM ou uma diminuição na precisão nas tarefas posteriores.
A Figura 5 abaixo mostra os valores de perda de LM no conjunto de validação após a remoção de 1, 2, 8 ou 16 camadas. Por exemplo, o gráfico vermelho da camada 16 indica que ocorre perda de LM se as primeiras 16 camadas forem excluídas. A camada 17 significa que se a primeira camada for mantida e as camadas 2 a 17 forem excluídas, a perda de LM também ocorrerá. Nvidia observa: As camadas inicial e final são as mais importantes.
Figura 5: A importância da poda apenas em profundidade das camadas intermediárias.
No entanto, a NVIDIA observa que esta perda de LM não está necessariamente relacionada diretamente ao desempenho downstream.
A Figura 6 abaixo mostra a precisão de Winogrande de cada modelo podado. Ela mostra que é melhor excluir as camadas 16 a 31, onde a camada 31 é a penúltima camada. A precisão de 5 disparos do modelo podado é significativamente maior do que a precisão aleatória (. 0,5). A Nvidia adotou esse insight e removeu as camadas 16 a 31.
Figura 6: Precisão na tarefa Winogrande quando 16 camadas são removidas.
Poda apenas em largura
A NVIDIA remove as dimensões intermediárias de incorporação (ocultas) e MLP ao longo do eixo de largura para compactar o Llama 3.1 8B. Especificamente, eles usam a estratégia baseada em ativação descrita anteriormente para calcular pontuações de importância para cada cabeça de atenção, canal de incorporação e dimensão oculta do MLP.
Depois de estimar a importância, a NVIDIA escolheu
Vale ressaltar que após a poda monoamostra a perda de LM na poda em largura é maior que na poda em profundidade. No entanto, após um breve período de reciclagem, a tendência inverteu-se.
Referência de precisão
NVIDIA destila o modelo usando os seguintes parâmetros
A Tabela 1 abaixo mostra a comparação de desempenho das variantes do modelo Llama-3.1-Minitron 4B (poda de largura e poda de profundidade) com o modelo Llama 3.1 8B original e outros modelos de tamanho semelhante em benchmarks em vários domínios. No geral, a NVIDIA mais uma vez confirmou a eficácia de uma estratégia de poda ampla em comparação com a poda profunda que segue as melhores práticas.
Tabela 1: Comparação de precisão do modelo básico do Minitron 4B em comparação com modelos básicos de tamanho semelhante.
Para verificar se o modelo destilado pode se tornar um modelo de instrução poderoso, a NVIDIA usou o NeMo-Aligner para ajustar o modelo Llama-3.1-Minitron 4B.
Eles usaram dados de treinamento Nemotron-4 340B e realizaram avaliações em IFEval, MT-Bench, ChatRAG-Bench e Berkeley Function Calling Leaderboard (BFCL) para testar o seguimento de instruções, role-playing, RAG e capacidades de chamada de função. Finalmente, foi confirmado que o modelo Llama-3.1-Minitron 4B pode se tornar um modelo de instrução confiável e seu desempenho é melhor do que outros SLMs de linha de base.
Tabela 2: Comparação de precisão de modelos básicos alinhados do Minitron 4B e modelos alinhados de tamanho semelhante.
Referência de desempenho
A NVIDIA otimizou os modelos Llama 3.1 8B e Llama-3.1-Minitron 4B usando NVIDIA TensorRT-LLM, um kit de ferramentas de código aberto para otimizar a inferência LLM.
As próximas duas figuras mostram as solicitações de taxa de transferência por segundo com precisão de FP8 e FP16 para diferentes modelos em diferentes casos de uso, expressas como uma combinação de comprimento de sequência de entrada/comprimento de sequência de saída (ISL/OSL) com um tamanho de lote de 32 para o modelo 8B e o modelo 4B O tamanho do lote é uma combinação de comprimento de sequência de entrada/comprimento de sequência de saída (ISL/OSL) de 64, graças aos pesos menores que permitem um tamanho de lote maior em uma GPU NVIDIA H100 de 80 GB.
A variante Llama-3.1-Minitron-4B-Depth-Base é a mais rápida, com um rendimento médio de aproximadamente 2,7 vezes o do Llama 3.1 8B, enquanto a variante Llama-3.1-Minitron-4B-Width-Base tem um rendimento médio de aproximadamente Lhama 3,1 1,8x 8B. A implantação no 8.º PQ também melhora o desempenho destes três modelos em aproximadamente 1,3 vezes em comparação com o BF16.
Figura 8: Combinação: Llama 3.1 8B em BS=32, modelo Llama-3.1-Minitron 4B em BS=64.
para concluir
A poda e o refinamento do conhecimento clássico são um método muito econômico para obter progressivamente LLMs de tamanhos menores, alcançando maior precisão do que o treinamento do zero em todos os domínios. Esta é uma abordagem mais eficiente e eficiente em termos de dados do que o ajuste fino de dados sintéticos ou o pré-treinamento do zero.
Llama-3.1-Minitron 4B é a primeira tentativa da NVIDIA de usar a mais avançada série Llama 3.1 de código aberto. Para usar o ajuste fino do SDG do Llama-3.1 com NVIDIA NeMo, consulte a seção /sdg-law-title-generation no GitHub.
Para obter mais informações, consulte os seguintes recursos:
https://developer.nvidia.com/blog/how-to-prune-and-distill-llama-3-1-8b-to-an-nvidia-llama-3-1-minitron-4b-model/