ცუდი ამბავი დეველოპერებისთვის? ეს AI ძალიან კარგად წერს კოდის

  • Sep 05, 2023

DeepMind ამბობს, რომ მისმა კვლევამ საბოლოოდ შეიძლება დაეხმაროს პროგრამისტებს უფრო ეფექტურად კოდირებაში და გაუხსნას ველი იმ ადამიანებისთვის, ვინც არ კოდებს.

გადაწყვეტილების მიღება, რომელი პროგრამირების ენის სწავლა დღეს დიდი კითხვაა დეველოპერებისთვის, დროში დიდი ინვესტიციის გამო. მაგრამ ეს კითხვა შეიძლება ზედმეტი აღმოჩნდეს მომავალში, სადაც ხელოვნური ინტელექტის (AI) მოდელები ყველაფერს აკეთებენ პრობლემის აღწერილობის გაგებით და გადაწყვეტის კოდირებით.

Google-ის AI-ზე ორიენტირებული DeepMind-ის მკვლევარები აცხადებენ, რომ მის AlphaCode სისტემას შეუძლია გამოხატოს გადაწყვეტილებები კოდში არსებული პრობლემები, რომლებიც ახლის მიერ ჩატარებული პროგრამირების კონკურსებში საშუალო დონის ქულას აღწევს პროგრამისტები. ეს შეჯიბრებები მოითხოვს ადამიანებს ბუნებრივი ენით აღწერილი პრობლემის გააზრებას და შემდეგ ალგორითმის ეფექტურად კოდირებას.

ZDNET გირჩევთ

საუკეთესო პროგრამირების ენები

აქ არის ყველაზე პოპულარული პროგრამირების ენების სია და სად ვისწავლოთ ისინი

წაიკითხე ახლა

ახალში არარეცენზირებული ნაშრომიDeepMind-ის მკვლევარები დეტალურად აღწერენ, თუ როგორ მიაღწია AlphaCode-მა მონაწილეთა საუკეთესო 54.3%-ის საშუალო რეიტინგს 10 ადრე ჩატარებულ პროგრამირების კონკურსში, რომელშიც 5000-ზე მეტი მონაწილე იყო. კონკურსები Codeforces code-ის კონკურსის პლატფორმაზე უმასპინძლა.

იხილეთ: დამსაქმებლები სასოწარკვეთილნი არიან მონაცემთა მეცნიერების მიმართ, რადგან მოთხოვნა იზრდება

DeepMind ამტკიცებს, რომ AlphaCode არის პირველი AI კოდის გენერირების სისტემა, რომელიც მუშაობს კონკურენტულ დონეზე ადამიანური დეველოპერებისთვის კოდის კონკურსებში. კვლევამ შეიძლება გააუმჯობესოს პროგრამისტის პროდუქტიულობა და შეიძლება დაეხმაროს არაპროგრამისტებს გამოსავლის გამოხატვაში კოდის დაწერის ცოდნის გარეშე.

კონკურსანტებს და, შესაბამისად, AlphaCode-ს სჭირდებოდათ გამოწვევის ან თავსატეხის აღწერა და სწრაფად დაეწერათ პროგრამა მათ გადასაჭრელად. ეს უფრო რთულია, ვიდრე მოდელის სწავლება GitHub მონაცემების გამოყენებით მარტივი კოდირების გამოწვევის გადასაჭრელად.

ადამიანების მსგავსად, AlphaCode-ს სჭირდებოდა მრავალ აბზაციანი ბუნებრივი ენის აღწერილობის გაგება პრობლემა, ფონური თხრობითი დეტალები და სასურველი გადაწყვეტის აღწერა შეყვანის თვალსაზრისით და გამომავალი.

პრობლემის გადასაჭრელად, კონკურენტმა უნდა შექმნას ალგორითმი და შემდეგ განახორციელოს ალგორითმი ეფექტურად, პოტენციურად მოითხოვენ, რომ აირჩიონ, ვთქვათ, უფრო სწრაფი პროგრამირების ენა, როგორიცაა C++, Python-ის ნაცვლად შეზღუდვები.

AlphaCode-ის წინასწარი ტრენინგის მონაცემთა ნაკრები მოიცავდა 715 გბ კოდს GitHub საცავებიდან, რომლებიც დაწერილი იყო C++, C#, Go, Java, JavaScript/TypeScript, Lua, Python, PHP, Ruby, Rust და Scala-ში. გუნდმა დააზუსტა მოდელი Codeforces-დან და მსგავსი მონაცემთა ნაკრებიდან ამოღებული კონკურენტული პროგრამირების პრობლემების მონაცემთა ნაკრების გამოყენებით.

DeepMind-ის მიერ AlphaCode-ის გაძლიერება მიღწეული იქნა ფართომასშტაბიანი ტრანსფორმატორის მოდელების კომბინაციით. მათ შორისაა მაგალითები OpenAI-ს GPT-3 და Google-ის BERT ენის მოდელი. DeepMind-მა გამოიყენა ტრანსფორმატორზე დაფუძნებული ენის მოდელები კოდის შესაქმნელად, შემდეგ კი გამომავალი გაფილტრა "პერსპექტიული პროგრამების" მცირე ნაკრებისთვის, რომლებიც წარდგენილი იყო შესაფასებლად.

