minhas informações de contato
Correspondência[email protected]
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.
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.
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.
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