Tags:
Node Thumbnail

DeepMind เปิดตัว AlphaCode ปัญญาประดิษฐ์เขียนโค้ด โดยอาศัยเพียงอินพุตเป็นโจทย์เหมือนการทดสอบเขียนโค้ดทั่วๆ ไปที่มีคำบรรยาย และตัวอย่างอินพุตกับเอาท์พุตของโปรแกรมให้เท่านั้น ผลทดสอบบนแพลตฟอร์ม Codeforces ปรากฎว่า AlphaCode มีความสามารถเขียนโปรแกรมในระดับปานกลาง (median) เมื่อเทียบกับผู้ร่วมแข่งขันอื่นๆ ที่เป็นมนุษย์

No Description

ตัว AlphaCode เองเป็นปัญญาประดิษฐ์ในกลุ่ม Transformer ที่ใช้ประมวลผลด้านภาษาเป็นหลัก แล้วฝึกปัญญาประดิษฐ์ด้วยโค้ดจำนวนมากถึง 715.1GB จาก GitHub โดยเลือกโค้ดภาษายอดนิยม ได้แก่ C++, C#, Go, Java, JavaScript, Lua, PHP, Python, Ruby, Rust, Scala, และ TypeScript ทีมงานพบว่าการใส่โค้ดเท่านี้ตรงๆ ก็ทำให้ปัญญาประดิษฐ์เขียนโปรแกรมง่ายๆ ได้แล้ว

แต่เพื่อพัฒนาปัญญาประดิษฐ์ต่อ ทีมงานดูดข้อมูลจากการแข่งขันต่างๆ ขึ้นมาเป็นชุดข้อมูล CodeContests โดยรวมจาก Codeforces, Description2Code, และ CodeNet โดยต้องระวังว่าจะไม่มีโจทย์ข้อใดที่ปัญญาประดิษฐ์เคยเห็น ด้วยการแบ่งชุด validation ให้เป็นโจทย์ที่ใหม่ที่สุด ข้อมูลการฝึกนี้ใส่ทั้งตัวโจทย์เอง, ข้อมูลอินพุตตัวอย่าง, ข้อมูลทดสอบที่ปกติจะไม่เห็นระหว่างการทดสอบ, คำตอบจากผู้เข้าแข่งขันทั้งที่ถูกและผิด ปัญหาสำคัญคือข้อมูลทดสอบไม่มากพอ ทำให้หลายครั้งการตรวจโค้ดมองว่าคำตอบถูกทั้งที่คำตอบผิด หรือบางครั้งโค้ดก็ช้าเกินไป ทางแก้ของทีมงานคือการสร้างชุดตรวจคำตอบจากโปรแกรมที่ถูกต้องเพิ่มเติม

No Description

DeepMind สร้างโมเดลปัญญาประดิษฐ์ AlphaCode มาหลายตัว และแต่ละตัวเมื่อใส่อินพุตเป็นโจทย์เข้าไปแล้วก็สามารถสร้างโค้ดคำตอบออกมาได้นับพันรูปแบบ จากนั้นก็นำโค้ดคำตอบที่ได้มากรองด้วยตัวอย่างอินพุตในโจทย์เอง ก็จะกรองคำตอบที่ AlphaCode สร้างออกมาได้ถึง 99% (บางข้อก็ไม่มีคำตอบไหนผ่านเลย) ที่เหลือจะนำโค้ดคำตอบมาจับกลุ่มที่ด้วยการสร้างอินพุตเพิ่มเติม แล้วดูว่าโค้ดคำตอบกลุ่มใดให้เอาท์พุตเหมือนๆ กันบ้าง แล้วเลือกส่งโค้ดคำตอบจากกลุ่มที่ใหญ่ที่สุดก่อนเสมอ เนื่องจากโค้ดคำตอบที่ผิดสามารถผิดได้หลากหลายรูปแบบ จึงมักไม่จับกลุ่มกัน หากส่งตรวจแล้วพบว่าผิดก็เลือกโค้ดคำตอบจากกลุ่มที่เล็กลงเรื่อยๆ

No Description

