ขั้นตอนต่อไปในข่าวกรองสัญญาอัจฉริยะ: การวิเคราะห์เชิงลึกของแทร็ก ZKML

ForesightNews

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

เขียนโดย: DAOrayaki

การพิสูจน์การอนุมานโมเดลแมชชีนเลิร์นนิง (ML) ผ่าน zkSNARKs สัญญาว่าจะเป็นหนึ่งในความก้าวหน้าที่สำคัญที่สุดในสัญญาอัจฉริยะในทศวรรษนี้ การพัฒนานี้เปิดพื้นที่การออกแบบขนาดใหญ่อย่างน่าตื่นเต้น ช่วยให้แอปพลิเคชันและโครงสร้างพื้นฐานพัฒนาไปสู่ระบบที่ซับซ้อนและชาญฉลาดยิ่งขึ้น

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

ML ถูกใช้อย่างแพร่หลายในแอปพลิเคชันส่วนใหญ่นอก web3 และแอปพลิเคชันในสัญญาอัจฉริยะแทบจะเป็นศูนย์ สาเหตุหลักมาจากต้นทุนการคำนวณที่สูงในการรันโมเดลเหล่านี้บนเครือข่าย ตัวอย่างเช่น FastBERT เป็นโมเดลภาษาที่ปรับให้เหมาะสมทางการคำนวณซึ่งใช้ประมาณ 1800 MFLOPS (การดำเนินการทศนิยมหนึ่งล้านจุด) ซึ่งไม่สามารถรันบน EVM ได้โดยตรง

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

ในบทความนี้ เราจะ:

  • ดูแอปพลิเคชันที่เป็นไปได้และกรณีการใช้งานสำหรับ ML บนเครือข่าย
  • สำรวจโครงการและโครงสร้างพื้นฐานที่เกิดขึ้นใหม่ที่แกนกลางของ zkML
  • หารือเกี่ยวกับความท้าทายบางประการของการใช้งานที่มีอยู่ และอนาคตของ zkML จะเป็นอย่างไร

รู้เบื้องต้นเกี่ยวกับการเรียนรู้ของเครื่อง (ML)

การเรียนรู้ของเครื่อง (ML) เป็นสาขาย่อยของปัญญาประดิษฐ์ (AI) ที่มุ่งเน้นการพัฒนาอัลกอริทึมและแบบจำลองทางสถิติที่ช่วยให้คอมพิวเตอร์สามารถเรียนรู้จากข้อมูลและทำการทำนายหรือตัดสินใจได้ โดยทั่วไป โมเดล ML จะมีองค์ประกอบหลักสามส่วน:

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

การสร้างและการปรับใช้โมเดลแบ่งออกเป็นสองขั้นตอน:

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

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

ยืนยันสถานการณ์การอนุมาน

