পদ্ধতি + প্রথম পরিমাপকৃত ফলাফল · প্রোটোটাইপ রিগ প্রকাশিত

নিয়মগুলো প্রকাশ পায়
সংখ্যার আগে।

Telys হলো 0.1.0b4 — এগুলো একটি প্রকাশিত রিগে prototype-validated সংখ্যা, production সংখ্যা নয়। একটি ফলাফল তখনই গণ্য হয় যখন তা একই হার্ডওয়্যারে matched recall-এর অধীনে পরিমাপ করা হয়, raw sample ও সেগুলো তৈরির স্ক্রিপ্টসহ। নিচের নিয়মগুলো প্রতিটি সংখ্যাকে আবদ্ধ করে: আমরা কী পরিমাপ করি, কার বিপরীতে, এবং যেসব ক্ষেত্রে আমাদের হারতেই হবে।

01 পরিচালন নীতি

হার্নেস যে নিয়ম প্রয়োগ করে — আমাদের জুড়ে দেওয়া সতর্কতা নয়।

নিচের প্রতিটি নিয়ম বেঞ্চমার্ক হার্নেসে মেশিন চেক হিসেবে এনকোড করা। কোনো রান নিয়ম লঙ্ঘন করলে তাতে ফুটনোট দেওয়া হয় না — সেটি অবৈধ চিহ্নিত হয়ে প্রতিটি স্কোরকার্ড থেকে বাদ পড়ে।

প্রতিটি গুণক একটি অনুমান — যতক্ষণ না ম্যাচড রিকল ও ম্যাচড হার্ডওয়্যারে পরিমাপ করা হয়, র‍্যা স্যাম্পল ও একটি রিপ্রোডাকশন স্ক্রিপ্ট প্রকাশসহ।

Telys বেঞ্চমার্ক নীতি
বাধ্যতামূলক পরাজয়

যে বেঞ্চমার্কে হারা সম্ভব নয় তা মূল্যহীন

তৈরি স্কোরকার্ডে একটি বাধ্যতামূলক Where-we-lose বিভাগ থাকে, যা প্রতিটি সেল থেকে স্বয়ংক্রিয়ভাবে পূরণ হয় যেখানে কোনো তুলনাকারী জেতে। সেই বিভাগ খালি থাকলে রিপোর্ট বিল্ড ব্যর্থ হয় — ক্লিন সুইপকে সাফল্য নয়, ভাঙা হার্নেস হিসেবে গণ্য করা হয়।

ট্রান্সপোর্ট সততা

Embedded বনাম embedded — এটাই ন্যায্য লড়াই

আমরা কখনো TCP-এ উত্তর দেওয়া প্রতিযোগীর বিপরীতে ইন-প্রসেস কলকে হেডলাইন করি না। এমবেডেড লাইব্রেরির বিপরীতে, ইন-প্রসেস বনাম ইন-প্রসেসই সৎ ট্রান্সপোর্ট। সার্ভারের বিপরীতে, ট্রান্সপোর্ট হুবহু মিলিয়ে নেওয়া হয়, নইলে সংখ্যাটি অ্যানোটেট করে হেডলাইন থেকে বাদ রাখা হয়।

ডিউরেবিলিটি সততা

ম্যাচড টায়ার, নইলে তুলনা নেই

ইন-মেমরি রানকে কখনো এমন প্রতিযোগীর বিপরীতে স্কোর করা হয় না যে প্রতিটি কমিটে fsync করে। প্রতিটি ফলাফল তার ডিউরেবিলিটি টায়ার ঘোষণা করে — in_mem, wal_async, বা wal_fsync — এবং হার্নেস টায়ার পেরিয়ে যেকোনো তুলনায় হার্ড-ফেল করে।

FAISS নিয়ম

আমরা FAISS ব্যবহার করে FAISS-কে হারানোর ইঙ্গিত কখনো দিই না

FAISS হলো সেই ANN কোর যা Telys এমবেড করে — একটি ভিত্তি, প্রতিপক্ষ নয়। প্রতিটি ভেক্টর স্কোরকার্ড প্রথমে raw-FAISS ট্রাভার্সাল সেল দেখায়; যেখানে টাই, সেখানে টাই মুদ্রিত হয়। সৎ জয় দাবি করা হয় অন্যত্র: রিরেংক কার্নেল, ফিল্টার্ড প্ল্যানিং, এবং ইন্ডেক্সের চারপাশের ইঞ্জিনে।

