واحد آی بی ام تحقیقات هوش مصنوعی (AI) مجموعه دادهای از 14 میلیون نمونه را برای توسعه مدلهای یادگیری ماشینی ارائه کرد که میتواند به وظایف برنامهنویسی کمک کند. مجموعه داده ای به نام پروژه کد نت، نام خود را از ImageNet گرفته است، مخزن تصویر معروفی که بینایی کامپیوتر و یادگیری عمیق را متحول کرد.
برنامه نویسان با استفاده از مکانیسم های زیادی از تفکر آگاهانه و ناخودآگاه، مشکلات جدیدی را کشف می کنند و راه حل های مختلف را کشف می کنند. بیشتر الگوریتمهای یادگیری ماشینی برای توسعه مدلهایی که میتوانند همان مشکلات را حل کنند، به وظایف کاملاً تعریفشده و مقادیر زیادی از دادههای مشروح نیاز دارند.
تلاش زیادی برای ایجاد مجموعه داده ها و معیارهایی برای توسعه و ارزیابی سیستم های هوش مصنوعی برای کد توسط جامعه متخصص انجام شده است. اما، با توجه به ماهیت خلاقانه و باز توسعه نرم افزار، ایجاد مجموعه داده های کامل برای برنامه نویسی بسیار دشوار است. با Project CodeNet، محققان IBM تلاش کردند یک مجموعه داده چند منظوره ایجاد کنند که می تواند برای آموزش مدل های یادگیری ماشین در کارهای مختلف مورد استفاده قرار گیرد. سازندگان CodeNet آن را به عنوان "یک مجموعه داده بسیار بزرگ، متنوع و با کیفیت برای تسریع پیشرفت های الگوریتمی در هوش مصنوعی برای کد" توصیف می کنند.
مجموعه داده شامل 14 میلیون نمونه از 500 میلیون خط کد است که در 55 زبان برنامه نویسی مختلف نوشته شده است. نمونه کد از نزدیک به 4000 کار ارسال شده در پلتفرم های کدگذاری آنلاین AIZU و AtCoder به دست آمد. مثال های کد شامل پاسخ های صحیح و نادرست به وظایف داده شده است.
همچنین جالب:
- هابل به دلیل یک خطای نرم افزاری در رایانه داخلی وارد حالت امن شد
- مشکل دیگر برای CD Projekt: هکرها تهدید می کنند که کدهای منبع بازی ها را به شبکه فاش می کنند
یکی از ویژگی های کلیدی CodeNet میزان حاشیه نویسی اضافه شده به نمونه ها است. هر یک از وظایف کدگذاری موجود در مجموعه داده دارای توضیحات متنی و همچنین محدودیتهای زمان و حافظه CPU است. هر کد ارسالی حاوی ده ها اطلاعات از جمله زبان، تاریخ ارسال، اندازه، زمان اجرا، پذیرش و انواع خطا است. محققان IBM همچنین تمام تلاش خود را انجام دادند تا اطمینان حاصل کنند که مجموعه داده ها در پارامترهای مختلف از جمله زبان برنامه نویسی، مقبولیت و انواع خطا متعادل است.
CodeNet تنها مجموعه داده ای برای آموزش مدل های یادگیری ماشین در مورد وظایف برنامه نویسی نیست. اما چندین ویژگی وجود دارد که آن را متمایز می کند. اولین مورد، اندازه کامل مجموعه داده ها، از جمله تعداد نمونه ها و تنوع زبان ها است. اما شاید مهم تر، ابرداده ای باشد که با نمونه کد ارائه می شود. حاشیه نویسی های غنی اضافه شده به CodeNet آن را برای مجموعه متنوعی از وظایف مناسب می کند، برخلاف دیگر مجموعه داده های کدنویسی که در وظایف برنامه نویسی خاص تخصص دارند.
این ذهن دمیدن است.
با GPT-3 ، من یک ژنراتور طرح بندی ساختم که در آن شما هر طرح مورد نظر خود را توصیف می کنید ، و کد JSX را برای شما تولید می کند.
- شریف شمیم (sharifshameem) ژوئیه 13، 2020
روش های مختلفی برای استفاده از CodeNet وجود دارد. یکی از آنها ترجمه زبان است. از آنجایی که هر کار کدگذاری در مجموعه داده حاوی نمایش هایی از زبان های برنامه نویسی مختلف است، دانشمندان داده می توانند از آن برای ساخت مدل های یادگیری ماشینی استفاده کنند که کد را از یک زبان به زبان دیگر ترجمه می کند. این می تواند برای سازمان هایی که می خواهند کدهای قدیمی را به زبان های جدید پورت کنند و آنها را برای نسل های جدید برنامه نویسان در دسترس قرار دهند، راحت باشد.
همچنین بخوانید:
- آیبیام اولین فناوری تولید تراشههای ۲ نانومتری جهان را معرفی کرد
- آی بی ام در حال توسعه هوش مصنوعی برای اختراع آنتی بیوتیک های جدید است
سنتها و وراثت باید با تفکرات مختلف همراه باشند، با جوانترین نسلهای الگوریتمهای عصبی و روشهای ML برای طرح مشکلات، که متقابلاً یکدیگر را بهبود میبخشند.
با گذشت زمان، سطح برنامه نویسان حتی بیشتر کاهش می یابد (در مقایسه با اکنون). یعنی امکان نوشتن کدهای مایل و کج به «زبان گند» وجود خواهد داشت. و سپس دستگاه بهینه می شود و شما در نهایت قادر خواهید بود کد بهینه شده یک برنامه نویس اسمبلر حرفه ای (یا حتی بهتر) را دریافت کنید.