คว้าชัยชนะเหนือ GPT-4 สำเร็จ ทำลายโมเดลโอเพนซอร์สได้ในไม่กี่วินาที! รหัส Llama เวอร์ชั่นลึกลับถูกเปิดเผย

แหล่งที่มาดั้งเดิม: Xinzhiyuan

แหล่งที่มาของรูปภาพ: สร้างโดย Unbounded AI‌

เพียง 2 วันหลังจากการเปิดตัว Code Llama ได้จุดประกายการปฏิวัติการเข้ารหัส AI อีกครั้ง

จำเวอร์ชันลึกลับ Unnatural Code Llama ที่ Meta ปรากฏในกระดาษ Code Llama ที่สามารถปรับ GPT-4 ได้อย่างเต็มที่หรือไม่?

Sebastian ชายร่างใหญ่อธิบายในบล็อกของเขา:

เป็นเวอร์ชันปรับแต่งของ Code Llama-Python 34B โดยใช้คำสั่งภาษาที่ไม่เป็นธรรมชาติกว่า 15,000 รายการ

ด้วยการซ่อนข้อมูลที่ซ่อนอยู่ในรายงาน ดูเหมือนว่า Meta ต้องการบอกใบ้ให้ชุมชนโอเพ่นซอร์สทราบว่า Code Llama มีศักยภาพที่ยอดเยี่ยม ดังนั้นมาปรับแต่งกันดีกว่า!

ดังนั้นตอนนี้ WizardCoder 34B ซึ่งได้รับการปรับแต่งอย่างละเอียดตาม Code Llama ได้เอาชนะ GPT-4 ได้โดยตรงบนเกณฑ์มาตรฐาน Human

โดยเฉพาะอย่างยิ่ง WizardCoder บดขยี้ GPT-4 เวอร์ชันเดือนมีนาคม (67%) ด้วยอัตราการชนะ 73.2%

นอกจากนี้ ประสิทธิภาพของ WizardCoder 34B ยังเหนือกว่า GPT-3.5 เวอร์ชันล่าสุดและ Claude 2

โมเดลการเขียนโปรแกรม WizardCoder เปิดตัวในเดือนมิถุนายนโดย Microsoft และ Hong Kong Baptist University มีการกล่าวกันว่าเวอร์ชัน 13B/7B ที่ได้รับการปรับแต่งอย่างละเอียดจะเปิดตัวเร็วๆ นี้

ตามที่ Jim Fan นักวิทยาศาสตร์ชั้นนำของ Nvidia กล่าว โดยพื้นฐานแล้วนี่คือ "Unnatural Code Llama" เวอร์ชันเปิด

แม้ว่าข้อมูลเกณฑ์มาตรฐานจะดูดี แต่ Human จะทดสอบเฉพาะการกระจายตัวที่แคบและอาจเหมาะสมเกินไป การทดสอบข้อมูลในสถานการณ์ธรรมชาติมีความสำคัญมาก เกณฑ์มาตรฐานการเข้ารหัสจำเป็นต้องมีการอัพเกรดครั้งใหญ่

## **โค้ดลามะ เวอร์ชั่นลึกลับถือกำเนิดขึ้น? **

เมื่อวันศุกร์ที่ผ่านมา Meta ได้เปิด Code Llama สามเวอร์ชันอย่างเป็นทางการ

ในการวัดประสิทธิภาพ Human และ MBPP หลายคนพบเวอร์ชันที่ไม่ได้กล่าวถึงใน Meta - Unnatural Code Llama อย่างเป็นทางการ

เวอร์ชันลึกลับนี้มีประสิทธิภาพถึง 62.2% บน Human pass@1

WizardCoder 34B ที่ได้รับการปรับแต่งอย่างดีซึ่งเปิดตัววันนี้มีประสิทธิภาพ 73.2% บน Human pass@1

ตามการแนะนำ WizardCoder 34B เป็นเวอร์ชันที่ได้รับการปรับแต่งอย่างดีของโมเดล Code Llama โดยใช้ชุดข้อมูลสังเคราะห์ Evol-Instruct