มีสี่สถานการณ์ที่เป็นไปได้สำหรับการตรวจสอบเหตุผล:

  • อินพุตส่วนตัว, โมเดลสาธารณะ ผู้บริโภคแบบจำลอง (MC) อาจต้องการเก็บข้อมูลของตนเป็นความลับจากผู้ให้บริการแบบจำลอง (MP) ตัวอย่างเช่น MC อาจต้องการรับรองแก่ผู้ให้กู้ในผลลัพธ์ของแบบจำลองการให้คะแนนเครดิตโดยไม่เปิดเผยข้อมูลทางการเงินส่วนบุคคล ซึ่งสามารถทำได้โดยใช้โครงร่างข้อตกลงล่วงหน้าและรันโมเดลในเครื่อง
  • อินพุตสาธารณะ, โมเดลส่วนตัว ปัญหาทั่วไปของ ML-as-a-Service คือ MP อาจต้องการซ่อนพารามิเตอร์หรือน้ำหนักเพื่อปกป้อง IP ในขณะที่ MC ต้องการตรวจสอบว่าการอนุมานที่สร้างขึ้นนั้นมาจากโมเดลที่ระบุในการตั้งค่าของฝ่ายตรงข้ามจริงๆ คิดว่า ด้วยวิธีนี้: เมื่อให้การอนุมานกับ MC เมื่อ , MP มีแรงจูงใจให้ใช้โมเดลที่เบากว่าเพื่อประหยัดเงิน เมื่อใช้คำมั่นสัญญาของน้ำหนักโมเดลแบบออนไลน์ MC สามารถตรวจสอบโมเดลส่วนตัวได้ตลอดเวลา
  • อินพุตส่วนตัว, โมเดลส่วนตัว กรณีนี้เกิดขึ้นเมื่อข้อมูลที่ใช้สำหรับการอนุมานมีความละเอียดอ่อนหรือเป็นความลับสูง และตัวแบบเองก็ถูกซ่อนไว้เพื่อป้องกัน IP ตัวอย่างนี้อาจรวมถึงการตรวจสอบรูปแบบการดูแลสุขภาพโดยใช้ข้อมูลส่วนตัวของผู้ป่วย สามารถใช้เทคนิคการจัดองค์ประกอบใน zk หรือตัวแปรโดยใช้การคำนวณแบบหลายฝ่าย (MPC) หรือ FHE เพื่อใช้ในสถานการณ์นี้ได้
  • การป้อนข้อมูลสาธารณะ แบบจำลองสาธารณะ ในขณะที่ทุกแง่มุมของแบบจำลองสามารถเผยแพร่สู่สาธารณะได้ zkML กล่าวถึงกรณีการใช้งานที่แตกต่างกัน: การบีบอัดและตรวจสอบความถูกต้องของการคำนวณแบบออฟไลน์ไปยังสภาพแวดล้อมแบบออนเชน สำหรับโมเดลขนาดใหญ่ การตรวจสอบ zk ที่รวบรัดของการอนุมานจะคุ้มค่ากว่าการรันโมเดลซ้ำด้วยตัวคุณเอง

การให้เหตุผล ML ที่ตรวจสอบแล้วเปิดพื้นที่การออกแบบใหม่สำหรับสัญญาอัจฉริยะ แอปพลิเคชั่น crypto-native บางตัวรวมถึง:

ดีไฟ

oracles ML ออฟไลน์ที่ตรวจสอบได้ การนำ AI กำเนิดมาใช้อย่างต่อเนื่องอาจผลักดันให้อุตสาหกรรมใช้แผนการลงนามสำหรับเนื้อหาของตน (เช่น บทความหรือรูปภาพที่ลงนามในสิ่งพิมพ์ข่าว) ข้อมูลที่ลงนามพร้อมสำหรับการพิสูจน์ที่ไม่มีความรู้ ทำให้ข้อมูลมีองค์ประกอบและเชื่อถือได้ แบบจำลอง ML สามารถประมวลผลข้อมูลที่เซ็นชื่อนี้แบบออฟไลน์เพื่อคาดการณ์และจัดประเภท (เช่น จัดประเภทผลการเลือกตั้งหรือเหตุการณ์สภาพอากาศ) ออราเคิล ML แบบออฟไลน์เหล่านี้สามารถแก้ปัญหาตลาดการคาดการณ์ในโลกแห่งความเป็นจริง สัญญาโปรโตคอลการประกัน ฯลฯ ได้อย่างไม่ไว้วางใจ โดยตรวจสอบเหตุผลและเผยแพร่หลักฐานออนไลน์

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

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

ความปลอดภัย

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

ML ดั้งเดิม

การใช้งาน Kaggle แบบกระจายอำนาจและไร้ความน่าเชื่อถือ สามารถสร้างโปรโตคอลหรือตลาดที่ช่วยให้ MC หรือผู้มีส่วนได้ส่วนเสียอื่น ๆ สามารถตรวจสอบความถูกต้องของโมเดลโดยไม่ต้องให้ MPs เปิดเผยน้ำหนักของโมเดล สิ่งนี้มีประโยชน์สำหรับการขายโมเดล การจัดการแข่งขันเกี่ยวกับความแม่นยำของโมเดล ฯลฯ

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

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

ตัวตน

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

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

เว็บ 3 โซเชียล

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

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

เศรษฐกิจของผู้สร้าง/เกม

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

