Hy-Memory-30B-A3B: مدل حافظه تنسنت رو محلی اجرا کن
خلاصهٔ کاملتر
Hy-Memory-30B-A3B یه مدل از تیم Tencent Hunyuan هست که برای «مسیر نوشتن» حافظه ساخته شده، یعنی بخشی از سیستم که تصمیم میگیره چه چیزهایی درباره کاربر یا مکالمه ذخیره بشه. فریمورکهای حافظه خارجی مثل Mem0، MemOS و خود Hy-Memory معمولاً این کار رو به یه LLM بزرگ و همهکاره میسپرن. حالا میشه این مدل تخصصی رو جاش گذاشت. تو اسمش 30B اومده چون کل پارامترهاش 30 میلیارده، ولی فقط حدود 3 میلیاردش موقع اجرا فعاله، برای همین inference ارزون میمونه.
آموزشش دو مرحله داشته: اول Memory On-Policy Distillation (یعنی یاد گرفتن از مدلهای معلم خیلی بزرگتر) و بعد Attributed Memory Reinforcement Learning. به گفته تنسنت، همین روش باعث شده مدل روی فریمورکهایی هم خوب کار کنه که اصلاً تو آموزش ندیده، مثل EverMemOS.
تو ارزیابی، همهچی ثابت نگه داشته شده (نسخه harness، پرامپتها، retrieval، مدل جوابدهنده و داور) تا فقط سهم مدل نویسنده حافظه سنجیده بشه. روی چهار harness و شش معیار مثل LoCoMo و LongMemEval، این مدل میانگین 55.49 گرفته، جلوتر از Claude Opus 5 با 54.62 و DeepSeek V4.1 Flash با 53.64. روی EverMemOS که از آموزش کنار گذاشته شده بود هم 56.89 گرفته. البته همه زیرمعیارها رو نبرده: Claude Opus 5 تو LoCoMo و PersonaMem-v2 بعضی جاها جلوتر بوده و DeepSeek هم تو بخشی از Code Memory Bench.
برای اجرا، تنسنت نسخه 0.31.0 vLLM رو تست کرده. مدل با اسم hy-memory سرو میشه و یه endpoint سازگار با OpenAI روی میده. بعد با همون کلاینت openai پایتون بهش وصل میشی و چون محلیه، API key واقعی لازم نداره:
client = OpenAI(
base_url="http://127.0.0.1:8000/v1",
api_key="EMPTY",
)تو مثال رسمی، مدل حقایق صریح پیام کاربر (اسم، شهر، شغل، زبان برنامهنویسی، گیاهخوار بودن) رو به شکل یه لیست JSON به اسم memories درمیاره. نکته اصلی تنظیم reasoning_effort: "no_think" تو chat_template_kwargs هست که مرحله فکر کردن (chain-of-thought) رو خاموش میکنه. این مهمه چون نوشتن حافظه مدام پشت صحنه اجرا میشه و نمیخوای هر بار چند ثانیه تأخیر داشته باشی. کنارش temperature=0.0 و سقف 512 توکن هم گذاشته شده تا خروجی سریع و تکرارپذیر باشه.
نویسنده میگه این مدل جایگزین چتبات عمومی نیست و فقط برای همین کار نوشتن حافظه آموزش دیده. اگه پایپلاینت نقش نویسنده حافظه رو از تولید جواب جدا کرده، میشه راحت جایگزینش کرد و retrieval و بقیه اجزا دست نمیخورن. ولی اگه این دو تا جدا نیستن، اول باید معماری رو تغییر بدی.
نکات کلیدی:
- حدود 3 میلیارد پارامتر فعال از 30 میلیارد کل
- میانگین 55.49 در برابر 54.62 برای Claude Opus 5 و 53.64 برای DeepSeek V4.1 Flash
- روی EverMemOS که تو آموزش نبود 56.89 گرفته
- نسخه تستشده vLLM برابر 0.31.0 هست
- حالت no_think برای استخراج سریع و کمتأخیر حافظه
- فقط بخش نوشتن حافظه رو عوض میکنه، نه کل فریمورک رو