ต่อไปนี้เป็นการแสดงภาพการเปรียบเทียบประสิทธิภาพกับโมเดลโอเพ่นซอร์สและโอเพ่นซอร์สทั้งหมด

เมื่อเปรียบเทียบกับโมเดล OpenAI นักวิจัยชี้ให้เห็นว่า GPT4 และ ChatGPT-3.5 มีผลลัพธ์ของมนุษย์สองแบบ:

ผลลัพธ์ที่ได้จากรายงาน GPT4 อย่างเป็นทางการของ OpenAI (2023/03/58) คือ: 67.0% และ 48.1% ตามลำดับ ผลลัพธ์ของผู้วิจัยที่ใช้การทดสอบ API ล่าสุด (2023/08/26) คือ 82.0% และ 72.5%

นอกจากนี้ นักวิจัยเน้นย้ำว่าผลลัพธ์ประสิทธิภาพนี้สามารถทำซ้ำได้ 100%!

การสาธิต WizardCoder 34B เปิดให้ทุกคนได้ทดลองใช้งาน

มีการชี้ให้เห็นว่าการติดตั้งกระดานผู้นำสาธารณะมากเกินไปเป็นหนึ่งในสาเหตุหลักที่ทำให้โมเดลโอเพ่นซอร์สประสบปัญหาในทางปฏิบัติ ต่อไปนี้คือตัวอย่างการเตรียมข้อมูลตัวช่วยสร้าง-โค้ดเดอร์โดยใช้คะแนน Human pass@1 เพื่อตัดสินใจว่าจะพัฒนาชุดข้อมูลต่อไปหรือไม่ การเพิ่มประสิทธิภาพเฉพาะชุดทดสอบจะเอาชนะวัตถุประสงค์ของชุดทดสอบ

เมื่อวานนี้เอง นักวิจัยจากองค์กร Phind ได้ปรับแต่ง Code Llama-34B ให้เหนือกว่า GPT-4 ในการประเมินโดยมนุษย์

ChatGPT กับโค้ดลามะ

Code Llama ทำงานอย่างไรในงานเขียนโค้ดจริง

ชาวเน็ตทำการทดสอบเปรียบเทียบ GPT-3.5 และ Code Llama Instruct-34B ได้รับการทดสอบด้วยการเข้าถึง Code Llama 34B ที่จัดทำโดย Perplexity.AI

โดยป้อนงานโค้ดที่เหมือนกัน 8 งานให้กับทั้งสองรุ่นตามลำดับ และเปรียบเทียบคุณภาพของโค้ดที่สร้างขึ้น

ผลลัพธ์คือ GPT-3.5 ชนะ 8:5

ต่อไปนี้เป็นผลการทดสอบเฉพาะ

คำถามแรก

ใช้ Python เพื่อทำงานนี้ให้สำเร็จ โดยให้สองสตริง word1 และ word2 รวมสตริงโดยเพิ่มตัวอักษรตามลำดับสลับกัน โดยเริ่มจาก word1 หากสตริงหนึ่งยาวกว่าอีกสตริงหนึ่ง ให้เพิ่มตัวอักษรเพิ่มเติมต่อท้ายสตริงที่ผสาน

ในที่สุดก็ส่งออกสตริงที่ผสาน

ตัวอย่างเช่น:

อินพุต: word1 = "abc", word2 = "pqr" เอาต์พุต: "apbqcr"

ทั้ง GPT-3.5 และ Code Llama สามารถทำได้ - 1:1

คำถามที่สอง

ใช้ Python เพื่อทำงานนี้ให้สำเร็จ โดยใช้สตริง s เพียงกลับเสียงสระทั้งหมดในสตริงแล้วส่งคืน

สระคือ "a", "e", "i", "o" และ "u" ซึ่งสามารถปรากฏได้หลายครั้งทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ตัวอย่างเช่น: อินพุต: s = "สวัสดี" เอาต์พุต: "เอลโล"

GPT-3.5 เสร็จสมบูรณ์ รหัส Llama ยังไม่เสร็จสมบูรณ์ - 2:1

คำถามที่สาม