02 তুলনাকারীর সেট

প্রতিটি তুলনাকারী একটি দাবি আলাদা করে।

একটি একক লিডারবোর্ড সংখ্যা অ্যালগরিদম, ট্রান্সপোর্ট, ডিউরেবিলিটি ও স্টোরেজ ফরম্যাটকে গুলিয়ে ফেলে। সেটটি এমনভাবে বাছাই করা হয়েছে যাতে প্রতিটি তুলনা ঠিক একটি ভেরিয়েবল আলাদা করে — প্রতিটি হেডলাইনের নিচে একই নোডের কন্ট্রোলসহ।

সিস্টেমআকৃতিতুলনা যা আলাদা করে
FAISS (একই নোড)কন্ট্রোল বেসলাইনমেঝে, প্রতিপক্ষ নয়। Telys FAISS এমবেড করে, তাই raw-FAISS সংখ্যাটিই সেই বেসলাইন যা আমরা; প্রকাশিত ডেল্টা হলো ইঞ্জিন তার চারপাশে যা যোগ করে — একই ইন্ডেক্স স্ট্রিং ও একই পরিমাপকৃত রিকলে।
Postgres + pgvectorরিলেশনাল + ভেক্টরফিল্টার্ড-হাইব্রিড কোয়েরি: ক্যান্ডিডেট পাথে স্কেলার প্রেডিকেট পুশ করা, ফিল্টার সিলেক্টিভিটি জুড়ে সমান রিকলে, ওভার-ফেচ বা পোস্ট-ফিল্টার করতে বাধ্য ইন্ডেক্সকে হারায় কিনা।
LanceDB / Chromaএমবেডেড লাইব্রেরিসবচেয়ে কাছের প্রতিযোগী, ইন-প্রসেস বনাম ইন-প্রসেস — যেখানে ইন-প্রসেস সংখ্যা ন্যায্য হেডলাইন। একই ANN ফ্লোর; তুলনা ইঞ্জিনকে আলাদা করে: ইউনিফাইড রো-আইডি স্পেস, কোল্ড-ওপেন, ফুটপ্রিন্ট।
Qdrant / Milvusসার্ভারঅ্যালগরিদম মান — নির্দিষ্ট k-তে রিকল — নেটওয়ার্ক রাউন্ড-ট্রিপ থেকে আলাদা। লেটেন্সি সার্ভার হপ অ্যানোটেটসহ রিপোর্ট করা হয় এবং কখনো ইন-প্রসেস কলের বিপরীতে হেডলাইন করা হয় না।
Pineconeম্যানেজড সার্ভিসনির্দিষ্ট k-তে Recall এবং প্রতি কম্পিউট ইউনিটে থ্রুপুট। এমবেডেড ইঞ্জিনের বিপরীতে raw latency-কে হেডলাইন হিসেবে প্রত্যাখ্যান করা হয়েছে; পরিবর্তে same-node control-ই quality claim বহন করে।
DuckDB / ClickHouseবিশ্লেষণ ইঞ্জিনএকই physical Parquet ফাইলে scan ও aggregate করা হয়, যাতে storage-format সুবিধা engine সুবিধা থেকে আলাদা করা যায়। Vectorized analytical engine এখানে উৎকৃষ্ট; তাদের জয় প্রকাশিত হয়।
03 Workload matrix

যা পরিমাপ করা হয়।

Matrix পরিমাপ নির্ধারণ করে, অনুমানিত জয় নয়। প্রতিটি latency cell open-loop offered load-এর অধীনে সম্পূর্ণ distribution রিপোর্ট করে — শুধু mean নয়। প্রতিটি speed cell harness-এর শিপড ground truth থেকে গণনা করা recall gate-এর সাথে আবদ্ধ; যে cell-এর gate পূরণ হয় না সেটি invalid হিসেবে নির্গত হয় এবং scorecard-এ প্রবেশ করতে পারে না।

