นวัตกรรมหน่วยความจำของ GPT-4o – เข็มในกองเข็ม
(nian.llmonpy.ai)- needle-in-a-needlestack เป็นหน้าเว็บสาธารณะที่รวบรวมบทความการทดลองและโค้ดเกี่ยวกับ GPT-4o, Llama, Jamba, Sonnet และ Gemini ไว้ในที่เดียว
- มี คลังโค้ด ของโปรเจกต์ให้มาด้วย จึงสามารถตรวจสอบข้อมูลการทดลอง Needle in a Needlestack ได้โดยตรง
- บทความของแต่ละโมเดลเปรียบเทียบผลลัพธ์ของ Llama 3.1 8B, Jamba 1.5 และอื่น ๆ โดยเน้นที่ การประมวลผลคอนเท็กซ์ยาว และความแตกต่างด้านความสามารถในการขยาย
- GPT-4o-mini ถูกนำเสนอเป็นกรณีที่มีความสามารถใกล้เคียง GPT-4 Turbo แต่ราคาต่ำกว่าถึง 98.5% ส่วน Sonnet 3.5 ถูกแนะนำว่าเป็นกรณีที่ทำได้ดีกว่า Sonnet 3.0 ใน NIAN
- ตัวหน้าเว็บเองเป็น โอเพนซอร์ส จึงสามารถมีส่วนร่วมแก้ไขเอกสารได้ผ่านลิงก์ “Improve this page” บน GitHub
ลิงก์ที่เกี่ยวข้องกับ Needle in a Needlestack
- Needle in a Needlestack Code: คลังโค้ด Needle in a Needlestack
- GPT-4o’s Memory Breakthrough!: บทความเกี่ยวกับนวัตกรรมหน่วยความจำของ GPT-4o
- GPT4o-mini comparable to GPT-4 Turbo, for 98.5% lower price: บทความที่ระบุว่า GPT-4o-mini มีความสามารถใกล้เคียง GPT-4 Turbo แต่ราคาต่ำกว่า 98.5%
บทความเปรียบเทียบตามโมเดล
- Llama 3.1 8B: Excels in 8K Contexts, Challenged by Expansion: เนื้อหาระบุว่า Llama 3.1 8B แข็งแกร่งในคอนเท็กซ์ 8K แต่มีความยากลำบากในการขยาย
- Jamba 1.5: New model with new architecture crushes Needle-in-a-Needlestack: เนื้อหาระบุว่า Jamba 1.5 ใช้สถาปัตยกรรมใหม่และทำผลงานเหนือกว่า Needle-in-a-Needlestack อย่างมาก
- Sonnet 3.5 Does Much Better at NIAN Than 3.0: เนื้อหาระบุว่า Sonnet 3.5 ทำได้ดีกว่า Sonnet 3.0 มากใน NIAN
- Gemini 1.5 Flash Outperforms Much More Expensive Models: เนื้อหาระบุว่า Gemini 1.5 Flash ทำผลงานเหนือกว่าโมเดลที่แพงกว่ามาก
เอกสารโอเพนซอร์ส
- เว็บไซต์นี้เป็น โอเพนซอร์ส
- สามารถแก้ไขหน้าเว็บบน GitHub ได้ผ่านลิงก์ Improve this page
2 ความคิดเห็น
ความก้าวหน้าทางเทคโนโลยีนี่สุดยอดจริง ๆ.. ฮือ
ความคิดเห็นจาก Hacker News
การทดสอบนี้อิงจาก ชุดข้อมูลลิเมอริก ที่เผยแพร่ในปี 2021: https://zenodo.org/records/5722527
ผมคิดว่ามีความเป็นไปได้สูงมากที่ GPT-4o จะถูกฝึกด้วยข้อมูลนี้ เพราะไม่มีเหตุผลอะไรที่จะจงใจไม่ใส่เข้าไป สงสัยว่าทำไมทีม NIAN ถึงไม่ให้หลาย ๆ โมเดลสร้างลิเมอริก แล้วตรวจสอบว่าผลลัพธ์นั้นไม่มีอยู่ในชุดข้อมูลหรือไม่ แบบนั้นจะช่วยตัดความเป็นไปได้ที่โมเดลถูกฝึกมาด้วยลิเมอริกเหล่านั้นได้
ลองเปรียบเทียบ เอกสารกฎหมายขนาดเล็กสองฉบับ แล้วมัน hallucinate ไปเต็ม ๆ ว่ามีข้อกำหนดอยู่ในฉบับหนึ่งแต่ไม่มีในอีกฉบับหนึ่ง เป็นแบบนั้นในสามช่วงต่างกันของสัญญา
พอเช็กด้วย
ctrl-fก็พบว่ามีอยู่เหมือนกันทั้งสองฝั่ง นี่เป็นแค่ตัวอย่างเดียว แต่ตัวเลข 90% ดูไม่น่าเชื่อเท่าไร ทั้งหมดมีประมาณ 80,000 โทเค็นผมไม่คาดหวังคำตอบที่ถูกต้องอยู่แล้ว เพราะคิดว่านี่เป็นงานที่ยากสำหรับ attention head จำนวนคงที่ แต่ดูเหมือนจะแย่กว่า Claude Opus หรือ GPT-4 มาก
LLM จะทำงานนี้ได้ดีกว่าถ้าแบ่งเอกสารสองฉบับออกเป็นช่วงที่เล็กลง แล้วประมวลผลซ้ำทีละช่วง มันไม่มีความสามารถในการให้เหตุผลหรือความจำที่จะวิเคราะห์ข้อความก้อนใหญ่สองก้อนที่เกินชิ้นส่วนค่อนข้างเล็กได้อย่างมีโครงสร้าง แต่ถ้าค่อย ๆ ไล่ดูเป็นชิ้นเล็ก ๆ ที่แยกจากกันทางความหมายและเกี่ยวข้องกัน มันก็ทำงานได้ค่อนข้างดี
การสมมติว่าพวกมันเป็นเครื่องจักรวิเศษนั้นผิด มันมีข้อจำกัดและความสามารถ และเราควรเข้าใจเหมือนเครื่องมืออื่น ๆ ว่าอะไรทำได้ อะไรทำไม่ได้ และควรรู้ด้วยว่าทำไม สำหรับนักพัฒนา 99.9% นี่ก็ยังเป็นพัฒนาการที่ค่อนข้างใหม่มาก ไม่เข้าใจว่าทำไมความคาดหวังถึงสูงแทบไร้ขีดจำกัดแบบนั้น เทคโนโลยีก่อนหน้านี้มีมาตรฐานที่สมเหตุสมผลกว่าว่า “โอเค มาหาวิธีใช้ให้ถูกต้องกันเถอะ” อาจเป็นเพราะมันพูดเหมือนคนจนดูเหมือนมีความสามารถที่จริง ๆ ไม่มี หรือเพราะมันฟังดูเหมือนมนุษย์มากจนเราไปตำหนิมันที่ไม่ใช่มนุษย์ มีทั้งการอวยเกินจริงและการประเมินต่ำเกินไปเกิดขึ้นพร้อมกัน แม้แต่ XML ก็เคยผ่านวงจรความร้อนแรงคล้าย ๆ กัน จนครั้งหนึ่งดูเหมือนจะยุติความอดอยากของโลกได้
needle-in-a-needlestack คือปัญหาการหาข้อมูลเฉพาะท่ามกลางข้อมูลที่คล้ายกัน ต่างจาก needle-in-a-haystack ที่เป็นการหาในหมู่สิ่งที่แตกต่างกัน เช่น การหาลิเมอริกหนึ่งบทจากลิเมอริกหลายพันบท
การทดสอบ needle-in-a-haystack แสดงความสามารถในการจัดการบริบทยาวจริง ๆ ของโมเดลได้อย่างจำกัดมากเท่านั้น เหตุผลหลักที่มันถูกใช้กันคือโมเดลยุคแรกทำงานนี้ได้แย่มากและทดสอบได้ง่าย
ที่จริง โมเดลสมัยใหม่ส่วนใหญ่ทำงานเดี่ยวนี้ได้ค่อนข้างดี แต่ในทางปฏิบัติ ความสามารถในการทำงานซับซ้อนเกิน 32K โทเค็นลดลงอย่างมาก RULER เป็นการทดสอบที่ดีกว่ามาก: https://github.com/hsiehjackson/RULER
อยากเห็นการทดสอบนี้กับ Gemini Pro 1.5 ด้วย สัปดาห์ก่อนผมลองใส่ Moby Dick ทั้งเล่ม เข้าไป และอีกครั้งหนึ่งลองใส่หนังสือทั้งหมดที่ Byung Chul-Han เขียนไว้ ทั้งสองกรณีมันหาประโยคบางส่วนที่พูดถึงหรือตอบคำถามของผมได้ตรงเป๊ะทุกครั้ง และไม่มี hallucination เลย
ดู BooookScore(https://openreview.net/forum?id=7Ttk3RzDeu) ที่นำเสนอใน ICLR เมื่อสัปดาห์ก่อน และพรีพรินต์ล่าสุด FABLES(https://arxiv.org/abs/2404.01261) ได้
ผมยังเห็นคนเอาไฟล์ล็อกขนาดมหึมามาวิเคราะห์ด้วย แต่ถ้าจะระบุจุดที่โมเดลเริ่มพลาดจริง ๆ ก็ต้องมีอะไรแบบ needle-in-a-needlestack แบบนี้ อย่างน้อยนักพัฒนาโมเดลก็ใช้วิเคราะห์โมเดลที่เสนอได้
น่าจะมีคนสร้างการทดสอบ “การสังเคราะห์ใน haystack” ที่ไม่ได้ทดสอบแค่การค้นหา แต่ทดสอบ ความลึกของความเข้าใจ การเชื่อมโยง และการนามธรรม ระหว่างข้อมูลหลากหลายชนิดด้วย
เมื่อคนอ่านหนังสือ เขาจะเกิด “สัญชาตญาณโดยรวม” ต่อหนังสือเล่มนั้น เราต้องมีวิธีวัดสิ่งนี้เชิงปริมาณ การทดสอบ needle-in-haystack รู้สึกเรียบง่ายเกินไปและไปได้ไม่ไกลพอ
ถ้าเข้าใจบริบทจริง ก็ควรเขียนส่วนใหม่ของเรื่องได้ และใช้แรงจูงใจของตัวละครที่ผู้อ่านสัมผัสได้โดยสัญชาตญาณเพื่อพัฒนาเส้นเรื่องของพวกเขาได้ แต่ถ้าจะให้มีประโยชน์ จำเป็นต้องเก็บทั้งหมดไว้เป็นความลับอย่างเข้มงวด จึงใช้ได้ใกล้เคียงกับ benchmark ส่วนตัวเท่านั้น หรือไม่ก็ทำให้เป็นรางวัลที่มีอำนาจน่าเชื่อถือ ซึ่งถูกประเมินจากความน่าเชื่อถือของข้อสรุปเอง มากกว่าจะเปิดเผยวิธีวิทยาเพื่อช่วยพัฒนาวงการ
GPT-4o ยังจัดการจุดตัดของไอเดียสองอย่างที่ต่างกันและไม่ได้อยู่ในชุดข้อมูลฝึกไม่ได้ แม้แต่การสร้างรูปแบบดัดแปลงแบบสุ่มของจุดตัดระหว่างไอเดียสองอย่างที่ต่างกันก็ยังทำไม่ได้ ยิ่งไปกว่านั้น เราไม่ควรคาดหวังให้โมเดลทำสิ่งแบบนี้ มันไม่ยุติธรรมต่อโมเดล ต่อประโยชน์ใช้งานจริง และต่อสิ่งน่าทึ่งที่มันทำได้แม้ไม่มีความเข้าใจ การเชื่อว่าโมเดลเข้าใจคือการหลอกตัวเอง
ตอนนี้ใช้ GPT แปลงข้อมูลดิบแบบไดนามิกให้เป็น เลย์เอาต์ HTML ที่ดูดี ได้ทันทีแล้ว สำหรับหน้าที่ทราฟฟิกต่ำอย่าง change log หรือ audit log ช่วยลดเวลาพัฒนาได้มาก และยังทำให้ HTML อัปเดตตามโครงสร้างข้อมูลที่เปลี่ยนไปได้
ความพยายามก่อนหน้านี้ใช้ไม่ได้สม่ำเสมอ เพราะ GPT-4-Turbo บางครั้งแทบจะเมินบริบทและคำสั่งไปเกือบทั้งหมด
บทความนี้แสดงให้เห็นว่าความสามารถของ GPT-4o ในการใส่ใจกับอินพุตทั้งหน้าต่างนั้นดีขึ้นกว่า GPT-4 Turbo และ Claude-3 Sonnet มากแค่ไหน
เราต้องการการอัปเกรด needle-in-a-haystack มาสักพักแล้ว และ “Needle In A Needlestack” นี้ก็เป็นก้าวถัดไปที่ดี NIAN สร้างพรอมป์ที่มี limerick หลายพันบท แล้วถามคำถามเกี่ยวกับ limerick ในตำแหน่งหนึ่ง ๆ
เรื่องอื่น ๆ มันโอเคหมด และผมก็ชอบโทนของมัน เลยยิ่งหงุดหงิด เมื่อคืนลองใช้ 4o แล้ว มันยังจำคลาส C++ ที่ผมวางไว้เมื่อ 20 คำถามก่อนหน้าได้อย่างสมบูรณ์ ผมไม่สนว่ามันฉลาดแค่ไหน สนว่ามันมีประโยชน์ไหม และนี่ช่วยเรื่องประโยชน์ใช้งานได้มากจริง ๆ
ผมเริ่มมั่นใจมากขึ้นเรื่อย ๆ ว่าบนอินเทอร์เน็ตสาธารณะดูเหมือนจะไม่มีใครทำ การประเมิน LLM ที่เหมาะสม เป็นเลย
ถ้าการทดสอบนี้จะมีความหมาย ต้องรู้ว่า ข้อมูลชุดทดสอบ ไม่ได้รวมอยู่ในข้อมูลฝึก
ฟังดูดี ปัญหาใหญ่ที่สุดของ GPT-4.0 คือคุณภาพตกลงเมื่อบทสนทนายาวขึ้น และสำคัญเป็นพิเศษใน โปรเจกต์เขียนโค้ด
สงสัยว่าตอนนี้จะดีขึ้นหรือยัง วันนี้ว่าจะลองทดสอบดู