پرش به محتوای اصلی

Kev: خانواده کوچک Jev مانند مدل های تصمیم گیری که بر روی Qwen3.5 ساخته شده اند

هکرنیوز۱۴۰۵ شهریور ۳۰, دوشنبه، ساعت ۱۰:۴۱حدود 10 دقیقه مطالعه

آدرس مقاله: https://github.com/jaredpalmer/kev/tree/main آدرس نظرات: https://news.ycombinator.com/item?id=49783999 امتیاز: 213 # نظرات: 92

مدل‌های تصمیم‌گیری کوچک Jev که می‌توانید خودتان آموزش دهید و اجرا کنید.

Kev خانواده ای از مدل های تصمیم گیری کوچک است که بر اساس Qwen3.5 و بر اساس معماری توصیف شده در Jev's Architecture Unmasked ساخته شده است. می توانید از وزنه های از پیش تمرین شده استفاده کنید یا خودتان تمرین کنید. API با TypeSafe's System One مطابقت دارد، بنابراین می توانید Python SDK آنها را به سمت سرور محلی خود قرار دهید.

این Kev-4B را به صورت محلی شروع می کند. اولین اجرا آداپتور و مدل پایه را دانلود می کند. --run همچنین دایرکتوری ایست بازرسی محلی یا ویرایش Hub مانند jaredpalmer/kev-4b@qwen3 را برای نسل قبلی می پذیرد.

نمونه پاسخ از Kev-4B، در حال اجرا در bf16 در Apple M5:

در بلیط به بازگشت، تاخیر در تحویل و مشکل صورت‌حساب اشاره شده است و احتمالات بخش نیز چنین می‌گویند. این نقطه بازگشت احتمالات به جای یک برچسب واحد است.

TypeSafe SDK در سرویس uv sync --extra موجود است:

در حالی که سرور هنوز در حال کار است، ترمینال دیگری را باز کنید. شما به Node 20.9+ نیاز دارید:

localhost:3001 را باز کنید، یک پیش تنظیم بارگذاری کنید و متن و سوالات را ویرایش کنید. برای اجرا، ⌘↵ را فشار دهید. "مجموعه در مقابل جداگانه" پرسیدن همه سؤالات را به طور همزمان با پرسیدن آنها در یک زمان مقایسه می کند. "Permute" یک سوال انتخاب را با شش دستور گزینه اجرا می کند. همچنین تنظیمات پیش‌فرض برای تست جداسازی سؤال و نشانه‌های جداکننده جعلی وجود دارد.

یک نسخه نمایشی شطرنج نیز وجود دارد. هیئت مدیره ورودی است، حرکات قانونی گزینه های انتخاب هستند، و یک سوال امتیاز موقعیت را رتبه بندی می کند. شما می توانید مقابل Kev بازی کنید یا اجازه دهید خودش بازی کند. بازی ها در localStorage ذخیره می شوند.

با Kev-4B شروع کنید. زمانی که دقت و کالیبراسیون بیشتر از حافظه مهم است از Kev-9B استفاده کنید. اگر به کوچکترین مدل نیاز دارید از Kev-0.8B استفاده کنید. هر سه بر روی پایه های Qwen3.5 با داده های آموزشی و تنظیمات یکسان ساخته شده اند.

هر سلول توسعه / آزمایش است. «منابع آموزش‌دیده» به معنای نمونه‌های ذخیره‌شده از مجموعه داده‌های مورد استفاده برای آموزش Kev است. «منابع جدید» به معنای مجموعه داده‌ها و انواع قوانین خط‌مشی است که Kev روی آن‌ها آموزش ندیده است. هر مدل بر روی مجموعه‌های توسعه یکسان (تصمیم-v7، انتقال-v4) و مجموعه‌های آزمایشی یکسان، که پس از انتخاب مدل، یک بار در هر نقطه بازرسی منتشر شده خوانده می‌شد، ارزیابی شد. بریر پایین بهتر است.

Kev-9B با 3.5 امتیاز در مجموعه توسعه منبع جدید (0.822 در مقابل 0.857) از Jev عقب است و در مجموعه آزمایشی که Jev روی آن اجرا نشده است، امتیاز 0.852 را کسب می کند. ما نمی دانیم که Jev روی کدام مجموعه داده آموزش دیده است، بنابراین این مقایسه کنترل شده ای از این دو معماری نیست.

هر سه مدل در 21-09-2026 با یک مجوز آموزشی کوتاه دوم بر روی نمونه‌های تولید شده به‌روزرسانی شدند: موارد خط مشی با شمارش صریح روز، و مواردی که شواهد تصمیم‌گیری حذف شده‌اند، آموزش داده شده برای پاسخگویی یکسان. در مجموعه آزمایشی، Kev-9B از 0.837 به 0.852 (95% CI + 0.8 به +2.9 امتیاز)، Kev-4B از 0.832 به 0.837 و Kev-0.8B از 0.668 به 0.684 حرکت کرد. وزن‌های قبلی در نسخه نسخه ۷ پایه هستند. جزئیات و هزینه ها در مدل کارت و PLAN.md موجود است.

دو تنظیمات اختیاری بدون تغییر هیچ پاسخی، احتمالات را تغییر می‌دهند:

همه وزن‌ها در مجموعه Kev و نسخه GitHub هستند که شامل تاربال‌ها و چک‌سام‌های SHA-256 است.

اولین خانواده Kev از پایه های Qwen3 با داده ها و تنظیمات یکسان استفاده کردند. این وزن‌ها منتشر می‌شوند و انتخاب سریع‌تری در Mac هستند (به عملکرد سرویس مراجعه کنید)، اما دیگر توسعه‌یافته نیستند.

از آنجا که فقط پایه تغییر کرده است، این دو نسل یک مقایسه کنترل شده هستند. در مجموعه توسعه، افزایش دقت در نویز است. در مجموعه آزمایشی Kev-9B 7.3 امتیاز از Kev-8B (95% فاصله اطمینان (CI) + 2.8 تا 11.7 +) با امتیاز Brier 0.08 پایین تر است، Kev-4B 2.9 امتیاز از سلف خود جلوتر است (0.9- تا 6.4 +) و Kev-0.8B هد 4.8 +B به + 4.8-0 است. PLAN_Qwen35.md آزمایش کامل را دارد، از جمله معیارهایی که از قبل تعیین کرده‌ایم و نتایج چگونه با آنها اندازه‌گیری می‌شوند.

Kev-0.5B اصلی از Qwen2.5-0.5B استفاده می کرد و برای مرجع نگهداری می شود. کارت مدلش رو ببین

state متنی است که باید ارزیابی شود. هر سؤال دارای دستورالعمل‌ها و در صورت نیاز، مجموعه‌ای از پاسخ‌ها برای انتخاب است.

برای انتخاب با گزینه های K> 1، اطمینان (p_max − 1/K) / (1 − 1/K) است. یک گزینه دارای اطمینان 1 است. اطمینان امتیاز نشان می دهد که توزیع چقدر به محتمل ترین سطح خود نزدیک است. این تقریبی از فرمول TypeSafe است که عمومی نیست. هیچ کدام از این زمینه ها میزان دقت اندازه گیری شده نیستند.

اشیا و آرایه ها به متن برچسب دار تبدیل می شوند. رشته‌های جداکننده مانند در ورودی کاربر قبل از توکن‌سازی خارج می‌شوند. درخواست های نامعتبر برمی گردند 422. usage.output_tokens توکن‌ها را در پاسخ‌های سریالی شمارش می‌کند، نه توکن‌های تولید شده.

سرور به 127.0.0.1 متصل می شود و احراز هویت ندارد. آن را محلی نگه دارید مگر اینکه خودتان احراز هویت را اضافه کنید.

هر نقطه بازرسی یک آداپتور LoRA رتبه 16 و یک سر اشاره گر کوچک در مدل پایه Qwen است. بر اساس یک پایه فقط توجه (Qwen3)، وضعیت و سوالات در یک توالی نشانه قرار می گیرند:

ماسک توجه به یک توکن اجازه می‌دهد وضعیت و سؤال خود را بخواند، اما نه سؤالات دیگر یا نشانه‌های آینده. شناسه های موقعیت هر سؤال درست بعد از وضعیت دوباره شروع می شود. این به مدل اجازه می دهد تا حالت را یک بار پردازش کند و به هر سؤال به طور مستقل پاسخ دهد.

Qwen3.5 لایه های توجه را با لایه های Gated DeltaNet ترکیب می کند که تکرار شونده هستند و ماسک های توجه را نادیده می گیرند. برای آن مدل‌ها، هر سؤال به‌عنوان ردیف خودش اجرا می‌شود: حالتی که بعد از آن سؤال، با همان موقعیت‌های بالا. سطرها مستقل هستند، بنابراین جداسازی دقیق است، و سرور یک بار وضعیت را محاسبه می کند و از حافظه پنهان خود برای هر ردیف مجددا استفاده می کند. در مدل‌های فقط توجه، این دو شکل احتمالات یکسانی می‌دهند (tests/test_v3.py).

سر اشاره گر حالت پنهان </opt> هر گزینه را در برابر حالت پنهان <decide> سوال نمره می دهد. نرم افزار مکس آن نمرات را به احتمالات تبدیل می کند. از آنجایی که <decide> در آخر قرار می گیرد، می تواند به لیست گزینه های کامل مراجعه کند.

آموزش از آنتروپی متقابل در پاسخ صحیح استفاده می کند. آداپتور و سر با هم آموزش داده می شوند. بقیه وزنه های پایه ثابت می مانند. نمونه‌های آموزشی و درخواست‌های API از همان قالب متنی استفاده می‌کنند. هیچ خروجی Jev برای آموزش استفاده نشد.

پرسیدن سوالات با هم یا جداگانه احتمالاتی را در 4e-6 در تست های fp32 ایجاد می کند. این بدان معنا نیست که ترتیب گزینه ها بی ربط است: گزینه های موجود در یک سؤال همچنان می توانند روی یکدیگر تأثیر بگذارند. کد مدل و تست های برابری را ببینید.

در CUDA، توجه خطی فلش را برای مدل های Qwen3.5 نصب کنید (تصویر Modal این کار را انجام می دهد). یک درخواست پنج سوالی در H100 ده ها میلی ثانیه طول می کشد.

در Apple Silicon هسته های سریعی برای لایه های DeltaNet وجود ندارد، بنابراین PyTorch کد مرجع را اجرا می کند. میانه زمان مدل در bf16 در M5، پنج سوال با سه گزینه هر کدام در حالت ~230 توکن:

اگر روی Mac کار می‌کنید و نیاز به تأخیر کم دارید، فعلا از مدل‌های Qwen3 استفاده کنید. یک پشتیبان MLX برای مدل های Qwen3.5 تغییر برنامه ریزی شده بعدی است.

برای مدل‌های فقط توجه، سرور وزن‌های LoRA را در fp32 قبل از ارسال ادغام می‌کند، از توجه SDPA روی پردازنده‌های گرافیکی اپل استفاده می‌کند، ورودی‌های MPS را به سطل‌های 64 توکن اضافه می‌کند، و پیشوند حالت را برای درخواست‌های مکرر ذخیره می‌کند (چهار حالت حداقل 384 توکن به طور پیش‌فرض). با حالت مکرر 772 توکن، Kev-4B (Qwen3) به جای 861 میلی ثانیه در 242 میلی ثانیه پاسخ می دهد.

می‌توانید با KEV_MERGE=0، KEV_ATTN=eager، KEV_SHAPE_BUCKET=1، و KEV_PREFIX_CACHE=0 اینها را غیرفعال کنید. در 24 رکورد منبع جدید، احتمالات bf16 با fp32 حداکثر 0.017 تفاوت داشت، بدون اینکه در پاسخ با بیشترین احتمال تغییری ایجاد شود. این یک بررسی کوچک است، نه تضمینی برای هر ورودی.

مدل‌های منتشر شده از تصمیم v7 استفاده می‌کنند: 10000 نمونه از ده مجموعه داده عمومی، 896 نمونه سیاست تولید شده، و 1680 نمونه از 60 ساختار قانون تولید شده. همه قطارها برای دو دوره با رتبه LoRA 16 و آنتروپی متقابل. نرخ یادگیری 1e-4 برای 0.8B و 5e-5 برای 4B/9B است. برای پایه های Qwen3.5، آداپتور پیش بینی های DeltaNet را نیز پوشش می دهد. kev.train اهداف مناسب را از پیکربندی مدل انتخاب می کند.

مدل های منتشر شده بر روی مجموعه داده های عمومی آموزش داده شده و نمونه های خط مشی تولید شده اند. اگر سؤالات شما متفاوت به نظر می رسند - دسته های مسیریابی خودتان، قوانین تشدید خود، زبان دیگر - تنظیم دقیق چند صد نمونه برچسب معمولا بیشتر از هر تغییر فوری کمک می کند.

نمونه های خود را در یک فایل JSONL، یک درخواست در هر خط قرار دهید. این همان شکل درخواست API است، به علاوه یک برچسب روی هر سؤال:

برای انتخاب، برچسب نام گزینه است، برای noul درست یا نادرست است، و برای امتیاز، موقعیت سطح از 0 شروع می شود. 10 تا 20٪ از فایل را برای ارزیابی کنار بگذارید.

سپس از یک ایست بازرسی آزاد شده با --init_from شروع کنید:

--init_from آداپتور و سر اشاره گر را از مدل منتشر شده قبل از آموزش بارگیری می کند، بنابراین آنچه را که Kev از قبل می داند حفظ می کنید و دامنه خود را در بالا اضافه می کنید. شروع از مدل پایه در عوض آن را دور می اندازد: در آزمایش یک کاربر روی 836 تصمیمات ابزار پشتیبانی، یک تنظیم دقیق از پایه در مجموعه ارزیابی خود Kev امتیاز 0.33 را در مقابل 0.84 برای مدل منتشر شده کسب کرد. همان داده با --init_from 0.83 را در آنجا نگه داشت و در دامنه جدید به 0.88 رسید.

از نرخ یادگیری کمتری نسبت به دستور العمل از ابتدا استفاده کنید (2e-5 شروع خوبی است) و --base را برای مطابقت با نقطه بازرسی که از آن شروع کرده اید انتخاب کنید. مربی بررسی می کند که پایه، تجدید نظر، رتبه LoRA و اندازه سر قبل از بارگذاری هر چیزی مطابقت دارند.

- دسته 1 -- accum 8 در bf16 متناسب با مدل 0.8B در یک پردازنده گرافیکی 4 گیگابایتی است. معیار دقت، امتیاز بریر و کالیبراسیون در هر نوع سوال را گزارش می‌دهد، بنابراین می‌توانید ببینید که تنظیم دقیق به کدام یک از سؤالات شما کمک کرده است. ایست بازرسی که از آن شروع کرده اید در runs/mine/training_config.json ثبت می شود.

برای همه گزینه های آموزشی از uv run python -m kev.train --help استفاده کنید. مدل های منتشر شده از تلفات اختیاری --perm_kl یا --ord_w استفاده نمی کنند. کارت های مدل دارای تنظیمات آموزشی و لیست داده ها هستند. PLAN.md آنچه را که امتحان شد و چه چیزی کمک کرد را ثبت می کند.

در مک، یک کار آموزشی را در یک زمان اجرا کنید. دو کار در یک پردازنده گرافیکی اپل بسیار کندتر است. از Modal برای دویدن طولانی تر استفاده کنید.

هر آزمایشی H100 خودش را دارد. مطالعه در صورت قطع ارتباط ادامه می‌یابد و پس از پایان می‌توانید نتایج را دانلود کنید:

برنامه های مطالعه تنظیمات آموزشی را فهرست می کند. هر آزمایشی تنظیمات، هش کد، هش مجموعه داده ها و نتایج را ذخیره می کند. مدل هایی را با استفاده از نتایج توسعه انتخاب کنید، نه تست قفل شده. پس از انتخاب نامزد نهایی، می توانید نتایج آزمون آن را یک بار بخوانید:

داده‌های ارزیابی تحت evals/ ثابت است: نسخه‌های مجموعه داده و جمع‌های کنترلی فایل در هر مانیفست ثبت می‌شوند. فایل های آموزشی بزرگ از آینه Hub دانلود می شوند و در برابر آن هش ها بررسی می شوند.

این دستورات از داده های توسعه استفاده می کنند. داده های آزمایشی به --allow-test نیاز دارند. معیار دقت، امتیاز بریر، خطای کالیبراسیون، سهم تصمیماتی که می‌توانید با بودجه خطای 5 درصد خودکار کنید، تغییرات ترتیب گزینه‌ها و جداسازی سؤال را گزارش می‌کند. transfer-v9 MMLU-Pro 10 طرفه، سوابق مدفون در میان متن های نامرتبط، و سوابق "ناشناخته" را اضافه می کند که شواهد تصمیم گیری حذف شده اند. برای آنهایی که اغلب اوقات مدل هنوز با حداقل 0.9 اطمینان پاسخ می دهد (Kev-9B 5٪، Jev 9٪، Kev-8B 26٪) پاسخ می دهد. اعداد دقت منتشر شده از ارزیابی fp32 استفاده می‌کنند، نه از مسیر سرویس دهی bf16.

evals/external/ دارای دو مجموعه تست پروژه دیگر است که به این فرمت تبدیل شده اند، با نتایج Jev زنده منتشر شده آنها: 144 تصمیم تألیف شده SemIf (Kev-9B 0.917، Jev 0.965) و بلیط های پشتیبانی 900 scienthoon (Kev-9B 0.952 و 0.952 به 0.952 در مسیریابی 0.914).

kev.jev همان سوالات را از طریق Vercel AI Gateway علیه Jev اجرا می کند. kev.compare دو اجرای ذخیره شده را با فواصل اطمینان بوت استرپ جفت شده مقایسه می کند. برای تاریخچه آزمایش کامل، PLAN.md و تابلوی امتیازات را ببینید.

آزمایش‌های API، درخواست‌های نمونه TypeSafe و SDK رسمی را در برابر سرور محلی شما اجرا می‌کنند.

ساخته شده با دیوین. از Archer Hume برای نگارش معماری، TypeSafe برای طراحی API، Qwen برای مدل‌های پایه، 3x3xX3N0N برای نشان دادن محل شکست تاریخ و حساب و Radexito برای --init_from تشکر می‌کنیم.

آپاچی-2.0. مدل های پایه Qwen3 و Qwen3.5 نیز Apache-2.0 هستند. مجموعه داده های آموزشی مجوزهای خاص خود را دارند. مدل کارت ها را ببینید

خواندن متن کامل در هکرنیوزبه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Kev: Tiny Jev-like family of decision models built on top of Qwen3.5

Article URL: https://github.com/jaredpalmer/kev/tree/main Comments URL: https://news.ycombinator.com/item?id=49783999 Points: 213 # Comments: 92

همه‌ی اخبار فناوری