ผลสุดท้ายของการทดสอบคือการส่ง AlphaCode เข้าร่วมทดสอบการแข่งขัน Codeforce ในช่วงสัปดาห์ที่ผ่านมาทั้งหมด 10 รอบ แล้วดูคะแนนที่ได้ ผลพบว่า AlpahCode ทำคะแนนได้ในกลุ่ม 54% แรกของผู้เข้าแข่งขันทั้งหมด นับว่าใกล้เคียงระดับผู้เข้าแข่งขันระดับกลางๆ แล้ว

AlphaCode ที่เข้าร่วมแข่งขันใช้ 3 บัญชี คือ SelectorUnlimited, WaggleCollide, และ AngularNumeric สามารถเข้าไปดูคำตอบที่ AlphaCode ส่งเข้าแข่งขันได้

ที่มา - DeepMind

Get latest news from Blognone

Comments

By: Azymik on 3 February 2022 - 03:23 #1239468

ทั้งที่ตำตอบผิด >> ทั้งที่คำตอบผิด

By: neizod
ContributorTraineeIn Love
on 3 February 2022 - 07:06 #1239471
neizod's picture

มี debug print("YES") ด้วยย 55555555 https://codeforces.com/contest/1617/submission/144329839

By: mr_tawan
ContributoriPhoneAndroidWindows
on 3 February 2022 - 15:29 #1239578
mr_tawan's picture

ผมนี่เตรียมหัดทำข้าวมันไก่เลย


  • 9tawan.net บล็อกส่วนตัวฮับ
By: Drkaze on 3 February 2022 - 19:49 #1239609 Reply to:1239578

สงสัยต้องหัดทำบราวนี่ด้วยนะครับ???

By: Drkaze on 3 February 2022 - 19:50 #1239610

ต่อไปมันจะเขียนโปรแกรมอัพเดทตัวเองด้วยไหม ? เริ่มน่ากลัว

By: akira on 3 February 2022 - 20:48 #1239614

ผมว่าน่าจะเป็น Trend ในอนาคตนะ ด้วยเทคโนโลยีในปัจจุบันมันก็ทำอย่างนั้นได้ด้วยสิ ถ้าโปรแกรมที่ไม่ซับซ้อนมาก เช่น โปรแกรมแบบ one page ในห้อง lab อาจทำได้แล้วก็ได้ ส่วนโปรแกรมเมอร์ก็ไม่ต้องตกใจ สุดท้ายมันก็ต้องมีคนบอก requirement , ปรับแต่ง model , ทดสอบ output, นำระบบไป impletement ว่าได้ผลตามที่ต้องการหรือเปล่าอยู่ดี งานน่าจะเหนื่อยน้อยลงด้วย

By: zipper
ContributorAndroid
on 4 February 2022 - 10:08 #1239650

ต่อไปมันจะสามารถแก้โจทย์การบ้านเขียนโปรแกรมได้หรือเปล่า คนที่จะเอามาใช้ก็เด็กนักเรียนนี่แหล่ะ

By: Mc_Jewel on 5 February 2022 - 11:59 #1239729

ถ้าตอนนี้ยังไม่เจอใครนั่ง time machine ย้อนกลับมา
แสดงว่า AI น่าจะยังเป็นมิตรกับเรา รึปล่าวนะ

By: akira on 5 February 2022 - 13:39 #1239734 Reply to:1239729

ร่างกายมนุษย์มีขีดจำกัดเยอะครับ เอาแค่ช่วงแสงที่มองเห็นได้ก็น้อยกว่าสัตว์หลายชนิด อาจมีหลายอย่างที่เรายังไม่รู้ ด้วยขีดจำกัดของประสาทสัมผัสของร่างกาย และความรู้เราด้วย ถึงแม้เราจะมีวิทยาศาตร์ หรือ sensor ที่ทันสมัยในความคิดเรา แต่อย่าลืมอายุของทุกสิ่งรอบตัวเรามันมากกว่าเราไม่รู้กี่เท่าตัว แต่ไม่ได้จะให้งมงายนะครับ เพียงแต่อยากบอกว่า อย่าจำกัดกรอบความรู้ของเราเพียงแค่ว่ามันเป็นไปไม่ได้ ถ้าค้นพบสิ่งที่ใหม่กว่าความรู้ของมนุษย์ในปัจจุบัน กรอบความรู้ของมนุษยชาติมันก็ต้องถูกขยายออกไป