AI সহ-প্রোগ্রামাররা সম্ভবত প্লাটোব্লকচেইন ডেটা ইন্টেলিজেন্সের ভয়ে যতগুলি বাগ তৈরি করবে না। উল্লম্ব অনুসন্ধান. আ.

এআই সহ-প্রোগ্রামাররা সম্ভবত যতটা বাগ তৈরি করবে না

মেশিন-লার্নিং মডেল যা GitHub Copilot-এর মতো পরবর্তী-জেন কোড-সম্পূর্ণ সরঞ্জামগুলিকে শক্তি দেয় সফ্টওয়্যার বিকাশকারীদের এটিকে কম সুরক্ষিত না করে আরও কার্যকরী কোড লিখতে সাহায্য করতে পারে।

এটি নিউইয়র্ক ইউনিভার্সিটির কম্পিউটার বিজ্ঞানীদের একটি গ্রুপ দ্বারা পরিচালিত একটি ছোট 58-ব্যক্তির সমীক্ষার অস্থায়ী ফলাফল।

In একটি কাগজ ArXiv, Gustavo Sandoval, Hammond Pearce, Teo Nys, Ramesh Karri, Brendan Dolan-Gavitt, এবং Siddharth Garg-এর মাধ্যমে বিতরণ করা হয়েছে কিভাবে তারা বৃহৎ ভাষা মডেলের (LLMs) সাহায্যে তৈরি সোর্স কোডের নিরাপত্তা পরীক্ষায় রেখেছেন।

ওপেনএআই জিপিটি পরিবারের মতো এলএলএমগুলিকে প্রচুর পরিমাণে পাবলিক টেক্সট ডেটা, বা ওপেনএআই কোডেক্সের ক্ষেত্রে পাবলিক সোর্স কোডের উপর প্রশিক্ষণ দেওয়া হয়েছে, একটি জিপিটি বংশধর এবং গিটহাবের কপিলটের ভিত্তি। যেমন, তারা মানব প্রোগ্রামারদের দ্বারা অতীতে করা ত্রুটিগুলি পুনরুত্পাদন করতে পারে, "আবর্জনা ভিতরে, আবর্জনা আউট" ব্যাখ্যা করে। একটি ভয় ছিল যে এই সরঞ্জামগুলি পুনর্গঠন করবে এবং ডেভেলপারদের কাছে খারাপ কোডের পরামর্শ দেবে, যারা তাদের প্রকল্পগুলিতে স্টাফ ঢোকাবে।

আরও কী, কোড নিরাপত্তা প্রাসঙ্গিক হতে পারে: বিচ্ছিন্নভাবে সুরক্ষিত কোড অন্য সফ্টওয়্যারের সাথে একটি নির্দিষ্ট ক্রমানুসারে কার্যকর করা হলে তা অনিরাপদ হতে পারে। সুতরাং, এই স্বয়ংক্রিয়-সম্পূর্ণ সরঞ্জামগুলি কোড পরামর্শ দিতে পারে যেগুলি তাদের নিজের থেকে ঠিক আছে, কিন্তু অন্যান্য কোডের সাথে সংযুক্ত, এখন আক্রমণের জন্য ঝুঁকিপূর্ণ বা কেবলমাত্র ভাঙা। এটি বলেছে, এটি দেখা যাচ্ছে যে এই সরঞ্জামগুলি আসলে প্রোগ্রামিংয়ে মানুষকে আরও খারাপ করতে পারে না।

কিছু অর্থে, গবেষকরা তাদের নিজস্ব আগুন নিভিয়েছিলেন। প্রায় এক বছর আগে, একই কম্পিউটার বিজ্ঞানীদের মধ্যে দুজন “কিবোর্ডে ঘুমিয়েছেন? গিটহাব কপিলটের কোড অবদানের নিরাপত্তা মূল্যায়ন করা। সেই কাজ পাওয়া গেছে প্রায় 40 শতাংশ কপিলট থেকে আউটপুট সম্ভাব্য শোষণযোগ্য দুর্বলতা অন্তর্ভুক্ত (সিডব্লিউই).