เกมออนไลน์ประเภทใหม่ มนุษย์ที่ร่วมมือกันกับเกม AI และเกมออนไลน์อื่น ๆ ที่เป็นนวัตกรรมใหม่สามารถสร้างขึ้นได้ โดยที่โมเดล AI ที่ไม่ไว้วางใจจะทำหน้าที่เป็นตัวละครที่ไม่สามารถเล่นได้ ทุกการกระทำที่ดำเนินการโดย NPC จะถูกโพสต์บนเครือข่ายพร้อมกับหลักฐานที่ทุกคนสามารถยืนยันได้ว่าโมเดลที่ถูกต้องกำลังทำงานอยู่ ใน Leela vs. the World ของ Modulus Labs ผู้ตรวจสอบต้องการให้แน่ใจว่า 1900 ELO AI ที่ระบุไว้เลือกการเคลื่อนไหว ไม่ใช่ Magnus Carlson อีกตัวอย่างหนึ่งคือ AI Arena เกมต่อสู้ AI ที่คล้ายกับ Super Smash Brothers ในสภาพแวดล้อมการแข่งขันที่มีเดิมพันสูง ผู้เล่นต้องการให้แน่ใจว่าโมเดลที่พวกเขาฝึกจะไม่รบกวนหรือโกง

โครงการใหม่และโครงสร้างพื้นฐาน

ระบบนิเวศ zkML สามารถแบ่งกว้างๆ ออกเป็นสี่ประเภทหลัก:

  • Model-to-Proof Compiler: โครงสร้างพื้นฐานสำหรับการคอมไพล์โมเดลในรูปแบบที่มีอยู่ (เช่น Pytorch, ONNX เป็นต้น) ลงในวงจรคำนวณที่ตรวจสอบได้
  • ระบบพิสูจน์ทั่วไป: สร้างระบบพิสูจน์สำหรับตรวจสอบเส้นทางการคำนวณตามอำเภอใจ
  • ระบบพิสูจน์เฉพาะ zkML: ระบบพิสูจน์ที่สร้างขึ้นเป็นพิเศษเพื่อตรวจสอบเส้นทางการคำนวณของโมเดล ML
  • แอปพลิเคชัน: โครงการที่ทำงานเกี่ยวกับกรณีการใช้งาน zkML ที่ไม่ซ้ำใคร

คอมไพเลอร์ตรวจสอบแบบจำลอง

ในระบบนิเวศ zkML ความสนใจส่วนใหญ่อยู่ที่การสร้างคอมไพเลอร์ที่พิสูจน์โมเดล โดยทั่วไปแล้ว คอมไพเลอร์เหล่านี้จะแปลงโมเดล ML ขั้นสูงเป็นวงจร zk โดยใช้ Pytorch, Tensorflow เป็นต้น

EZKL เป็นไลบรารีและเครื่องมือบรรทัดคำสั่งสำหรับการอนุมานของโมเดลการเรียนรู้เชิงลึกใน zk-SNARK เมื่อใช้ EZKL คุณสามารถกำหนดกราฟการคำนวณใน Pytorch หรือ TensorFlow ส่งออกเป็นไฟล์ ONNX พร้อมอินพุตตัวอย่างในไฟล์ JSON จากนั้นชี้ EZKL ที่ไฟล์เหล่านี้เพื่อสร้างวงจร zkSNARK ด้วยการปรับปรุงประสิทธิภาพรอบล่าสุด EZKL สามารถพิสูจน์โมเดลขนาด MNIST ได้ใน ~6 วินาที และ RAM ขนาด 1.1GB จนถึงปัจจุบัน EZKL ได้เห็นการนำไปใช้ในช่วงต้นที่โดดเด่น โดยถูกใช้เป็นโครงสร้างพื้นฐานสำหรับโครงการแฮ็กกาธอนต่างๆ

ไลบรารี circomlib-ml ของ Cathie So มีเทมเพลตวงจร ML ต่างๆ สำหรับ Circom วงจรประกอบด้วยฟังก์ชัน ML ทั่วไปบางส่วน Keras2circom พัฒนาโดย Cathie เป็นเครื่องมือ Python ที่แปลงโมเดล Keras เป็นวงจร Circom โดยใช้ไลบรารี circomlib-ml พื้นฐาน

LinearA ได้พัฒนาสองเฟรมเวิร์กสำหรับ zkML: Tachikoma และ Uchikoma Tachikoma ใช้เพื่อแปลงโครงข่ายประสาทเทียมเป็นรูปแบบจำนวนเต็มเท่านั้น และสร้างวิถีการคำนวณ Uchikoma เป็นเครื่องมือที่แปลงตัวแทนระดับกลางของ TVM เป็นภาษาการเขียนโปรแกรมที่ไม่รองรับการทำงานแบบทศนิยม LinearA วางแผนที่จะสนับสนุน Circom ด้วยเลขคณิตของโดเมนและ Solidity ด้วยเลขคณิตจำนวนเต็มที่มีเครื่องหมายและไม่ได้ลงนาม

zkml ของ Daniel Kang เป็นเฟรมเวิร์กสำหรับการพิสูจน์การดำเนินการของโมเดล ML ที่สร้างขึ้นจากงานของเขาในเอกสาร “Scaling up Trustless DNN Inference with Zero-Knowledge Proofs” ในขณะที่เขียน มันสามารถพิสูจน์วงจร MNIST ในหน่วยความจำประมาณ 5GB และรันไทม์ประมาณ 16 วินาที

ในแง่ของคอมไพเลอร์รุ่นต่อรุ่นที่ใช้ทั่วไปมากขึ้น มี Nil Foundation และ Risc Zero zkLLVM ของ Nil Foundation เป็นคอมไพเลอร์วงจรที่ใช้ LLVM ซึ่งสามารถตรวจสอบแบบจำลองการคำนวณที่เขียนด้วยภาษาโปรแกรมยอดนิยม เช่น C++, Rust และ Java/Type เมื่อเปรียบเทียบกับคอมไพเลอร์รุ่นต่อรุ่นอื่นๆ ที่กล่าวถึงในที่นี้ มันคือโครงสร้างพื้นฐานที่ใช้งานทั่วไป แต่ก็ยังเหมาะสำหรับการคำนวณที่ซับซ้อนเช่น zkML สิ่งนี้สามารถมีประสิทธิภาพเป็นพิเศษเมื่อรวมกับตลาดที่พิสูจน์แล้ว

Risc Zero สร้าง zkVM สำหรับวัตถุประสงค์ทั่วไปที่กำหนดเป้าหมายชุดคำสั่ง RISC-V แบบโอเพ่นซอร์ส ดังนั้นจึงสนับสนุนภาษาสำหรับผู้ใหญ่ที่มีอยู่ เช่น C++ และ Rust รวมถึง toolchain LLVM ซึ่งช่วยให้สามารถผสานรวมระหว่างโฮสต์และโค้ด zkVM ของผู้เยี่ยมชมได้อย่างราบรื่น คล้ายกับ CUDA C++ toolchain ของ Nvidia แต่ใช้เอ็นจิ้น ZKP แทน GPU เช่นเดียวกับ Nil ใช้ Risc Zero เพื่อตรวจสอบเส้นทางการคำนวณของแบบจำลอง ML

ระบบพิสูจน์ทั่วไป

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

ด้วยเหตุนี้ ระบบพิสูจน์ Plonkish จึงมีแนวโน้มที่จะเป็นแบ็กเอนด์ยอดนิยมสำหรับ zkML Halo2 และ Plonky2 และโครงร่างเลขคณิตแบบตารางจัดการกับความไม่เชิงเส้นของโครงข่ายประสาทเทียมได้ดีโดยการค้นหาพารามิเตอร์ นอกจากนี้ ระบบเดิมยังมีระบบนิเวศที่มีชีวิตชีวาของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์และความยืดหยุ่น ทำให้เป็นแบ็กเอนด์โดยพฤตินัยสำหรับหลายโครงการ รวมถึง EZKL

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

ระบบพิสูจน์เฉพาะ zkML

มีความคืบหน้าบางอย่างในการออกแบบระบบพิสูจน์ประสิทธิภาพที่สามารถจัดการกับการทำงานที่ซับซ้อนและไม่เป็นมิตรกับวงจรของโมเดลแมชชีนเลิร์นนิงขั้นสูง ระบบต่างๆ เช่น zkCNN ซึ่งใช้ระบบพิสูจน์ของ GKR และ Zator ซึ่งใช้เทคนิคเชิงผสมมีแนวโน้มที่จะมีประสิทธิภาพดีกว่าระบบพิสูจน์สากล ดังที่สะท้อนให้เห็นในรายงานเกณฑ์มาตรฐานของ Modulus Labs

zkCNN เป็นวิธีการพิสูจน์ความถูกต้องของโครงข่ายประสาทเทียมแบบ Convolutional โดยใช้การพิสูจน์ที่ไม่มีความรู้ มันใช้โปรโตคอล sumcheck เพื่อพิสูจน์การแปลงฟูริเยร์และการบิดเบี้ยวที่รวดเร็วด้วยเวลาพิสูจน์เชิงเส้น เร็วกว่าผลการคำนวณเชิงเส้นกำกับ มีการนำเสนอหลักฐานเชิงโต้ตอบของการปรับปรุงและการทำให้เป็นภาพรวมหลายรายการ รวมถึงการตรวจสอบเลเยอร์ convolutional การตรวจสอบฟังก์ชันการเปิดใช้งาน ReLU และการรวมข้อมูลสูงสุด จากรายงานการเปรียบเทียบของ Modulus Labs ระบุว่า zkCNN มีความน่าสนใจเป็นพิเศษเนื่องจากมีประสิทธิภาพเหนือกว่าระบบพิสูจน์วัตถุประสงค์ทั่วไปอื่นๆ ในแง่ของความเร็วในการสร้างหลักฐานและการใช้ RAM

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

##แอพพลิเคชั่น

เมื่อพิจารณาถึงช่วงแรกๆ ของ zkML การมุ่งเน้นไปที่โครงสร้างพื้นฐานดังกล่าวเป็นส่วนใหญ่ อย่างไรก็ตาม ปัจจุบันมีหลายโครงการที่อุทิศให้กับการพัฒนาแอปพลิเคชัน

Modulus Labs เป็นหนึ่งในโครงการที่มีความหลากหลายมากที่สุดในพื้นที่ zkML ซึ่งทำงานทั้งกับแอปพลิเคชันตัวอย่างและงานวิจัยที่เกี่ยวข้อง ในด้านการใช้งาน Modulus Labs ได้สาธิตกรณีการใช้งานสำหรับ zkML ร่วมกับ RockyBot ซึ่งเป็นบอทการซื้อขายบนเครือข่าย และ Leela vs. the World ซึ่งเป็นเกมกระดานที่มนุษย์เล่นกับกลไกหมากรุก Leela บนเครือข่ายที่ได้รับการพิสูจน์แล้ว ทีมงานยังได้ทำการวิจัยและเขียน The Cost of Intelligence ซึ่งอ้างอิงถึงความเร็วและประสิทธิภาพของระบบพิสูจน์อักษรต่างๆ ในขนาดแบบจำลองต่างๆ

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

Giza เป็นโปรโตคอลที่ใช้แนวทางที่ไม่น่าเชื่อถืออย่างสมบูรณ์ในการปรับใช้โมเดล AI บนเครือข่าย ใช้รูปแบบ ONNX สำหรับการแสดงโมเดลแมชชีนเลิร์นนิง Giza Transpiler สำหรับแปลงโมเดลเหล่านี้เป็นรูปแบบโปรแกรมไคโร ONNX Cairo Runtime สำหรับการดำเนินการโมเดลในลักษณะที่ตรวจสอบได้และกำหนดได้ และสัญญาอัจฉริยะ Giza Model สำหรับการปรับใช้บนเครือข่ายและ กองเทคโนโลยีสำหรับการดำเนินการแบบจำลอง แม้ว่า Giza ยังสามารถจัดประเภทเป็นคอมไพเลอร์ที่พิสูจน์โมเดลได้ แต่การวางตำแหน่งในตลาดสำหรับโมเดล ML เป็นหนึ่งในแอพพลิเคชั่นที่น่าสนใจที่สุดในขณะนี้

Gensyn เป็นเครือข่ายแบบกระจายของผู้ให้บริการฮาร์ดแวร์สำหรับการฝึกอบรมโมเดล ML โดยเฉพาะอย่างยิ่ง พวกเขากำลังพัฒนาระบบตรวจสอบความน่าจะเป็นตามการไล่ระดับสีและใช้การตรวจสอบโมเดลเพื่อให้เครือข่าย GPU แบบกระจายให้บริการการฝึกอบรมสำหรับโมเดลเต็มรูปแบบ แม้ว่าแอปพลิเคชัน zkML ของพวกเขาที่นี่จะมีความเฉพาะเจาะจงมากสำหรับกรณีการใช้งานของพวกเขา แต่พวกเขาต้องการให้แน่ใจว่าเมื่อโหนดดาวน์โหลดและฝึกส่วนหนึ่งของโมเดล พวกเขาจะซื่อสัตย์เกี่ยวกับการอัปเดตโมเดล ซึ่งแสดงให้เห็นถึงพลังของการรวมความแข็งแกร่งของ zk และ ML

ZKaptcha มุ่งเน้นไปที่ปัญหาบอทใน web3 และให้บริการรหัสยืนยันสำหรับสัญญาอัจฉริยะ การใช้งานปัจจุบันของพวกเขาทำให้ผู้ใช้สร้างหลักฐานการทำงานของมนุษย์โดยการกรอก captchas ซึ่งได้รับการตรวจสอบโดยตัวตรวจสอบแบบออนไลน์และเข้าถึงได้ด้วยสัญญาอัจฉริยะด้วยโค้ดไม่กี่บรรทัด ทุกวันนี้ พวกเขาพึ่งพา zk เป็นหลัก แต่พวกเขาตั้งใจที่จะนำ zkML ไปใช้ในอนาคต คล้ายกับบริการ web2 captcha ที่มีอยู่ โดยวิเคราะห์พฤติกรรม เช่น การเคลื่อนไหวของเมาส์ เพื่อระบุว่าผู้ใช้เป็นมนุษย์หรือไม่

ในช่วงแรกๆ ของตลาด zkML แอปพลิเคชันจำนวนมากได้รับการทดสอบในระดับแฮ็กกาธอนแล้ว โครงการต่างๆ ได้แก่ AI Coliseum การแข่งขัน AI บนเครือข่ายที่ใช้การพิสูจน์ ZK เพื่อตรวจสอบผลลัพธ์ของแมชชีนเลิร์นนิง Hunter z Hunter เกมล่าสัตว์กินซากภาพถ่ายที่ใช้ไลบรารี EZKL เพื่อตรวจสอบผลลัพธ์ของแบบจำลองการจัดประเภทภาพด้วยวงจร halo2 และ zk ส่วนที่ 9 ซึ่งเปลี่ยนโมเดลการสร้างภาพ AI เป็นวงจรสำหรับการหล่อและตรวจสอบความถูกต้องของศิลปะ AI

ความท้าทาย zkML

แม้จะมีความก้าวหน้าอย่างรวดเร็วในการปรับปรุงและเพิ่มประสิทธิภาพ แต่สาขาของ zkML ยังคงเผชิญกับความท้าทายหลักบางประการ ความท้าทายเหล่านี้เกี่ยวข้องกับด้านเทคนิคและการปฏิบัติ รวมถึง:

  • Quantization โดยสูญเสียความแม่นยำน้อยที่สุด
  • ขนาดวงจร โดยเฉพาะอย่างยิ่งเมื่อเครือข่ายประกอบด้วยหลายเลเยอร์
  • หลักฐานการคูณเมทริกซ์ที่มีประสิทธิภาพ
  • ต่อต้านการโจมตี

Quantization คือกระบวนการแทนเลขทศนิยมเป็นเลขทศนิยม โมเดลการเรียนรู้ของเครื่องส่วนใหญ่ใช้เลขทศนิยมเพื่อแสดงพารามิเตอร์โมเดลและฟังก์ชันการเปิดใช้งาน เมื่อจัดการกับเลขคณิตของโดเมนสำหรับวงจร zk จำเป็นต้องใช้เลขทศนิยม ผลกระทบของการวัดปริมาณต่อความแม่นยำของโมเดลแมชชีนเลิร์นนิงขึ้นอยู่กับระดับความแม่นยำที่ใช้ โดยทั่วไป การใช้ความแม่นยำที่ต่ำกว่า (เช่น บิตที่น้อยลง) อาจส่งผลให้มีความแม่นยำน้อยลง เนื่องจากอาจทำให้เกิดข้อผิดพลาดในการปัดเศษและการประมาณ อย่างไรก็ตาม มีหลายเทคนิคที่สามารถใช้เพื่อลดผลกระทบของการวัดปริมาณต่อความแม่นยำ เช่น การปรับโมเดลอย่างละเอียดหลังการวัดปริมาณ และการใช้เทคนิคต่างๆ เช่น การฝึกอบรมเพื่อทราบปริมาณ นอกจากนี้ Zero Gravity ซึ่งเป็นโครงการแฮ็กกาธอนที่ zkSummit 9 แสดงให้เห็นว่าสถาปัตยกรรมโครงข่ายประสาททางเลือกที่พัฒนาขึ้นสำหรับอุปกรณ์เอดจ์ เช่น โครงข่ายประสาทเทียมไร้น้ำหนัก สามารถใช้เพื่อหลีกเลี่ยงปัญหาเชิงปริมาณในวงจรได้

