พูดว่าคุณต้องการเรียกใช้โมเดลภาษาขนาดใหญ่เช่น Llama2–70B โมเดลขนาดใหญ่เช่นนี้ต้องการหน่วยความจำมากกว่า 140GB ซึ่งหมายความว่าคุณไม่สามารถเรียกใช้โมเดลเชิงดิบบนเครื่องบ้านของคุณได้ ทางเลือกของคุณคืออะไรบ้าง? คุณอาจกระโดดไปยังผู้ให้บริการคลาวด์ แต่คุณอาจไม่สนใจมากนักที่จะวางใจบริษัทที่มีตัวกลางคนเดียวในการจัดการภาระงานนี้ให้คุณและดูแลข้อมูลการใช้งานของคุณทั้งหมด แล้วสิ่งที่คุณต้องการคือการอ่านข้อมูลโดยการกระจายที่ทำให้คุณสามารถเรียกใช้โมเดล ML โดยไม่ต้องพึ่งพาผู้ให้บริการคนใด
ในเครือข่ายที่ไม่มีการกำหนดจากส่วนกลาง การเพียงแค่เรียกใช้โมเดลและเชื่อมั่นในผลลัพธ์ไม่เพียงพอ ถ้าฉันขอให้เครือข่ายวิเคราะห์ความลึกลับด้านการปกครองโดยใช้ Llama2–70B ฉันจะรู้ได้อย่างไรว่ามันไม่ใช้ Llama2–13B แทน ทำให้ฉันได้การวิเคราะห์ที่แย่ลง และเก็บกดต่างๆ
ในโลกที่มีการกำหนดเหตุการณ์ คุณอาจเชื่อว่าบริษัทเช่น OpenAI กำลังทำสิ่งนี้อย่างซื่อสัตย์เพราะชื่อเสียงของพวกเขาอยู่ในขั้นตอนการตัดสินใจ (และในบางกรณี คุณภาพของ LLM เป็นสิ่งที่ชัดเจนเอง) แต่ในโลกที่ไม่มีการกำหนดเหตุการณ์ ความซื่อสัตย์ไม่ได้ถูกสันทนาการ - มันถูกตรวจสอบ
นี่คือที่ที่การอุปทานที่สามารถตรวจสอบได้มีบทบาทสำคัญ เพิ่มเติมจากการให้คำตอบต่อคำถาม คุณยังต้องพิสูจน์ว่ามันทำงานอย่างถูกต้องบนโมเดลที่คุณขอให้
การเข้าใจอย่างซื่อสุดท้ายคือการใช้โมเดลเป็นสมาร์ทคอนแทร็คต่างหาก บนเชื่อโซ่ สิ่งนี้จะทำให้มั่นใจว่าผลลัพธ์ได้รับการตรวจสอบแน่นอน แต่นี่คือเรื่องที่ไม่เป็นไปได้อย่างมาก GPT-3 แทนคำด้วยมิติการฝังขนาด 12,288 หากคุณทำการคูณเมทริกซ์ขนาดเดียวกันบนเชื่อโซ่ มันจะต้องใช้เงินประมาณ 10 พันล้านเหรียญดอลลาร์ในราคาแก๊สปัจจุบัน - การคำนวณจะเต็มหน้าทุกบล็อกเป็นเวลาประมาณหนึ่งเดือนติดต่อ
ดังนั้น ไม่ เราจะต้องใช้อย่างอื่น
หลังจากสังเกตทิวทัศน์ เป็นชัดเจนต่อฉันว่ามีวิธีการหลัก 3 วิธีการที่เกิดขึ้นเพื่อแก้ปัญหาการสรุปที่สามารถยืนยันได้: การพิสูจน์ที่ไม่รู้, การพิสูจน์การฉ้อโกงที่เชื่อมั่น, และ cryptoeconomics แต่ละวิธีมีลักษณะพิเศษของความปลอดภัยและผลกระทบต่อต้นทุนของตนเอง
Imagine being able to prove you ran a massive model, but the proof is effectively a fixed size regardless of how large the model is. That’s what ZK ML promises, through the magic of ZK-SNARKs.
แม้ว่าดูเสียงงานที่งดงามตามหลักการ การคอมไพล์เน็ตเวิร์กดีพนิวรอลเน็ตเวิร์กเป็นวงจรความรู้ซึ่งจึงสามารถพิสูจน์ได้ เป็นเรื่องยากมาก นอกจากนี้ มันก็มีค่าใช้จ่ายอย่างมหาศาล อย่างน้อยก็ต้องมองหา@ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307">1000x ค่าใช้จ่ายสำหรับการอ่านและค่าล่าช้า 1000 เท่า (เวลาในการสร้างพิสูจน์) โดยไม่มีการคอมไพล์โมเดลเองเป็นวงจรก่อนที่สิ่งเหตุการณ์เหล่านี้จะเกิดขึ้น ในที่สุดค่าใช้จ่ายนี้จะถูกส่งต่อลงผู้ใช้ ดังนั้นสิ่งนี้จะสิ้นสุดลงสำหรับผู้ใช้สุดท้าย
อย่างไรก็ตาม นี่เป็นวิธีเดียวที่ให้ความมั่นใจในด้านการเข้ารหัสลับ ด้วย ZK ผู้ให้บริการโมเดลจะไม่สามารถหลอกหรือโกงได้ ไม่ว่าจะพยายามอย่างไร แต่มันทำให้ค่าใช้จ่ายสูงมาก ทำให้เป็นไปไม่ได้สำหรับโมเดลขนาดใหญ่ในอนาคตที่เห็นได้
ตัวอย่าง: EZKL, Modulus Labs, Giza
การเข้าใจโดยมีความคาดหวังคือการเชื่อมั่น แต่ต้องตรวจสอบ พวกเราสมมติว่าการอนุมัติถูกต้องเว้นแต่จะมีการพิสูจน์อย่างอื่นไป หากโหนดพยายามโกง “ผู้ดูแล” ในเครือข่ายสามารถเรียกร้องถึงผู้โกงและท้าทายด้วยหลักฐานการโกง ผู้ดูแลเหล่านี้ต้องเฝ้าดูโซ่ตลอดเวลาและทำการเรียกใช้ขั้นตอนการอนุมัติอีกครั้งด้วยตนเองเพื่อให้แน่ใจว่าผลลัพธ์ถูกต้อง
พิสูจน์การฉ้อโกงเหล่านี้Truebit-styleเกมที่ตอบสนองที่มีการท้าทายอย่างประจำที่คุณต้องแบ่งออกเป็นครึ่งซ้ำ ๆ ตาของการดำเนินการของโมเดลบนเชนจนกว่าคุณจะพบข้อผิดพลาด
หากสิ่งนี้เคยเกิดขึ้นจริง ๆ แล้ว มันจะมีค่าใช้จ่ายอย่างมหาศาล เนื่องจากโปรแกรมเหล่านี้มีขนาดใหญ่และมีสถานะภายในที่ใหญ่มาก การใช้งานเพียงอย่างเดียวของ GPT-3 ใช้เป็นเงินประมาณ1 เพตะฟลอป (10¹⁵ floating point operations). แต่ทฤษฎีเกมแสดงให้เห็นว่าสิ่งนี้เกิดขึ้นได้แทบจะไม่เกิดขึ้นเลย (การพิสูจน์การทุจริตยังเป็นเรื่องยากที่จะเขียนโค้ดได้อย่างถูกต้องตลอดเวลา เนื่องจากโค้ดเกือบไม่เคยถูกโจมตีในการใช้งานจริง)
ข้อดีคือ ML ที่เชื่อมั่นว่ามีความปลอดภัยถ้ามีผู้ชมที่ซื่อสัตย์อย่างเดียวที่สนใจ ค่าใช้จ่ายถูกกว่า ZK ML แต่จำไว้ว่าผู้ชมแต่ละคนในเครือข่ายกำลังทำการสอบถามแต่ละคำถามใหม่อีกครั้ง ในสมดุลนี้หมายความว่าหากมี 10 ผู้ชมค่าใช้จ่ายในด้านความปลอดภัยนั้นต้องถูกส่งต่อไปยังผู้ใช้ ดังนั้นพวกเขาจะต้องจ่ายเงินมากกว่า 10 เท่าของค่าการสรุปผล (หรืออย่างไรก็ตามจำนวนผู้ชมที่มี)
ข้อเสียของ optimistic rollups ทั่วไปคือคุณต้องรอให้ช่วงเวลาท้าทายผ่านไปก่อนที่คุณจะแน่ใจว่าการตอบกลับได้รับการยืนยัน อย่างไรก็ตาม ขึ้นอยู่กับว่าเครือข่ายนั้นถูกกำหนดพารามิเตอร์อย่างไร คุณอาจต้องรอเพียงไม่กี่นาทีแทนที่จะรอหลายวัน
ตัวอย่าง: Ora, Gensyn(แม้จะยังไม่ได้ระบุโดยละเอียดในปัจจุบัน)
ที่นี่เราทิ้งทุกเทคนิคที่ฟิลล์และทำสิ่งที่ง่ายๆ: การลงคะแนนตามน้ำหนักของการลงคะแนน ผู้ใช้ตัดสินใจว่าจะให้โหนดที่กี่ระบบรันคิวรี่ของพวกเขา พวกเขาเปิดเผยการตอบสนองของพวกเขาและหากมีความขัดแย้งในการตอบสนอง สิ่งที่แปลกประหลาดจะถูกตัดสินใจ สิ่งที่เป็นมาตรฐานของออราเคิล - นั่นคือวิธีการที่มีความเรียบง่ายมากขึ้นที่ทำให้ผู้ใช้ตั้งระดับความปลอดภัยที่ต้องการของพวกเขา ควบคุมต้นทุนและความเชื่อ
ความหน่วงเหนี่ยวที่นี่เร็ว — คุณแค่ต้องcommit-revealจากแต่ละโหนด หากข้อมูลนี้ถูกเขียนลงบนบล็อกเชน จะเกิดขึ้นได้ในสองบล็อกทราบเท่านั้น
ความปลอดภัยอย่างไรก็ตามเป็นอ่อนแอที่สุด ส่วนใหญ่ของโหนดสามารถเลือกที่จะซุกหากพวกเขาฉลาดพอ ในฐานะผู้ใช้ คุณต้องคิดเห็นเกี่ยวกับว่าโหนดเหล่านี้มีสิ่งที่เสี่ยงอยู่มากแค่ไหน และมันจะต้องทำให้พวกเขาโกงได้เป็นเท่าใดความปลอดภัยที่สามารถจะจัดประเภทในกรณีที่เกิดความล้มเหลวด้านความปลอดภัย ระบบสามารถให้บริการประกันอย่างมีประสิทธิภาพ
แต่ส่วนที่ดีของระบบนี้คือผู้ใช้สามารถระบุว่าต้องการความปลอดภัยเท่าไร พวกเขาสามารถเลือกมีโหนด 3 โหนดหรือ 5 โหนดในควอรัมของพวกเขา หรือทุกโหนดในเครือข่าย — หรือหากพวกเขาต้องการ YOLO พวกเขาสามารถเลือก n=1 ได้ ฟังก์ชันต้นทุนที่นี่เรียบง่าย: ผู้ใช้จ่ายเงินสำหรับโหนดที่ต้องการในควอรัมของพวกเขา หากคุณเลือก 3 คุณจ่ายค่าฟังก์ชัน x 3
คำถามที่ยากที่นี่: คุณสามารถทำให้ n=1 ปลอดภัยได้หรือไม่? ในการปฏิบัติที่เสแสร้ง, โหนดคนเดียวควรโกงทุกครั้งถ้าไม่มีใครตรวจสอบ แต่ฉันสงสัยว่าหากคุณเข้ารหัสลับคำค้นหาและดำเนินการชำระเงินผ่านใจความ, คุณอาจสามารถทำให้โหนดเขาของว่าพวกเขากำลังตอบสนองต่องานนี้เท่านั้นจริงๆ ในกรณีนั้นคุณอาจสามารถเรียกเก็บค่าใช้จ่ายของผู้ใช้ทั่วไปน้อยกว่า 2x ค่าอินเฟอเรนซ์
เป็นที่สุดท้ายวิธีการทางเศรษฐศาสตร์ทางสกุลเงินคือวิธีที่ง่ายที่สุด ง่ายที่สุด และอาจเป็นวิธีที่ถูกที่สุด แต่มันไม่น่าสนใจและโดยหลักมากที่สุดไม่ปลอดภัย แต่เหมือนเสมอ ปีศาจอยู่ในรายละเอียด
ตัวอย่าง: พิธี (แม้ว่าในปัจจุบันยังไม่ได้ระบุโดยละเอียด)เครือข่าย Atoma
คุณอาจสงสัยว่าทำไมเรายังไม่มีทั้งหมดนี้อยู่แล้ว? หลังจากทั้งหมด, โมเดลเรียนรู้ของเครื่องแค่เป็นโปรแกรมคอมพิวเตอร์ขนาดใหญ่จริงๆ การพิสูจน์ว่าโปรแกรมถูกดำเนินการอย่างถูกต้องมีมาตรฐานมานานแล้วในด้านโบลกเชน
นี่คือเหตุผลที่วิธีการตรวจสอบสามวิธีนี้สะท้อนถึงวิธีที่บล็อกเชนรักษาพื้นที่บล็อกของตนเอง - ZK rollups ใช้ ZK proofs, optimistic rollups ใช้ fraud proofs, และบล็อกเชน L1 ส่วนใหญ่ใช้ cryptoeconomics ไม่แปลกใจที่เราได้มาถึงที่เดียวกันโดยสุมพันธุ์ ดังนั้นสิ่งที่ทำให้มันยากเมื่อนำไปใช้กับ ML คืออะไร?
ML เป็นเฉพาะเพราะกราฟการคำนวณ ML มักถูกแสดงเป็นกราฟการคำนวณที่หนาแน่นซึ่งออกแบบให้ทำงานอย่างมีประสิทธิภาพบน GPU พวกเขาไม่ได้ถูกออกแบบให้พิสูจน์ ดังนั้นหากคุณต้องการพิสูจน์การคำนวณ ML ในสภาพแวดล้อม ZK หรือ optimistic พวกเขาจะต้องถูกคอมไพล์ใหม่ในรูปแบบที่ทำให้เป็นไปได้นี้ - ซึ่งเป็นเรื่องซับซ้อนและมีค่าใช้จ่ายสูงมาก
ความยากลำบากความถี่ที่สองของ ML คือความไม่แน่นอน การยืนยันโปรแกรมเบื้องต้นนั้นสมมติว่าผลลัพธ์ของโปรแกรมเป็นผลลัพธ์ที่แน่นอน แต่หากคุณรันโมเดลเดียวกันบนสถาปัตยกรรม GPU ที่แตกต่างหรือเวอร์ชัน CUDA ที่แตกต่างกัน คุณจะได้ผลลัพธ์ที่แตกต่างกัน แม้ว่าคุณจะต้องบังคับให้แต่ละโหนดใช้สถาปัตยกรรมเดียวกัน คุณยังคงมีปัญหาเกี่ยวกับความสุ่มที่ใช้ในอัลกอริทึม (เสียงรบกวนในโมเดลการแพร่หลาย หรือการสุ่มโทเค็นใน LLMs) คุณสามารถแก้ไขความสุ่มนั้นได้โดยการควบคุมRNGseed. แต่แม้ว่ามีทั้งหมดนั้น คุณก็ยังเหลือปัญหาที่น่ากลัวสุดท้าย: ความไม่แน่นอนที่สรรเสริญอยู่ในการดำเนินการทศนิยม
เกือบทุกปฏิบัติการใน GPU ถูกดำเนินการบนจำนวนทศนิยม จุดทศนิยมเป็นฉลาดเพราะพวกเขาเป็นไม่ใช่สมาชิก— นั่นคือ มันไม่ใช่จริงว่า (a + b) + c เสมอจะเหมือนกับ a + (b + c) สำหรับจุดพลูโต. เนื่องจาก GPU มีการขนานสูงมาก การเรียงลำดับของการบวกหรือการคูณอาจแตกต่างกันในการดำเนินการแต่ละครั้ง ซึ่งอาจเกิดผลเป็นความแตกต่างเล็กน้อยในผลลัพธ์ สิ่งนี้น่าจะไม่มีผลต่อผลลัพธ์ของ LLM เนื่องจากลักษณะเจาะจงของคำ แต่สำหรับโมเดลภาพ อาจทำให้ค่าพิกเซลแตกต่างเล็กน้อย นำไปสู่ภาพที่ไม่ตรงกันอย่างสมบูรณ์
นี่หมายถึงคุณจะต้องหลีกเลี่ยงการใช้จุดทศนิยม ซึ่งหมายความว่าจะส่งผลให้เสียประสิทธิภาพอย่างมหาศาล หรือคุณจะต้องอนุญาตให้มีความคล่องแคล่วบางในการเปรียบเทียบผลลัพธ์ ไม่ว่าจะเป็นวิธีใดก็ตาม รายละเอียดเป็นเรื่องซับซ้อน และคุณไม่สามารถยกเลิกมันได้ (นี่คือเหตุผลที่ EVMไม่รองรับจำนวนทศนิยม, แม้ว่าบางบล็อกเชนเหมือนNEAR do.)
ในสรุป เครือข่ายการอ้างอิงที่ไม่มีการกระจายนั้นยาก เนื่องจากรายละเอียดทั้งหมดมีความสำคัญความเป็นจริงมีรายละเอียดที่น่าแปลกใจมาก.
ขณะนี้บล็อกเชนและเอ็มแอลมีอะไรจะพูดกันมากมาย หนึ่งเป็นเทคโนโลยีที่สร้างความเชื่อมั่น และอีกอันเป็นเทคโนโลยีที่ต้องการมันอย่างแรง ในขณะที่แต่ละวิธีในการทำศึกษาแบบกระจายมีข้อต่อสู้ของตัวเอง ผมสนใจมากที่จะดูว่าผู้ประกอบการทำอย่างไรด้วยเครื่องมือเหล่านี้เพื่อสร้างเครือข่ายที่ดีที่สุด
แต่ฉันไม่ได้เขียนบทความเพื่อเป็นคำสุดท้าย — ฉันกำลังคิดถึงไอเดียเหล่านี้มากในชีวิตจริงและมีการโต้วาทีอย่างมากกับผู้คน เสมอฉันพบว่าการเขียนเป็นวิธีที่ดีที่สุดในการทดสอบไอเดียของฉัน หากคุณกำลังสร้างสิ่งใดในพื้นที่นี้ ติดต่อฉัน! ฉันจะมีความสุขที่จะเรียนรู้ว่าคุณกำลังทำงานอย่างไร — และหากคุณสามารถพิสูจน์ผมผิด ยิ่งดี
พูดว่าคุณต้องการเรียกใช้โมเดลภาษาขนาดใหญ่เช่น Llama2–70B โมเดลขนาดใหญ่เช่นนี้ต้องการหน่วยความจำมากกว่า 140GB ซึ่งหมายความว่าคุณไม่สามารถเรียกใช้โมเดลเชิงดิบบนเครื่องบ้านของคุณได้ ทางเลือกของคุณคืออะไรบ้าง? คุณอาจกระโดดไปยังผู้ให้บริการคลาวด์ แต่คุณอาจไม่สนใจมากนักที่จะวางใจบริษัทที่มีตัวกลางคนเดียวในการจัดการภาระงานนี้ให้คุณและดูแลข้อมูลการใช้งานของคุณทั้งหมด แล้วสิ่งที่คุณต้องการคือการอ่านข้อมูลโดยการกระจายที่ทำให้คุณสามารถเรียกใช้โมเดล ML โดยไม่ต้องพึ่งพาผู้ให้บริการคนใด
ในเครือข่ายที่ไม่มีการกำหนดจากส่วนกลาง การเพียงแค่เรียกใช้โมเดลและเชื่อมั่นในผลลัพธ์ไม่เพียงพอ ถ้าฉันขอให้เครือข่ายวิเคราะห์ความลึกลับด้านการปกครองโดยใช้ Llama2–70B ฉันจะรู้ได้อย่างไรว่ามันไม่ใช้ Llama2–13B แทน ทำให้ฉันได้การวิเคราะห์ที่แย่ลง และเก็บกดต่างๆ
ในโลกที่มีการกำหนดเหตุการณ์ คุณอาจเชื่อว่าบริษัทเช่น OpenAI กำลังทำสิ่งนี้อย่างซื่อสัตย์เพราะชื่อเสียงของพวกเขาอยู่ในขั้นตอนการตัดสินใจ (และในบางกรณี คุณภาพของ LLM เป็นสิ่งที่ชัดเจนเอง) แต่ในโลกที่ไม่มีการกำหนดเหตุการณ์ ความซื่อสัตย์ไม่ได้ถูกสันทนาการ - มันถูกตรวจสอบ
นี่คือที่ที่การอุปทานที่สามารถตรวจสอบได้มีบทบาทสำคัญ เพิ่มเติมจากการให้คำตอบต่อคำถาม คุณยังต้องพิสูจน์ว่ามันทำงานอย่างถูกต้องบนโมเดลที่คุณขอให้
การเข้าใจอย่างซื่อสุดท้ายคือการใช้โมเดลเป็นสมาร์ทคอนแทร็คต่างหาก บนเชื่อโซ่ สิ่งนี้จะทำให้มั่นใจว่าผลลัพธ์ได้รับการตรวจสอบแน่นอน แต่นี่คือเรื่องที่ไม่เป็นไปได้อย่างมาก GPT-3 แทนคำด้วยมิติการฝังขนาด 12,288 หากคุณทำการคูณเมทริกซ์ขนาดเดียวกันบนเชื่อโซ่ มันจะต้องใช้เงินประมาณ 10 พันล้านเหรียญดอลลาร์ในราคาแก๊สปัจจุบัน - การคำนวณจะเต็มหน้าทุกบล็อกเป็นเวลาประมาณหนึ่งเดือนติดต่อ
ดังนั้น ไม่ เราจะต้องใช้อย่างอื่น
หลังจากสังเกตทิวทัศน์ เป็นชัดเจนต่อฉันว่ามีวิธีการหลัก 3 วิธีการที่เกิดขึ้นเพื่อแก้ปัญหาการสรุปที่สามารถยืนยันได้: การพิสูจน์ที่ไม่รู้, การพิสูจน์การฉ้อโกงที่เชื่อมั่น, และ cryptoeconomics แต่ละวิธีมีลักษณะพิเศษของความปลอดภัยและผลกระทบต่อต้นทุนของตนเอง
Imagine being able to prove you ran a massive model, but the proof is effectively a fixed size regardless of how large the model is. That’s what ZK ML promises, through the magic of ZK-SNARKs.
แม้ว่าดูเสียงงานที่งดงามตามหลักการ การคอมไพล์เน็ตเวิร์กดีพนิวรอลเน็ตเวิร์กเป็นวงจรความรู้ซึ่งจึงสามารถพิสูจน์ได้ เป็นเรื่องยากมาก นอกจากนี้ มันก็มีค่าใช้จ่ายอย่างมหาศาล อย่างน้อยก็ต้องมองหา@ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307">1000x ค่าใช้จ่ายสำหรับการอ่านและค่าล่าช้า 1000 เท่า (เวลาในการสร้างพิสูจน์) โดยไม่มีการคอมไพล์โมเดลเองเป็นวงจรก่อนที่สิ่งเหตุการณ์เหล่านี้จะเกิดขึ้น ในที่สุดค่าใช้จ่ายนี้จะถูกส่งต่อลงผู้ใช้ ดังนั้นสิ่งนี้จะสิ้นสุดลงสำหรับผู้ใช้สุดท้าย
อย่างไรก็ตาม นี่เป็นวิธีเดียวที่ให้ความมั่นใจในด้านการเข้ารหัสลับ ด้วย ZK ผู้ให้บริการโมเดลจะไม่สามารถหลอกหรือโกงได้ ไม่ว่าจะพยายามอย่างไร แต่มันทำให้ค่าใช้จ่ายสูงมาก ทำให้เป็นไปไม่ได้สำหรับโมเดลขนาดใหญ่ในอนาคตที่เห็นได้
ตัวอย่าง: EZKL, Modulus Labs, Giza
การเข้าใจโดยมีความคาดหวังคือการเชื่อมั่น แต่ต้องตรวจสอบ พวกเราสมมติว่าการอนุมัติถูกต้องเว้นแต่จะมีการพิสูจน์อย่างอื่นไป หากโหนดพยายามโกง “ผู้ดูแล” ในเครือข่ายสามารถเรียกร้องถึงผู้โกงและท้าทายด้วยหลักฐานการโกง ผู้ดูแลเหล่านี้ต้องเฝ้าดูโซ่ตลอดเวลาและทำการเรียกใช้ขั้นตอนการอนุมัติอีกครั้งด้วยตนเองเพื่อให้แน่ใจว่าผลลัพธ์ถูกต้อง
พิสูจน์การฉ้อโกงเหล่านี้Truebit-styleเกมที่ตอบสนองที่มีการท้าทายอย่างประจำที่คุณต้องแบ่งออกเป็นครึ่งซ้ำ ๆ ตาของการดำเนินการของโมเดลบนเชนจนกว่าคุณจะพบข้อผิดพลาด
หากสิ่งนี้เคยเกิดขึ้นจริง ๆ แล้ว มันจะมีค่าใช้จ่ายอย่างมหาศาล เนื่องจากโปรแกรมเหล่านี้มีขนาดใหญ่และมีสถานะภายในที่ใหญ่มาก การใช้งานเพียงอย่างเดียวของ GPT-3 ใช้เป็นเงินประมาณ1 เพตะฟลอป (10¹⁵ floating point operations). แต่ทฤษฎีเกมแสดงให้เห็นว่าสิ่งนี้เกิดขึ้นได้แทบจะไม่เกิดขึ้นเลย (การพิสูจน์การทุจริตยังเป็นเรื่องยากที่จะเขียนโค้ดได้อย่างถูกต้องตลอดเวลา เนื่องจากโค้ดเกือบไม่เคยถูกโจมตีในการใช้งานจริง)
ข้อดีคือ ML ที่เชื่อมั่นว่ามีความปลอดภัยถ้ามีผู้ชมที่ซื่อสัตย์อย่างเดียวที่สนใจ ค่าใช้จ่ายถูกกว่า ZK ML แต่จำไว้ว่าผู้ชมแต่ละคนในเครือข่ายกำลังทำการสอบถามแต่ละคำถามใหม่อีกครั้ง ในสมดุลนี้หมายความว่าหากมี 10 ผู้ชมค่าใช้จ่ายในด้านความปลอดภัยนั้นต้องถูกส่งต่อไปยังผู้ใช้ ดังนั้นพวกเขาจะต้องจ่ายเงินมากกว่า 10 เท่าของค่าการสรุปผล (หรืออย่างไรก็ตามจำนวนผู้ชมที่มี)
ข้อเสียของ optimistic rollups ทั่วไปคือคุณต้องรอให้ช่วงเวลาท้าทายผ่านไปก่อนที่คุณจะแน่ใจว่าการตอบกลับได้รับการยืนยัน อย่างไรก็ตาม ขึ้นอยู่กับว่าเครือข่ายนั้นถูกกำหนดพารามิเตอร์อย่างไร คุณอาจต้องรอเพียงไม่กี่นาทีแทนที่จะรอหลายวัน
ตัวอย่าง: Ora, Gensyn(แม้จะยังไม่ได้ระบุโดยละเอียดในปัจจุบัน)
ที่นี่เราทิ้งทุกเทคนิคที่ฟิลล์และทำสิ่งที่ง่ายๆ: การลงคะแนนตามน้ำหนักของการลงคะแนน ผู้ใช้ตัดสินใจว่าจะให้โหนดที่กี่ระบบรันคิวรี่ของพวกเขา พวกเขาเปิดเผยการตอบสนองของพวกเขาและหากมีความขัดแย้งในการตอบสนอง สิ่งที่แปลกประหลาดจะถูกตัดสินใจ สิ่งที่เป็นมาตรฐานของออราเคิล - นั่นคือวิธีการที่มีความเรียบง่ายมากขึ้นที่ทำให้ผู้ใช้ตั้งระดับความปลอดภัยที่ต้องการของพวกเขา ควบคุมต้นทุนและความเชื่อ
ความหน่วงเหนี่ยวที่นี่เร็ว — คุณแค่ต้องcommit-revealจากแต่ละโหนด หากข้อมูลนี้ถูกเขียนลงบนบล็อกเชน จะเกิดขึ้นได้ในสองบล็อกทราบเท่านั้น
ความปลอดภัยอย่างไรก็ตามเป็นอ่อนแอที่สุด ส่วนใหญ่ของโหนดสามารถเลือกที่จะซุกหากพวกเขาฉลาดพอ ในฐานะผู้ใช้ คุณต้องคิดเห็นเกี่ยวกับว่าโหนดเหล่านี้มีสิ่งที่เสี่ยงอยู่มากแค่ไหน และมันจะต้องทำให้พวกเขาโกงได้เป็นเท่าใดความปลอดภัยที่สามารถจะจัดประเภทในกรณีที่เกิดความล้มเหลวด้านความปลอดภัย ระบบสามารถให้บริการประกันอย่างมีประสิทธิภาพ
แต่ส่วนที่ดีของระบบนี้คือผู้ใช้สามารถระบุว่าต้องการความปลอดภัยเท่าไร พวกเขาสามารถเลือกมีโหนด 3 โหนดหรือ 5 โหนดในควอรัมของพวกเขา หรือทุกโหนดในเครือข่าย — หรือหากพวกเขาต้องการ YOLO พวกเขาสามารถเลือก n=1 ได้ ฟังก์ชันต้นทุนที่นี่เรียบง่าย: ผู้ใช้จ่ายเงินสำหรับโหนดที่ต้องการในควอรัมของพวกเขา หากคุณเลือก 3 คุณจ่ายค่าฟังก์ชัน x 3
คำถามที่ยากที่นี่: คุณสามารถทำให้ n=1 ปลอดภัยได้หรือไม่? ในการปฏิบัติที่เสแสร้ง, โหนดคนเดียวควรโกงทุกครั้งถ้าไม่มีใครตรวจสอบ แต่ฉันสงสัยว่าหากคุณเข้ารหัสลับคำค้นหาและดำเนินการชำระเงินผ่านใจความ, คุณอาจสามารถทำให้โหนดเขาของว่าพวกเขากำลังตอบสนองต่องานนี้เท่านั้นจริงๆ ในกรณีนั้นคุณอาจสามารถเรียกเก็บค่าใช้จ่ายของผู้ใช้ทั่วไปน้อยกว่า 2x ค่าอินเฟอเรนซ์
เป็นที่สุดท้ายวิธีการทางเศรษฐศาสตร์ทางสกุลเงินคือวิธีที่ง่ายที่สุด ง่ายที่สุด และอาจเป็นวิธีที่ถูกที่สุด แต่มันไม่น่าสนใจและโดยหลักมากที่สุดไม่ปลอดภัย แต่เหมือนเสมอ ปีศาจอยู่ในรายละเอียด
ตัวอย่าง: พิธี (แม้ว่าในปัจจุบันยังไม่ได้ระบุโดยละเอียด)เครือข่าย Atoma
คุณอาจสงสัยว่าทำไมเรายังไม่มีทั้งหมดนี้อยู่แล้ว? หลังจากทั้งหมด, โมเดลเรียนรู้ของเครื่องแค่เป็นโปรแกรมคอมพิวเตอร์ขนาดใหญ่จริงๆ การพิสูจน์ว่าโปรแกรมถูกดำเนินการอย่างถูกต้องมีมาตรฐานมานานแล้วในด้านโบลกเชน
นี่คือเหตุผลที่วิธีการตรวจสอบสามวิธีนี้สะท้อนถึงวิธีที่บล็อกเชนรักษาพื้นที่บล็อกของตนเอง - ZK rollups ใช้ ZK proofs, optimistic rollups ใช้ fraud proofs, และบล็อกเชน L1 ส่วนใหญ่ใช้ cryptoeconomics ไม่แปลกใจที่เราได้มาถึงที่เดียวกันโดยสุมพันธุ์ ดังนั้นสิ่งที่ทำให้มันยากเมื่อนำไปใช้กับ ML คืออะไร?
ML เป็นเฉพาะเพราะกราฟการคำนวณ ML มักถูกแสดงเป็นกราฟการคำนวณที่หนาแน่นซึ่งออกแบบให้ทำงานอย่างมีประสิทธิภาพบน GPU พวกเขาไม่ได้ถูกออกแบบให้พิสูจน์ ดังนั้นหากคุณต้องการพิสูจน์การคำนวณ ML ในสภาพแวดล้อม ZK หรือ optimistic พวกเขาจะต้องถูกคอมไพล์ใหม่ในรูปแบบที่ทำให้เป็นไปได้นี้ - ซึ่งเป็นเรื่องซับซ้อนและมีค่าใช้จ่ายสูงมาก
ความยากลำบากความถี่ที่สองของ ML คือความไม่แน่นอน การยืนยันโปรแกรมเบื้องต้นนั้นสมมติว่าผลลัพธ์ของโปรแกรมเป็นผลลัพธ์ที่แน่นอน แต่หากคุณรันโมเดลเดียวกันบนสถาปัตยกรรม GPU ที่แตกต่างหรือเวอร์ชัน CUDA ที่แตกต่างกัน คุณจะได้ผลลัพธ์ที่แตกต่างกัน แม้ว่าคุณจะต้องบังคับให้แต่ละโหนดใช้สถาปัตยกรรมเดียวกัน คุณยังคงมีปัญหาเกี่ยวกับความสุ่มที่ใช้ในอัลกอริทึม (เสียงรบกวนในโมเดลการแพร่หลาย หรือการสุ่มโทเค็นใน LLMs) คุณสามารถแก้ไขความสุ่มนั้นได้โดยการควบคุมRNGseed. แต่แม้ว่ามีทั้งหมดนั้น คุณก็ยังเหลือปัญหาที่น่ากลัวสุดท้าย: ความไม่แน่นอนที่สรรเสริญอยู่ในการดำเนินการทศนิยม
เกือบทุกปฏิบัติการใน GPU ถูกดำเนินการบนจำนวนทศนิยม จุดทศนิยมเป็นฉลาดเพราะพวกเขาเป็นไม่ใช่สมาชิก— นั่นคือ มันไม่ใช่จริงว่า (a + b) + c เสมอจะเหมือนกับ a + (b + c) สำหรับจุดพลูโต. เนื่องจาก GPU มีการขนานสูงมาก การเรียงลำดับของการบวกหรือการคูณอาจแตกต่างกันในการดำเนินการแต่ละครั้ง ซึ่งอาจเกิดผลเป็นความแตกต่างเล็กน้อยในผลลัพธ์ สิ่งนี้น่าจะไม่มีผลต่อผลลัพธ์ของ LLM เนื่องจากลักษณะเจาะจงของคำ แต่สำหรับโมเดลภาพ อาจทำให้ค่าพิกเซลแตกต่างเล็กน้อย นำไปสู่ภาพที่ไม่ตรงกันอย่างสมบูรณ์
นี่หมายถึงคุณจะต้องหลีกเลี่ยงการใช้จุดทศนิยม ซึ่งหมายความว่าจะส่งผลให้เสียประสิทธิภาพอย่างมหาศาล หรือคุณจะต้องอนุญาตให้มีความคล่องแคล่วบางในการเปรียบเทียบผลลัพธ์ ไม่ว่าจะเป็นวิธีใดก็ตาม รายละเอียดเป็นเรื่องซับซ้อน และคุณไม่สามารถยกเลิกมันได้ (นี่คือเหตุผลที่ EVMไม่รองรับจำนวนทศนิยม, แม้ว่าบางบล็อกเชนเหมือนNEAR do.)
ในสรุป เครือข่ายการอ้างอิงที่ไม่มีการกระจายนั้นยาก เนื่องจากรายละเอียดทั้งหมดมีความสำคัญความเป็นจริงมีรายละเอียดที่น่าแปลกใจมาก.
ขณะนี้บล็อกเชนและเอ็มแอลมีอะไรจะพูดกันมากมาย หนึ่งเป็นเทคโนโลยีที่สร้างความเชื่อมั่น และอีกอันเป็นเทคโนโลยีที่ต้องการมันอย่างแรง ในขณะที่แต่ละวิธีในการทำศึกษาแบบกระจายมีข้อต่อสู้ของตัวเอง ผมสนใจมากที่จะดูว่าผู้ประกอบการทำอย่างไรด้วยเครื่องมือเหล่านี้เพื่อสร้างเครือข่ายที่ดีที่สุด
แต่ฉันไม่ได้เขียนบทความเพื่อเป็นคำสุดท้าย — ฉันกำลังคิดถึงไอเดียเหล่านี้มากในชีวิตจริงและมีการโต้วาทีอย่างมากกับผู้คน เสมอฉันพบว่าการเขียนเป็นวิธีที่ดีที่สุดในการทดสอบไอเดียของฉัน หากคุณกำลังสร้างสิ่งใดในพื้นที่นี้ ติดต่อฉัน! ฉันจะมีความสุขที่จะเรียนรู้ว่าคุณกำลังทำงานอย่างไร — และหากคุณสามารถพิสูจน์ผมผิด ยิ่งดี