Ultralytics YOLO27:
Licenciar o YOLO
Voltar ao glossário da Ultralytics

SwiGLU

SwiGLU multiplica uma projeção ativada por SiLU por uma segunda projeção linear, formando a camada feed-forward com portas presente em Llama, PaLM e Qwen. Inclui código.

SwiGLU (unidade linear com porta Swish) é uma variante com porta da camada feed-forward em transformers. Ela projeta cada vetor de token duas vezes, aplica a função de ativação SiLU (Swish) a uma projeção, multiplica as duas elemento a elemento e projeta o produto de volta para a largura do modelo: FFN(x) = (SiLU(xW) ⊙ xV)W₂. Noam Shazeer a apresentou no artigo de 2020 GLU Variants Improve Transformer, e desde então ela se tornou o bloco feed-forward de modelos de linguagem grandes (LLMs), como PaLM, Llama, Mistral e Qwen. Ao contrário de ReLU ou GELU, que atuam de forma independente sobre cada número, SwiGLU contém pesos aprendidos, o que a torna uma pequena camada por si só.

Como funciona o SwiGLU#

Uma rede feed-forward padrão de transformer expande cada vetor de token com uma matriz de pesos, aplica uma ativação e o comprime novamente com uma segunda matriz. SwiGLU substitui a primeira matriz e a ativação por uma unidade linear com porta (GLU), que tem duas projeções paralelas da mesma entrada:

  • Projeção da porta: xW passa pela SiLU, x · σ(x), produzindo valores próximos de zero para entradas muito negativas e próximos da própria entrada para valores positivos.
  • Projeção do valor: xV permanece linear e transporta o conteúdo.
  • Produto elemento a elemento: multiplicar os dois permite que a porta aumente, diminua ou reduza quase a zero cada característica oculta, dependendo da entrada; a projeção de saída W₂ mapeia o resultado de volta para a largura do modelo.

A ideia da porta vem da GLU de Dauphin e colegas, que usaram uma porta sigmoide em modelos de linguagem convolucionais com porta em 2016. O artigo de Shazeer testou a mesma estrutura com diferentes funções de porta e deu a cada variante o nome da sua ativação: GLU usa sigmoide, ReGLU usa ReLU, GEGLU usa GELU, SwiGLU usa Swish, e uma camada bilinear não usa nenhuma ativação. Seguindo a base de código do T5, essas camadas não incluem termos de bias.

Por que SwiGLU substituiu ReLU e GELU nos LLMs#

As camadas feed-forward com porta têm três matrizes de pesos em vez de duas; por isso, Shazeer reduziu a largura oculta por um fator de 2/3 para manter o mesmo número de parâmetros e o mesmo custo computacional, passando de 3.072 para 2.048 unidades em um modelo T5-base. Com o mesmo tamanho, SwiGLU alcançou uma log-perplexidade de 1,636 após 524.288 etapas de treinamento, contra 1,677 para ReLU e 1,679 para GELU, além de obter pontuações médias mais altas nos benchmarks de compreensão de linguagem GLUE e SuperGLUE. O artigo não oferece uma teoria para esse ganho; sua conclusão atribui o sucesso dessas arquiteturas, «como todo o resto, à benevolência divina».

O resultado também se confirmou em modelos grandes. O PaLM do Google adotou SwiGLU em 2022, e o LLaMA da Meta substituiu ReLU por SwiGLU em 2023, usando uma largura oculta de 2/3 × 4d, arredondada para cima até um múltiplo de 256, o que resulta em 11.008 unidades ocultas para o modelo 7B de 4.096 dimensões. Llama 2, Llama 3, Mistral e Qwen mantiveram esse design; em modelos de mistura de especialistas (MoE), como o Mixtral, cada especialista é um bloco feed-forward SwiGLU.

Implementação de SwiGLU em PyTorch#

O trecho de código PyTorch abaixo cria uma camada feed-forward padrão com ReLU e uma camada SwiGLU para um modelo de 512 dimensões e compara os tamanhos:

import torch
import torch.nn.functional as F
from torch import nn

d_model = 512
x = torch.randn(4, d_model)  # four token vectors

# Standard transformer FFN: two matrices around a 4x wider ReLU hidden layer
relu_ffn = nn.Sequential(nn.Linear(d_model, 2048, bias=False), nn.ReLU(), nn.Linear(2048, d_model, bias=False))

# SwiGLU FFN: three matrices, hidden width cut to about 2/3 of 2048
w_gate = nn.Linear(d_model, 1365, bias=False)
w_value = nn.Linear(d_model, 1365, bias=False)
w_out = nn.Linear(1365, d_model, bias=False)
y = w_out(F.silu(w_gate(x)) * w_value(x))  # (SiLU(xW) * xV) W2

relu_params = sum(p.numel() for p in relu_ffn.parameters())
swiglu_params = sum(m.weight.numel() for m in (w_gate, w_value, w_out))
print(f"ReLU FFN:   output {tuple(relu_ffn(x).shape)}, {relu_params:,} parameters")
print(f"SwiGLU FFN: output {tuple(y.shape)}, {swiglu_params:,} parameters")

Ele imprime ReLU FFN: output (4, 512), 2,097,152 parameters e SwiGLU FFN: output (4, 512), 2,096,640 parameters. Com 1.365 unidades ocultas, cerca de 2/3 de 2.048, as três matrizes da SwiGLU contêm praticamente o mesmo número de pesos que as duas matrizes da ReLU; assim, qualquer diferença de qualidade decorre da porta. Muitas implementações fundem as matrizes da porta e do valor em uma única projeção e dividem a saída ao meio, executando uma multiplicação de matrizes maior em vez de duas menores.

  • SiLU (Swish): SiLU é a função elemento a elemento usada dentro da porta. SwiGLU é a camada completa com porta e suas três projeções.
  • GLU e GEGLU: variantes semelhantes que usam uma porta sigmoide ou GELU. Nos testes de Shazeer, GEGLU igualou SwiGLU, com uma log-perplexidade de 1,633, e os modelos Gemma do Google a utilizam.
  • Atenção: a atenção também produz pesos dependentes dos dados, mas combina informações entre tokens. SwiGLU aplica a porta às características de cada token de forma independente.
  • Modelos de visão: as camadas feed-forward com porta também aparecem em modelos de visão e multimodais. O YOLOE, detector de vocabulário aberto desenvolvido por pesquisadores da Universidade Tsinghua e executado no pacote Ultralytics, refina os embeddings de texto das instruções de classe com um bloco SwiGLU residual que é executado uma vez por chamada set_classes() e removido na exportação, sem acrescentar custo por quadro.

Explore solutions

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais
Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais
Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina