Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Rotary Position Embedding (RoPE)

Döner konum gömmesi (RoPE), dikkat puanlarının göreli uzaklığa bağlı olması için sorgu ve anahtar vektörlerini belirteç konumuna göre döndürür. Çoğu açık LLM'de kullanılır.

Döner Konum Gömmesi (RoPE), her sorgu ve anahtar vektörünü belirtecin konumuyla orantılı bir açı kadar döndürerek Transformer'a belirteç sıralaması bilgisini verir. Öz dikkat tek başına sözcüklerin sırasını ayırt edemez; bu nedenle modellerin konum bilgisini bir şekilde eklemesi gerekir. RoPE'de m konumundaki sorgu ile n konumundaki anahtar arasındaki dikkat puarı yalnızca m − n farkına bağlıdır. 2021'de RoFormer modeliyle tanıtılan ve EleutherAI'nin GPT-J ve GPT-NeoX modelleriyle yaygınlaşan RoPE, artık Llama, Mistral, Qwen, Gemma ve DeepSeek dahil olmak üzere açık büyük dil modellerinde (LLM) standart konum kodlamasıdır.

RoPE Nasıl Çalışır?#

RoPE, d boyutlu her sorgu ve anahtar vektörünü d/2 özellik çiftine böler ve her çifti bir düzlemdeki nokta olarak ele alır. m konumunda i. çift, m·θᵢ açısı kadar döndürülür; θᵢ = base^(−2i/d) olur ve özgün makalede base değeri 10.000'dir. İlk çiftler hızlı dönerek yakındaki sıraları ayırt ederken son çiftler yavaş döner ve binlerce konum uzaktaki belirteçleri bile ayırır. Bir sorguyu mθ, bir anahtarı nθ kadar döndürmek, iç çarpımlarının yalnızca (m − n)θ farkına bağlı olmasını sağlar; döndürme vektörün uzunluğunu değiştirmez. Döndürme, sorgu ve anahtar izdüşümlerinden sonra her dikkat katmanında uygulanır; değer vektörleri döndürülmez ve girdi konumundaki belirteç gömmelerine hiçbir şey eklenmez:

Aşağıdaki kod parçası, Meta'nın Llama referans kodundaki gibi karmaşık sayılarla döndürme işlemini uygular ve göreli konum özelliğini denetler:

import torch

torch.manual_seed(0)
dim = 64
freqs = 10000 ** (-torch.arange(0, dim, 2) / dim)  # one rotation frequency per pair of features


def rope(x, pos):
    """Rotate each consecutive feature pair of x by the angle pos * frequency."""
    pairs = torch.view_as_complex(x.reshape(-1, 2))
    return torch.view_as_real(pairs * torch.polar(torch.ones_like(freqs), pos * freqs)).flatten()


q, k = torch.randn(2, dim)
# The same query and key, three tokens apart, at two different places in the sequence
print(f"positions 5 and 2:     {rope(q, 5) @ rope(k, 2):.4f}")
print(f"positions 105 and 102: {rope(q, 105) @ rope(k, 102):.4f}")
print(f"positions 5 and 4:     {rope(q, 5) @ rope(k, 4):.4f}")  # one token apart
print(f"Vector length kept: {rope(q, 5).norm():.4f} vs {q.norm():.4f}")

Her iki çiftin de arasında üç belirteç bulunduğu için, bu çiftler 5 ve 2 ya da 105 ve 102 konumlarında olsa da -8.2811 değerini yazdırır. Aynı vektörler arasında bir belirteç olduğunda sonuç -11.4563 olur. Döndürülmüş sorgunun uzunluğu 8.3705 olarak kalır.

RoPE ve Diğer Konum Kodlamaları#

  • Sinüzoidal mutlak kodlama: Özgün Transformer, ilk katmandan önce sabit sinüs ve kosinüs vektörlerini girdi gömmelerine bir kez ekler. Göreli uzaklığın bu karışık sinyalden çıkarılması gerekir.
  • Öğrenilebilir mutlak gömmeler: BERT ve GPT-2, sırasıyla 512 ve 1.024 konuma kadar her konum için bir vektör öğrenir; bu sınırların ötesindeki konumlar için gömmeleri yoktur.
  • Göreli konum yanlılıkları: T5 ve ALiBi, dikkat puanlarına öğrenilmiş veya sabit bir uzaklık yanlılığı ekler. RoPE ise göreli uzaklığı döndürmenin kendisiyle kodlar ve parametre eklemez.

Bağlam Penceresini Genişletme#

RoPE ile L uzunluğunda diziler üzerinde eğitilmiş bir model, L'nin ötesindeki konumların döndürme açılarını hiç görmemiştir; bu konumlarla karşılaşınca dikkat performansı düşer. Bağlam genişletme yöntemleri, sıfırdan yeniden eğitim yapmak yerine açıları yeniden ölçeklendirir. Konum Enterpolasyonu, yeni konumları eğitilmiş aralığa sığdırır ve Llama modellerinin bağlam penceresini 1.000 ince ayar adımında 32.768 belirtece genişletir. NTK duyarlı ölçekleme ve YaRN, yavaş ve düşük frekanslı çiftleri hızlı çiftlerden daha fazla genişletir. YaRN, Llama 2'yi önceki yöntemlere göre 10 kat daha az eğitim belirteciyle 128K belirtece genişletti. Llama 3, ön eğitim sırasında taban değerini 10.000'den 500.000'e çıkardı; böylece en yavaş çiftler belirteç başına daha az döner ve uzak konumlar ayırt edilebilir kalır.

Görsel Modellerde RoPE#

Görüntüler iki koordinat gerektirdiğinden Görsel Transformer'lar, 2B veya eksenel RoPE kullanır: Her başlığın özellik çiftlerinin yarısı yamanın sütununa, diğer yarısı satırına göre döner. Qwen2-VL, çok kipli M-RoPE yönteminde video için üçüncü bir zaman ekseni ekler. Ultralytics paketinde çalışan Meta'nın SAM 2 modeli, mevcut video karesinin özelliklerinin önceki karelerden saklanan özelliklere dikkat ettiği bellek dikkatinin dört katmanında eksenel RoPE uygular. Saklanan her karenin anahtarlarına, mevcut karenin sorgularıyla aynı açı ızgarası uygulanır; bu nedenle ikisi arasındaki dikkat, yamalar arasındaki uzamsal farka bağlıdır.

Explore solutions

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla