Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

SwiGLU

LLM'lerde ve Ultralytics kullanılan gelişmiş aktivasyon fonksiyonu SwiGLU'yu keşfedin. Kapılı mekanizmasının sinir ağı eğitimi ve verimliliğini nasıl iyileştirdiğini öğrenin.

SwiGLU (Swish Gated Linear Unit), derin makine öğreniminde kullanılan geleneksel Feed-Forward Network (FFN) ağını geliştiren gelişmiş bir aktivasyon fonksiyonu ve sinir ağı mimari bloğudur. Swish aktivasyon fonksiyonunun pürüzsüz, monoton olmayan özelliklerini Gated Linear Unit (GLU) mekanizmasıyla birleştiren SwiGLU, dinamik, verilere bağlı özellik yönlendirmesi sağlar. Girişe doğrusal bir projeksiyon uygulayarak, bir dalı Swish aktivasyonundan geçirip, onu başka bir doğrusal dal ile eleman bazında çarparak, ağ üstün bir ifade gücü kazanır. Bu, modern AI mimarilerinin, eski derin öğrenme modellerinde kullanılan standart statik katmanlardan çok daha etkili bir şekilde karmaşık, doğrusal olmayan bağımlılıkları yakalamasına olanak tanır.

SwiGLU Nasıl Çalışır?

Girişi daha yüksek bir boyuta eşleyen, temel bir doğrusal olmayanlık uygulayan ve geri yansıtan geleneksel ileri besleme ağlarından farklı olarak, SwiGLU çarpımsal bir geçit mekanizması sunar. Giriş, iki parametreli yansıtmaya bölünür: bir "geçit" ve bir "değer". Geçit dalı, SiLU / Swish işlevi kullanılarak etkinleştirilir. Bu, küçük negatif değerleri korur ve neredeyse her yerde pürüzsüz, sıfır olmayan türevler sağlar. Etkinleştirilen bu geçit daha sonra değer dalıyla eleman bazında çarpılır. Bu dinamik filtreleme, sinir ağının bilgi akışını akıllıca kontrol etmesini sağlar, eski mimarilerde yaygın olan "ölü nöron" sorunlarını önler ve model eğitim süreci sırasında gradyan sinyalini stabilize eder. Bu kavram, dikkat mekanizmalarında yaygın olarak incelenmiştir.

SwiGLU'yu Diğer Aktivasyon Fonksiyonlarından Ayırma

ReLU gibi standart Aktivasyon Fonksiyonları negatif değerleri sıfıra kırpmak için sabit bir eşik kullanırken, SwiGLU, girdi verilerinin kendisine göre aktivasyonları dinamik olarak ayarlar. Gauss dağılımı altında girdileri olasılıklarına göre ağırlıklandıran GELU ile karşılaştırıldığında, SwiGLU, bilgileri nasıl geçireceğini öğrenmek için özellikle parametreleştirilmiş doğrusal katmanları kullanır. Esasen, SwiGLU sadece eleman bazlı matematiksel bir hesaplama değildir; Esasen, SwiGLU sadece eleman bazında bir matematiksel hesaplama değildir; Transformer bloğu içindeki tüm gizli katman mekanizmasının yerini alan kapsamlı bir yapısal bileşen gibi işlev görür. Matematiksel özelliklerin kapsamlı bir karşılaştırması için araştırmacılar genellikle kapsamlı aktivasyon fonksiyonu kılavuzlarına başvururlar.

Gerçek Dünya Uygulamaları

Hesaplama verimliliği ve önemli performans kazançları nedeniyle, SwiGLU modern yapay zeka sistemlerinde temel bir bileşen haline gelmiştir. .

PyTorch'ta SwiGLU'nun uygulanması

Özel ağlar oluşturan veya kenar cihazları için görme modellerini uyarlayan geliştiriciler için Ultralytics Platformu, SwiGLU'yu PyTorch basittir. (Alternatif olarak, diğer ekosistemlerdeki geliştiriciler TensorFlow). Aşağıdaki kısa Python , PyTorch yerleşik F.silu işlev:

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


class SwiGLU(nn.Module):
    def __init__(self, in_features, hidden_features):
        super().__init__()
        # SwiGLU requires two projections: one for the gate, one for the value
        self.gate_proj = nn.Linear(in_features, hidden_features)
        self.value_proj = nn.Linear(in_features, hidden_features)
        self.out_proj = nn.Linear(hidden_features, in_features)

    def forward(self, x):
        # Element-wise multiplication of the SiLU-activated gate and the linear value
        hidden = F.silu(self.gate_proj(x)) * self.value_proj(x)
        return self.out_proj(hidden)


# Example usage with a dummy input tensor
module = SwiGLU(in_features=512, hidden_features=1365)
output = module(torch.randn(1, 512))

Aktivasyon bloklarına yönelik bu yapısal yaklaşım, en son teknolojiye sahip sinir mimarilerinin, doğal dil işleme (NLP) veya gerçek zamanlı uzamsal analiz uygulamalarında karmaşık eğitim verilerinden daha zengin temsil biçimleri elde etmesini sağlar. Verimli modellerin oluşturulması ve hızlandırılması konusunda daha derin bir anlayış için, geliştiriciler genellikle donanım verimliliğini en üst düzeye çıkarmak için arXiv'deki orijinal GLU varyantları, Meta'nın açık kaynak depoları ve PyTorch optimizasyon belgeleri üzerindeki temel araştırmalara başvururlar.

Ultralytics YOLO ile güçlenin

Projeleriniz için gelişmiş yapay zeka vizyonu edinin. Hedeflerinize uygun lisansı bugün bulun.

Lisanslama seçeneklerini keşfedin