İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM

LAB · ARAÇ

Gömme Depolama Hesaplayıcı

Parça sayısı, vektör boyutu ve sayı tipinden bir vektör dizininin kapladığı yeri; HNSW grafının bu yerin ne kadarını tuttuğunu ve aylık yeniden dizinleme yükünü hesaplar. Dizini kurmadan önce bellek ve mimari kararını sayıya bağlamak isteyen ekipler için.

Durum

Çalışıyor

Girdiler

Parça sayısı
vektör
Vektör boyutu
boyut
Kopya sayısı
kopya
Sayı tipi
float32 / float16 / int8
HNSW komşu sayısı
M
Parça başına meta veri
bayt
Aylık yenilenen içerik
%

Hesaplama tarayıcıda yapılır; girdiğiniz değerler sunucuya gönderilmez.

01ARAÇ

Hesapla

Girdileri değiştirdiğinizde sonuç anında güncellenir. Hangi varsayımın sonucu ne kadar değiştirdiğini görmek için tek tek oynayın.

Girdiler

Dizine yazılacak parça (chunk) sayısı; her parça bir vektöre karşılık gelir.

Erişilebilirlik için tutulan replika sayısı.

Gömme modellerinin doğal çıktısı. Hiçbir dönüşüm kaybı yok, en çok yer tutan seçenek.

M = 16

Kaynak yolu, parça kimliği ve filtre alanlarının parça başına kapladığı yer; kendi şemanıza göre girin.

%10

Sonuç

Dizin boyutu — tüm kopyalar

396,0MB

Vektör başına gövde3.072 bayt
Vektör verisi351,6 MB
HNSW grafı15,1 MB
Meta veri29,3 MB
Tek kopya396,0 MB
float32 tabanına göretaban seçenek

Tek kopyanın dağılımı

  • Vektör verisi (MB)351,6
  • HNSW grafı (MB)15,1
  • Meta veri (MB)29,3

Yeniden dizinleme yükü

Aylık yeniden gömülen vektör12.000
Aylık yeniden yazılan veri39,6 MB
Yıllık yeniden gömülen vektör144.000

Yenilenen parçalar baştan gömülür: gövdesi ve meta verisi yeniden yazılır, bağlantıları yeniden kurulur. Sayı yeniden yazılan veri hacmidir, geçen süre değil.

Bayt genişlikleri tanım gereği sabittir (float32 = 4, float16 = 2, int8 = 1 bayt); int8 için vektör başına 8 baytlık ölçekleme aralığı, graf için komşu başına 4 baytlık düğüm kimliği varsayılır. HNSW payı, taban katmanda 2M komşu ve geometrik seviye dağılımı varsayımıyla hesaplanır — sağlayıcının kendi ek yükü, boş alan payı ve silinen kayıtların bıraktığı artık bu hesapta yok. Uyarıları tetikleyen iki eşik —tek düğüm için 32 GB ve graf payı için %35— ölçülmüş sınırlar değil, okumayı yönlendirmek için kabul edilmiş varsayımlardır; kendi makinenize göre yeniden okunmaları gerekir. Araç yer hesabı yapar; nicelemenin geri çağırma kaybını, sorgu gecikmesini, gömme çağrılarının ücretini ve yeniden dizinlemenin ne kadar süreceğini ölçmez.

02YÖNTEM

Hesap nasıl kuruluyor?

Bir hesaplayıcının değeri sonucunda değil, hangi varsayımla o sonuca vardığındadır.

Kısa cevap

Bir vektör dizininin boyutu yalnızca gömmelerden gelmez: sayı tipi vektör gövdesini, HNSW komşu sayısı graf payını, şema ise meta veri payını belirler ve üçü birlikte toplamı kurar.

Hesap ne yapıyor?#

Araç, girdiğiniz parça sayısını, vektör boyutunu ve sayı tipini alıp dizinin üç bileşenini ayrı ayrı hesaplar: vektör verisi, HNSW grafı ve parça başına meta veri. Toplamı kopya sayısıyla çarparak bellekte tutulacak gerçek yükü verir, sonra aylık yenilenen içerik oranından yeniden dizinleme yükünü türetir. Amaç tek bir sayı üretmek değil, toplamın hangi bileşenden geldiğini göstermek: aynı büyüklüğe farklı kararlarla varılır ve her kararın karşılığı başka yerde ödenir.

