หนึ่งวันหลังจากการเปิดตัว ความสามารถในการเขียนโค้ดของ Code Llama ได้รับการปรับปรุงอย่างก้าวกระโดด และ Human_ เวอร์ชันที่ได้รับการปรับแต่งก็ได้คะแนนสูงกว่า GPT-4

ฉันเมื่อวานนี้: Open Source LLM จะเอาชนะ GPT-4 ในอีกไม่กี่เดือนข้างหน้าสำหรับการสร้างโค้ด ฉันตอนนี้: วันนี้จริงๆ

เมื่อวานนี้ Meta open source code Llama ซึ่งเป็นโมเดลพื้นฐานที่เชี่ยวชาญด้านการสร้างโค้ดนั้นให้บริการฟรีสำหรับการวิจัยและเชิงพาณิชย์

มีสามเวอร์ชันพารามิเตอร์ของซีรีส์ Code Llama จำนวนพารามิเตอร์คือ 7B, 13B และ 34B และรองรับภาษาการเขียนโปรแกรมหลายภาษา รวมถึง Python, C++, Java, PHP, Type (Java), C# และ Bash

เวอร์ชันของ Code Llama ที่ Meta จัดทำ ได้แก่:

  • Code Llama โค้ดโมเดลพื้นฐาน
  • Code Llama-Python ซึ่งเป็นเวอร์ชัน Python ที่ได้รับการปรับแต่งอย่างละเอียด
  • Code Llama-Instruct ซึ่งเป็นคำสั่งภาษาธรรมชาติเวอร์ชันที่ได้รับการปรับแต่งอย่างละเอียด

ในแง่ของผลกระทบ Code Llama เวอร์ชันต่างๆ มีอัตราการผ่านการสร้าง (pass@1) บนชุดข้อมูล Human และ MBPP ที่เกินกว่า GPT-3.5

นอกจากนี้ pass@1 ของเวอร์ชัน 34B "Unnatural" ของ Code Llama บนชุดข้อมูล Human นั้นใกล้เคียงกับ GPT-4 (62.2% เทียบกับ 67.0%) อย่างไรก็ตาม Meta ไม่ได้เปิดตัวเวอร์ชันนี้ แต่ได้รับการปรับปรุงประสิทธิภาพที่สำคัญผ่านการฝึกอบรมด้วยข้อมูลที่เข้ารหัสคุณภาพสูงจำนวนเล็กน้อย

แหล่งที่มา:

หลังจากผ่านไปหนึ่งวัน นักวิจัยบางคนก็ท้าทาย GPT-4 พวกเขามาจาก Phind (องค์กรที่มุ่งสร้างเครื่องมือค้นหา AI สำหรับนักพัฒนา) ซึ่งเอาชนะ GPT-4** ในการประเมินโดยมนุษย์ด้วย **โค้ด Llama-34B ที่ปรับแต่งอย่างละเอียด

Michael Royzen ผู้ร่วมก่อตั้ง Phind กล่าวว่า "นี่เป็นเพียงการทดลองเบื้องต้นที่มุ่งสร้าง (และเหนือกว่า) ผลลัพธ์ "Unnatural Code Llama" ใน Meta paper ในอนาคต เราจะมีผลงานผู้เชี่ยวชาญของโมเดล CodeLlama ต่างๆ ที่ฉันคิดว่าจะสามารถแข่งขันได้ในเวิร์กโฟลว์ในโลกแห่งความเป็นจริง "

ทั้งสองรุ่นเป็นแบบโอเพ่นซอร์ส:

นักวิจัยได้เผยแพร่โมเดลทั้งสองนี้บน Huggingface และทุกคนสามารถเข้าไปดูโมเดลเหล่านี้ได้

  • Phind-CodeLlama-34B-v1:
  • Phind-CodeLlama-34B-Python-v1:

ต่อไปเรามาดูกันว่าการวิจัยนี้นำไปใช้อย่างไร

** ปรับแต่งโค้ด Llama-34B เพื่อเอาชนะ GPT-4**

มาดูผลลัพธ์กันก่อน การศึกษานี้ได้ปรับแต่ง Code Llama-34B และ Code Llama-34B-Python ด้วยชุดข้อมูลภายในของ Phind และได้รับโมเดลสองรุ่น ได้แก่ Phind-CodeLlama-34B-v1 และ Phind-CodeLlama-34B-Python-v1 ตามลำดับ

โมเดลที่ได้รับใหม่ทั้งสองรุ่นมีอัตราการผ่าน 67.6% และ 69.5% ตามลำดับบน Human

สำหรับการเปรียบเทียบ CodeLlama-34B pass@1 คือ 48.8%; CodeLlama-34B-Python pass@1 คือ 53.7%