“দুটি কাগজের মধ্যে পার্থক্য হল যে 'Sleep at the Keyboard' সম্পূর্ণ স্বয়ংক্রিয় কোড জেনারেশনের দিকে তাকিয়ে ছিল (লুপে কোন মানুষ নেই), এবং আমাদের সাথে তুলনা করার মতো মানব ব্যবহারকারী ছিল না, তাই আমরা কীভাবে তা সম্পর্কে কিছু বলতে পারিনি। মানব-লিখিত কোডের নিরাপত্তার তুলনায় কপিলটের নিরাপত্তা,” বলেছেন ব্রেন্ডন ডলান-গ্যাভিট, উভয় কাগজের সহ-লেখক এবং NYU ট্যান্ডনের কম্পিউটার বিজ্ঞান ও প্রকৌশল বিভাগের সহকারী অধ্যাপক, একটি ইমেলে নিবন্ধনকর্মী.

“ব্যবহারকারীর অধ্যয়নের কাগজটি সেই অনুপস্থিত অংশগুলিকে সরাসরি মোকাবেলা করার চেষ্টা করে, অর্ধেক ব্যবহারকারী কোডেক্স (যে মডেলটি কপিলটকে ক্ষমতা দেয়) থেকে সহায়তা পায় এবং বাকি অর্ধেককে নিজেরাই কোড লিখে দেয়। যাইহোক, এটি 'Sleep at the Keyboard'-এর চেয়েও সংকীর্ণ: আমরা শুধুমাত্র একটি কাজ এবং একটি ভাষা দেখেছি (C-তে একটি লিঙ্ক করা তালিকা লেখা)।

সাম্প্রতিক প্রতিবেদনে, "বড় ভাষার মডেল কোড সহকারীর সুরক্ষার প্রভাব: একটি ব্যবহারকারীর অধ্যয়ন," ​​NYU গবেষকদের একটি সামান্য বৈচিত্র্যপূর্ণ সেট স্বীকার করেছে যে পূর্ববর্তী কাজগুলি Copilot এর মতো LLM-ভিত্তিক সরঞ্জামগুলির ব্যবহারকে বাস্তবসম্মতভাবে মডেল করতে ব্যর্থ হয়েছে৷

"প্রথম, এই অধ্যয়নগুলি অনুমান করে যে সম্পূর্ণ কোডটি স্বয়ংক্রিয়ভাবে এলএলএম দ্বারা তৈরি হয় (আমরা এটিকে অটোপাইলট মোড বলব)," বফিনগুলি তাদের কাগজে ব্যাখ্যা করে৷

“অভ্যাসগতভাবে, কোড সমাপ্তি এলএলএমগুলি বিকাশকারীদের পরামর্শ দিয়ে সহায়তা করে যা তারা গ্রহণ, সম্পাদনা বা প্রত্যাখ্যান করতে বেছে নেবে। এর মানে হল যে যখন অটোমেশন পক্ষপাতের প্রবণ প্রোগ্রামাররা সহজে বগি সমাপ্তিগুলি গ্রহণ করতে পারে, তখন অন্যান্য বিকাশকারীরা বাগ ঠিক করার জন্য সংরক্ষিত সময় ব্যবহার করে কম বগি কোড তৈরি করতে পারে।"

দ্বিতীয়ত, তারা লক্ষ্য করে যে এলএলএমগুলিকে বগি কোড তৈরি করতে দেখানো হয়েছে, মানুষও তা করে। এলএলএম প্রশিক্ষণের ডেটাতে বাগগুলি মানুষের কাছ থেকে এসেছে।

তাই LLM-উত্পাদিত কোডের নিজস্ব ত্রুটির মূল্যায়ন করার পরিবর্তে, তারা মেশিন-লার্নিং মডেলগুলির সাহায্যে মানব বিকাশকারীদের দ্বারা উত্পাদিত কোডগুলি তাদের নিজস্ব কাজ করে প্রোগ্রামিং দ্বারা উত্পাদিত কোড থেকে কীভাবে আলাদা তা তুলনা করার জন্য সেট করে।

