notícias

Apenas os parâmetros 3,8B são ativados e o desempenho é comparável ao mesmo modelo 7B!O ajuste fino do treinamento pode ser usado, da Microsoft

2024-07-18

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Crecy vem do Templo Aofei
    Qubits | Conta pública QbitAI

Apenas 60% dos parâmetros precisam ser ativados, pode atingir desempenho comparável ao modelo denso totalmente ativado.

Um novo estudo da Microsoft Research Asia implementa o modeloAtivação completamente esparsa, reduzindo significativamente o custo do raciocínio.

E tem uma ampla gama de aplicações, seja treinamento do zero, treinamento contínuo ou ajuste fino, pode fornecer um suporte eficaz.



O método é chamadoQ-Esparso, atinge a dispersão do modelo no nível do neurônio e é mais granular do que outros métodos. Sob a mesma sobrecarga de raciocínio, tanto o desempenho quanto a taxa de dispersão são melhores.

No nome, Q refere-se a Quantização, o que significa que além dos modelos comuns, tambémCompatível com técnicas de quantificação, adequado para modelos de vários métodos de quantificação.

O autor afirmou ainda que se o Q-Sparse for combinado com a tecnologia de quantificação de modelos, poderá ser alcançada maior redução de custos e melhoria de eficiência.

Além disso, ao estudar o Q-Sparse, a equipe também conduziu uma exploração aprofundada da relação entre tamanho do parâmetro, taxa de dispersão e desempenho do modelo, e descobriu“Lei de Escala” para otimização de inferência de modelo

Alguns internautas acreditam que esta tecnologia é realmente boa e melhor que o ReLU.



Outros ativaram o modo de desejo, dizendo que seria ótimo se o ROCm (da AMD) pudesse suportar esta tecnologia mais rápido do que a Nvidia.



Implementar esparsificação usando a função Top-K

A operação principal realizada pelo Q-Sparse éAplique a função de esparsificação Top-K ao tensor de entrada

Especificamente, a arquitetura do Transformer usa camadas lineares nn.Linear (multiplicação de matrizes) para projeção tanto na camada de atenção quanto na camada feedforward, que pode ser expressa como Y=X·W^T. (onde X é o tensor de entrada, W representa seu peso e Y é o tensor de saída)

Em Q-Sparse, para um tensor de ativação de entrada X, seu valor absoluto |X| é primeiro calculado e classificado.Encontre os K elementos com o maior valor absoluto entre eles

K aqui está um hiperparâmetro predefinido que determina o grau de esparsificação.

Q-Sparse criará então um tensor de máscara binária M com a mesma forma de X. Para as posições correspondentes aos K elementos com os maiores valores absolutos em uma série é 0.

Em seguida, execute a operação de produto Hadamard (multiplicação por elemento) no tensor de entrada X e no tensor de máscara M para obter o tensor esparso.X_esparso

Durante o processo de propagação direta, o tensor esparso X_sparse substituirá o tensor de entrada original X para participar de cálculos subsequentes (como multiplicação de matrizes).

Como a maioria dos elementos em X_sparse foram definidos como zero, a quantidade de computação e os requisitos de largura de banda de memória podem ser significativamente reduzidos.



Durante a retropropagação, Q-Sparse usaestimador de passagem(Straight-Through Estimator, STE) para calcular o gradiente da função Top-K.

Nos métodos de treinamento tradicionais, geralmente é necessário calcular o gradiente da função de perda nos parâmetros da rede e usar o método gradiente descendente para atualizar os parâmetros e minimizar a perda.

Porém, quando existem algumas operações não diferenciáveis, como quantização e Top-K na rede, o cálculo do gradiente encontrará problemas, pois o gradiente de saída dessas operações para a entrada é 0 na maioria dos pontos, resultando na incapacidade para propagar efetivamente o gradiente.

STE evita o problema do gradiente evanescente passando diretamente o gradiente para o tensor antes da esparsificação.

Na retropropagação geral, o gradiente da função de perda L para x é ∂L/∂x=∂L/∂y⋅∂y/∂x, mas não pode ser calculado diretamente porque não é diferenciável.

A solução do STE é calcular apenas o gradiente da função de perda no tensor esparso y, e então copiá-lo diretamente para o tensor original x, ou seja, usar diretamente ∂L/∂y como uma estimativa de ∂L/∂x.


△Comparação de gradiente com/sem STE

Para a camada feedforward, Q-Sparse usaFunção ReLU quadradaEm vez da função de ativação ReLU convencional, a operação quadrada pode melhorar ainda mais a dispersão da ativação (⊙ representa o produto Hadamard).



Além disso, para se adaptar ao modelo de quantização, Q-Sparse primeiro quantizará o tensor de entrada antes de aplicar a dispersão Top-K para garantir que a operação de dispersão seja compatível com a representação de quantização. Sua função é expressa da seguinte forma:



Dentre elas, ε é uma pequena constante usada para evitar que o denominador seja zero.

Em particular, para pesos quantizados de 1 bit, Q-Sparse usa a seguinte função de quantização, onde α é o valor absoluto médio do tensor de peso W.



