Embedding
Gömme Vektörü
- Okunuşu
- imbeding
Kısaca
Embedding, metin, görüntü ya da başka verilerin anlamını vektör denen bir sayı listesiyle temsil eden ve benzer öğeleri birbirine yakın konumlandıran yapıdır.
Embedding nedir?
Embedding, bir cümle ya da fotoğraf gibi bilgisayarın kolayca karşılaştıramadığı bir şeyi, vektör adı verilen sabit uzunlukta bir sayı listesine dönüştürür. Embedding modeli, anlamı benzer öğelerin benzer vektörler alacağı şekilde eğitilir. Örneğin 'Parolamı nasıl sıfırlarım?' ile 'Giriş bilgilerimi unuttum' neredeyse hiç ortak sözcük içermese de birbirine yakın vektörler üretir.
Embedding'leri harita üzerindeki noktalar gibi düşünebilirsiniz; tek fark, haritanın iki boyut yerine yüzlerce ya da binlerce boyuta sahip olmasıdır. İki öğenin ne kadar ilişkili olduğunu ölçmek için vektörleri karşılaştırırsınız; en sık kullanılan yöntem, aralarındaki açıya bakan kosinüs benzerliğidir. 1'e yakın bir skor anlamın çok benzer olduğunu, 0'a yakın bir skor ise öğelerin ilgisiz olduğunu gösterir.
Embedding'ler anlamsal aramaya, öneri sistemlerine, yinelenen kayıt tespitine, kümelemeye ve RAG sistemlerine güç verir. Genellikle bir vektör veritabanında ya da vektör indeksi olan sıradan bir veritabanında saklanır; bu sistemler bir sorgu vektörüne en yakın kayıtlı vektörleri hızla bulabilir.
Embedding ile anlamsal arama, anahtar kelime aramasından farklıdır. Anahtar kelime araması birebir sözcükleri eşleştirir; embedding araması ise anlamı eşleştirir, bu yüzden farklı ifadeler kullanılsa bile ilgili sonuçları bulabilir. Birçok sistem her iki yaklaşımı birleştirir; buna hibrit arama denir.
Bir bakışta
Önemli noktalar
- Embedding, anlamı yakalayan bir sayı vektörüdür.
- Anlamı benzer öğelerin vektörleri birbirine yakındır.
- Kosinüs benzerliği, iki embedding'i karşılaştırmanın yaygın bir yoludur.
- Embedding'ler anlamsal arama, öneri ve RAG'i mümkün kılar.
- Yalnızca aynı model tarafından üretilen embedding'leri karşılaştırın.
Örnek
import math
def cosine_similarity(a, b):
# 1.0 = same direction (similar meaning), near 0 = unrelated
dot = sum(x * y for x, y in zip(a, b))
return dot / (math.hypot(*a) * math.hypot(*b))
# Tiny made-up embeddings (real ones have hundreds of dimensions)
cat = [0.9, 0.1, 0.3]
kitten = [0.85, 0.15, 0.35]
car = [0.1, 0.9, 0.2]
print(cosine_similarity(cat, kitten)) # about 0.996 (very similar)
print(cosine_similarity(cat, car)) # about 0.27 (not similar)Sık sorulan sorular
Vektör veritabanı nedir?
Vektör veritabanı embedding'leri saklar ve bir sorgu vektörüne en yakın vektörleri hızla bulabilir; buna benzerlik ya da en yakın komşu araması denir. Anlamsal aramanın ve RAG uygulamalarının temel yapı taşlarından biridir.
Embedding ile token arasındaki fark nedir?
Token, bir dil modelinin okuduğu metin parçasıdır; embedding ise anlamı temsil eden bir sayı vektörüdür. Bir LLM'in içinde her token bir embedding'e dönüştürülür; özel embedding modelleri ise tüm bir cümle ya da belge için tek bir vektör üretir.
Bir embedding kaç boyuta sahiptir?
Modele bağlıdır; yaygın boyutlar birkaç yüzden birkaç bine kadar değişir. Daha fazla boyut daha fazla nüansı yakalayabilir, ancak daha çok depolama alanı ve işlem gücü gerektirir.
İlgili sayfalar
- Makine ÖğrenmesiYapay Zekâ ve Makine Öğrenmesi, s. 30Makine öğrenmesi, bilgisayarların elle yazılmış kurallar yerine verilerdeki örüntüleri öğrenerek tahmin yaptığı bir yapay zekâ dalıdır.
- LLMYapay Zekâ ve Makine Öğrenmesi, s. 28LLM, çok büyük metin yığınlarıyla eğitilmiş ve bir sonraki en olası metin parçasını tekrar tekrar tahmin ederek dil üreten bir makine öğrenmesi modelidir.
- RAGYapay Zekâ ve Makine Öğrenmesi, s. 38RAG, bir LLM'in soru anında getirilen ilgili belgelere dayanarak yanıt vermesini sağlayan ve yanıtları güncel, özel verilere dayandıran bir tekniktir.
- Veritabanı İndeksiVeritabanları, s. 38Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- Vektör VeritabanıYapay Zekâ ve Makine Öğrenmesi, s. 47Vektör veritabanı, embedding'leri saklayıp bir sorguya en benzer vektörleri hızla bulmak için tasarlanmış, anlamsal arama ve RAG'in dayandığı veritabanıdır.
- Kosinüs BenzerliğiYapay Zekâ ve Makine Öğrenmesi, s. 27Kosinüs benzerliği, iki vektörün benzerliğini aralarındaki açıyla, -1 ile 1 arasında ölçer; semantik aramada embedding'leri karşılaştırmanın olağan yoludur.
- ChunkingYapay Zekâ ve Makine Öğrenmesi, s. 9Chunking, uzun belgeleri embedding'e çevrilip saklanmadan önce küçük parçalara böler; böylece bir RAG sistemi yalnızca ilgili kısımları bulup modele iletebilir.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin