2 puan yazan GN⁺ 2025-05-13 | 1 yorum | WhatsApp'ta paylaş
  • Embedding’ler, son dönemde teknik yazım alanında devrim niteliğinde gelişme potansiyeli sunuyor
  • Girdi metninin boyutundan bağımsız olarak sabit boyutlu sayısal bir dizi döndürme özelliğine sahip
  • Bu sayısal dizi sayesinde rastgele metinler arasında matematiksel karşılaştırma yapmak mümkün hale geliyor
  • Embedding’ler, çok boyutlu uzayda metin anlamına göre mesafe hesaplıyor ve ilişkili öneriler, anlamsal analiz vb. pek çok kullanım sunuyor
  • İleride teknik dokümantasyon sitelerinin embedding verilerini yayımlamasıyla yeni araçların ve topluluk kullanım senaryolarının yaygınlaşması bekleniyor

Makine öğrenimi tabanlı embedding teknolojisine genel bakış

  • Makine öğrenimi teknolojilerinde, metin üretim modellerinden farklı olarak embedding’ler, teknik yazım üzerinde dönüştürücü bir etki yaratma potansiyeline sahip
  • Son birkaç yılda embedding kullanımı çok daha erişilebilir hale geldi
  • Embedding’ler sayesinde teknik yazarlar, farklı metinler arasında anlamsal karşılaştırma ve analiz yapabiliyor

Embedding’ler için sezgi geliştirmek

  • Embedding’ler, metni (kelime, cümle, birden çok belge vb.) girdi olarak alıp sabit boyutlu bir sayısal dizi döndürüyor
  • Girdi metninin uzunluğundan bağımsız olarak her zaman aynı boyutta dizi verisi üretiliyor
  • Bu sayede farklı uzunluktaki rastgele metinler arasında bile matematiksel karşılaştırma olanağı doğuyor

Embedding üretme yöntemi

  • Başlıca hizmet sağlayıcılar üzerinden yalnızca birkaç satır kodla embedding üretilebiliyor
  • Kullanılan modele göre embedding dizisinin boyutu değişiyor; Gemini için 768, Voyage AI için ise 1024 sayı döndürülüyor
  • Sağlayıcıya veya modele göre embedding’lerin anlamı tamamen değiştiği için karşılıklı uyumluluk bulunmuyor

Maliyet ve çevresel etki

  • Embedding üretiminin kendisi yüksek maliyetli değil
  • Üretim sürecinin, metin üretim modellerine kıyasla daha az hesaplama kaynağı tükettiği tahmin ediliyor; ancak çevresel etki için ileride daha fazla bilgiye ihtiyaç var

Embedding modeli seçme ölçütleri

  • En uygun model, büyük hacimli girdi verisini destekleme kapasitesine göre değişiyor
  • Voyage AI’nin voyage-3 modeli, 2024 itibarıyla en yüksek girdi sınırını sunuyor
  • Kullanım amacı ve gereksinimlere uygun modelin seçilmesi önemli

Çok boyutlu uzay kavramı

  • Embedding sayısal dizisindeki her değer, çok boyutlu uzaydaki bir koordinata karşılık gelir ve metnin özellikleri bu uzaydaki anlamsal konumuyla ifade edilir
  • Örneğin king - man + womanqueen gibi işlemler, anlamsal ilişkilerin ifade edilebildiğini gösterir
  • Embedding uzayındaki her boyutun özelliği çoğunlukla belirsiz ve soyuttur
  • Bu süreç sayesinde makinenin anlam öğrenmesi ve metin anlamını çıkarımlaması mümkün hale gelir

Embedding’leri karşılaştırma ve saklama

  • Üretilen embedding’ler, her metin (ör. sayfa vb.) için veritabanı gibi yerlere kaydedilir
  • İki embedding arasındaki matematiksel mesafe hesaplaması (lineer cebir kullanarak) ile anlamsal benzerlik değerlendirilebilir
  • NumPy, scikit-learn gibi kütüphaneler kullanılarak karmaşık formülleri uygulama yükü azalır

