PRODEgemen Avrupa BaaS platformuKontrol Panelini Aç →

Yerel yapay zeka · 7 dk. okuma

Gömme boyutu: 768, 1536 veya 3072 boyutları?

Affane Daylami · Fondateur · 3 Nisan 2026

Bloga geri dön

768, 1536 ve 3072 boyutları arasındaki seçim kozmetik bir ayarlama değildir. Vektör veritabanınızın depolama hacmini, kullanılabilecek indeks tipini ve her API çağrısı için ödenen ücreti belirler. OpenAI'nin kendisi iki mevcut modeli arasındaki kalite farkını belgeliyor: 1536 yerel boyutta metin yerleştirme-3-küçük, 3072 yerel boyutta metin yerleştirme-3-büyük için %64,6'ya kıyasla, MTBEB karşılaştırmasında %62,3'e ulaştı. Gerçek bir kazanç, ancak bunun bedeli düşündüğünüzden başka bir yerde ödenir.

Bu İngilizce metin, Fransızca orijinalinden otomatik olarak oluşturulmuştur ve henüz incelenmemiştir.
Bu sayfa otomatik olarak çevrildi. İngilizce versiyonu yetkilidir.

Bu makale, OpenAI tarafından yayınlanan resmi belgelere, OpenAI geliştirici topluluğu tartışmalarında toplanan ekip geri bildirimlerine ve bu üç boyutlu sınıfları yerel olarak üç farklı vektör sütununa yönlendiren Aurabase kodunda doğrulanan davranışa dayanmaktadır. Her dış figürün tarihi ve kaynağı vardır; Kendi ölçümlerimize uyguladığımız metodoloji için kıyaslama metodolojisi sütunumuzabakın.