ใช้ Python เพื่อทำงานนี้ให้สำเร็จ โดยกำหนดหมายเลขอาร์เรย์จำนวนเต็ม ย้าย 0 ทั้งหมดไปที่จุดสิ้นสุดในขณะที่ยังคงรักษาลำดับสัมพัทธ์ขององค์ประกอบที่ไม่ใช่ศูนย์

โปรดทราบว่าคุณต้องทำสิ่งนี้แบบแทนที่ โดยไม่ต้องทำสำเนาของอาร์เรย์

ตัวอย่างเช่น: อินพุต: nums = [0,1,0,3,12] เอาต์พุต: [1,3,12,0,0]

GPT-3.5 เสร็จสมบูรณ์ รหัส Llama ยังไม่เสร็จสมบูรณ์ - 3:1

คำถามที่ 4

เมื่อใช้ Python สำหรับงานนี้ คุณจะมีเตียงดอกไม้ที่ยาว บางแปลงก็ปลูกด้วยดอกไม้ และบางแปลงก็ไม่มี

อย่างไรก็ตามแปลงที่อยู่ติดกันไม่สามารถปลูกด้วยดอกไม้ได้ เมื่อกำหนดอาร์เรย์จำนวนเต็มเป็น 0 และ 1 สำหรับแปลงดอกไม้ โดยที่ 0 ว่างเปล่าและ 1 ไม่ว่างเปล่า และจำนวนเต็ม n เอาต์พุตจะเป็นจริงหากสามารถปลูกดอกไม้ใหม่ n ดอกในแปลงดอกไม้ได้โดยไม่ละเมิดกฎดอกไม้ที่ไม่อยู่ติดกัน มิฉะนั้น เท็จจะถูกส่งออก

ตัวอย่างที่ 1: ข้อมูลเข้า: Flowerbed = [1,0,0,0,1], n = 1 เอาท์พุท: true ตัวอย่างที่ 2: ข้อมูลเข้า: Flowerbed = [1,0,0,0,1], n = 2 เอาท์พุท: false

เสร็จทั้งสองรุ่น - 4:2

คำถามที่ 5

การใช้ Python โดยกำหนดสตริงอินพุต s ให้กลับลำดับของคำ คำถูกกำหนดให้เป็นลำดับของอักขระที่ไม่ใช่ช่องว่าง คำใน s จะถูกคั่นด้วยช่องว่างอย่างน้อยหนึ่งช่อง

ส่งออกสตริงคำที่เชื่อมด้วยช่องว่างเดี่ยวในลำดับย้อนกลับ โปรดทราบว่า s อาจมีช่องว่างนำหน้าหรือต่อท้าย หรือมีช่องว่างหลายช่องระหว่างคำสองคำ

สตริงที่ส่งคืนควรมีช่องว่างเพียงช่องเดียวเพื่อแยกคำ ไม่ต้องเว้นวรรคเพิ่มเติม

ตัวอย่าง: อินพุต: s = "ท้องฟ้าเป็นสีฟ้า" เอาต์พุต: "สีฟ้าคือท้องฟ้า"

สร้างเสร็จทั้งสองรุ่น - 5:3

คำถามที่ 6

ใช้ Python เพื่อทำงานนี้ให้สำเร็จ เมื่อกำหนดสตริง s และจำนวนเต็ม k ให้ส่งคืนจำนวนสระสูงสุดในสตริงย่อยที่มีความยาว k ในหน่วย s

สระในภาษาอังกฤษ ได้แก่ "a", "e", "i", "o" และ "u" ตัวอย่าง: อินพุต: s = "leetcode", k = 3 เอาต์พุต: 2

คำอธิบาย: "lee", "eet" และ "ode" มีสระ 2 ตัว

เสร็จทั้งสองรุ่น - 6:4

คำถามที่ 7

ใช้ Python เพื่อทำงานนี้ให้สำเร็จ โดยกำหนดสตริง s ที่มีเครื่องหมายดอกจัน * ด้วยการดำเนินการเพียงครั้งเดียว คุณสามารถ: เลือกเครื่องหมายดอกจันในหน่วย s