"შეფასების დროს, ჩვენ ვქმნით C++ და Python პროგრამების მასიურ რაოდენობას თითოეული პრობლემისთვის, რაც უფრო დიდია, ვიდრე წინა სამუშაოები." DeepMind-ის AlphaCode-ის გუნდი განმარტავს ბლოგპოსტში.

„შემდეგ ჩვენ ვფილტრავთ, ვაგროვებთ და ვახარისხებთ ამ გადაწყვეტილებებს 10 კანდიდატი პროგრამის მცირე ნაკრებისთვის, რომელსაც წარვადგენთ გარე შეფასებისთვის. ეს ავტომატიზირებული სისტემა ცვლის კონკურენტების საცდელ-შეცდომის პროცესს გამართვის, შედგენის, ტესტების გავლისა და საბოლოოდ წარდგენის პროცესს“.

DeepMind აჩვენებს, თუ როგორ კოდებს AlphaCode მოცემული პრობლემის გადაწყვეტას აქ.

DeepMind განიხილავს რამდენიმე პოტენციურ უარყოფით მხარეს, რის მიღწევასაც ცდილობს. მაგალითად, მოდელებს შეუძლიათ გამოიმუშაონ სისუსტეებით კოდის გენერირება, მათ შორის „უნებლიე დაუცველობა მოძველებული კოდიდან ან მავნე მოქმედი პირების მიერ სასწავლო კომპლექტში შეყვანილი მიზანმიმართული ხარვეზები“.

იხილეთ: ვებ დეველოპერი თუ CTO, რომელ ტექნიკურ სამუშაოებს აქვთ ყველაზე სწრაფად მზარდი ხელფასები?

ასევე, არის გარემოსდაცვითი ხარჯები. მოდელის ტრენინგს დასჭირდა „ასობით petaFLOPS დღე“ Google-ის მონაცემთა ცენტრებში. მაგრამ ხელოვნური ინტელექტის კოდის შექმნა გრძელვადიან პერსპექტივაში „შეიძლება მიგვიყვანოს სისტემებამდე, რომლებსაც შეუძლიათ რეკურსიულად დაწერონ და გააუმჯობესონ საკუთარი თავი, რაც სწრაფად გამოიწვევს უფრო და უფრო მოწინავე სისტემებს“.

არსებობს რისკი, რომ ავტომატიზაცია ამცირებს მოთხოვნას დეველოპერებზე, მაგრამ DeepMind მიუთითებს დღევანდელი კოდის შევსების ხელსაწყოების შეზღუდვებზე, რომლებიც მნიშვნელოვნად გააუმჯობესოს პროგრამირების პროდუქტიულობა, თუმცა ბოლო დრომდე შემოიფარგლებოდა მხოლოდ ერთი ხაზის შეთავაზებებით და შეზღუდული იყო გარკვეული ენებით ან მოკლე კოდით ფრაგმენტები.

თუმცა, DeepMind ხაზს უსვამს, რომ მისი მუშაობა თითქმის არ წარმოადგენს საფრთხეს ადამიანური პროგრამისტებისთვის, მაგრამ მის სისტემებს უნდა შეეძლოს პრობლემის გადაჭრის შესაძლებლობების განვითარება კაცობრიობის დასახმარებლად.

”ჩვენი კვლევა კოდის გენერირებაში ტოვებს გაუმჯობესების დიდ ადგილს და მიანიშნებს კიდევ უფრო საინტერესო იდეებზე, რომლებიც დაგეხმარებათ პროგრამისტები აუმჯობესებენ თავიანთ პროდუქტიულობას და ხსნიან ველს იმ ადამიანებისთვის, რომლებიც ამჟამად არ წერენ კოდს“, - DeepMind-ის მკვლევარები ამბობენ.

დეველოპერი

ეს არის პროგრამირების დასასრული, როგორც ჩვენ ვიცით - ისევ
დეველოპერები თავს დაცულად გრძნობენ თავიანთ სამუშაოებში, მაგრამ ისინი მაინც ფიქრობენ დატოვებაზე
ინტერნეტის მომავალს დასჭირდება სხვა სახის პროგრამული უზრუნველყოფის შემქმნელი
საუკეთესო Linux ლეპტოპები მომხმარებლებისა და დეველოპერებისთვის
  • ეს არის პროგრამირების დასასრული, როგორც ჩვენ ვიცით - ისევ
  • დეველოპერები თავს დაცულად გრძნობენ თავიანთ სამუშაოებში, მაგრამ ისინი მაინც ფიქრობენ დატოვებაზე
  • ინტერნეტის მომავალს დასჭირდება სხვა სახის პროგრამული უზრუნველყოფის შემქმნელი
  • საუკეთესო Linux ლეპტოპები მომხმარებლებისა და დეველოპერებისთვის