ทำให้ AI ดีขึ้นในการแก้ปัญหาในการแข่งขันการเขียนโค้ด

ทำให้ AI ดีขึ้นในการแก้ปัญหาในการแข่งขันการเขียนโค้ด

สัมภาษณ์ ความสามารถของโมเดลภาษาขนาดใหญ่เชิงพาณิชย์ในการแก้ปัญหาการเขียนโปรแกรมของคู่แข่งสามารถเพิ่มขึ้นได้อย่างมากโดยการแนะนำกระบวนการอย่างระมัดระวังผ่านวิศวกรรมที่ชาญฉลาดและพร้อมท์

เพื่อสาธิตสิ่งนี้ Codium AI ซึ่งมีฐานอยู่ในอิสราเอลได้สร้าง AlphaCodium และ การเผยแพร่ ซอฟต์แวร์บน GitHub ในเดือนนี้ AlphaCodium ไม่ใช่โมเดลภาษาขนาดใหญ่ในตัว แต่เป็นวิธีการที่ปรับปรุงความสามารถในการแก้ปัญหาของเครื่องมือ AI เชิงสร้างสรรค์ เช่น GPT-4 โดยใช้สิ่งที่ CEO Itamar Friedman เรียกว่า "วิศวกรรมการไหล"

ขั้นแรก คำถามเกี่ยวกับการเขียนโปรแกรมจะถูกป้อนให้กับโมเดลภาษาขนาดใหญ่ที่ซ่อนอยู่ และจะถูกขอให้อธิบายและสรุปปัญหา ข้อมูลนั้นจะชี้แนะว่าควรเริ่มแก้ไขปัญหาอย่างไร AlphaCodium เป็นตัวกำหนดสิ่งต่างๆ เช่น สิ่งที่อินพุตและเอาต์พุตควรเป็น เมื่อคิดหาวิธีแก้ปัญหา ทั้งหมดนี้ระบุไว้ในภาษาธรรมชาติ

จากนั้นโมเดลจะเริ่มสร้างโค้ดที่สอดคล้องกับข้อกำหนดที่เพิ่งอธิบายไป การแข่งขันการเขียนโปรแกรมที่ขอให้ผู้แข่งขันเขียนโค้ดตามข้อมูลจำเพาะโดยทั่วไปจะมีการทดสอบแสดงว่าสคริปต์ควรแสดงผลอะไรสำหรับอินพุตที่กำหนด AlphaCodium สร้างกรณีทดสอบเหล่านี้มากขึ้น จากนั้นจึงดำเนินการตามวิธีแก้ปัญหาที่เป็นไปได้เพื่อตรวจสอบว่าโค้ดทำงานตามที่คาดไว้หรือไม่

หากไม่สามารถจัดการให้ตรงกับผลลัพธ์ใดๆ ที่กำหนดไว้ในการทดสอบใดๆ แบบจำลองจะสร้างโซลูชันที่แตกต่างกันจนกว่าจะผ่านการทดสอบทั้งหมดหรือล้มเหลว ข้อผิดพลาดอาจเกิดขึ้นเมื่อโค้ดไม่คอมไพล์หรือผิดพลาด

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

อัลฟาโซเดียม

ขั้นตอนกว้างๆ ทั้งหมดที่แนะนำ AlphaCodium ในการสร้างโค้ดเพื่อแก้ไขปัญหา

“เราไม่นำปัญหาไปที่โมเดลแล้วบอกมันว่า 'เฮ้ โปรดสร้างวิธีแก้ปัญหาขั้นสุดท้ายด้วย'” ฟรีดแมนกล่าว ลงทะเบียน. “เราขอให้โมเดลช่วยกำหนดปัญหานี้ใหม่เป็นสัญลักษณ์แสดงหัวข้อย่อย” การลดความซับซ้อนและแบ่งสิ่งต่าง ๆ ออกเป็นส่วน ๆ ช่วยให้โมเดลสร้างโค้ดสำหรับส่วนต่าง ๆ ของอัลกอริทึมในภายหลังได้ง่ายขึ้น

โดยพื้นฐานแล้ว วิศวกรรมการไหลเป็นขั้นตอนที่แนะนำกระบวนการแก้ไขปัญหาของแบบจำลองโดยแบ่งออกเป็นขั้นตอนที่กำหนดไว้อย่างชัดเจน การแจ้งให้ "แบ่งโค้ดที่สร้างขึ้นออกเป็นฟังก์ชันย่อยเล็กๆ พร้อมด้วยชื่อและฟังก์ชันที่มีความหมาย" เราได้รับแจ้ง ทำให้เกิดข้อบกพร่องน้อยลง และทำให้โค้ดทดสอบและแก้ไขได้ง่ายขึ้น

“โดยพื้นฐานแล้ว เราใช้เวลา 95 เปอร์เซ็นต์ไปกับวิศวกรรมการไหล และเพียง 5 เปอร์เซ็นต์กับวิศวกรรมที่พร้อมท์ และเราไม่ได้เปลี่ยนพรอมต์สำหรับแต่ละ [ขั้นตอน]” ฟรีดแมนกล่าวเสริม

