| 👀 خبر در یک نگاه:
گیتهاب مدل جاسازی جدیدی برای کوپایلوت معرفی کرده که در VS Code ادغام شده است. این مدل با بهبود ۳۷٪ در کیفیت بازیابی و کاهش هشتبرابری مصرف حافظه، دقت و سرعت پیشنهادهای کد را افزایش میدهد. با بهرهگیری از روشهای یادگیری متضاد و بازنمایی ماتریوشکا، کوپایلوت اکنون زمینه کدنویسی را بهتر درک میکند. |
گیتهاب مدل جاسازی (Embedding) جدیدی برای کوپایلوت معرفی کرده که حالا در Visual Studio Code هم ادغام شده است. این مدل برای درک بهتر بافت برنامهنویسی، بازیابی دقیقتر کدهای مرتبط و ارائه پیشنهادهای هوشمندتر طراحی شده است.
عملکرد مدل Embedding گیتهاب
به گفته گیتهاب، این بهروزرسانی باعث بهبود ۳۷.۶ درصدی در کیفیت بازیابی، دو برابر شدن سرعت پردازش و کاهش هشتبرابری مصرف حافظه در فهرستسازی کد شده است.
این مدل جدید، همه حالتهای اصلی کوپایلوت از جمله چت، ایجنت، ویرایش و پرسش را پشتیبانی میکند. در نتایج بنچمارک گیتهاب، میانگین امتیاز Embedding از ۰.۳۶۲ به ۰.۴۹۸ افزایش یافته است. توسعهدهندگان C# و Java نیز گزارش دادهاند که نرخ پذیرش پیشنهادهای کد تقریبا دو برابر شده است.
این پیشرفتها نشان میدهد که کوپایلوت اکنون میتواند نیت توسعهدهنده را در کدهای پیچیده بهتر تشخیص دهد و قطعهکدهای مرتبطتری را در جریان کار روزانه ارائه کند.
آموزش مدل Embedding جدید گیتهاب
برای آموزش این سیستم، گیتهاب از روش یادگیری متضاد (Contrastive Learning) با تابع زیان InfoNCE استفاده کرده و روشی به نام یادگیری بازنمایی ماتریوشکا (Matryoshka Representation Learning) را معرفی کرده است.
این تکنیک به مدل اجازه میدهد تا با سطوح مختلف جزئیات در دادهها کار کند؛ یعنی بتواند هم قطعهکدهای کوچک و هم فایلهای کامل را به شکل موثر نمایش دهد.
در فرایند آموزش، از نمونههای منفی دشوار (Hard Negatives) نیز استفاده شده است؛ یعنی مثالهایی از کدهایی که ظاهرا مشابهاند اما از نظر عملکردی اشتباه هستند. این کار به مدل کمک میکند تا میان پیشنهادهای درست و نادرست تمایز دقیقتری قائل شود و خطاهای بازیابی در کدهای مشابه را کاهش دهد.
عملکرد در مقایسه با رقبا
در مقایسه با مدلهای دیگر مانند VoyageCode3، Nomic Embed Code و Jina Code Embeddings، رویکرد گیتهاب بهخاطر ادغام و بهینهسازی عمیق در محیط VS Code متمایز است. مدلهای رقیب معمولا بر امتیازهای بنچمارک یا پشتیبانی چندزبانه تمرکز دارند، اما تمرکز گیتهاب بر کارایی و کاهش مصرف حافظه، مستقیما تجربه توسعهدهنده در محیط محلی را بهبود میدهد. با فشردهسازی بردارهای embedding در ایندکس، مدل میتواند سریعتر عمل کند بدون اینکه دقت بازیابی کاهش یابد؛ موضوعی که برای پروژههای بزرگ اهمیت زیادی دارد.
معرفی این مدل، بخشی از تلاش گستردهتر گیتهاب برای افزایش درک زمینه (context-aware) در کوپایلوت است. نسخههای پیشین کوپایلوت بیشتر بر مدلهای زبانی بزرگ برای پیشبینی متن متکی بودند اما لایه جاسازی اکنون نقش مهمتری در درک ساختار کد دارد. جاسازیهای دقیقتر باعث میشود کوپایلوت بتواند توابع، کلاسها و مستندات مرتبط را با دقت بالاتری بازیابی کند، نیاز به درخواستهای تکراری را کاهش دهد و سرعت کار توسعهدهنده را افزایش دهد.
سخن نهایی
گیتهاب اعلام کرده که قصد دارد آموزش مدل را با زبانها و منابع داده بیشتری ادامه دهد و در بهروزرسانیهای آینده، کیفیت بازیابی را بهبود دهد. توسعهدهندگان هماکنون میتوانند با نصب آخرین نسخه کوپایلوت در VS Code، این پیشرفتها را تجربه کنند.
نقشه راه گیتهاب شامل گسترش پوشش Embedding و بهینهسازی بیشتر تعادل میان تاخیر (Latency)، مصرف حافظه و دقت بازیابی است.
منبع: infoq.com




دیدگاهتان را بنویسید