Embedding, bilgiyi — kelimeleri, cümleleri, görselleri, ses kliplerini ve hatta kullanıcı tıklama geçmişlerini — vektör adı verilen bir sayı listesine dönüştürme yöntemidir. Bu liste genellikle birkaç yüz ile birkaç bin sayı uzunluğundadır ve her sayı, girdinin bazı özelliklerini yakalayan öğrenilmiş bir özniteliktir. Temel fikir, modelin benzer anlama sahip öğeler benzer vektörlerle, ilgisiz öğelerse birbirinden uzak vektörlerle sonuçlanacak şekilde eğitilmesidir.
Her girdi aynı matematiksel uzayda bir noktaya dönüştüğü için, bilgisayarlar artık yalnızca harf eşleştirmek yerine anlamlar arasında toplama, çıkarma ve mesafe ölçme gibi işlemler yapabilir. Bu nedenle embedding'ler modern anlamsal arama, retrieval-augmented generation (RAG), öneri sistemleri, kümeleme ve sınıflandırmanın temelini oluşturur.
Embedding'ler nasıl çalışır
Teknik olarak, bir embedding kodlayıcı adı verilen bir sinir ağı tarafından üretilir. Eğitim sırasında model, büyük miktarda veri görür ve ağırlıklarını, benzer bağlamlarda yer alan girdileri (örneğin king ve queen kelimeleri ya da bir golden retriever fotoğrafı ile "sarı köpek" başlığı) benzer yönlere işaret eden vektörlere eşleyecek şekilde ayarlar. Ortaya çıkan koordinatlar elle tasarlanmaz; komşuları, maskelenmiş kelimeleri veya ilgili öğeleri tahmin etme amacından doğal olarak oluşur.
Bunu hayal etmenin basit bir yolu: kelimelerin 3 boyutlu bir haritasını düşünün. Eğitimden sonra king, queen, prince ve princess bir küme oluşturur; cat, dog ve hamster bir başka küme; happy, joyful ve elated ise üçüncü bir küme meydana getirir. Gerçek embedding'ler çok daha yüksek boyutlarda (genellikle 768, 1.536 veya 3.072) yaşar, ancak ilke aynıdır — vektör uzayındaki yakınlık, genellikle kosinüs benzerliği veya Öklid mesafesi ile ölçülen anlamsal benzerliğe karşılık gelir. Bunun nasıl eğitildiğini daha fazla öğrenmek için Mikolov ve diğerlerinin orijinal word2vec makalesine ve OpenAI'ın embedding rehberine göz atın.
Embedding'ler neden önemlidir
Embedding'ler, dağınık ve yapılandırılmamış verileri algoritmaların verimli bir şekilde üzerinde akıl yürütebileceği bir biçime dönüştürür. Bir arama motoru, belgeleri tam anahtar kelime eşleşmesi yerine anlamlarına göre sıralayabilir; böylece "how to fix a leaky faucet" sorgusu, "repairing a dripping tap" başlıklı bir makaleyle eşleşebilir. Bir öneri sistemi, katalogda ortak etiket bulunmasa bile kullanıcının az önce incelediği ürüne benzer ürünleri bulabilir. Retrieval-augmented generation (RAG) sisteminde ise bir LLM, kullanıcı sorusuna embedding'i en yakın olan parçaları getirerek yanıtlarını özel veya güncel belgelere dayandırır.
Aynı yöntem görseller (CLIP tarzı modeller), ses, kod ve yapılandırılmış kayıtlar için de işe yarar; bu nedenle embedding'ler veri ile yapay zeka arasında evrensel bir değişim formatı haline gelmiştir.
Başlıca embedding türleri
- Kelime embedding'leri — word2vec ve GloVe'da olduğu gibi her kelime için sabit vektörler.
- Cümle ve belge embedding'leri — Sentence-BERT ve OpenAI'ın
text-embedding-3gibi modeller tarafından üretilen, her pasaj için bir vektör. - Görsel embedding'leri — CLIP, ResNet veya DINOv2 gibi görme kodlayıcılarından elde edilen, çapraz modlu aramayı mümkün kılan vektörler.
- Çok modlu embedding'ler — metin, görsel ve sesin birlikte yer aldığı ortak uzaylar; böylece bir fotoğraf bir başlıkla, bir başlık da bir fotoğrafla getirilebilir.
- Grafik ve varlık embedding'leri — bilgi grafiklerindeki düğümler için vektörler; öneri ve dolandırıcılık tespitinde kullanılır.
Embedding'leri elde ettikten sonra, genellikle Pinecone, Weaviate, Milvus veya pgvector gibi bir vektör veritabanında saklar ve en yakın eşleşmeleri ölçekli olarak bulmak için k-en yakın komşu (k-NN) ya da yaklaşık en yakın komşu (ANN) araması ile sorgularsınız.
Embedding'ler, çağdaş yapay zekanın sessiz emektarıdır: anlamı geometriye çevirerek makinelerin, derin öğrenmenin vektör gösterimlerini hem ucuz hem de şaşırtıcı derecede doğru hale getirmesinden önce pratik olmayan biçimlerde dünyayı karşılaştırmasına, getirmesine ve akıl yürütmesine olanak tanır.