และ GPT-4 pass@1 บน Human อยู่ที่ 67% (ข้อมูลที่เผยแพร่โดย OpenAI ใน "รายงานทางเทคนิค GPT-4" ที่เผยแพร่ในเดือนมีนาคมปีนี้)

แหล่งที่มา:

แหล่งที่มา:

เมื่อพูดถึงการปรับแต่งอย่างละเอียด ชุดข้อมูลถือเป็นสิ่งที่จำเป็น และการศึกษานี้ได้ทำการศึกษา Code Llama-34B และ Code Llama-34B-Python ที่ปรับแต่งอย่างละเอียดบนชุดข้อมูลที่เป็นกรรมสิทธิ์ซึ่งมีปัญหาและวิธีแก้ปัญหาการเขียนโปรแกรมคุณภาพสูงประมาณ 80,000 รายการ

แทนที่จะใช้ตัวอย่างการเติมโค้ดให้สมบูรณ์ ชุดข้อมูลนี้ใช้คู่คำสั่ง-คำตอบ ซึ่งแตกต่างจากโครงสร้างข้อมูลมนุษย์ จากนั้น การศึกษาได้ฝึกโมเดล Phind เป็นเวลาสองยุค โดยมีตัวอย่างทั้งหมดประมาณ 160,000 ตัวอย่าง นักวิจัยกล่าวว่าไม่ได้ใช้เทคโนโลยี LoRA ในการฝึกอบรม แต่ใช้การปรับแต่งแบบละเอียดในท้องถิ่น

นอกจากนี้ การวิจัยยังนำเทคโนโลยี DeepSpeed ZeRO 3 และ Flash Attention 2 มาใช้ โดยพวกเขาใช้เวลาสามชั่วโมงกับ GPU A100-80GB จำนวน 32 ตัว เพื่อฝึกฝนโมเดลเหล่านี้ด้วยความยาวลำดับที่ 4,096 โทเค็น

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

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

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

เหมือนคนรู้ข้อสอบก่อนสอบอยู่แล้ว

เพื่อที่จะแก้ไขปัญหานี้ OpenAI ได้เปิดเผยว่า GPT-4 ประเมินมลพิษของข้อมูลอย่างไรในเอกสารทางเทคนิค GPT-4 สาธารณะ "รายงานทางเทคนิค GPT-4" พวกเขาเปิดเผยต่อสาธารณะ

กลยุทธ์ในการหาปริมาณและประเมินมลภาวะของข้อมูลนี้

โดยเฉพาะอย่างยิ่ง OpenAI ใช้การจับคู่สตริงย่อยเพื่อวัดการปนเปื้อนข้ามระหว่างชุดข้อมูลการประเมินและข้อมูลก่อนการฝึกอบรม ข้อมูลการประเมินและการฝึกอบรมได้รับการประมวลผลโดยการลบช่องว่างและสัญลักษณ์ทั้งหมดออก เหลือเพียงอักขระ (รวมถึงตัวเลข)

สำหรับตัวอย่างการประเมินแต่ละรายการ OpenAI จะสุ่มเลือกสตริงย่อยความยาว 50 อักขระสามรายการ (หรือใช้ตัวอย่างทั้งหมดหากมีอักขระน้อยกว่า 50 ตัว) การจับคู่จะถูกกำหนดหากสตริงย่อยการประเมินตัวอย่างใดๆ ในสามรายการเป็นสตริงย่อยของตัวอย่างการฝึกที่ประมวลผล

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

ในส่วนนี้ ผู้อ่านที่สนใจสามารถดูข้อมูลเพิ่มเติมในบทความนี้ได้

ที่อยู่กระดาษ:

อย่างไรก็ตาม มีข้อโต้แย้งบางประการเกี่ยวกับคะแนนมนุษย์ที่ Phind ใช้ในการเปรียบเทียบ GPT-4 บางคนบอกว่าคะแนนทดสอบล่าสุดของ GPT-4 สูงถึง 85% แล้ว แต่ Phind ตอบว่าการวิจัยที่เกี่ยวข้องซึ่งได้คะแนนนี้ไม่ได้ดำเนินการวิจัยมลพิษ และเป็นไปไม่ได้ที่จะระบุได้ว่า GPT-4 เห็นข้อมูลการทดสอบของมนุษย์เมื่อทำการทดสอบรอบใหม่หรือไม่ เมื่อพิจารณาจากงานวิจัยล่าสุดเกี่ยวกับ "GPT-4 กลายเป็นคนโง่" การใช้ข้อมูลในรายงานทางเทคนิคต้นฉบับจะปลอดภัยกว่า

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

ลิงค์อ้างอิง:

ดูต้นฉบับ
  • รางวัล
  • แสดงความคิดเห็น
  • แชร์
แสดงความคิดเห็น
ไม่มีความคิดเห็น