WorkloadSetupযা পরিমাপ করে
cold-openPage cache মুছে, নতুন প্রসেস চালুপ্রসেস শুরু থেকে প্রথম সফল query পর্যন্ত সময় — server boot ও recovery-র বিপরীতে segment mmap এবং index-sidecar mapping। Steady state থেকে আলাদাভাবে পরিমাপ করা হয়, কখনো তার মধ্যে মেশানো হয় না।
exact FLATBrute-force exact search, f32 এবং int8নির্মাণগতভাবে recall 1.0-এ distance-kernel floor, একই buffer-এ same-node exact baseline-এর বিপরীতে। প্রতিটি int8 cell f32-এর তুলনায় recall delta রিপোর্ট করে, যাতে quantization loss কখনো লুকানো না থাকে।
ফিল্টার্ড হাইব্রিডScalar predicate + top-k, তিনটি selectivity জুড়ে sweptFilter সংকুচিত হওয়ার সাথে সাথে সমান recall-এ latency, এবং প্রতি cell-এ planner-এর বেছে নেওয়া কৌশল — pre-filter তারপর exact, pre-filter তারপর IVF, বা search তারপর post-filter — যাতে adaptive সিদ্ধান্ত নিরীক্ষাযোগ্য থাকে।
full scanFull-column scan এবং aggregateশেয়ার্ড Parquet-এ raw columnar থ্রুপুট, অভিন্ন bytes-এ engine বনাম engine।
নির্বাচিত স্ক্যানকম match rate-এ predicate scanFooter min-max এবং zone-map pruning আসলে কাজ এড়ায় কিনা — শুধু wall clock নয়, bytes read এবং rows touched হিসেবে রিপোর্ট করা হয়।
reproduce
python -m bench.orchestrator.run \
    --suite vector --rig m-laptop
# one command: pinned comparators, content-addressed
# datasets, warmup, steady-state measurement
# reviewer mode: the same run with Telys excluded
result envelope
# every run emits a machine-checked ResultEnvelope;
# a run that cannot fill every field is invalid
index_string    = "IVF4096,PQ16"  # same for Telys and the FAISS control
omp_num_threads = 8               # FAISS threading pinned, disclosed
transport       = "in_process"    # headlined only vs in-process
durability_tier = "wal_fsync"     # cross-tier comparison hard-fails
recall_at_k     = 1.000           # harness-measured, never self-reported
samples_path    = "bench/results/filtered_impact.txt"

প্রতিটি run অন্তত পাঁচবার পুনরাবৃত্তি হয় নতুন প্রসেস শুরুতে, pinned hardware profile-এ, একসময়ে একটি সিস্টেমে। Dataset content-addressed; query set হলো frozen ফাইল, run time-এ তৈরি নয়। Harness specification আজ committed; harness ফলাফলের সাথে প্রকাশিত হয়।

04 প্রথম পরিমাপকৃত ফলাফল

পরিমাপকৃত, শর্তযুক্ত, পুনরুৎপাদনযোগ্য।

প্রতিটি সারি উপরে উল্লিখিত রিগে একটি প্রকৃত রান, তার পাশে মুদ্রিত recall গেটে। জয়ের ক্ষেত্রটি হলো ফিজিক্যাল লেআউট: একই অবিচ্ছিন্ন সাবসেটে আমাদের Mojo স্ক্যান raw FAISS-এর সমকক্ষ — নিচের পার্থক্যটি key-partitioned লেআউট যা এনে দেয়, দ্রুততর distance কার্নেল নয়। এগুলো প্রোটোটাইপ সংখ্যা, হার্নেস পরিণত হওয়ার সাথে সাথে পূর্ণ fairness চুক্তির অধীনে পুনরায় চালানো হবে।