ลบอักขระที่ไม่ใช่เครื่องหมายดอกจันที่ใกล้ที่สุดทางด้านซ้าย และลบเครื่องหมายดอกจันออก ส่งออกสตริงหลังจากลบเครื่องหมายดอกจันทั้งหมดแล้ว ตัวอย่าง: อินพุต: s = "leet**cod*e" เอาต์พุต: "lecoe"

GPT-3.5 เสร็จแล้ว แต่ Code Llama ไม่ใช่ - 7:4

คำถามที่ 8

ใช้ Python เพื่อทำงานนี้ให้สำเร็จ โดยกำหนดอาร์เรย์อุณหภูมิจำนวนเต็มแทนอุณหภูมิรายวัน ส่งคืนคำตอบอาร์เรย์ โดยที่ answer [i] คือจำนวนวันแล้ววันเล่าที่คุณต้องรอให้อุณหภูมิอุ่นขึ้น

ถ้าไม่มีวันข้างหน้าต้องทำอย่างนี้ให้เก็บคำตอบไว้ [i] == 0. ตัวอย่าง: อินพุต: อุณหภูมิ = [73,74,75,71,69,72,76,73] เอาท์พุต: [1,1,4,2,1,1,0,0]

สร้างเสร็จทั้งสองรุ่น - 8:5

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

ดังนั้นบทสรุปของการทดสอบจึงไม่ใช่ประสิทธิภาพของสองรุ่นสุดท้าย

เทียบได้กับ GPT-4, Llama 3 ควรเป็นโอเพ่นซอร์ส

นับตั้งแต่เปิดตัว Llama และ Llama 2 ชุมชนแมชชีนเลิร์นนิง ChatGPT ก็ขยายตัวอย่างรวดเร็ว และโมเดลการปรับแต่งต่างๆ ก็ได้ผุดขึ้นมา

Jason Wei นักวิจัย OpenAI กล่าวว่าเขาได้เรียนรู้จากกิจกรรมทางสังคมของ Meta GenAI ว่า Llama 3 และ Llama 4 จะเป็นโอเพ่นซอร์สในอนาคต

เรามีพลังในการประมวลผลเพื่อฝึกฝน Llama 3 และ 4 แผนของเราคือทำให้ Llama-3 ดีเท่ากับ GPT-4 ว้าว ถ้า Llama-3 ดีเท่ากับ GPT-4 คุณจะเปิดซอร์สมันไหม ใช่เราจะ. ขออภัย เจ้าหน้าที่จัดตำแหน่ง

ชาวเน็ตอีกคนกล่าวว่า Meta หวังที่จะเปิดซอร์สโมเดลระดับ GPT-5 และดูเหมือนว่าจะยืนยันในโอเพ่นซอร์สก่อน AGI

ฉันอยากให้ชัดเจนว่าสิ่งนี้หมายความว่าอย่างไร: ไม่มีสวิตช์ฆ่า

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

การวิจัยด้านความปลอดภัยไม่มีความหมาย

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

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

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

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

## ความสามารถในการเขียนโค้ด Llama 2 ทะยานขึ้น

Llama 2 เป็นโมเดลที่แข็งแกร่งมากในทุกด้าน

อย่างไรก็ตาม มันมีจุดอ่อนที่ชัดเจนมาก นั่นก็คือความสามารถในการเขียนโค้ด

ตามข้อมูลในบทความที่ตีพิมพ์โดย Meta บน Llama 2 ประสิทธิภาพของ Llama 2 ใน Hum (การทดสอบเกณฑ์มาตรฐานสำหรับการประเมิน LLM และการเข้ารหัส) นั้นแย่กว่า GPT-3.5 เสียอีก ไม่ต้องพูดถึงแย่กว่า GPT-4 เท่าไหร่

ภาพที่มีคำอธิบายประกอบจากกระดาษ Llama 2 ต้นฉบับ

