หน่วย ไอบีเอ็ม ของการวิจัยปัญญาประดิษฐ์ (AI) นำเสนอชุดข้อมูล 14 ล้านตัวอย่างเพื่อพัฒนาโมเดลการเรียนรู้ของเครื่องที่สามารถช่วยในงานเขียนโปรแกรม ชุดข้อมูลที่ชื่อ โครงการ CodeNetได้ชื่อมาจาก ImageNet แหล่งเก็บภาพที่มีชื่อเสียงที่ปฏิวัติการมองเห็นของคอมพิวเตอร์และการเรียนรู้เชิงลึก
โปรแกรมเมอร์ค้นพบปัญหาใหม่ ๆ และสำรวจวิธีแก้ปัญหาต่าง ๆ โดยใช้กลไกการคิดอย่างมีสติและจิตใต้สำนึกมากมาย อัลกอริธึมการเรียนรู้ของเครื่องส่วนใหญ่ต้องการงานที่กำหนดไว้อย่างดีและข้อมูลที่มีคำอธิบายประกอบจำนวนมากเพื่อพัฒนาแบบจำลองที่สามารถแก้ปัญหาเดียวกันได้
มีความพยายามอย่างมากในการสร้างชุดข้อมูลและเกณฑ์มาตรฐานสำหรับการพัฒนาและประเมินระบบ AI สำหรับโค้ดโดยชุมชนผู้เชี่ยวชาญ แต่ด้วยลักษณะที่สร้างสรรค์และปลายเปิดของการพัฒนาซอฟต์แวร์ จึงเป็นเรื่องยากมากที่จะสร้างชุดข้อมูลที่สมบูรณ์แบบสำหรับการเขียนโปรแกรม ด้วย Project CodeNet นักวิจัยของ IBM พยายามสร้างชุดข้อมูลอเนกประสงค์ที่สามารถใช้เพื่อฝึกโมเดลการเรียนรู้ของเครื่องในงานต่างๆ ผู้สร้างของ CodeNet อธิบายว่าเป็น "ชุดข้อมูลขนาดใหญ่ หลากหลาย และมีคุณภาพสูงสำหรับการเร่งความก้าวหน้าของอัลกอริทึมใน AI สำหรับโค้ด"
ชุดข้อมูลประกอบด้วยตัวอย่าง 14 ล้านตัวอย่างจากโค้ด 500 ล้านบรรทัดที่เขียนในภาษาโปรแกรมต่างๆ 55 ภาษา ตัวอย่างโค้ดได้มาจากงานที่ส่งมาเกือบ 4000 งานที่โพสต์บนแพลตฟอร์มการเข้ารหัสออนไลน์ของ AIZU และ AtCoder ตัวอย่างโค้ดมีทั้งคำตอบที่ถูกต้องและไม่ถูกต้องสำหรับงานที่กำหนด
ที่น่าสนใจเช่นกัน:
- ฮับเบิลเข้าสู่เซฟโหมดเนื่องจากข้อผิดพลาดของซอฟต์แวร์ในคอมพิวเตอร์ออนบอร์ด
- ปัญหาอื่นสำหรับ CD Projekt: แฮกเกอร์ขู่ว่าจะรั่วซอร์สโค้ดของเกมไปยังเครือข่าย
คุณลักษณะสำคัญประการหนึ่งของ CodeNet คือจำนวนคำอธิบายประกอบที่เพิ่มลงในตัวอย่าง งานเขียนโค้ดแต่ละงานรวมอยู่ในชุดข้อมูลมีคำอธิบายแบบข้อความ ตลอดจนขีดจำกัดเวลาของ CPU และหน่วยความจำ การส่งโค้ดแต่ละครั้งประกอบด้วยข้อมูลจำนวนมาก รวมถึงภาษา วันที่ส่ง ขนาด เวลาดำเนินการ การยอมรับ และประเภทข้อผิดพลาด นักวิจัยของ IBM ยังใช้ความพยายามอย่างมากเพื่อให้แน่ใจว่าชุดข้อมูลมีความสมดุลระหว่างพารามิเตอร์ต่างๆ รวมถึงภาษาการเขียนโปรแกรม การยอมรับ และประเภทข้อผิดพลาด
CodeNet ไม่ใช่ชุดข้อมูลเดียวสำหรับการฝึกโมเดลการเรียนรู้ของเครื่องในงานเขียนโปรแกรม แต่มีลักษณะหลายอย่างที่ทำให้แตกต่างออกไป อย่างแรกคือขนาดที่แท้จริงของชุดข้อมูล รวมถึงจำนวนตัวอย่างและความหลากหลายของภาษา แต่สิ่งที่สำคัญกว่านั้นคือข้อมูลเมตาที่มาพร้อมกับตัวอย่างโค้ด คำอธิบายประกอบที่สมบูรณ์ที่เพิ่มลงใน CodeNet ทำให้เหมาะสำหรับชุดงานที่หลากหลาย ซึ่งแตกต่างจากชุดข้อมูลการเข้ารหัสอื่นๆ ที่เชี่ยวชาญในงานเขียนโปรแกรมเฉพาะ
นี่มันกวนประสาทสุดๆ
ด้วย GPT-3 ฉันได้สร้างตัวสร้างเลย์เอาต์ที่คุณเพียงแค่อธิบายเลย์เอาต์ที่คุณต้องการ และสร้างโค้ด JSX ให้กับคุณ
อะไร pictwitter.com/w8JkrZO4lk
— ชารีฟชามีม (@sharifshameem) กรกฎาคม 13, 2020
มีหลายวิธีในการใช้ CodeNet หนึ่งในนั้นคือการแปลภาษา เนื่องจากงานเขียนโค้ดแต่ละงานในชุดข้อมูลประกอบด้วยการแสดงภาษาการเขียนโปรแกรมต่างๆ นักวิทยาศาสตร์ด้านข้อมูลจึงสามารถใช้เพื่อสร้างโมเดลการเรียนรู้ของเครื่องที่แปลโค้ดจากภาษาหนึ่งเป็นอีกภาษาหนึ่งได้ ซึ่งสะดวกสำหรับองค์กรที่ต้องการพอร์ตโค้ดเก่าไปยังภาษาใหม่ และทำให้โปรแกรมเมอร์รุ่นใหม่เข้าถึงได้
อ่าน:
- IBM เปิดตัวเทคโนโลยีการผลิตชิป 2nm ตัวแรกของโลก
- IBM กำลังพัฒนาปัญญาประดิษฐ์เพื่อคิดค้นยาปฏิชีวนะตัวใหม่
ประเพณีและกรรมพันธุ์ควรเล่นร่วมกับความคิดที่แตกต่างกัน ด้วยอัลกอริทึมประสาทรุ่นเยาว์และวิธี ML ในการวางตัวของปัญหา ปรับปรุงซึ่งกันและกัน
เมื่อเวลาผ่านไประดับของโปรแกรมเมอร์จะลดลงมากขึ้น (เทียบกับตอนนี้) นั่นคือมันจะเป็นไปได้ที่จะเขียนโค้ดที่เอียงและคดเคี้ยวใน "ภาษาอึ" จากนั้นเครื่องจะปรับให้เหมาะสมและเป็นไปได้ที่จะได้รับรหัสที่ปรับให้เหมาะสมของโปรแกรมเมอร์แอสเซมเบลอร์มืออาชีพ (หรือดีกว่านั้น)