ওয়ার্কলোডসেটআপ + recall গেটপরিমাপকৃত ফলাফল (M4 Max, single-thread, in-process)
ফিল্টার্ড স্লাইস · 0.1% selN=১০,০০,০০০ D=১২৮ K=১০, উষ্ণ, রিকল ১.০০০ (নির্ভুল)partition-slice p50 0.013 ms — full-scan-এর বিপরীতে লেআউট জয় ~373×, scatter-gather-এর বিপরীতে ~19×। একই সাবসেটে FAISS Flat: 0.040 ms (টাই — প্রমাণ করে জয়টি লেআউটের, কার্নেলের নয়)।
ফিল্টার্ড স্লাইস · 0.4% selN=১০,০০,০০০ D=১২৮ K=১০, উষ্ণ, রিকল ১.০০০ (নির্ভুল)p50 0.032 ms — full-scan-এর বিপরীতে ~128×, scatter-gather-এর বিপরীতে ~10.8×। FAISS Flat control 0.035 ms (টাই)।
ফিল্টার্ড স্লাইস · 1.6% selN=১০,০০,০০০ D=১২৮ K=১০, উষ্ণ, রিকল ১.০০০ (নির্ভুল)p50 0.112 ms — full-scan-এর বিপরীতে ~42×, scatter-gather-এর বিপরীতে ~10.3×। FAISS Flat control 0.120 ms (টাই)।
জায়ান্ট-পার্টিশন রেসকিউN=400,000 D=128-এ 247k সারি, nprobe calibrated, recall 0.9915 (floor 0.98)partition-এর ভেতরে IVF সেখানে লেআউট জয় পুনরুদ্ধার করে যেখানে exact slice দুর্বল হয়: exact slice 1.71 ms → IVF 0.033 ms। IVF ছাড়া একটি একক জায়ান্ট পার্টিশন কেবল ~4–5× ধরে রাখে।
নিয়ন্ত্রিত auto-nprobeN=১০,০০,০০০ D=১২৮ Q=৫০০ nlist=১০০০, রিকল স্থির ০.৯৯৮ (সীমা ০.৯৮)FIND baseline nprobe=32-এ 0.28–0.31 ms → নিয়ন্ত্রিত auto-nprobe=8-এ 0.081–0.088 ms। Recall floor-এর উপরে থাকে — কোনো নীরব recall-for-speed বিনিময় নেই।
FIND বনাম FAISS controlIso-recall, একই transport, উভয় in-process, N=1,000,000 D=128Telys 0.073–0.074 ms @0.998 বনাম raw FAISS 0.080 ms @0.999 — সমতা থেকে সামান্য এগিয়ে। স্কেল-নির্ভর: N=200k-এ পিছিয়ে (0.74×), বড় memory-bound N-এ কেবল ~1.6× পর্যন্ত। FAISS মান, Mojo-ত্বরিত।
GIL-মুক্ত concurrencyN=200,000 D=128, ১২টি perf core, in-process Mojo IVF kernelFIND থ্রুপুট ৮ থ্রেডে ×6.9 স্কেল করে (15,128 → 104,756 qps)। থ্রুপুট স্কেলিং, per-query লেটেন্সি নয়; server engine-এর বিপরীতে তুলনা নয়।
Insert-to-recall ফ্রেশনেসBase N=100,000, M=300 insert, D=128, in-processএকটি সদ্য-inserted ভেক্টর পরবর্তী কোয়েরিতেই top-1: recall@1-of-new = 1.000। Insert p50 0.3 µs। এটি একটি correctness গেট, থ্রুপুট শিরোনাম নয়।

উপরের প্রতিটি সেল bench/results/-এ একটি নামকৃত স্ক্রিপ্ট ও সংরক্ষিত raw output-এ ট্রেস করে (filtered_impact.txt, partitioned.txt, partition_acceptance.txt, opt.txt, telys.txt, concurrency.txt, freshness.txt)। persistence reopen সংখ্যাটি একটি পুনরায়-পরিমাপকৃত raw sample মুলতুবি থাকায় স্থগিত রাখা হয়েছে। প্রতিটি গুণক তার প্রতিটি সারিতে মুদ্রিত শর্তের বাইরে একটি অনুমান।

05 কোড-রিট্রিভাল মান

কোডের জন্য নির্মিত — এবং কোড বেঞ্চমার্কে স্কোর করা।

Telys কোড রিট্রিভ করে, তাই মানের মাপকাঠি CoIR — সাধারণ টেক্সট suite নয়। LexicalCodeIndex-কে mteb SearchProtocol হিসেবে মোড়ানো হয়েছে এবং bm25s baseline-এর মতো একই path-এ mteb.evaluate দিয়ে স্কোর করা হয়েছে — কোনো পদ্ধতিগত ফাঁক নেই, কোনো self-scoring নেই। Baseline হলো ২০২৬-০৭-২১-এর reproducible রান, প্রকাশিত CoIR-paper-এর সংখ্যা নয় — সেগুলোর অনেকটি পুনরুৎপাদন হয় না। Metric: nDCG@10।

