LARQL: وزنهای مدل رو مثل دیتابیس گراف کوئری بزن
خلاصهٔ کاملتر
شعار پروژه اینه: «مدل خودش دیتابیسه». تو مستندات LARQL اومده که این ابزار یه مدل ترنسفورمر رو به پوشهای به اسم vindex دیکامپایل میکنه: بردارهای gate تبدیل به ایندکس KNN میشن، امبدینگها به جدول جستوجوی توکن و پروجکشنهای down به برچسب یال. نتیجه اینه که وزنها بهجای یه فایل باینری کدر، به یه ساختار قابلمرور تبدیل میشن.
روی این ساختار زبانی به اسم LQL سواره که حالوهوای SQL داره. با DESCRIBE میتونی یالهای یه موجودیت رو ببینی، با WALK مسیر لایهها رو دنبال کنی و با INFER خروجی مدل رو بگیری:
larql> USE "gemma3-4b.vindex";
Using: gemma3-4b.vindex (34 layers, 348.2K features, relations: 512 types)
larql> DESCRIBE "France";
France
Edges (L14-27):
capital → Paris 1436.9 L27 (probe)
language → French 35.2 L24 (probe)جالبتر اینکه این دانش فقط خواندنی نیست. طبق مستندات مخزن، با INSERT INTO EDGES میشه یه رابطهٔ تازه به مدل اضافه کرد و ابزار براش یه feature جدید تو یکی از لایهها میسازه. ویرایشها هم به شکل یه لایهٔ patch روی فایلهای اصلی میشینن، پس نسخهٔ بیس دستنخورده میمونه:
larql> INSERT INTO EDGES (entity, relation, target)
... VALUES ("John Coyle", "lives-in", "Colchester");
Inserted 1 edge. Feature F8821@L26 allocated.بخش دوم ماجرا اجرای توزیعشدهست. دستور larql slice مدل رو به برشهای client و server تقسیم میکنه، طوری که لپتاپ فقط attention و روتر رو نگه داره و لایههای FFN از روی یه ماشین دیگه با HTTP سرو بشن. برای مدلهای MoE، بانک اکسپرتها حتی روی ماشینهای فقط-CPU و بدون VRAM قابل سرو شدنه و نویسنده یه دموی زنده روی fly.io هم بالا آورده.
لایهٔ larql-kv هم ۹ موتور کش KV داره که بعضیهاشون بهجای نگهداشتن مستقیم K/V، جریان residual رو ذخیره میکنن و K/V رو موقع نیاز میسازن. طبق بنچهای خود مخزن روی Gemma 3 4B و M3 Max، همین موتورهای مشتقشده حدود ۹۸ توکن بر ثانیه میدن، یعنی همپای موتور standard. انتقال داده بین ماشینهای شبکه هم پیشفرض f16 هست تا پهنای باند نصف بشه.
نکات کلیدی:
- vindex: فرمت دیکامپایلشدهٔ مدل که وزنها رو قابل کوئری میکنه
- LQL: زبانی شبیه SQL با DESCRIBE، WALK، INFER و INSERT
- ویرایش دانش مدل به شکل patch، بدون دست زدن به فایلهای بیس
- اجرای attention روی لپتاپ و FFN یا اکسپرتها روی سرورهای بدون GPU
- نوشتهشده با Rust، همراه سرور HTTP/gRPC و انتشار روی HuggingFace