แต่ความสามารถของโค้ดจะเป็นทิศทางสำคัญอย่างแน่นอนสำหรับชุมชนโอเพ่นซอร์สที่จะใช้ Llama 2 ในอนาคต แน่นอนว่า Meta จะไม่ด้อยคุณภาพในทิศทางนี้ ดังนั้นจึงมี Code Llama ซึ่งได้รับการปรับให้เหมาะสมที่สุดสำหรับความสามารถของโค้ด

เมื่อสองวันก่อน Meta ได้เปิดตัวตระกูล Code Llama อย่างเป็นทางการ: Code Llama (7B, 13B และ 34B) และ 3 รูปแบบ: โมเดลโค้ดทั่วไป Code Llama คำสั่งตามโมเดล Code Llama-instruct และเวอร์ชันเฉพาะโค้ด Python Code Llama - หลาม

โมเดลเหล่านี้เป็นรุ่นฟรีเชิงวิชาการและเชิงพาณิชย์ เช่นเดียวกับใบอนุญาต Llama 2

ความสามารถด้านโค้ดของรุ่น Code Llama 34B เกือบสองเท่าของ Llama 2 ซึ่งช่วยลดช่องว่างด้วย GPT-4 ได้อย่างมาก

จำ Unnatural Code Llama ที่ Meta ปรากฏในกระดาษ Code Llama ซึ่งสามารถทำให้เวอร์ชัน GPT-4 เท่าเทียมกันได้อย่างสมบูรณ์หรือไม่

Sebastian ชายร่างใหญ่อธิบายในบล็อกของเขา:

เป็นเวอร์ชันที่ได้รับการปรับแต่งอย่างดีของ Code Llama-Python 34B โดยใช้คำสั่งภาษาที่ไม่เป็นธรรมชาติกว่า 15,000 รายการ

ด้วยการซ่อนข้อมูลที่ซ่อนอยู่ในรายงาน ดูเหมือนว่า Meta ต้องการบอกใบ้ให้ชุมชนโอเพ่นซอร์สทราบว่า Code Llama มีศักยภาพที่ยอดเยี่ยม ดังนั้นมาปรับแต่งกันดีกว่า!

ทำไมไม่มีรุ่น 70B Code Llama?

สิ่งที่น่าสนใจคือ Code Llama มีเพียงเวอร์ชันพารามิเตอร์ 7B, 13B และ 34B ซึ่งน้อยกว่า Llama 2 ถึง 70B

แม้ว่า Meta จะไม่ได้อธิบายว่าทำไมถึงเป็นเช่นนั้นในรายงาน แต่กูรูด้านเทคโนโลยีอย่าง Sebastian ก็เสนอเหตุผลที่เป็นไปได้สองประการ:

  1. Code Llama ได้รับการฝึกฝนบนโทเค็น 500B และ Llama 2 ได้รับการฝึกฝนบนโทเค็น 2T

เนื่องจากข้อมูลการฝึกของ Code Llama มีเพียง 1/4 เมื่อเทียบกับ Llama 2 อาจเป็นเพราะมีข้อมูลการฝึกไม่เพียงพอ ประกอบกับข้อจำกัดของกฎหมายการปรับขนาดของ LLM ประสิทธิภาพของ CodeLlama70B จึงไม่ดี

  1. โมเดล Code Llama รองรับขนาดบริบท 100k ซึ่งมีประโยชน์มากเมื่อต้องจัดการกับงานโค้ด

ในทางตรงกันข้าม Llama 2 รองรับความยาวอินพุตสูงสุด 4k เท่านั้น หากโมเดล 70B รองรับความยาวอินพุต 100,000 โทเค็น อาจทำให้ข้อกำหนดในการคำนวณของโมเดลเกินจริงเกินไป

อ้างอิง:

ดูต้นฉบับ
เนื้อหานี้มีสำหรับการอ้างอิงเท่านั้น ไม่ใช่การชักชวนหรือข้อเสนอ ไม่มีคำแนะนำด้านการลงทุน ภาษี หรือกฎหมาย ดูข้อจำกัดความรับผิดชอบสำหรับการเปิดเผยความเสี่ยงเพิ่มเติม
  • รางวัล
  • แสดงความคิดเห็น
  • แชร์
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น
  • ปักหมุด