CoIR taskmultigrambm25-refbm25-codeকোড-লেক্সিক্যাল · প্রেরিতসেরা baseline-এর বিপরীতে
CodeTransOceanContest0.1600.4780.6000.718
CodeTransOceanDL0.3400.3440.3510.366
CosQA0.0480.1880.2130.218
SyntheticText2SQL0.2650.2490.3720.441
CodeFeedbackMT0.2880.5920.5910.674
CodeFeedbackST0.1620.6820.6820.722
StackOverflowQA0.2230.7030.6870.733
AppsRetrieval0.0010.0480.0140.034
গড়0.1860.445 †0.4887/8

আটটির মধ্যে সাতটিতে জয়; গড় 0.488 বনাম প্রতিটি টাস্কের শক্তিশালী baseline-এর 0.445 († প্রতি টাস্কে bm25-ref / bm25-code-এর সেরাটি) — এবং multigram গড়ের ২.৬ গুণ। একমাত্র পরাজয় AppsRetrieval-এ প্রতিটি lexical পদ্ধতিই শূন্যের কাছাকাছি: দীর্ঘ সমস্যার বিবরণের বিপরীতে কোড খোঁজা embedding-এর এলাকা।

Lever 01

কোড-সচেতন টোকেন + BM25

কোড যেভাবে লেখা হয় সেভাবে identifier ভাগ করা — camelCase, snake_case, dotted path — সাধারণ IDF/BM25-এ প্রবেশ করানো। এটুকুই বেশিরভাগ টাস্কে জয় এনে দেয়: CodeTransOceanContest কোনো tuning ছাড়াই 0.478 থেকে 0.600-এ পৌঁছায়।

Lever 02

Stopword বাদ, হালকা stemming

ইংরেজি stopword বাদ দেওয়া এবং একটি হালকা suffix-stemmer যাতে স্বাভাবিক ভাষার প্রশ্ন কোড টোকেনের সাথে মেলে — এই lever-ই SyntheticText2SQL-কে পরাজয় থেকে 0.441-এ নিয়ে যায়।

Lever 03

k1 = 1.8 · b = 1.0

shipped default, CoIR-এ Algenta-tuned: ভারী term-frequency saturation এবং পূর্ণ length normalization — এই lever-ই StackOverflowQA-কে ঘুরিয়ে দেয়।

প্রতিটি সেল একটি স্ক্রিপ্ট থেকে পুনরুৎপাদন হয় — bench/mteb_code_lexical.py — উভয় পক্ষকে একই mteb.evaluate কলের মধ্য দিয়ে চালিয়ে (রান ২০২৬-০৭-২১)। code-lexical হলো সেই index যা Telys তার shipped default-এ পাঠায়।

06 প্রকাশনা

জয়, টাই এবং পরাজয় — মুদ্রিত আকারে।

প্রথম সংখ্যা আসার আগেই publication format নির্ধারিত, তাই সংখ্যাগুলো তা বাঁকাতে পারে না।

প্রকাশিত পরাজয়

যেখানে আমরা হারি, মুদ্রিত আকারে

প্রতিটি scorecard-এ একটি Where-we-lose section এবং একটি Where-we-only-match-FAISS section থাকে, উভয়ই cell থেকে স্বয়ংক্রিয়ভাবে পূরণ হয়। কোনোটি খালি থাকলে রিপোর্ট build ব্যর্থ হয়।

পর্যালোচক মোড

আমাদের ছাড়াই ফলাফল পুনরুৎপাদন করুন

Harness Telys বাদ দিয়ে চলে, তাই একজন সংশয়বাদী comparator ও control সংখ্যা একাই পুনরুৎপাদন করতে পারেন এবং নিশ্চিত করতে পারেন যে প্রতিটি competitor তার নিজস্ব গাইড অনুযায়ী tuned ছিল — config committed এবং vendor default-এর বিপরীতে diff করা।

Raw samples

প্রতিটি cell samples-এ ট্রেস করে

প্রতিটি প্রকাশিত cell তার raw per-operation sample এবং সেগুলো তৈরির exact script-এর সাথে লিঙ্কযুক্ত। ফলাফল append-only, engine revision এবং statically linked bundled dependency version-এর সাথে keyed।

টিমের সাথে কথা বলুন

এগুলো প্রোটোটাইপ সংখ্যা, প্রতিটি তার শর্তসহ। এই চুক্তির জন্য আমাদের জবাবদিহি করুন — এবং পূর্ণ হার্নেসে পুনরায় চালানোর সময় এই সংখ্যাগুলোর জন্যও।