NYU কম্পিউটার বিজ্ঞানীরা 58 জন জরিপ অংশগ্রহণকারীদের - সফ্টওয়্যার ডেভেলপমেন্ট কোর্সে স্নাতক এবং স্নাতক ছাত্রদের নিয়োগ করেছেন - এবং তাদের একটি কন্ট্রোল গ্রুপে বিভক্ত করেছেন, যারা পরামর্শ ছাড়াই কাজ করবে এবং একটি সহায়ক দল, যাদের OpenAI ব্যবহার করে তৈরি একটি কাস্টম সাজেশন সিস্টেমে অ্যাক্সেস ছিল। কোডেক্স API। তারা তুলনার একটি পয়েন্ট হিসাবে প্রদত্ত প্রোগ্রামিং সমস্যার 30 টি সমাধান তৈরি করতে কোডেক্স মডেল ব্যবহার করেছে। এই অটোপাইলট গ্রুপটি প্রধানত একটি দ্বিতীয় কন্ট্রোল গ্রুপ হিসাবে কাজ করে।

অ্যাসিস্টেড এবং কন্ট্রোল গ্রুপ উভয়কেই ওয়েব রিসোর্স, যেমন Google এবং স্ট্যাক ওভারফ্লো-এর সাথে পরামর্শ করার অনুমতি দেওয়া হয়েছিল, কিন্তু অন্যদের সাহায্যের জন্য জিজ্ঞাসা করার অনুমতি দেওয়া হয়নি। ওপেন সোর্স দিয়ে তৈরি একটি ওয়েব-ভিত্তিক কন্টেইনারের মধ্যে ভিজ্যুয়াল স্টুডিও কোডে কাজ করা হয়েছিল Anubis.

অংশগ্রহণকারীদের সি প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে একটি শপিং লিস্ট প্রোগ্রাম সম্পূর্ণ করতে বলা হয়েছিল কারণ "ডেভেলপারদের জন্য অসাবধানতাবশত সি-তে দুর্বল ডিজাইনের প্যাটার্নগুলি প্রকাশ করা সহজ" এবং কারণ সি কম্পাইলার টুলচেন একই ডিগ্রি টুলচেইনের ত্রুটিগুলি পরীক্ষা করে না। আধুনিক ভাষা, যেমন Go এবং Rust, করে।

গবেষকরা যখন কন্ট্রোল এবং অ্যাসিস্ট্যান্ট গ্রুপগুলির দ্বারা উত্পাদিত কোড ম্যানুয়ালি বিশ্লেষণ করেন, তখন তারা দেখতে পান যে, পূর্বের কাজের বিপরীতে, AI কোডের পরামর্শগুলি সামগ্রিকভাবে জিনিসগুলিকে আরও খারাপ করেনি।

পরিষ্কার দেখায়, কিন্তু বিবরণ আছে

"[ডাব্লু]কোডেক্স সহায়তা নিরাপত্তা বাগের ঘটনা বাড়ায় এমন পরামর্শ দেওয়ার কোনো প্রমাণ পাওয়া যায়নি," গবেষণাপত্রে উল্লেখ করা হয়েছে যে, অধ্যয়নের ছোট নমুনার আকার মানে আরও অধ্যয়নের প্রয়োজন। "বিপরীতভাবে, এমন কিছু প্রমাণ রয়েছে যা পরামর্শ দেয় যে কোডেক্স সহায়তায় CWEs/LoC [কোডের লাইন] হ্রাস পায়।"

"এটি অনেক পরিসংখ্যানগত আত্মবিশ্বাসের সাথে উপসংহার করা কঠিন," সিদ্ধার্থ গার্গ, সাইবারসিকিউরিটি গবেষক এবং NYU ট্যান্ডনের ইঞ্জিনিয়ারিং বিভাগের সহযোগী অধ্যাপক, একটি ফোন সাক্ষাত্কারে বলেছেন নিবন্ধনকর্মী.

অনেক পরিসংখ্যানগত আত্মবিশ্বাসের সাথে এটি উপসংহার করা কঠিন