นอกจากการวัดปริมาณแล้ว ฮาร์ดแวร์ยังเป็นความท้าทายที่สำคัญอีกประการหนึ่ง เมื่อโมเดลแมชชีนเลิร์นนิงแสดงอย่างถูกต้องด้วยวงจร การพิสูจน์เพื่อยืนยันเหตุผลของมันจะมีราคาถูกและรวดเร็วเนื่องจากความเรียบง่ายของ zk ความท้าทายไม่ได้อยู่ที่ผู้ตรวจสอบ แต่กับผู้พิสูจน์ เนื่องจากการใช้ RAM และเวลาในการสร้างการพิสูจน์เพิ่มขึ้นอย่างรวดเร็วเมื่อขนาดของแบบจำลองเติบโตขึ้น ระบบการพิสูจน์บางอย่าง (เช่น ระบบที่ใช้ GKR โดยใช้โปรโตคอล sumcheck และวงจรเลขคณิตแบบลำดับชั้น) หรือเทคนิคแบบผสมผสาน (เช่น การรวม Plonky2 กับ Groth16 ทำให้ Plonky2 มีประสิทธิภาพในแง่ของเวลาในการพิสูจน์ แต่ด้อยในแง่ของขนาดการพิสูจน์ที่มีประสิทธิภาพสำหรับโมเดลขนาดใหญ่ ในขณะที่ Groth16 (ซึ่งไม่ได้นำไปสู่การเพิ่มขนาดที่พิสูจน์ได้ในความซับซ้อนของโมเดลที่ซับซ้อน) นั้นเหมาะสมกว่าในการจัดการกับปัญหาเหล่านี้ การจัดการการแลกเปลี่ยนเป็นความท้าทายหลักในโครงการ zkML

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

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

การขยายสัญญาอัจฉริยะ

แม้ว่าจะมีความท้าทายบางประการในการปรับโมเดลเหล่านี้ให้เหมาะสมเพื่อให้ทำงานภายในข้อจำกัดของ zk ได้ แต่การปรับปรุงกำลังดำเนินการในอัตราที่ทวีคูณ และบางคนคาดหวังว่าด้วยการเร่งความเร็วฮาร์ดแวร์เพิ่มเติม เราจะสามารถทำงานกับสาขาการเรียนรู้ของเครื่องที่กว้างขึ้นได้ในเร็วๆ นี้ ระดับเดียวกัน เพื่อเน้นย้ำถึงความเร็วของการปรับปรุงเหล่านี้ zkML เปลี่ยนจากการสาธิตของ 0xPARC เกี่ยวกับวิธีดำเนินการแบบจำลองการจัดประเภทภาพ MNIST สเกลเล็กในวงจรที่ตรวจสอบได้ในปี 2021 มาเป็น Daniel Kang ที่ทำแบบเดียวกันสำหรับโมเดลสเกล ImageNet ในเวลาน้อยกว่าหนึ่งปีให้หลัง . ในเดือนเมษายน 2022 ความแม่นยำของโมเดล ImageNet-scale นี้ดีขึ้นจาก 79% เป็น 92% และโมเดลขนาดใหญ่อย่าง GPT-2 คาดว่าจะเป็นไปได้ในอนาคตอันใกล้ แม้ว่าเวลาพิสูจน์ปัจจุบันจะนานขึ้นก็ตาม

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

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

ดูต้นฉบับ
news.article.disclaimer
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น