Temeller
  • 1536 boyutları çoğu durumda en dengeli seçim olmaya devam ediyor: pgvector'un yerel HNSW desteğinden ayrılmadan yerel metin yerleştirme-3-küçük veya kesik metin yerleştirme-3-büyük.
  • 3072 boyutları (text-embedding-3-large), OpenAI tarafından yayınlanan en yüksek MTEB puanını sunar (%64,6'ya karşı %62,3), ancak pgvector'ın vector türünün 2000 boyut sınırını aşar: HNSW dizini, halfvec'ye dönüşüm gerektirir.
  • OpenAI dimensions parametresi (Matryoshka tekniği) aracılığıyla bir yerleştirmenin kesilmesi, depolamayı azaltır ve aramayı hızlandırır ancak fiyatı düşürmez: bu, döndürülen vektörün boyutuna değil, sorgulanan modele bağlıdır.
  • halfvec depolama alanı sayesinde (boyut başına 2 bayt), 3072 boyutlu bir vektör Aurabase'de klasik vector'deki 1536 vektörüyle (boyut başına 4 bayt) aynı ham disk alanını kaplar: yaklaşık 6 KB.
  • Aurabase yerel olarak tam olarak 3 boyut sınıfını destekler, 768, 1536 ve 3072, her biri kendi sütunundadır (aura-ai/src/embeddings/mod.rsiçinde işaretlenmiştir): serbest boyut alanı yoktur.
#
Genel Bakış

768, 1536 veya 3072: Her seviyede gerçekte ne değişiyor?

Açıkçası, kesmeden bahsetmeden önce, metin gömme-3-küçük ve metin-gömme-3-büyük arasında seçim yapmak, ilk olarak 1536 ile 3072 yerel boyut arasında seçim yapmak anlamına gelir. Aşağıdaki tablo, pgvector'ün indeksleme tarafında doğal olarak tanıdığı üç seviyeye ve Aurabase rotasına ilişkin doğrulanabilir gerçekleri özetlemektedir.

Kriter768 boyut1536 boyut3072 boyut
İlgili model(ler)OpenAI kesme veya eski/açık kaynak (yerel) modelmetin yerleştirme-3-küçük (yerel) veya kesilmiş 3-büyükmetin gömme-3-büyük (yerel)
Ortalama MTBEB puanıOpenAI tarafından bu boyutta yerel olarak yayınlanmadı62,3 %64,6 %
Gösterge niteliğindeki OpenAI fiyatı / 1 milyon tokenboyutuna değil sorgulanan modele bağlıdır0,02 ABD doları (küçük) veya 0,13 ABD doları (büyük kesilmiş)0,13 USD (metin yerleştirme-3-büyük)
Brüt depolanan ağırlık / vektör3 KB (float32)6 KB (float32)12 KB (vektör) veya 6 KB (halfvec, Aurabase)
Yerel HNSW pgvektör dizinievetevethayır: halfvec dökümü gerekli (>2000 loş)
Aurabase sütunu (doğrulanmış kod)yerleştirme_768yerleştirme_1536yerleştirme_3072

Kaynaklar: OpenAI, resmi blog "Yeni yerleştirme modelleri ve API güncellemeleri", 25 Ocak 2024 (MTEB puanları ve lansman fiyatları, kullanımdan önce mevcut fiyatlandırma sayfasını kontrol edin); aura-ai/src/embeddings/mod.rs, Aurabase (sütunlar ve dizin desteği, 24 Ağustos 2026'da doğrulandı).

#
Depolama

Depolama üzerindeki etkisi: her şeyi değiştiren hesaplama

Bir yerleştirme, kayan nokta sayıları dizisi gibi depolanır. Pgvector'da, klasik vector türü her boyutu 4 baytta (float32) kodlar: 768 boyut, pgvector başlığını ve Postgres sayfa ek yükünü saymadan önce bile, vektör başına yaklaşık 3 KB ham veri, 1536 boyut yaklaşık 6 KB ve 3072 boyut yaklaşık 12 KB ağırlığındadır.

Her boyutu 4 yerine 2 bayt (float16) olarak kodlayan halfvec tipi pgvector burada devreye giriyor. halfvec içinde depolanan 3072 boyutlu bir vektör yaklaşık 6 KB ağırlığındadır: klasik vectoriçinde saklanan 1536 boyutlu bir vektörün tam ağırlığı.

3 KB
768 güneş
vektör, float32 (4 bayt/dim)
6 KB
1536 Güneş
vektör, float32: halfvec'teki 3072 ile aynı ağırlık
12 KB
3072 güneş
klasik vektör, float32 (halvevec yayınlanmadan önce)

Doğrudan ve sezgisel olmayan sonuç: Aurabase'de 1536 boyuttan 3072 boyuta geçiş, diskteki gerçek depolama alanını iki katına çıkarmaz çünkü embedding_3072 sütunu, halfvecdönüşümü yoluyla sorgulanır. Bu nedenle, 3072 boyutlarının gerçek ek maliyeti öncelikle disk değildir: ilgili OpenAI modelinin fiyatı ve aşağıdaki bölümde ayrıntılı olarak açıklanan vectortürü yerel dizin desteğinin çıktısıdır.

#
pgvektör / HNSW

Neden 3072 boyutları pgvector altında dizin türünü değiştiriyor?

vector pgvector türü, 2000 boyutun ötesinde bir HNSW veya IVFFlat dizini oluşturulmasına izin vermez. Dolayısıyla 3072 boyutları bu sınırı aşıyor: vector(3072) sütunundaki hiçbir vektör arama sorgusu yaklaşık bir dizine dayanamaz, tam sıralı taramaya dayanır ve üretimdeki bir RAG derleminin ölçeğinde kullanılamaz.

Aurabase kodu bu durumu açıkça ele alır: embedding_3072 sütunu, her ekleme ve arama sorgusunda, pgvector'ın 4000'e kadar boyutu indeksleyebileceği bir tür olan halfvec(3072)'ye dönüştürülür. 768 ve 1536 numaralı sütunlar, sınıra yaklaşmadıklarından yerel vectoryayınlanmamış olarak kalır.

embeddings/mod.rs (extrait simplifié)rust
// 3072 (>2000) için, HNSW `vector` tipini indekslemez → halfvec dökümünü yapar
fn vec_query_parts(dims: usize) -> AuraResult<(&'static str, &'static str, &'static str)> {
    match dims {
        768  => Ok(("embedding_768",  "", "::vector")),
        1536 => Ok(("embedding_1536", "", "::vector")),
        3072 => Ok(("embedding_3072", "::halfvec(3072)", "::halfvec(3072)")),
        other => Err(...), // desteklenmeyen boyut
    }
}

Bu ayrıntı aynı zamanda [768, 1536, 3072]'de listelenmeyen bir yerleştirme boyutunun neden kabul edilip daha sonra kötü şekilde dizine eklenmesi yerine Aurabase tarafında açıkça başarısız olduğunu da açıklamaktadır: sütun adı her zaman sabit bir izin verilenler listesinden gelir, asla müşteri tarafından gönderilen ücretsiz bir değerden gelmez. Bu özel durumun ötesinde Postgres'te bir HNSW dizini oluşturmaya daha derinlemesine bakmak için HNSW dizini ve Postgres vektör aramasımakalemize bakın.

#
API maliyeti

Her şeyi kaybetmeden boyutu küçültmek: OpenAI'nin Matryoshka kısaltması

Ocak 2024 itibarıyla OpenAI'nin Embeddings API'si, farklı bir modeli yeniden çağırmadan döndürülen vektörü kısaltan bir dimensions parametresini kabul etmektedir. Tekniğe Matryoshka Temsil Öğrenimi adı verilir: Model, vektörün ilk boyutlarında yararlı bilgiyi yoğunlaştırmak üzere eğitilir, böylece bir kesme birdenbire yerine kademeli olarak hassasiyetini kaybeder.

OpenAI, duyurusunda bu tekniğin etkinliğini belirli bir örnekle gösteriyor: text-embedding-3-large, yalnızca 256 boyuta kısaltılmış, 1536 boyutta tam boyutta kullanılan eski text-embedding-ada-002'nin MTEB puanını hala aşıyor (kaynak: OpenAI, resmi blog, 25 Ocak 2024). Bu spesifik kıyaslamada, tam bir vektörden daha iyi performans gösteren, 12 kat daha küçük bir vektör.

llm/openai.rs (extrait, requête d'embedding)rust
let body = json!({
    "model": self.embed_model,       // örneğin "metin yerleştirme-3-büyük"
    "input": text,
    "dimensions": self.embed_dimensions, // 3072 → yapılandırılan değeri keser
});

Önemli ve çoğu zaman yanlış anlaşılan nokta: kesinti, uygulanan fiyatı azaltmaz. Gerçek maliyet, giriş metninde gerçekleştirilen hesaplama olduğundan, OpenAI ücretleri döndürülen vektörün boyutuna değil, sorgulanan modele göre belirlenir. Bu nedenle, text-embedding-3-large'den 1536 boyut talep etmek, 3072 yerel boyutla aynı fiyata mal olur (kaynak: OpenAI, resmi blog, 25 Ocak 2024); yalnızca depolama ve arama hızı değişir.

This is precisely the default choice of Aurabase, verified in config/mod.rs: the model configured by default is text-embedding-3-large, but the output dimension configured by default is 1536, not 3072. The service therefore pays for the representation of the wide model, truncated to remain on an indexable vector column in native HNSW, without the halfvec cast required to 3072.

#
Karar

Kullanım durumunuza göre hangi boyutu seçmelisiniz

1536 boyut, RAG veya semantik arama projelerinin çoğunluğu için makul başlangıç noktası olmaya devam ediyor: metin yerleştirme-3-küçük (%62,3)'ün MTEB puanı büyük modelinkine yakın kalıyor, depolama hafif kalıyor ve HNSW'de herhangi bir özel yapılandırma olmaksızın klasik vector tipi pgvector indeksleri.

3072 boyutları, derlem belirsiz veya teknik olduğunda, %62,3 ile %64,6 arasındaki kalite farkının genel OpenAI karşılaştırmasında değil, kendi sorgularınızda gözle görülür şekilde daha iyi arama sonuçlarına dönüştüğü durumlarda haklı çıkar. OpenAI geliştirici topluluğu tartışmalarında kaydedilen birçok ekip geri bildirimi bu yöne işaret ediyor: 3072 boyutun kazanımı duruma göre ölçülür, bu varsayılamaz.

768 boyutları, hacmin nüanstan öncelikli olduğu durumlarda özellikle uygundur: depolama veya hesaplama bütçesinin gerçek kısıtlama olduğu büyük bir korpus veya halihazırda 768 yerel boyutta olan eski bir yerleştirme modelinin kullanılması.

Karar vermeden önce basit bir kural

Yalnızca OpenAI tarafından yayınlanan genel MTEB puanı değil, kendi derleminizin temsili bir örneği üzerinde arama kalitesini ölçene kadar boyutu ayarlamayın. METEB düzinelerce heterojen görevin ortalamasını alır; RAG derleminiz yalnızca bir tanesidir.

Bu boyut seçimi, Yerel AIsayfamızın belgelediği daha büyük bir RAG yığınının, yerleştirmelerin, HNSW dizininin, karma aramanın bir parçasıdır.

#
Sık sorulan sorular

Bize en sık sorulanlar

Zaten indekslenmiş bir korpusun boyutunu her şeyi yeniden indekslemeden değiştirebilir miyiz?+
Hayır. Aurabase, her semantik aramayı tam modele VE boyuta (embedding_model sütun + boyuta ayrılmış sütun) göre filtreler. 1536 boyutta indekslenen bir derlem, 3072'de yapılan bir aramada görünmez hale gelir ve bunun tersi de geçerlidir: boyutun değiştirilmesi, bütünün yeni sınıf altında yeniden indekslenmesini gerektirir.
Gemini 3072 boyutun ötesine geçmenize izin veriyor mu?+
Hayır. Aurabase'in Gemini istemcisi, boyutu açıkça 3072 (outputDimensionality) olarak sınırlandırıyor. 3072, tüm tedarikçilerin birleşimiyle Aurabase tarafından desteklenen üç sınıf için ortak olan tavandır.
En iyi sonuçlar için her zaman 3072 boyutu mu seçmelisiniz?+
Mutlaka değil. 1536 ile 3072 arasındaki MTEB puanı farkı (OpenAI'ye göre %62,3'e karşı %64,6), 3072'nin ima ettiği mimari değişiklik karşısında mütevazı kalıyor: vectortüründe yerel HNSW desteğinin yayınlanması, zorunlu halfvec dönüşümü ve geniş modelin fiyatı. Bu maliyeti haklı çıkarmadan önce kazancınızın külliyatınızda doğrulanması gerekir.
Üretimdeki bir RAG projesi için metin gömme-3-küçük mü yoksa metin-katıştırma-3-büyük mü?+
Bu evrensel bir kurala değil, bütçeye ve yapının niteliğine bağlıdır. Text-embedding-3-small (1536 yerel boyut), vakaların çoğunu daha düşük maliyetle kapsar; text-embedding-3-large, kesinlik kazanımının yalnızca genel MTEB puanına göre değil, kendi test sorgularınıza göre somut olarak ölçüldüğü belirsiz bir bütünle gerekçelendirilmiştir.
#
Özetle

Doğru seçim en büyük değil, en iyi ölçülen seçimdir

768, 1536 ve 3072 boyutları tek eksende bölünmemiştir. OpenAI tarafından yayınlanan MTEB skorunda 3072 kazanç elde ediyor ancak pgvector'un yerel HNSW desteğini bırakıyor ve sonuçta talep edilen boyut ne olursa olsun büyük modelin bedelini ödüyor. 1536, Aurabase de dahil olmak üzere en yaygın temerrüt bakiyesi olmaya devam ediyor. 768, hacmin nüanstan öncelikli olduğu durumlara hizmet eder.

OpenAI'nin dimensions parametresi sorulacak soruyu değiştiriyor: artık "hangi modelin seçileceği" değil, "külliyatımda ölçülen kazanç için hangi kesmenin kabul edileceği". Üretimde bir seçimi tamamlamadan önce, arama kalitesini yalnızca genel bir kıyaslamayla değil, gerçek bir örnek üzerinde test edin. Kılavuzumuz pgvector içeren RAG ardışık düzeni, alımdan hibrit aramaya kadar tüm kurulumun ayrıntılarını verir.

DAĞITILMAYA HAZIR MISINIZ?

Beş dakika içinde arka ucunuz.

Kredi kartı gerekmez · 500 MB ücretsiz · 50.000 MAU