Formül#

Hesap dört büyüklüğün toplamıdır ve hepsi doğrudan girdilerden türetilir; araç hiçbir sağlayıcının ölçülmüş rakamını kullanmaz. Bayt genişlikleri sayı tiplerinin tanımından, graf payı ise HNSW'nin veri yapısından gelir.

  • Vektör başına gövde = vektör boyutu × sayı tipinin bayt genişliği; int8 seçildiğinde ölçekleme aralığı için vektör başına 8 bayt eklenir.
  • Vektör verisi = parça sayısı × vektör başına gövde.
  • HNSW grafı = (parça sayısı × 2M taban bağlantı + üst katman bağlantıları) × komşu başına 4 bayt; üst katman payı geometrik seviye dağılımından yaklaşık olarak türetilir.
  • Meta veri = parça sayısı × parça başına meta veri baytı.
  • Toplam = (vektör verisi + graf + meta veri) × kopya sayısı.
  • Aylık yeniden dizinleme = yenilenme oranı × (yenilenen vektörlerin gövdesi + meta verisi + graf payı).
Sayı tipiVektör başına gövdeYapısal ek yük
float32boyut × 4 baytyok
float16boyut × 2 baytyok
int8boyut × 1 baytvektör başına 8 bayt ölçekleme aralığı
Bayt genişlikleri sayı tiplerinin tanımıdır. Tablo yalnızca yer maliyetini gösterir; nicelemenin geri çağırma üzerindeki etkisi bu tabloda yoktur ve kendi sorgu kümenizde ölçülmeden bilinemez.

Varsayımlar#

  • Komşu kimliği 32 bitlik tamsayı olarak saklanır, yani bağlantı başına 4 bayt.
  • HNSW taban katmanında komşu sınırı 2M kabul edilir; üst katman payı geometrik seviye dağılımıyla yaklaştırılır.
  • int8 nicelemede ölçekleme aralığı vektör başına iki float32 olarak saklanır.
  • Dizin bellekte tutulur; disk tabanlı bir dizinin sayfa yapısı ve boş alan payı hesaba girmez.
  • Uyarıyı tetikleyen 32 GB'lık tek düğüm eşiği kabul edilmiş bir çalışma varsayımıdır, ölçülmüş bir sınır değildir.
  • Graf payının "kararı M üzerinden ver" uyarısını tetiklediği %35 oranı da ölçülmüş bir sınır değil, kabul edilmiş bir okuma eşiğidir.

Neyi ölçmez#

Araç yer hesabı yapar, kalite hesabı yapmaz. Nicelemenin geri çağırmayı ne kadar düşürdüğünü, M değerini küçültmenin arama doğruluğuna ne yaptığını, sorgu gecikmesinin nasıl değiştiğini ve yeniden dizinlemenin ne kadar süreceğini söylemez; bunların hiçbiri girdilerden türetilemez, yalnızca kendi verinizde ölçülür. Gömme çağrılarının ücreti de hesabın dışındadır: fiyat sağlayıcıya ve zamana bağlıdır, araca gömülmesi yanlış olur.

Kararı nasıl kullanmalı#

  1. 1Tabanı float32 ile kur

    Önce hiçbir niceleme uygulanmamış hali hesaplayın. Bu, kalite tarafında hiçbir şey feda etmeyen üst sınırdır ve karşılaştırmanın tabanı olur.

  2. 2Dağılıma bak, tek sayıya bakma

    Toplamın hangi bileşenden geldiğini görün. Graf payı yüksekse vektörü küçültmek yer kazandırmaz; M üzerinden karar vermek gerekir.

  3. 3Tek kararı değiştirip tekrar oku

    Sayı tipini ya da M değerini tek başına değiştirip farkı okuyun. İki kararı birlikte değiştirmek, kazancın hangisinden geldiğini gizler.

  4. 4Kazancı kalite ölçümüyle eşleştir

    Buradaki yer kazancını, kendi doğrulama kümenizde ölçtüğünüz geri çağırma kaybının yanına yazın. Karar bu iki sayının karşılaştırılmasıdır; tek başına yer kazancı karar vermeye yetmez.

04DİĞER PROJELER

Lab'dan

BUILD

Hesap tuttu, sıra uygulamada

Aynı hesabı kendi verinizle yapıp mimariyi kurmak için kurumsal destek alabilirsiniz.