Embedding’lerin uygulama örnekleri

  • Teknik dokümantasyon sitelerinde ilgili sayfa öneri özelliğinde embedding’ler etkili biçimde kullanılır
  • Her sayfa için embedding üretildikten sonra, sayısal benzerliği yüksek sayfalar arasında anlamsal olarak ilişkili belge önerileri yapılabilir
  • Sayfa içeriği her değiştiğinde yalnızca embedding’i yenilemek yeterli olduğundan verimliliği oldukça yüksektir
  • Gerçek [Sphinx] dokümantasyonunda uygulanması sonucunda olumlu performans görüldü

Topluluk ve açık veri olasılığı

  • Gelecekte dokümantasyon siteleri, REST API veya well-known URI’ler üzerinden embedding verisi sunabilir
  • Böylece topluluk, çeşitli uygulama araçları ve hizmetler geliştirebilir

Son söz

  • Yüzlerce boyutlu uzay kavramını günlük işle ilişkilendirebilmek ilgi çekici
  • Embedding’lerin benimsenmesiyle dokümantasyon bakımı ve özellik genişletme gibi alanlarda çığır açıcı ilerlemeler beklenebilir

1 yorum

 
GN⁺ 2025-05-13
Hacker News görüşü
  • Merhaba, bu yazıyı yazdığım için teşekkür etmek istedim
    6 ay önce de benzer bir tartışma olduğunu belirtmek isterim
    "Embedding'lerin küçümsendiği" ifadesi, makine öğrenmesiyle uğraşanlardan çok teknik yazarlar için faydalı bir araç olduğunu vurgulamak içindi
    Bu yazıda embedding'leri teknik yazımda tam olarak nasıl kullandığıma dair yeterli ayrıntı olmadığının farkındayım
    Embedding kullanımıyla ilgili projeler ve blog yazıları hazırlıyorum
    Embedding'ler, teknik yazımda çözmesi zor 3 probleme yardımcı olabildiği için önemli

    • Kullanıcının istediği bilgiyi kolayca bulamaması sorununu embedding'lerle herkese açık biçimde deneyimletebilmek için UX katmanında "semantic scrolling" denedim
      Bu, aramadan çok <details>/<summary> ağaç yapısı içinde kümeler arasında dolaşmak gibi
      [1] başlangıç noktası, [2] ise tüm koleksiyon (kitaplar, filmler, müzik, anime vb.)
      Bağlantıları da paylaşıyorum

    • Yazının, makine öğrenmesi uzmanlarından çok teknik yazarlara daha çekici gelmesi için içeriğin buna göre kurgulanması iyi olurdu
      Örneğin, "daha önce imkânsız olan ölçekte metinler arası bağlantıları keşfedebilirsiniz" kısmı daha ayrıntılı açıklanabilir
      Uygulama örneklerini daha başa almak, okuyucuya daha etkili ulaşabilir

    • Embedding'lerin teknik yazıma doğrudan uygulamasına örnek olarak ilgili bir makale öneriyorum
      Bağlantı verildi

    • Bu yazıyı okuyunca elde edilen çıktının kalitesinin nasıl olduğunu merak ettim
      Makine öğrenmesindeki sevilen değerlendirmelere (evals) kadar gitmeden de, kabaca sonuçların makul görünüp görünmediğini bilmek isterim

    • Yazıyı okudum ama "embedding"in ne olduğuna dair bir açıklama bulamadım
      Üçüncü paragrafta nasıl kullanılacağından bahsediliyor ama embedding'in tanımı başta yeterince yok

    • Yeni başlayan biri için fazla temel bir yazı gibi geldi
      Okuduktan sonra yeni bir bilgi ya da içgörü edinmedim
      En azından embedding'lerin temel kullanım örneklerinden kısa bir tadımlık gösterilseydi bir sonraki yazıyı daha çok bekleyebilirdim
      Paylaştığın için teşekkür ederim

  • Embedding'lerin ve embedding aramasının bir diğer avantajı, istemci tarafında düşük yükle uygulanabilmesi
    ONNX modelleri transformer.js ile yüklenip çalıştırılabiliyor
    hnsw gibi bir indeks oluşturup statik olarak barındırmak da mümkün
    Kendim de bir açık kaynak demo yaptım
    İndeksi sorgulanabilir parquet dosyaları olarak temsil edip duckdb ile sorguluyorsunuz
    Github Pages kullanırsanız bunu ücretsiz ya da neredeyse ücretsiz yapmak mümkün

    • İstemci tarafında JS ile embedding yapılabildiğini öğrenmek benim için yeni oldu
      Bunun dokümantasyon siteleri için yeni uygulamaların önünü açacağını düşündüğüm için heyecanlıyım
      Parquet ve Polars'a da daha önce okuduğum bir yazı yüzünden dikkat kesilmiştim

    • Bu tür bir uygulama hakkında hep merak ettiğim şeyler vardı
      Embedding tabanlı aramanın gecikmesinden (latency) endişe ettiğim için kullanmaya çekiniyordum
      Model yerelde tutulup render edildiğinde kalitenin OpenAI/Google ile kıyasla nasıl olduğunu merak ediyorum
      Ücretsiz olması ve anındalık önemli avantajlar

    • Demo'da tam olarak neler olduğunu daha ayrıntılı anlatsanız iyi olurdu
      Sonuçları pek anlayamadım

  • "Embedding'ler, girdi metninin boyutundan bağımsız olarak her zaman aynı boyutta bir sayı dizisi döndürür; bu yüzden rastgele metinleri matematiksel olarak birbiriyle karşılaştırabilirsiniz" kısmının daha net açıklanmasını isterdim
    Hash fonksiyonları da girdi boyutundan bağımsız olarak aynı boyutta çıktı verir ama o matematiksel karşılaştırma ile embedding karşılaştırması anlamca tamamen farklıdır
    Embedding kalitesinin eğitim süreci tarafından belirlendiğini vurgulamak gerekir
    Rastgele her metin için anlamlı karşılaştırma yapabilen "genel amaçlı embedding" diye bir şey yok

    • Geri bildirim için teşekkürler; Gecko, NV-Embed, Gemini Embedding gibi ilgili makaleleri okuyorum, bu yüzden yazıyı ileride daha doğru şekilde güncelleyeceğim
      Bağlantıları da paylaşıyorum
  • Embedding, hash gibi büyük girdileri sıkıştırılmış biçimde temsil ediyor ama hash'ten farklı olarak içkin bir anlam taşıyor
    O halde embedding'den tersine gidip benzer anlamlı metin üretmeye yönelik bir "cracking" araştırması var mı diye merak ediyorum
    LLM çıktısında bir sonraki token değerlendirmesine embedding ile benzerlik ya da yön değişimini de katmak mümkün olabilir gibi geliyor
    Yazarın bahsettiği embedding vektörleri arası işlemler gibi, bütün paragraflar/kitaplar gibi büyük metinlerde de "anlam cebiri" uygulanabilir mi diye düşünüyorum
    "Yakınlık" gibi temel bir kavramı vektörleştirip mevcut metne eklemek de mümkün olabilir mi diye merak ediyorum

    • "Embedding'den tersine gidip benzer anlamlı metin üretmek" embedding inversion ya da Universal Zero-shot Embedding Inversion olarak adlandırılır
      Bununla ilgili makaleler var; görüntülerde CLIP embedding'leriyle yapılan diffusion çalışmaları da bununla ilişkili

    • Embedding'ler, kabaca söylemek gerekirse fuzzy hash'lere benzer bir rol oynuyor

    • Bu alanın uzmanı değilim ama inference-time intervention denen araştırma da ilgili olabilir
      Makale bağlantısı eklenmiş

  • "Embedding'leri kullanarak teknik yazımda üst düzey ilerlemeler elde edebilirsiniz" sözü yeterince somut değil, bu yüzden okuyucu olarak bana pek yardımcı olmuyor
    Teknik belge okurken ya da yazarken genel olarak hiç "benzer sayfalar" bileşeni istemedim

    • Tez ikinci paragrafta yer alıyor
      Embedding'ler, teknik yazarların daha önce keşfedemeyeceği biçimlerde metinler arası bağlantılar bulmasını sağlıyor
      Yazının bu tezi örneklerle pratik biçimde gösteremediğini kabul ediyorum
      Embedding'lerin teknik yazımdaki çeşitli zor problemleri çözebileceğini düşünüyorum; doğrudan örnekleri daha sonra ele alacağım

    • İlgili belgelerin ötesinde, teknik dokümanlar için mükemmel arama son derece faydalı
      Embedding'ler özellikle "fuzzy matching" için çok kullanışlı; kullanıcı tam kelimeyi hatırlamasa bile aslında istediği özelliği bulabiliyor
      Anahtar kelime aramasıyla vektör benzerliği aramasını birleştiren hibrit yaklaşım etkili
      Daha somut kullanım örnekleri bulmak isterim

  • İki boyutlu harita benzetmesi anlamayı kolaylaştıran iyi bir başlangıç ama embedding'ler yüzlerce hatta binlerce boyutta çalışır
    Her boyutun hangi anlama geldiği de açık değildir; king - man + woman = queen örneği de "gender kavramına sahip bir boyut" olduğu için değil, "belirli bir yön" olduğu için çalışır
    n boyutlu uzayda neredeyse ortogonal yönler üstel olarak çok sayıdadır
    1000 boyutlu bir alana milyarlarca kavram sığdırılabilmesinin nedeni budur

    • Gerçek arXiv makalelerinde embedding'e 1000 erkek sözcüğü verince 950 kadın sözcüğünü kusursuz bulmak gibi bir şey olmuyor
      Yaklaşık 20 kadar sözcük gözle görülür biçimde gruplanıyor ama boyut çok olduğu için projeksiyonda her şey "uyuyormuş" gibi görünebilir
      N büyüdükçe sonuçların belirsizleşmesi kolaylaşıyor
      Transformer tabanlı embedding'ler bağlamı dikkate aldığı için eski sözcük vektörlerinden çok daha iyi
      Tam metin aramada da bağlam farkındalığı olan embedding'ler, eş anlamlılar gibi konularda bilgi erişiminde son 50 yılda karşılaşılan sorunları etkili biçimde çözüyor

    • Ayrıntılı eleştiri için teşekkürler; tek bir boyutun bir kavramla bire bir eşlendiği izlenimini veren açıklamamın kavramsal bir hata olduğunu kabul ediyorum
      Kosinüs benzerliğinin nasıl çalıştığını da ekleyip kavramı daha iyi işleyerek yazıyı güncelleyeceğim
      Bu yorumlar sayesinde düşünme kalitemin arttığını hissediyorum

    • "Neredeyse ortogonal boyutlar" yerine "neredeyse ortogonal yönler" demek daha doğru olur

    • Johnson-Lindenstrauss lemma ile ilgili bilgiyle birlikte, embedding'lerde boyut koruma ve mesafe koruma doğruluğu konusunda merakım var
      Mesafeleri %10 hatayla korumak için yaklaşık 18 bin boyut gerekiyor
      Wiki bağlantısı da verilmiş

    • Daha doğru ifade "neredeyse ortogonal boyutlar" değil, "neredeyse ortogonal yönler"

    • Eğer tek tek boyutlar anlamlı kavramlarla örtüşseydi, örneğin bir gender boyutu olsaydı, king ile queen arasındaki farkın yalnızca tek boyutta olduğunu kolayca anlayabilirdik
      Her kavramın ayrı bir boyutu olsaydı, bu farklar üzerinden kavramları sezgisel biçimde takip etmek mümkün olurdu

    • Neredeyse ortogonal vektörler kavramı üzerine iyi bir makale öneriliyor
      Bağlantı paylaşılmış

    • Her boyutu ikili bit gibi ele alıp 2^n yön kodlayabildiğimiz mantığı mı kastediliyor, yoksa yanlış mı anlıyorum diye soruluyor

    • Eğer cinsiyet iki boyutla temsil ediliyorsa, "cinsiyetin farklı olması" ile "her boyutun farklı bileşen taşıması"nı ayırt etmek imkânsız olmaz mı diye soruluyor

    • Görselleştirme mümkün olmasa da Öklid mesafesi hesaplanabilir
      UMAP gibi araçlarla boyut azaltma yapılabilir

    • king-man+woman=queen örneğine ilişkin olarak, vektör toplama işlemi her zaman beklendiği gibi çalışmayabilir
      Anlam, tek bir vektör yönü ve büyüklüğüyle sınırlı olabilir; ayrıca ağ doğrusal olmayan davranışlar öğrendiği için başlangıç noktasına göre anlam değişebilir
      Deneysel kanıt olmadan basit vektör işlemlerinden genelleme yapmak sınırlıdır

  • Embedding'ler, alfabe ya da sayılar gibi evrenselliğe doğru yeni bir sıçrama
    Bağlantı paylaşılmış

  • Uzmanlara bir sorum var
    Embedding'ler içeriği, yani anlamın kendisini vektör olarak taşıyorsa, yalnızca "stil" için ayrı bir vektör de var mı diye merak ediyorum
    Yazı stilini analiz eden araştırmalarda embedding'ler kolayca kullanılabilirse büyük bir ilerleme olabilir diye düşünüyorum

    • Benzer stile sahip bir veri kümeniz varsa, yalnızca stil için bir embedding eğitip oluşturabilirsiniz
  • Embedding kullanımına tamamen katılıyorum
    Recallify adında bir şey geliştirirken internette okuduğum nadir bilgileri bile hızla yeniden bulabilir hale geldim
    Sadece 1024 boyut kullanmak bile içerikleri anahtar kelimelerle değil anlamsal benzerlikle etkili biçimde ilişkilendirmeye yetiyor
    Belirsiz kavramları uygulanabilir içgörülere dönüştürmede devrim niteliğinde bir araç
    iOS uygulaması için beta test kullanıcıları da aranıyor

  • Yazıda teknik yazarlar için doğrudan kullanım örneği gerçekten var mıydı emin olamadım
    Embedding'ler LLM'lerde, anlamsal aramada vb. çok önemli ama yazarın ima ettiği doğrudan faydaya dair açıklama eksik

    • Doğrudan uygulama örneği yoktu
      Devam yazıları ve projelerle embedding'lerin farklı kullanımlarını ele almayı planlamıştım ama son dönemde bebek bakımıyla (3 aylık bebek) geciktim
      İlgili proje ve yazılar üzerinde çalışıyorum; embedding'ler teknik yazımda önemli 3 zorluğu çözmeye yardımcı oluyor

    • Embedding'lerin pratik kullanım alanları anlamsal arama, sınıflandırma ve kümeleme
      Arama alanında yaklaşık her 10 yılda bir büyük sıçrama yaşanıyor
      Embedding üretip mevcut ML algoritmalarına verdiğinizde etkili sınıflandırma yapabiliyorsunuz
      Bag-of-Words yaklaşımı artık zayıf sonuç veriyor; embedding + basit algoritmalarla bile iyi kümeler elde edilebiliyor
      Yakın vektörleri bulmak için de lineer cebirden çok noktasal çarpım düzeyi çoğu zaman yeterli

    • Makale, literatür vb. şeyleri embedding kullanarak anlamsal olarak aramak çok faydalı olur
      Ancak embedding'in kendisinde kaynak bilgisi yer almadığı için RAG aramalarında yalnızca kaynak sayfaya bağlantı verilebiliyor
      Alıntı ve doğrulama sorunları hâlâ sürüyor
      GraphRAG gibi grafik tabanlı atıf modelleri daha ileri bir yaklaşım

    • Embedding tabanlı anlamsal aramayla bir RSS besleme sınıflandırıcısı yapmıştım
      İsteğe bağlı kategorilerle sınıflandırma da mümkündü
      Şu anda AWS'den ayrıldığım için hizmet kapalı