60% dos parâmetros de ativação alcançam o mesmo efeito

Experimentos comparativos mostram que o Q-Sparse é significativamente melhor que o método ReLU anterior em termos de taxa de dispersão e desempenho do modelo.



Em relação aos efeitos específicos do Q-Sparse, o autor avaliou seu desempenho em três tarefas: treinamento scratch, treinamento continuado e ajuste fino.

Treine do zeroO modelo usado no experimento é o Llama. Os resultados mostram que nos modelos 700M e 7B, Q-Sparse usando 70% top-K (ou seja, 40% da taxa geral de dispersão) pode atingir uma perda de treinamento comparável ao denso. linha de base.



continuar treinandoO objetivo é esparcer o modelo denso, e o objeto experimental aqui é o Mistral-7B.

Como resultado, quando os parâmetros de ativação foram 2,9B e 3,8B, as pontuações do modelo em ARC, MMLU e outros conjuntos de dados não caíram significativamente.



existirafinaçãoNo experimento, tanto para os modelos Qwen-7B quanto para Mistral-7B, o Q-Sparse apresentou resultados semelhantes ao treinamento continuado, utilizando cerca de 60% dos parâmetros de ativação para atingir um desempenho muito próximo do modelo denso.



Esses resultados significam que, com o mesmo desempenho, comparado aos modelos densos,Modelos de ativação esparsos podem reduzir significativamente os parâmetros de ativação durante a inferência, reduzindo assim o número de FLOPS consumidos.

Para o modelo quantitativo, a equipe aplicou Q-Sparse no modelo BitNet b1.58 autodesenvolvido e conduziu treinamento e avaliação em vários conjuntos de dados.

Pode-se observar que em ambas as escalas de 700M e 7B, a velocidade de convergência e o valor da função de perda final do modelo quantizado usando Q-Sparse são comparáveis ​​ao modelo quantizado sem Q-Sparse (BitNet b1.58).

Isso mostra que Q-SparsePode ser perfeitamente integrado em modelos quantitativos, sem afetar significativamente o treinamento e a convergência do modelo.

De acordo com isso, o autor acredita que a combinação do Q-Sparse com a tecnologia de quantização pode melhorar ainda mais a eficiência de grandes modelos de linguagem na fase de inferência.



Descubra a nova “Lei de Escala” para otimização de inferência

Além de avaliar o desempenho desses modelos ao usar ativação esparsa, o autor também explorou a relação entre desempenho do modelo, escala e taxa de dispersão, e fez algumas novas descobertas.

Lei de escalonamento de desempenho de modelos de ativação esparsa: O autor descobriu que, semelhante aos modelos densos, o desempenho de modelos de ativação esparsa também segue uma relação de escalonamento de lei de potência.

Especificamente, dada a taxa de dispersão S, o valor da função de perda L(N,S) do modelo quando ele converge pode ser aproximado pela seguinte fórmula:



Entre eles, N é o número de parâmetros do modelo E é uma constante que representa a perda do modelo no infinito A(S) é um fator de escala relacionado à taxa de dispersão S;

Esta lei de escala mostra que,diluirescassoO desempenho dos modelos de ativação melhora à medida que o tamanho do modelo aumenta, mas a taxa de melhoria diminui gradualmente



Ao mesmo tempo, o autor constatou que o desempenho do modelo também será afetado pela taxa de dispersão.

Conforme mencionado na seção sobre a relação entre escala de parâmetro e desempenho, A(S) é um fator de escala relacionado à taxa de dispersão S, que pode ser aproximado pela seguinte fórmula:



onde B e C são constantes e β é um parâmetro que controla a taxa de decaimento exponencial.

Esta fórmula mostra que quando a taxa de dispersão S aumenta (o modelo se torna mais esparso), isso significaTaxas de dispersão mais altas levam à degradação do desempenho, a taxa de declínio é exponencial.



Com base nas descobertas acima, o autor derivou uma taxa de dispersão ideal S* para inferência, que pode minimizar o valor da função de perda do modelo quando o orçamento (operações de ponto flutuante durante a inferência) é constante.

Para o modelo de precisão total (FP32), a taxa de dispersão ideal é de cerca de 45,58%, enquanto a taxa de dispersão ideal para o modelo de baixa precisão (como 1,58 bits) é maior, cerca de 61,25%.



Os autores observaram que à medida que o tamanho do modelo aumenta, a lacuna de desempenho entre os modelos de ativação esparsa e os modelos densos diminui gradualmente.

Isso pode ser explicado pela lei de escala: quando o tamanho do modelo N tende ao infinito, o valor da função de perda do modelo de ativação esparsa tende a L(∞,S)=E, enquanto o valor da função de perda do modelo denso tende a L (∞,0 )=E.

Isto significa que em escalas extremamente grandes, é possível que modelos de ativação esparsa alcancem desempenho comparável a modelos densos, fornecendo uma referência útil para projetar e treinar modelos de ativação esparsa em grande escala.

Endereço do artigo: https://arxiv.org/abs/2407.10969