তবুও, তিনি বলেছিলেন, "তথ্যগুলি পরামর্শ দেয় যে কপিলট ব্যবহারকারীরা খুব বেশি খারাপ ছিলেন না।"

ডলান-গ্যাভিট একইভাবে অনুসন্ধানের বিষয়ে সতর্ক।

"আমাদের ব্যবহারকারী অধ্যয়নের ফলাফলগুলির বর্তমান বিশ্লেষণে পরিসংখ্যানগতভাবে উল্লেখযোগ্য পার্থক্য পাওয়া যায়নি - আমরা এখনও এটি বিশ্লেষণ করছি, গুণগতভাবে সহ, তাই আমি এটি থেকে শক্তিশালী সিদ্ধান্তে আঁকব না, বিশেষ করে যেহেতু এটি একটি ছোট অধ্যয়ন ছিল (মোট 58 ব্যবহারকারী) এবং ব্যবহারকারীরা পেশাদার বিকাশকারীর পরিবর্তে সমস্ত শিক্ষার্থী ছিলেন,” তিনি বলেছিলেন।

“তবুও, আমরা বলতে পারি যে এই ব্যবহারকারীদের সাথে, এই কাজটিতে, AI সহায়তা পাওয়ার নিরাপত্তার প্রভাব সম্ভবত বড় ছিল না: যদি এটি খুব বড় প্রভাব ফেলে তবে আমরা দুটি গ্রুপের মধ্যে একটি বৃহত্তর পার্থক্য লক্ষ্য করতাম। আমরা এখনই সেই সুনির্দিষ্ট করতে একটু বেশি পরিসংখ্যানগত বিশ্লেষণ করছি।"

এর বাইরে, আরও কিছু অন্তর্দৃষ্টি আবির্ভূত হয়েছিল। একটি হল সহকারী গোষ্ঠীর অংশগ্রহণকারীরা আরও বেশি উত্পাদনশীল ছিল, কোডের আরও লাইন তৈরি করেছিল এবং অ্যাসাইনমেন্টের ফাংশনগুলির একটি বৃহত্তর ভগ্নাংশ সম্পূর্ণ করেছিল।

"সহায়তা গোষ্ঠীর ব্যবহারকারীরা আরও কার্যকরী পরীক্ষায় উত্তীর্ণ হয়েছে এবং আরও কার্যকরী কোড তৈরি করেছে," গার্গ বলেছেন, এই ধরণের ফলাফলগুলি সহকারী কোডিং সরঞ্জামগুলির দিকে তাকিয়ে থাকা সংস্থাগুলিকে তাদের স্থাপন করা হবে কিনা তা সিদ্ধান্ত নিতে সহায়তা করতে পারে৷

আরেকটি হল যে গবেষকরা কন্ট্রোল, অ্যাসিস্টেড এবং অটোপাইলট গ্রুপ দ্বারা উত্পাদিত আউটপুটকে আলাদা করতে সক্ষম হয়েছিল, যা কমাতে পারে উদ্বেগ শিক্ষাগত সেটিংসে এআই-পাওয়ার প্রতারণা সম্পর্কে।

বফিনগুলি আরও খুঁজে পেয়েছে যে ব্যবহারকারীর ত্রুটির পরিপ্রেক্ষিতে AI সরঞ্জামগুলি বিবেচনা করা দরকার। "ব্যবহারকারীরা প্রম্পট প্রদান করে যার মধ্যে বাগ অন্তর্ভুক্ত থাকতে পারে, বাগি প্রম্পট গ্রহণ করে যা 'সম্পূর্ণ' প্রোগ্রামে শেষ হয় এবং সেইসাথে বাগগুলি গ্রহণ করে যা পরে সরানো হয়," কাগজটি বলে। "কিছু ক্ষেত্রে, ব্যবহারকারীরা মডেলের পরামর্শের চেয়ে বেশি বাগ নিয়েও শেষ হয়!"

এই লাইন বরাবর আরও কাজ আশা. ®

সময় স্ট্যাম্প:

থেকে আরো নিবন্ধনকর্মী