วิศวกรจาก Codium ทดสอบประสิทธิภาพของโมเดลกับปัญหานับร้อยที่ใช้ในการตรวจสอบและทดสอบส่วนของชุดข้อมูล CodeForces ที่รวบรวมโดย Google DeepMind เมื่อสองปีที่แล้ว พวกเขาอ้างว่า AlphaCodium แก้ปัญหาการเขียนโค้ดได้ดีกว่ารุ่น AlphaCode และ AlphaCode2 ของ Google DeepMind

ในผลลัพธ์ที่รายงานใน arXiv กระดาษ [PDF] AlphaCodium สามารถตอบคำถามได้อย่างถูกต้อง 44 เปอร์เซ็นต์ เทียบกับ AlphaCode ที่ 24 เปอร์เซ็นต์ ขณะเดียวกันก็สร้างโซลูชันได้เพียง 107 โซลูชันเท่านั้น เมื่อเทียบกับโซลูชัน 165 รายการที่เลือกของ AlphaCode สำหรับปัญหาในการตรวจสอบความถูกต้อง 29 ข้อ สิ่งที่น่าสนใจก็คือ ช่องว่างแคบลงเมื่อเกิดปัญหาในการทดสอบ 28 ปัญหา โดยที่ AlphaCodium สามารถแก้ปัญหาได้ XNUMX เปอร์เซ็นต์ เทียบกับ AlphaCode ที่ XNUMX เปอร์เซ็นต์

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

“เรามุ่งเน้นที่ขั้นตอนการทดสอบทั้งหมดมากขึ้น” ฟรีดแมนกล่าว “สำหรับ [Google] พวกเขาทำงานมากมายกับคนรุ่นนี้ พวกเขาพยายามสร้างตัวเลือกอื่นๆ หลายร้อยตัวเลือก และเราสร้างโซลูชันได้น้อยมาก แต่ทดสอบได้ดีมากเพื่อเป็นแนวทางในการปรับปรุงโค้ด”

AlphaCodium นั้นดีกว่า AlphaCode2 รุ่นล่าสุดของ Google DeepMind เล็กน้อย ซึ่งมีประสิทธิภาพมากกว่า AlphaCode รุ่นก่อนถึง 10,000 เท่า เขากล่าวเสริม

อัลฟาโซเดียม_2

AlphaCodium เปรียบเทียบกับรุ่นล้ำสมัยอื่นๆ อย่างไรในแง่ของความแม่นยำและประสิทธิภาพ

ฟรีดแมนกล่าวว่าเขามั่นใจว่าประสิทธิภาพของ AlphaCodium ไม่ได้เกิดจากข้อมูลรั่วไหล โดยที่โมเดลพื้นฐานได้รับการฝึกอบรมและทดสอบเกี่ยวกับปัญหาเดียวกัน AlphaCodium เวอร์ชัน GPT-4 ได้รับการฝึกฝนเกี่ยวกับข้อความที่คัดลอกมาจากอินเทอร์เน็ตจนถึงเดือนกันยายน 2021 ในขณะที่ปัญหาที่ทดสอบระบบนั้นมาจากชุดข้อมูล CodeForces ดังกล่าวซึ่งเผยแพร่ในภายหลังมาก

อย่างไรก็ตาม การเปรียบเทียบระหว่างแอปเปิ้ลกับแอปเปิลที่ดีกว่าซึ่งประเมินกระบวนการทางวิศวกรรมการไหลนั้น คือการมองไปที่ความสามารถของ GPT-4 ในการแก้ปัญหาเดียวกันทั้งที่มีและไม่ใช้ AlphaCodium GPT-4 แบบธรรมดาสามารถตอบปัญหาในชุดการตรวจสอบและการทดสอบได้อย่างถูกต้องเพียง 19 และ 12 เปอร์เซ็นต์ตามลำดับ เมื่อเทียบกับรุ่นที่ใช้ AlphaCodium ซึ่งทำได้เพียง 44 และ 29 เปอร์เซ็นต์

กล่าวโดยสรุป ดูเหมือนว่าการใช้ไปป์ไลน์อย่างระมัดระวังซึ่งสร้างข้อมูลเพิ่มเติมเพื่อเป็นแนวทางในการสร้างโค้ดและปรับปรุงกระบวนการทดสอบจะมีประสิทธิภาพมากกว่าการพยายามฝึกโมเดลภาษาขนาดใหญ่ตั้งแต่เริ่มต้น

เมื่อเร็วๆ นี้ Codium ได้เปิดตัวเครื่องมือใหม่เพื่อรองรับนักพัฒนา Python ซึ่งขณะนี้สามารถเรียก AlphaCodium เพื่อแก้ไขปัญหาการเขียนโค้ดใน IDE ได้โดยตรง คุณสามารถเล่นกับมันได้ ที่นี่. ®

ประทับเวลา:

เพิ่มเติมจาก ลงทะเบียน