Chứng minh suy luận mô hình học máy (ML) thông qua zkSNARK hứa hẹn sẽ là một trong những tiến bộ quan trọng nhất trong hợp đồng thông minh trong thập kỷ này. Sự phát triển này mở ra một không gian thiết kế rộng lớn thú vị, cho phép các ứng dụng và cơ sở hạ tầng phát triển thành các hệ thống thông minh và phức tạp hơn.
Bằng cách thêm các khả năng ML, các hợp đồng thông minh có thể trở nên tự chủ và năng động hơn, cho phép chúng đưa ra quyết định dựa trên dữ liệu trên chuỗi thời gian thực thay vì các quy tắc tĩnh. Hợp đồng thông minh sẽ linh hoạt và có thể đáp ứng nhiều tình huống khác nhau, bao gồm cả những tình huống có thể không lường trước được khi hợp đồng được tạo ban đầu. Nói tóm lại, các khả năng ML sẽ khuếch đại tính tự động hóa, độ chính xác, hiệu quả và tính linh hoạt của bất kỳ hợp đồng thông minh nào mà chúng tôi đưa vào chuỗi.
ML được sử dụng rộng rãi trong hầu hết các ứng dụng ngoài web3 và ứng dụng của nó trong các hợp đồng thông minh gần như bằng không. Điều này chủ yếu là do chi phí tính toán cao khi chạy các mô hình này trên chuỗi. Ví dụ: FastBERT là một mô hình ngôn ngữ được tối ưu hóa về mặt điện toán sử dụng khoảng 1800 MFLOPS (triệu phép tính dấu chấm động), không thể chạy trực tiếp trên EVM.
Việc áp dụng mô hình ML trên chuỗi chủ yếu tập trung vào giai đoạn suy luận: áp dụng mô hình để dự đoán dữ liệu trong thế giới thực. Để có các hợp đồng thông minh ở quy mô ML, các hợp đồng phải có khả năng nhập các dự đoán như vậy, nhưng như chúng tôi đã đề cập trước đây, việc chạy các mô hình trực tiếp trên EVM là không khả thi. zkSNARKs cung cấp cho chúng tôi một giải pháp: bất kỳ ai cũng có thể chạy một mô hình ngoài chuỗi và tạo ra một bằng chứng ngắn gọn và có thể kiểm chứng rằng mô hình dự kiến đã tạo ra một kết quả cụ thể. Bằng chứng này có thể được xuất bản trên chuỗi và được các hợp đồng thông minh tiếp nhận để nâng cao trí thông minh của chúng.
Trong bài viết này, chúng tôi sẽ:
Xem các ứng dụng tiềm năng và các trường hợp sử dụng cho ML trên chuỗi
Khám phá các dự án và cơ sở hạ tầng mới nổi ở cốt lõi của zkML
Thảo luận về một số thách thức của việc triển khai hiện tại và tương lai của zkML sẽ như thế nào
Giới thiệu về Học máy (ML)
Học máy (ML) là một lĩnh vực con của trí tuệ nhân tạo (AI) tập trung vào việc phát triển các thuật toán và mô hình thống kê cho phép máy tính học hỏi từ dữ liệu và đưa ra dự đoán hoặc quyết định. Các mô hình ML thường có ba thành phần chính:
Dữ liệu huấn luyện: Tập hợp dữ liệu đầu vào được sử dụng để huấn luyện thuật toán học máy nhằm đưa ra dự đoán hoặc phân loại dữ liệu mới. Dữ liệu đào tạo có thể ở nhiều dạng như hình ảnh, văn bản, âm thanh, dữ liệu số hoặc kết hợp của chúng.
Kiến trúc mô hình: Cấu trúc hoặc thiết kế tổng thể của một mô hình học máy. Nó xác định hệ thống phân cấp, chức năng kích hoạt, loại và số lượng kết nối giữa các nút hoặc nơ-ron. Việc lựa chọn kiến trúc phụ thuộc vào bài toán cụ thể và dữ liệu được sử dụng.
Tham số mô hình: Các giá trị hoặc trọng số mà mô hình học được trong quá trình huấn luyện để đưa ra dự đoán. Các giá trị này được điều chỉnh lặp đi lặp lại bằng thuật toán tối ưu hóa để giảm thiểu sai số giữa kết quả dự đoán và kết quả thực tế.
Việc tạo và triển khai mô hình được chia thành hai giai đoạn:
Giai đoạn đào tạo: Trong giai đoạn đào tạo, mô hình được tiếp xúc với tập dữ liệu được dán nhãn và điều chỉnh các tham số của nó để giảm thiểu sai số giữa kết quả dự đoán và kết quả thực tế. Quá trình đào tạo thường bao gồm nhiều lần lặp lại hoặc chu kỳ và độ chính xác của mô hình được đánh giá trên một bộ xác thực riêng biệt.
Giai đoạn suy luận: Giai đoạn suy luận là giai đoạn mà mô hình học máy đã được đào tạo được sử dụng để đưa ra dự đoán về dữ liệu mới chưa nhìn thấy. Một mô hình lấy dữ liệu đầu vào và áp dụng các tham số đã học để tạo đầu ra, chẳng hạn như phân loại hoặc dự đoán hồi quy.
Hiện tại, zkML chủ yếu tập trung vào giai đoạn suy luận của các mô hình máy học, thay vì giai đoạn đào tạo, chủ yếu là do độ phức tạp tính toán của đào tạo trong các mạch xác minh. Tuy nhiên, việc zkML tập trung vào suy luận không phải là một hạn chế: chúng tôi dự đoán một số trường hợp sử dụng và ứng dụng rất thú vị.
Các kịch bản suy luận đã được xác minh
Có bốn tình huống có thể xảy ra để xác thực lý luận:
Đầu vào riêng, mô hình công khai. Người tiêu dùng Mô hình (MC) có thể muốn giữ bí mật thông tin đầu vào của họ với Nhà cung cấp Mô hình (MP). Ví dụ: một MC có thể muốn xác nhận với người cho vay kết quả của mô hình chấm điểm tín dụng mà không tiết lộ thông tin tài chính cá nhân của họ. Điều này có thể được thực hiện bằng cách sử dụng sơ đồ cam kết trước và chạy mô hình cục bộ.
Đầu vào công cộng, mô hình tư nhân. Một vấn đề phổ biến với ML-as-a-Service là MP có thể muốn ẩn các tham số hoặc trọng số của nó để bảo vệ IP của nó, trong khi MC muốn xác minh rằng các suy luận được tạo thực sự là từ mô hình đã chỉ định trong cài đặt đối nghịch. theo cách này: khi cung cấp suy luận cho MC When , MP có động cơ chạy một mô hình nhẹ hơn để tiết kiệm tiền. Sử dụng lời hứa về trọng lượng mô hình trên chuỗi, MC có thể kiểm tra các mô hình riêng tư bất kỳ lúc nào.
Đầu vào riêng, mô hình riêng. Điều này xảy ra khi dữ liệu được sử dụng để suy luận rất nhạy cảm hoặc bí mật và bản thân mô hình được ẩn để bảo vệ IP. Một ví dụ về điều này có thể bao gồm việc kiểm tra các mô hình chăm sóc sức khỏe bằng cách sử dụng thông tin cá nhân của bệnh nhân. Các kỹ thuật tổng hợp trong zk hoặc các biến thể sử dụng tính toán nhiều bên (MPC) hoặc FHE có thể được sử dụng để phục vụ tình huống này.
Đầu vào công khai, mô hình công khai. Mặc dù tất cả các khía cạnh của mô hình đều có thể được công khai, nhưng zkML giải quyết một trường hợp sử dụng khác: nén và xác thực các tính toán ngoài chuỗi cho môi trường trên chuỗi. Đối với các mô hình lớn hơn, việc xác minh zk ngắn gọn của suy luận sẽ tiết kiệm chi phí hơn là tự chạy lại mô hình.
Lý luận ML đã được xác minh mở ra không gian thiết kế mới cho các hợp đồng thông minh. Một số ứng dụng gốc tiền điện tử bao gồm:
1、DeFi
Các oracle ML off-chain có thể kiểm chứng. Việc tiếp tục áp dụng AI tổng quát có thể thúc đẩy ngành triển khai các kế hoạch ký tên cho nội dung của nó (ví dụ: các ấn phẩm tin tức ký tên vào các bài báo hoặc hình ảnh). Dữ liệu đã ký sẵn sàng cho các bằng chứng không có kiến thức, làm cho dữ liệu có thể tổng hợp được và đáng tin cậy. Các mô hình ML có thể xử lý dữ liệu đã ký này ngoại tuyến để đưa ra dự đoán và phân loại (ví dụ: phân loại kết quả bầu cử hoặc sự kiện thời tiết). Các nhà tiên tri ML ngoài chuỗi này có thể giải quyết các thị trường dự đoán trong thế giới thực, hợp đồng giao thức bảo hiểm, v.v. một cách đáng tin cậy bằng cách xác minh lập luận và xuất bản bằng chứng trên chuỗi.
Các ứng dụng DeFi dựa trên thông số ML. Nhiều khía cạnh của DeFi có thể được tự động hóa nhiều hơn. Ví dụ: các giao thức cho vay có thể sử dụng các mô hình ML để cập nhật các tham số theo thời gian thực. Hiện tại, các giao thức cho vay chủ yếu dựa vào các mô hình ngoài chuỗi do các tổ chức điều hành để xác định các yếu tố tài sản thế chấp, tỷ lệ cho vay trên giá trị, ngưỡng thanh lý, v.v., nhưng một lựa chọn tốt hơn có thể là mô hình nguồn mở do cộng đồng đào tạo mà bất kỳ ai cũng có thể chạy và xác minh.
Chiến lược giao dịch tự động. Một cách phổ biến để chứng minh các đặc điểm hoàn trả của chiến lược mô hình tài chính là các nghị sĩ cung cấp cho các nhà đầu tư nhiều dữ liệu kiểm tra lại. Tuy nhiên, không có cách nào để xác minh rằng chiến lược gia đang tuân theo mô hình khi thực hiện giao dịch - nhà đầu tư phải tin tưởng rằng chiến lược gia thực sự đang tuân theo mô hình. zkML cung cấp giải pháp trong đó MP có thể cung cấp bằng chứng về lý luận mô hình tài chính khi được triển khai cho các vị trí cụ thể. Điều này có thể đặc biệt hữu ích cho các vault do DeFi quản lý.
2. Bảo mật
Giám sát gian lận cho các hợp đồng thông minh. Thay vì để con người quản lý chậm chạp hoặc các tác nhân tập trung kiểm soát khả năng tạm dừng hợp đồng, các mô hình ML có thể được sử dụng để phát hiện hành vi nguy hiểm có thể xảy ra và tạm dừng hợp đồng.
3. ML truyền thống
Một triển khai Kaggle phi tập trung, không tin cậy. Một giao thức hoặc thị trường có thể được tạo ra cho phép MC hoặc các bên quan tâm khác xác minh tính chính xác của các mô hình mà không yêu cầu các MP tiết lộ trọng số của mô hình. Điều này hữu ích cho việc bán mô hình, tổ chức các cuộc thi về độ chính xác của mô hình, v.v.
Một thị trường nhanh chóng phi tập trung cho AI sáng tạo. Tác giả nhanh chóng cho AI tổng quát đã phát triển thành một nghề thủ công phức tạp và các lời nhắc tạo đầu ra tối ưu thường có nhiều công cụ sửa đổi. Các bên bên ngoài có thể sẵn sàng mua những gợi ý phức tạp này từ người sáng tạo. zkML có thể được sử dụng theo hai cách ở đây: 1) để xác thực đầu ra của gợi ý, để đảm bảo với những người mua tiềm năng rằng gợi ý thực sự tạo ra hình ảnh mong muốn;
Cho phép chủ sở hữu tiền boa duy trì quyền sở hữu tiền boa sau khi mua, trong khi vẫn không được người mua biết đến, nhưng vẫn tạo ra các hình ảnh đã được xác minh cho nó.
4. Danh tính
Thay thế khóa riêng bằng xác thực sinh trắc học bảo vệ quyền riêng tư. Quản lý khóa riêng vẫn là một trong những rào cản lớn nhất trong trải nghiệm người dùng web3. Trừu tượng hóa các khóa riêng thông qua nhận dạng khuôn mặt hoặc các yếu tố độc đáo khác là một giải pháp khả thi cho zkML.
Airdrop công bằng và phần thưởng cho người đóng góp. Các mô hình ML có thể được sử dụng để tạo chân dung người dùng chi tiết nhằm xác định phân bổ airdrop hoặc phần thưởng đóng góp dựa trên nhiều yếu tố. Điều này có thể đặc biệt hữu ích khi kết hợp với các giải pháp nhận dạng. Trong trường hợp này, một khả năng là để người dùng chạy mô hình nguồn mở đánh giá mức độ tương tác của họ trong ứng dụng cũng như mức độ tương tác ở cấp cao hơn, chẳng hạn như các bài đăng trên diễn đàn quản trị, để suy luận về nhiệm vụ của họ. Bằng chứng này sau đó được cung cấp cho hợp đồng để phân bổ mã thông báo tương ứng.
5. Mạng xã hội Web3
Lọc cho phương tiện truyền thông xã hội web3. Bản chất phi tập trung của các ứng dụng xã hội web3 sẽ dẫn đến sự gia tăng thư rác và nội dung độc hại. Lý tưởng nhất là một nền tảng truyền thông xã hội có thể sử dụng mô hình ML mã nguồn mở được cộng đồng đồng thuận và công bố bằng chứng về lập luận của mô hình khi nó chọn lọc các bài đăng. Trường hợp điển hình: phân tích zkML trên thuật toán Twitter.
Quảng cáo/Đề xuất. Là người dùng mạng xã hội, tôi có thể sẵn sàng xem quảng cáo được cá nhân hóa, nhưng muốn giữ riêng tư các tùy chọn và mối quan tâm của mình với các nhà quảng cáo. Tôi có thể chọn chạy một mô hình cục bộ về sở thích của mình, đưa mô hình đó vào ứng dụng phương tiện để cung cấp nội dung cho tôi. Trong trường hợp này, các nhà quảng cáo có thể sẵn sàng trả tiền cho người dùng cuối để thực hiện điều này, tuy nhiên, các mô hình này có thể kém phức tạp hơn nhiều so với các mô hình quảng cáo được nhắm mục tiêu hiện đang được sản xuất.
6. Nền kinh tế/Trò chơi của người sáng tạo
Tái cân bằng nền kinh tế trong trò chơi. Các ngưỡng phát hành, cung cấp, đốt, bỏ phiếu, v.v. có thể được điều chỉnh động bằng các mô hình ML. Một mô hình khả thi là một hợp đồng khuyến khích tái cân bằng nền kinh tế trong trò chơi nếu đạt đến ngưỡng tái cân bằng nhất định và bằng chứng lập luận được xác minh.
Các loại trò chơi trực tuyến mới. Con người hợp tác so với trò chơi AI và các trò chơi trực tuyến sáng tạo khác có thể được tạo ra trong đó mô hình AI không đáng tin cậy hoạt động như một nhân vật không thể chơi được. Mọi hành động do NPC thực hiện đều được đăng trên chuỗi cùng với bằng chứng mà bất kỳ ai cũng có thể xác minh rằng mô hình chính xác đang được chạy. Trong Leela vs. the World của Modulus Labs, người xác minh muốn đảm bảo rằng 1900 ELO AI đã nêu chọn nước đi chứ không phải Magnus Carlson. Một ví dụ khác là AI Arena, một trò chơi chiến đấu AI tương tự như Super Smash Brothers. Trong một môi trường cạnh tranh có tính đặt cược cao, người chơi muốn đảm bảo rằng những người mẫu mà họ đào tạo không can thiệp hoặc gian lận.
Các dự án và cơ sở hạ tầng mới nổi
Hệ sinh thái zkML có thể được chia thành bốn loại chính:
Trình biên dịch Model-to-Proof: Cơ sở hạ tầng để biên dịch các mô hình ở các định dạng hiện có (ví dụ: Pytorch, ONNX, v.v.) thành các mạch tính toán có thể kiểm chứng.
Hệ thống chứng minh tổng quát: Xây dựng một hệ thống chứng minh để xác minh các quỹ đạo tính toán tùy ý.
hệ thống bằng chứng dành riêng cho zkML: một hệ thống bằng chứng được xây dựng đặc biệt để xác minh quỹ đạo tính toán của các mô hình ML.
Ứng dụng: Các dự án hoạt động trên các trường hợp sử dụng zkML duy nhất.
01 Trình biên dịch Model-to-Proof
Trong hệ sinh thái zkML, hầu hết sự chú ý đều tập trung vào việc tạo các trình biên dịch mô hình để chứng minh. Thông thường, các trình biên dịch này sẽ chuyển đổi các mô hình ML nâng cao thành các mạch zk bằng Pytorch, Tensorflow, v.v.
EZKL là một thư viện và công cụ dòng lệnh để suy luận các mô hình học sâu trong zk-SNARK. Sử dụng EZKL, bạn có thể xác định biểu đồ tính toán trong Pytorch hoặc TensorFlow, xuất nó dưới dạng tệp ONNX với một số ví dụ đầu vào trong tệp JSON, sau đó trỏ EZKL vào các tệp này để tạo mạch zkSNARK. Với vòng cải tiến hiệu suất mới nhất, EZKL hiện có thể chứng minh một mô hình có kích thước MNIST trong ~6 giây và 1,1 GB RAM. Cho đến nay, EZKL đã chứng kiến một số ứng dụng ban đầu đáng chú ý, được sử dụng làm cơ sở hạ tầng cho các dự án hackathon khác nhau.
Thư viện circomlib-ml của Cathie So chứa nhiều mẫu mạch ML khác nhau cho Circom. Mạch bao gồm một số chức năng ML phổ biến nhất. Keras 2c ircom, được phát triển bởi Cathie, là một công cụ Python giúp chuyển đổi các mô hình Keras thành các mạch Circcom bằng thư viện circomlib-ml bên dưới.
LinearA đã phát triển hai khung cho zkML: Tachikoma và Uchikoma. Tachikoma được sử dụng để chuyển đổi mạng thần kinh sang dạng chỉ có số nguyên và tạo quỹ đạo tính toán. Uchikoma là một công cụ chuyển đổi biểu diễn trung gian của TVM sang các ngôn ngữ lập trình không hỗ trợ các phép toán dấu phẩy động. LinearA có kế hoạch hỗ trợ Circo với số học miền và Solidity với số học số nguyên có dấu và không dấu.
Daniel Kang's zkml là một khuôn khổ cho bằng chứng về việc thực thi các mô hình ML được xây dựng dựa trên công việc của anh ấy trong bài báo "Mở rộng quy mô suy luận DNN không đáng tin cậy với bằng chứng không kiến thức". Tại thời điểm viết bài này, nó có thể chứng minh một mạch MNIST trong khoảng 5 GB bộ nhớ và trong khoảng 16 giây thời gian chạy.
Về các trình biên dịch mô hình để chứng minh tổng quát hơn, có Nil Foundation và Risc Zero. zkLLVM của Nil Foundation là trình biên dịch mạch dựa trên LLVM có khả năng xác thực các mô hình tính toán được viết bằng các ngôn ngữ lập trình phổ biến như C++, Rust và Java/Type. So với các trình biên dịch mô hình-to-proof khác được đề cập ở đây, nó là cơ sở hạ tầng đa năng, nhưng vẫn phù hợp với các tính toán phức tạp như zkML. Điều này có thể đặc biệt hiệu quả khi kết hợp với thị trường bằng chứng của họ.
Risc Zero xây dựng một zkVM có mục đích chung nhắm vào tập lệnh RISC-V nguồn mở, do đó hỗ trợ các ngôn ngữ trưởng thành hiện có như C++ và Rust, cũng như chuỗi công cụ LLVM. Điều này cho phép tích hợp liền mạch giữa mã zkVM máy chủ và máy khách, tương tự như chuỗi công cụ CUDA C++ của Nvidia, nhưng sử dụng công cụ ZKP thay vì GPU. Tương tự như Nil, sử dụng Risc Zero để xác minh quỹ đạo tính toán của mô hình ML.
02 Hệ thống chứng minh tổng quát
Những cải tiến đối với hệ thống bằng chứng là động lực chính thúc đẩy zkML thành hiện thực, đặc biệt là việc giới thiệu các cổng tùy chỉnh và bảng tra cứu. Điều này chủ yếu là do sự phụ thuộc của ML vào tính phi tuyến tính. Nói tóm lại, tính phi tuyến tính được đưa vào thông qua các hàm kích hoạt (chẳng hạn như ReLU, sigmoid và tanh) được áp dụng cho đầu ra của phép biến đổi tuyến tính trong mạng thần kinh. Những tính chất phi tuyến tính này rất khó thực hiện trong các mạch zk do các ràng buộc của các cổng toán học. Các bảng tra cứu và hệ số hóa bitwise có thể giúp giải quyết vấn đề này bằng cách tính toán trước các kết quả phi tuyến tính có thể xảy ra vào bảng tra cứu, điều thú vị là hiệu quả hơn về mặt tính toán trong zk.
Vì lý do này, hệ thống bằng chứng Plonkish có xu hướng trở thành phần phụ trợ phổ biến nhất cho zkML. Halo 2 và Plonky 2 và các lược đồ số học bảng của chúng xử lý tốt các điểm phi tuyến của mạng thần kinh với các tham số tra cứu. Ngoài ra, cái trước có một hệ sinh thái sôi động gồm các công cụ dành cho nhà phát triển và tính linh hoạt, làm cho nó trở thành một phần phụ trợ trên thực tế cho nhiều dự án, bao gồm cả EZKL.
Các hệ thống chứng minh khác cũng có những ưu điểm của chúng. Các hệ thống kiểm chứng dựa trên R 1 CS bao gồm Groth 16, được biết đến với kích thước kiểm chứng nhỏ và Gemini, được biết đến với khả năng xử lý các mạch cực lớn và trình xác minh thời gian tuyến tính. Các hệ thống dựa trên STARK, chẳng hạn như thư viện trình xác minh/chứng minh Winterfell, đặc biệt hữu ích khi lấy làm dấu vết đầu vào của các chương trình Cairo thông qua các công cụ của Giza và sử dụng Winterfell để tạo bằng chứng STARK nhằm xác minh tính chính xác của đầu ra.
03 hệ thống chứng minh cụ thể zkML
Một số tiến bộ đã được thực hiện trong việc thiết kế các hệ thống bằng chứng hiệu quả có thể xử lý các hoạt động phức tạp, không thân thiện với mạch của các mô hình máy học tiên tiến. Các hệ thống như zkCNN dựa trên hệ thống bằng chứng của GKR và Zator dựa trên các kỹ thuật tổ hợp có xu hướng hoạt động tốt hơn các hệ thống bằng chứng phổ quát, như được phản ánh trong các báo cáo điểm chuẩn của Modulus Labs.
zkCNN là một phương pháp để chứng minh tính đúng đắn của các mạng thần kinh tích chập bằng cách sử dụng bằng chứng không kiến thức. Nó sử dụng giao thức kiểm tra tổng để chứng minh các phép biến đổi và tích chập Fourier nhanh, với thời gian chứng minh tuyến tính, nhanh hơn các kết quả tính toán tiệm cận. Một số bằng chứng tương tác về cải tiến và khái quát hóa đã được giới thiệu, bao gồm các lớp tích chập xác thực, chức năng kích hoạt ReLU và tổng hợp tối đa. Theo báo cáo điểm chuẩn của Modulus Labs, zkCNN đặc biệt thú vị ở chỗ nó vượt trội so với các hệ thống bằng chứng đa năng khác về tốc độ tạo bằng chứng và mức tiêu thụ RAM.
Zator là một dự án nhằm mục đích khám phá việc sử dụng SNARK đệ quy để xác minh mạng lưới thần kinh sâu. Một hạn chế hiện tại trong việc xác thực các mô hình sâu hơn là khớp toàn bộ quỹ đạo tính toán vào một mạch duy nhất. Zator đã đề xuất sử dụng SNARK đệ quy để xác minh từng lớp, có thể dần dần xác minh các phép tính lặp lại N bước. Họ đã sử dụng Nova để giảm N phiên bản điện toán thành một phiên bản có thể được xác minh trong một bước duy nhất. Sử dụng phương pháp này, Zator đã có thể SNARK một mạng có 512 lớp, sâu bằng hầu hết các mô hình AI sản xuất hiện tại. Thời gian xác minh và tạo bằng chứng của Zator vẫn còn quá dài đối với các trường hợp sử dụng phổ biến, nhưng các kỹ thuật kết hợp của chúng vẫn rất thú vị.
Các ứng dụng
Với những ngày đầu của zkML, trọng tâm của nó chủ yếu là vào cơ sở hạ tầng nói trên. Tuy nhiên, hiện tại có một số dự án dành riêng cho việc phát triển ứng dụng.
Modulus Labs là một trong những dự án đa dạng nhất trong không gian zkML, hoạt động trên cả ứng dụng ví dụ và nghiên cứu liên quan. Về mặt ứng dụng, Modulus Labs đã trình diễn các trường hợp sử dụng cho zkML với RockyBot, một bot giao dịch trên chuỗi và Leela vs. the World, một trò chơi cờ trong đó con người chơi với một công cụ cờ vua Leela trên chuỗi đã được chứng minh. Nhóm cũng đã tiến hành nghiên cứu và viết cuốn The Cost of Intelligence, đánh giá tốc độ và hiệu quả của các hệ thống bằng chứng khác nhau ở các kích cỡ mô hình khác nhau.
Worldcoin đang cố gắng áp dụng zkML để tạo ra một giao thức chứng minh danh tính con người bảo vệ quyền riêng tư. Worldcoin xử lý quét mống mắt có độ phân giải cao bằng phần cứng tùy chỉnh và cắm nó vào triển khai Semaphore. Hệ thống này sau đó có thể được sử dụng để thực hiện các hoạt động hữu ích như bằng chứng về tư cách thành viên và biểu quyết. Họ hiện đang sử dụng môi trường thời gian chạy đáng tin cậy và vùng an toàn để xác minh quét mống mắt có chữ ký của máy ảnh, nhưng mục tiêu cuối cùng của họ là sử dụng bằng chứng không có kiến thức để xác minh suy luận chính xác của mạng thần kinh nhằm cung cấp bảo đảm bảo mật ở cấp độ mật mã.
Giza là một giao thức sử dụng cách tiếp cận hoàn toàn không tin cậy để triển khai các mô hình AI trên chuỗi. Nó sử dụng định dạng ONNX để thể hiện các mô hình học máy, Bộ chuyển đổi Giza để chuyển đổi các mô hình này sang định dạng chương trình Cairo, Thời gian chạy ONNX Cairo để thực thi các mô hình theo cách có thể kiểm chứng và xác định cũng như hợp đồng thông minh Mô hình Giza để triển khai trên chuỗi và ngăn xếp công nghệ để thực hiện mô hình. Mặc dù Giza cũng có thể được phân loại là trình biên dịch mô hình để chứng minh, nhưng vị trí của họ như một thị trường cho các mô hình ML là một trong những ứng dụng thú vị nhất vào lúc này.
Gensyn là một mạng phân tán gồm các nhà cung cấp phần cứng để đào tạo các mô hình ML. Cụ thể, họ đang phát triển một hệ thống kiểm tra xác suất dựa trên độ dốc giảm dần và sử dụng điểm kiểm tra mô hình để cho phép các mạng GPU phân tán phục vụ đào tạo cho các mô hình quy mô đầy đủ. Mặc dù ứng dụng zkML của họ ở đây rất cụ thể đối với trường hợp sử dụng của họ - họ muốn đảm bảo rằng khi một nút tải xuống và đào tạo một phần của mô hình, họ sẽ trung thực về các bản cập nhật mô hình - điều đó thể hiện sức mạnh của việc kết hợp sức mạnh của zk và ML.
ZKaptcha tập trung vào vấn đề bot trong web3 và cung cấp dịch vụ mã xác minh cho các hợp đồng thông minh. Việc triển khai hiện tại của họ yêu cầu người dùng cuối tạo bằng chứng về công việc của con người bằng cách hoàn thành hình ảnh xác thực, được xác minh bởi trình xác thực trên chuỗi của họ và được truy cập bằng hợp đồng thông minh với một vài dòng mã. Ngày nay, họ chủ yếu chỉ dựa vào zk, nhưng họ dự định triển khai zkML trong tương lai, tương tự như các dịch vụ captcha web2 hiện có, phân tích hành vi như chuyển động của chuột để xác định xem người dùng có phải là con người hay không.
Với những ngày đầu của thị trường zkML, nhiều ứng dụng đã được thử nghiệm ở cấp độ hackathon. Các dự án bao gồm AI Coliseum, một cuộc thi AI trên chuỗi sử dụng bằng chứng ZK để xác minh đầu ra của máy học, Hunter z Hunter, một cuộc săn tìm ảnh bằng thư viện EZKL để xác minh đầu ra của mô hình phân loại hình ảnh với mạch halo 2 và zk Phần 9 , Nó chuyển đổi các mô hình tạo hình ảnh AI thành các mạch để truyền và xác thực nghệ thuật AI.
thử thách zkML
Mặc dù có những tiến bộ nhanh chóng trong việc nâng cao và tối ưu hóa, nhưng lĩnh vực zkML vẫn phải đối mặt với một số thách thức cốt lõi. Những thách thức này liên quan đến các khía cạnh kỹ thuật và thực tế, bao gồm:
Lượng tử hóa với độ chính xác giảm tối thiểu
Kích thước mạch, đặc biệt khi mạng bao gồm nhiều lớp
Bằng chứng hiệu quả về phép nhân ma trận
Chống lại sự tấn công
Lượng tử hóa là quá trình biểu diễn các số dấu phẩy động thành số dấu phẩy động. Hầu hết các mô hình học máy sử dụng số dấu phẩy động để biểu diễn các tham số mô hình và chức năng kích hoạt. Khi xử lý số học miền cho các mạch zk, cần phải có các số dấu phẩy động. Tác động của lượng tử hóa đến độ chính xác của mô hình học máy phụ thuộc vào mức độ chính xác được sử dụng. Nói chung, sử dụng độ chính xác thấp hơn (nghĩa là ít bit hơn) có thể dẫn đến độ chính xác thấp hơn, vì điều này có thể gây ra các lỗi làm tròn và xấp xỉ. Tuy nhiên, có một số kỹ thuật có thể được sử dụng để giảm thiểu tác động của lượng tử hóa đến độ chính xác, chẳng hạn như tinh chỉnh mô hình sau khi lượng tử hóa và sử dụng các kỹ thuật như đào tạo nhận biết lượng tử hóa. Ngoài ra, Zero Gravity, một dự án hackathon tại zkSummit 9, đã chỉ ra rằng các kiến trúc mạng nơ-ron thay thế được phát triển cho các thiết bị biên, chẳng hạn như mạng nơ-ron không trọng lượng, có thể được sử dụng để tránh các sự cố lượng tử hóa trong mạch.
Bên cạnh lượng tử hóa, phần cứng là một thách thức quan trọng khác. Sau khi một mô hình học máy được biểu diễn chính xác bằng một mạch, bằng chứng để xác minh lý luận của nó trở nên rẻ và nhanh chóng do tính đơn giản của zk. Thách thức ở đây không phải là với trình xác minh, mà là với trình chứng minh, vì mức tiêu thụ RAM và thời gian tạo bằng chứng tăng nhanh khi kích thước mô hình tăng lên. Một số hệ thống kiểm chứng (chẳng hạn như các hệ thống dựa trên GKR sử dụng giao thức kiểm tra tổng và mạch số học phân cấp) hoặc các kỹ thuật kết hợp (chẳng hạn như kết hợp Plonky 2 với Groth 16, Plonky 2 hiệu quả về thời gian kiểm chứng nhưng hiệu quả đối với các mô hình lớn Poor và Groth 16 không dẫn đến tăng kích thước bằng chứng về độ phức tạp của các mô hình phức tạp) phù hợp hơn để xử lý các vấn đề này, nhưng quản lý sự đánh đổi là một thách thức cốt lõi trong các dự án zkML.
Về mặt chống lại các cuộc tấn công, vẫn còn nhiều việc phải làm. Đầu tiên, nếu một giao thức không đáng tin cậy hoặc DAO chọn triển khai một mô hình, thì vẫn có nguy cơ bị tấn công đối thủ trong giai đoạn đào tạo (ví dụ: đào tạo một mô hình để thể hiện một hành vi nhất định khi nó nhìn thấy một đầu vào nhất định, có thể được sử dụng để thao túng các bước tiếp theo). suy luận). Các kỹ thuật học liên kết và zkML trong giai đoạn đào tạo có thể là một cách để giảm thiểu bề mặt tấn công này.
Một thách thức cốt lõi khác là nguy cơ bị tấn công đánh cắp mô hình khi mô hình bảo vệ quyền riêng tư. Mặc dù có thể xáo trộn các trọng số của một mô hình, nếu có đủ các cặp đầu vào-đầu ra, về mặt lý thuyết vẫn có thể suy ra các trọng số ngược lại. Đây chủ yếu là rủi ro đối với các mô hình quy mô nhỏ, nhưng vẫn có những rủi ro.
Khả năng mở rộng của hợp đồng thông minh
Mặc dù có một số thách thức trong việc tối ưu hóa các mô hình này để chạy trong các giới hạn của zk, nhưng các cải tiến đang được thực hiện với tốc độ cấp số nhân và một số người kỳ vọng rằng với khả năng tăng tốc phần cứng hơn nữa, chúng tôi sẽ sớm có thể làm việc với lĩnh vực học máy rộng lớn hơn. Cùng trình độ. Để nhấn mạnh tốc độ của những cải tiến này, zkML đã đi từ phần trình diễn của 0x PARC về cách thực hiện mô hình phân loại hình ảnh MNIST quy mô nhỏ trong một mạch có thể kiểm chứng vào năm 2021, đến việc Daniel Kang thực hiện điều tương tự cho mô hình quy mô ImageNet chưa đầy một năm sau đó giấy tờ. Vào tháng 4 năm 2022, độ chính xác của mô hình tỷ lệ ImageNet này đã cải thiện từ 79% lên 92% và các mô hình lớn như GPT-2 dự kiến sẽ có thể thực hiện được trong tương lai gần, mặc dù thời gian chứng minh hiện tại lâu hơn.
Chúng tôi coi zkML là một hệ sinh thái phong phú và đang phát triển được thiết kế để mở rộng khả năng của các chuỗi khối và hợp đồng thông minh, giúp chúng trở nên linh hoạt, dễ thích ứng và thông minh hơn.
Mặc dù zkML vẫn đang trong giai đoạn phát triển ban đầu nhưng nó đã bắt đầu cho thấy những kết quả đầy hứa hẹn. Khi công nghệ phát triển và trưởng thành, chúng ta có thể mong đợi thấy nhiều trường hợp sử dụng zkML sáng tạo hơn trên chuỗi.
Xem bản gốc
Nội dung chỉ mang tính chất tham khảo, không phải là lời chào mời hay đề nghị. Không cung cấp tư vấn về đầu tư, thuế hoặc pháp lý. Xem Tuyên bố miễn trừ trách nhiệm để biết thêm thông tin về rủi ro.
Phân tích chuyên sâu về đường đua ZKML: bước tiếp theo trong trí thông minh của hợp đồng thông minh
Chứng minh suy luận mô hình học máy (ML) thông qua zkSNARK hứa hẹn sẽ là một trong những tiến bộ quan trọng nhất trong hợp đồng thông minh trong thập kỷ này. Sự phát triển này mở ra một không gian thiết kế rộng lớn thú vị, cho phép các ứng dụng và cơ sở hạ tầng phát triển thành các hệ thống thông minh và phức tạp hơn.
Bằng cách thêm các khả năng ML, các hợp đồng thông minh có thể trở nên tự chủ và năng động hơn, cho phép chúng đưa ra quyết định dựa trên dữ liệu trên chuỗi thời gian thực thay vì các quy tắc tĩnh. Hợp đồng thông minh sẽ linh hoạt và có thể đáp ứng nhiều tình huống khác nhau, bao gồm cả những tình huống có thể không lường trước được khi hợp đồng được tạo ban đầu. Nói tóm lại, các khả năng ML sẽ khuếch đại tính tự động hóa, độ chính xác, hiệu quả và tính linh hoạt của bất kỳ hợp đồng thông minh nào mà chúng tôi đưa vào chuỗi.
ML được sử dụng rộng rãi trong hầu hết các ứng dụng ngoài web3 và ứng dụng của nó trong các hợp đồng thông minh gần như bằng không. Điều này chủ yếu là do chi phí tính toán cao khi chạy các mô hình này trên chuỗi. Ví dụ: FastBERT là một mô hình ngôn ngữ được tối ưu hóa về mặt điện toán sử dụng khoảng 1800 MFLOPS (triệu phép tính dấu chấm động), không thể chạy trực tiếp trên EVM.
Việc áp dụng mô hình ML trên chuỗi chủ yếu tập trung vào giai đoạn suy luận: áp dụng mô hình để dự đoán dữ liệu trong thế giới thực. Để có các hợp đồng thông minh ở quy mô ML, các hợp đồng phải có khả năng nhập các dự đoán như vậy, nhưng như chúng tôi đã đề cập trước đây, việc chạy các mô hình trực tiếp trên EVM là không khả thi. zkSNARKs cung cấp cho chúng tôi một giải pháp: bất kỳ ai cũng có thể chạy một mô hình ngoài chuỗi và tạo ra một bằng chứng ngắn gọn và có thể kiểm chứng rằng mô hình dự kiến đã tạo ra một kết quả cụ thể. Bằng chứng này có thể được xuất bản trên chuỗi và được các hợp đồng thông minh tiếp nhận để nâng cao trí thông minh của chúng.
Trong bài viết này, chúng tôi sẽ:
Giới thiệu về Học máy (ML)
Học máy (ML) là một lĩnh vực con của trí tuệ nhân tạo (AI) tập trung vào việc phát triển các thuật toán và mô hình thống kê cho phép máy tính học hỏi từ dữ liệu và đưa ra dự đoán hoặc quyết định. Các mô hình ML thường có ba thành phần chính:
Việc tạo và triển khai mô hình được chia thành hai giai đoạn:
Hiện tại, zkML chủ yếu tập trung vào giai đoạn suy luận của các mô hình máy học, thay vì giai đoạn đào tạo, chủ yếu là do độ phức tạp tính toán của đào tạo trong các mạch xác minh. Tuy nhiên, việc zkML tập trung vào suy luận không phải là một hạn chế: chúng tôi dự đoán một số trường hợp sử dụng và ứng dụng rất thú vị.
Các kịch bản suy luận đã được xác minh
Có bốn tình huống có thể xảy ra để xác thực lý luận:
Lý luận ML đã được xác minh mở ra không gian thiết kế mới cho các hợp đồng thông minh. Một số ứng dụng gốc tiền điện tử bao gồm:
1、DeFi
Các oracle ML off-chain có thể kiểm chứng. Việc tiếp tục áp dụng AI tổng quát có thể thúc đẩy ngành triển khai các kế hoạch ký tên cho nội dung của nó (ví dụ: các ấn phẩm tin tức ký tên vào các bài báo hoặc hình ảnh). Dữ liệu đã ký sẵn sàng cho các bằng chứng không có kiến thức, làm cho dữ liệu có thể tổng hợp được và đáng tin cậy. Các mô hình ML có thể xử lý dữ liệu đã ký này ngoại tuyến để đưa ra dự đoán và phân loại (ví dụ: phân loại kết quả bầu cử hoặc sự kiện thời tiết). Các nhà tiên tri ML ngoài chuỗi này có thể giải quyết các thị trường dự đoán trong thế giới thực, hợp đồng giao thức bảo hiểm, v.v. một cách đáng tin cậy bằng cách xác minh lập luận và xuất bản bằng chứng trên chuỗi.
Các ứng dụng DeFi dựa trên thông số ML. Nhiều khía cạnh của DeFi có thể được tự động hóa nhiều hơn. Ví dụ: các giao thức cho vay có thể sử dụng các mô hình ML để cập nhật các tham số theo thời gian thực. Hiện tại, các giao thức cho vay chủ yếu dựa vào các mô hình ngoài chuỗi do các tổ chức điều hành để xác định các yếu tố tài sản thế chấp, tỷ lệ cho vay trên giá trị, ngưỡng thanh lý, v.v., nhưng một lựa chọn tốt hơn có thể là mô hình nguồn mở do cộng đồng đào tạo mà bất kỳ ai cũng có thể chạy và xác minh.
Chiến lược giao dịch tự động. Một cách phổ biến để chứng minh các đặc điểm hoàn trả của chiến lược mô hình tài chính là các nghị sĩ cung cấp cho các nhà đầu tư nhiều dữ liệu kiểm tra lại. Tuy nhiên, không có cách nào để xác minh rằng chiến lược gia đang tuân theo mô hình khi thực hiện giao dịch - nhà đầu tư phải tin tưởng rằng chiến lược gia thực sự đang tuân theo mô hình. zkML cung cấp giải pháp trong đó MP có thể cung cấp bằng chứng về lý luận mô hình tài chính khi được triển khai cho các vị trí cụ thể. Điều này có thể đặc biệt hữu ích cho các vault do DeFi quản lý.
2. Bảo mật
Giám sát gian lận cho các hợp đồng thông minh. Thay vì để con người quản lý chậm chạp hoặc các tác nhân tập trung kiểm soát khả năng tạm dừng hợp đồng, các mô hình ML có thể được sử dụng để phát hiện hành vi nguy hiểm có thể xảy ra và tạm dừng hợp đồng.
3. ML truyền thống
Một triển khai Kaggle phi tập trung, không tin cậy. Một giao thức hoặc thị trường có thể được tạo ra cho phép MC hoặc các bên quan tâm khác xác minh tính chính xác của các mô hình mà không yêu cầu các MP tiết lộ trọng số của mô hình. Điều này hữu ích cho việc bán mô hình, tổ chức các cuộc thi về độ chính xác của mô hình, v.v.
Một thị trường nhanh chóng phi tập trung cho AI sáng tạo. Tác giả nhanh chóng cho AI tổng quát đã phát triển thành một nghề thủ công phức tạp và các lời nhắc tạo đầu ra tối ưu thường có nhiều công cụ sửa đổi. Các bên bên ngoài có thể sẵn sàng mua những gợi ý phức tạp này từ người sáng tạo. zkML có thể được sử dụng theo hai cách ở đây: 1) để xác thực đầu ra của gợi ý, để đảm bảo với những người mua tiềm năng rằng gợi ý thực sự tạo ra hình ảnh mong muốn;
4. Danh tính
Thay thế khóa riêng bằng xác thực sinh trắc học bảo vệ quyền riêng tư. Quản lý khóa riêng vẫn là một trong những rào cản lớn nhất trong trải nghiệm người dùng web3. Trừu tượng hóa các khóa riêng thông qua nhận dạng khuôn mặt hoặc các yếu tố độc đáo khác là một giải pháp khả thi cho zkML.
Airdrop công bằng và phần thưởng cho người đóng góp. Các mô hình ML có thể được sử dụng để tạo chân dung người dùng chi tiết nhằm xác định phân bổ airdrop hoặc phần thưởng đóng góp dựa trên nhiều yếu tố. Điều này có thể đặc biệt hữu ích khi kết hợp với các giải pháp nhận dạng. Trong trường hợp này, một khả năng là để người dùng chạy mô hình nguồn mở đánh giá mức độ tương tác của họ trong ứng dụng cũng như mức độ tương tác ở cấp cao hơn, chẳng hạn như các bài đăng trên diễn đàn quản trị, để suy luận về nhiệm vụ của họ. Bằng chứng này sau đó được cung cấp cho hợp đồng để phân bổ mã thông báo tương ứng.
5. Mạng xã hội Web3
Lọc cho phương tiện truyền thông xã hội web3. Bản chất phi tập trung của các ứng dụng xã hội web3 sẽ dẫn đến sự gia tăng thư rác và nội dung độc hại. Lý tưởng nhất là một nền tảng truyền thông xã hội có thể sử dụng mô hình ML mã nguồn mở được cộng đồng đồng thuận và công bố bằng chứng về lập luận của mô hình khi nó chọn lọc các bài đăng. Trường hợp điển hình: phân tích zkML trên thuật toán Twitter.
Quảng cáo/Đề xuất. Là người dùng mạng xã hội, tôi có thể sẵn sàng xem quảng cáo được cá nhân hóa, nhưng muốn giữ riêng tư các tùy chọn và mối quan tâm của mình với các nhà quảng cáo. Tôi có thể chọn chạy một mô hình cục bộ về sở thích của mình, đưa mô hình đó vào ứng dụng phương tiện để cung cấp nội dung cho tôi. Trong trường hợp này, các nhà quảng cáo có thể sẵn sàng trả tiền cho người dùng cuối để thực hiện điều này, tuy nhiên, các mô hình này có thể kém phức tạp hơn nhiều so với các mô hình quảng cáo được nhắm mục tiêu hiện đang được sản xuất.
6. Nền kinh tế/Trò chơi của người sáng tạo
Tái cân bằng nền kinh tế trong trò chơi. Các ngưỡng phát hành, cung cấp, đốt, bỏ phiếu, v.v. có thể được điều chỉnh động bằng các mô hình ML. Một mô hình khả thi là một hợp đồng khuyến khích tái cân bằng nền kinh tế trong trò chơi nếu đạt đến ngưỡng tái cân bằng nhất định và bằng chứng lập luận được xác minh.
Các loại trò chơi trực tuyến mới. Con người hợp tác so với trò chơi AI và các trò chơi trực tuyến sáng tạo khác có thể được tạo ra trong đó mô hình AI không đáng tin cậy hoạt động như một nhân vật không thể chơi được. Mọi hành động do NPC thực hiện đều được đăng trên chuỗi cùng với bằng chứng mà bất kỳ ai cũng có thể xác minh rằng mô hình chính xác đang được chạy. Trong Leela vs. the World của Modulus Labs, người xác minh muốn đảm bảo rằng 1900 ELO AI đã nêu chọn nước đi chứ không phải Magnus Carlson. Một ví dụ khác là AI Arena, một trò chơi chiến đấu AI tương tự như Super Smash Brothers. Trong một môi trường cạnh tranh có tính đặt cược cao, người chơi muốn đảm bảo rằng những người mẫu mà họ đào tạo không can thiệp hoặc gian lận.
Các dự án và cơ sở hạ tầng mới nổi
Hệ sinh thái zkML có thể được chia thành bốn loại chính:
01 Trình biên dịch Model-to-Proof
Trong hệ sinh thái zkML, hầu hết sự chú ý đều tập trung vào việc tạo các trình biên dịch mô hình để chứng minh. Thông thường, các trình biên dịch này sẽ chuyển đổi các mô hình ML nâng cao thành các mạch zk bằng Pytorch, Tensorflow, v.v.
EZKL là một thư viện và công cụ dòng lệnh để suy luận các mô hình học sâu trong zk-SNARK. Sử dụng EZKL, bạn có thể xác định biểu đồ tính toán trong Pytorch hoặc TensorFlow, xuất nó dưới dạng tệp ONNX với một số ví dụ đầu vào trong tệp JSON, sau đó trỏ EZKL vào các tệp này để tạo mạch zkSNARK. Với vòng cải tiến hiệu suất mới nhất, EZKL hiện có thể chứng minh một mô hình có kích thước MNIST trong ~6 giây và 1,1 GB RAM. Cho đến nay, EZKL đã chứng kiến một số ứng dụng ban đầu đáng chú ý, được sử dụng làm cơ sở hạ tầng cho các dự án hackathon khác nhau.
Thư viện circomlib-ml của Cathie So chứa nhiều mẫu mạch ML khác nhau cho Circom. Mạch bao gồm một số chức năng ML phổ biến nhất. Keras 2c ircom, được phát triển bởi Cathie, là một công cụ Python giúp chuyển đổi các mô hình Keras thành các mạch Circcom bằng thư viện circomlib-ml bên dưới.
LinearA đã phát triển hai khung cho zkML: Tachikoma và Uchikoma. Tachikoma được sử dụng để chuyển đổi mạng thần kinh sang dạng chỉ có số nguyên và tạo quỹ đạo tính toán. Uchikoma là một công cụ chuyển đổi biểu diễn trung gian của TVM sang các ngôn ngữ lập trình không hỗ trợ các phép toán dấu phẩy động. LinearA có kế hoạch hỗ trợ Circo với số học miền và Solidity với số học số nguyên có dấu và không dấu.
Daniel Kang's zkml là một khuôn khổ cho bằng chứng về việc thực thi các mô hình ML được xây dựng dựa trên công việc của anh ấy trong bài báo "Mở rộng quy mô suy luận DNN không đáng tin cậy với bằng chứng không kiến thức". Tại thời điểm viết bài này, nó có thể chứng minh một mạch MNIST trong khoảng 5 GB bộ nhớ và trong khoảng 16 giây thời gian chạy.
Về các trình biên dịch mô hình để chứng minh tổng quát hơn, có Nil Foundation và Risc Zero. zkLLVM của Nil Foundation là trình biên dịch mạch dựa trên LLVM có khả năng xác thực các mô hình tính toán được viết bằng các ngôn ngữ lập trình phổ biến như C++, Rust và Java/Type. So với các trình biên dịch mô hình-to-proof khác được đề cập ở đây, nó là cơ sở hạ tầng đa năng, nhưng vẫn phù hợp với các tính toán phức tạp như zkML. Điều này có thể đặc biệt hiệu quả khi kết hợp với thị trường bằng chứng của họ.
Risc Zero xây dựng một zkVM có mục đích chung nhắm vào tập lệnh RISC-V nguồn mở, do đó hỗ trợ các ngôn ngữ trưởng thành hiện có như C++ và Rust, cũng như chuỗi công cụ LLVM. Điều này cho phép tích hợp liền mạch giữa mã zkVM máy chủ và máy khách, tương tự như chuỗi công cụ CUDA C++ của Nvidia, nhưng sử dụng công cụ ZKP thay vì GPU. Tương tự như Nil, sử dụng Risc Zero để xác minh quỹ đạo tính toán của mô hình ML.
02 Hệ thống chứng minh tổng quát
Những cải tiến đối với hệ thống bằng chứng là động lực chính thúc đẩy zkML thành hiện thực, đặc biệt là việc giới thiệu các cổng tùy chỉnh và bảng tra cứu. Điều này chủ yếu là do sự phụ thuộc của ML vào tính phi tuyến tính. Nói tóm lại, tính phi tuyến tính được đưa vào thông qua các hàm kích hoạt (chẳng hạn như ReLU, sigmoid và tanh) được áp dụng cho đầu ra của phép biến đổi tuyến tính trong mạng thần kinh. Những tính chất phi tuyến tính này rất khó thực hiện trong các mạch zk do các ràng buộc của các cổng toán học. Các bảng tra cứu và hệ số hóa bitwise có thể giúp giải quyết vấn đề này bằng cách tính toán trước các kết quả phi tuyến tính có thể xảy ra vào bảng tra cứu, điều thú vị là hiệu quả hơn về mặt tính toán trong zk.
Vì lý do này, hệ thống bằng chứng Plonkish có xu hướng trở thành phần phụ trợ phổ biến nhất cho zkML. Halo 2 và Plonky 2 và các lược đồ số học bảng của chúng xử lý tốt các điểm phi tuyến của mạng thần kinh với các tham số tra cứu. Ngoài ra, cái trước có một hệ sinh thái sôi động gồm các công cụ dành cho nhà phát triển và tính linh hoạt, làm cho nó trở thành một phần phụ trợ trên thực tế cho nhiều dự án, bao gồm cả EZKL.
Các hệ thống chứng minh khác cũng có những ưu điểm của chúng. Các hệ thống kiểm chứng dựa trên R 1 CS bao gồm Groth 16, được biết đến với kích thước kiểm chứng nhỏ và Gemini, được biết đến với khả năng xử lý các mạch cực lớn và trình xác minh thời gian tuyến tính. Các hệ thống dựa trên STARK, chẳng hạn như thư viện trình xác minh/chứng minh Winterfell, đặc biệt hữu ích khi lấy làm dấu vết đầu vào của các chương trình Cairo thông qua các công cụ của Giza và sử dụng Winterfell để tạo bằng chứng STARK nhằm xác minh tính chính xác của đầu ra.
03 hệ thống chứng minh cụ thể zkML
Một số tiến bộ đã được thực hiện trong việc thiết kế các hệ thống bằng chứng hiệu quả có thể xử lý các hoạt động phức tạp, không thân thiện với mạch của các mô hình máy học tiên tiến. Các hệ thống như zkCNN dựa trên hệ thống bằng chứng của GKR và Zator dựa trên các kỹ thuật tổ hợp có xu hướng hoạt động tốt hơn các hệ thống bằng chứng phổ quát, như được phản ánh trong các báo cáo điểm chuẩn của Modulus Labs.
zkCNN là một phương pháp để chứng minh tính đúng đắn của các mạng thần kinh tích chập bằng cách sử dụng bằng chứng không kiến thức. Nó sử dụng giao thức kiểm tra tổng để chứng minh các phép biến đổi và tích chập Fourier nhanh, với thời gian chứng minh tuyến tính, nhanh hơn các kết quả tính toán tiệm cận. Một số bằng chứng tương tác về cải tiến và khái quát hóa đã được giới thiệu, bao gồm các lớp tích chập xác thực, chức năng kích hoạt ReLU và tổng hợp tối đa. Theo báo cáo điểm chuẩn của Modulus Labs, zkCNN đặc biệt thú vị ở chỗ nó vượt trội so với các hệ thống bằng chứng đa năng khác về tốc độ tạo bằng chứng và mức tiêu thụ RAM.
Zator là một dự án nhằm mục đích khám phá việc sử dụng SNARK đệ quy để xác minh mạng lưới thần kinh sâu. Một hạn chế hiện tại trong việc xác thực các mô hình sâu hơn là khớp toàn bộ quỹ đạo tính toán vào một mạch duy nhất. Zator đã đề xuất sử dụng SNARK đệ quy để xác minh từng lớp, có thể dần dần xác minh các phép tính lặp lại N bước. Họ đã sử dụng Nova để giảm N phiên bản điện toán thành một phiên bản có thể được xác minh trong một bước duy nhất. Sử dụng phương pháp này, Zator đã có thể SNARK một mạng có 512 lớp, sâu bằng hầu hết các mô hình AI sản xuất hiện tại. Thời gian xác minh và tạo bằng chứng của Zator vẫn còn quá dài đối với các trường hợp sử dụng phổ biến, nhưng các kỹ thuật kết hợp của chúng vẫn rất thú vị.
Các ứng dụng
Với những ngày đầu của zkML, trọng tâm của nó chủ yếu là vào cơ sở hạ tầng nói trên. Tuy nhiên, hiện tại có một số dự án dành riêng cho việc phát triển ứng dụng.
Modulus Labs là một trong những dự án đa dạng nhất trong không gian zkML, hoạt động trên cả ứng dụng ví dụ và nghiên cứu liên quan. Về mặt ứng dụng, Modulus Labs đã trình diễn các trường hợp sử dụng cho zkML với RockyBot, một bot giao dịch trên chuỗi và Leela vs. the World, một trò chơi cờ trong đó con người chơi với một công cụ cờ vua Leela trên chuỗi đã được chứng minh. Nhóm cũng đã tiến hành nghiên cứu và viết cuốn The Cost of Intelligence, đánh giá tốc độ và hiệu quả của các hệ thống bằng chứng khác nhau ở các kích cỡ mô hình khác nhau.
Worldcoin đang cố gắng áp dụng zkML để tạo ra một giao thức chứng minh danh tính con người bảo vệ quyền riêng tư. Worldcoin xử lý quét mống mắt có độ phân giải cao bằng phần cứng tùy chỉnh và cắm nó vào triển khai Semaphore. Hệ thống này sau đó có thể được sử dụng để thực hiện các hoạt động hữu ích như bằng chứng về tư cách thành viên và biểu quyết. Họ hiện đang sử dụng môi trường thời gian chạy đáng tin cậy và vùng an toàn để xác minh quét mống mắt có chữ ký của máy ảnh, nhưng mục tiêu cuối cùng của họ là sử dụng bằng chứng không có kiến thức để xác minh suy luận chính xác của mạng thần kinh nhằm cung cấp bảo đảm bảo mật ở cấp độ mật mã.
Giza là một giao thức sử dụng cách tiếp cận hoàn toàn không tin cậy để triển khai các mô hình AI trên chuỗi. Nó sử dụng định dạng ONNX để thể hiện các mô hình học máy, Bộ chuyển đổi Giza để chuyển đổi các mô hình này sang định dạng chương trình Cairo, Thời gian chạy ONNX Cairo để thực thi các mô hình theo cách có thể kiểm chứng và xác định cũng như hợp đồng thông minh Mô hình Giza để triển khai trên chuỗi và ngăn xếp công nghệ để thực hiện mô hình. Mặc dù Giza cũng có thể được phân loại là trình biên dịch mô hình để chứng minh, nhưng vị trí của họ như một thị trường cho các mô hình ML là một trong những ứng dụng thú vị nhất vào lúc này.
Gensyn là một mạng phân tán gồm các nhà cung cấp phần cứng để đào tạo các mô hình ML. Cụ thể, họ đang phát triển một hệ thống kiểm tra xác suất dựa trên độ dốc giảm dần và sử dụng điểm kiểm tra mô hình để cho phép các mạng GPU phân tán phục vụ đào tạo cho các mô hình quy mô đầy đủ. Mặc dù ứng dụng zkML của họ ở đây rất cụ thể đối với trường hợp sử dụng của họ - họ muốn đảm bảo rằng khi một nút tải xuống và đào tạo một phần của mô hình, họ sẽ trung thực về các bản cập nhật mô hình - điều đó thể hiện sức mạnh của việc kết hợp sức mạnh của zk và ML.
ZKaptcha tập trung vào vấn đề bot trong web3 và cung cấp dịch vụ mã xác minh cho các hợp đồng thông minh. Việc triển khai hiện tại của họ yêu cầu người dùng cuối tạo bằng chứng về công việc của con người bằng cách hoàn thành hình ảnh xác thực, được xác minh bởi trình xác thực trên chuỗi của họ và được truy cập bằng hợp đồng thông minh với một vài dòng mã. Ngày nay, họ chủ yếu chỉ dựa vào zk, nhưng họ dự định triển khai zkML trong tương lai, tương tự như các dịch vụ captcha web2 hiện có, phân tích hành vi như chuyển động của chuột để xác định xem người dùng có phải là con người hay không.
Với những ngày đầu của thị trường zkML, nhiều ứng dụng đã được thử nghiệm ở cấp độ hackathon. Các dự án bao gồm AI Coliseum, một cuộc thi AI trên chuỗi sử dụng bằng chứng ZK để xác minh đầu ra của máy học, Hunter z Hunter, một cuộc săn tìm ảnh bằng thư viện EZKL để xác minh đầu ra của mô hình phân loại hình ảnh với mạch halo 2 và zk Phần 9 , Nó chuyển đổi các mô hình tạo hình ảnh AI thành các mạch để truyền và xác thực nghệ thuật AI.
thử thách zkML
Mặc dù có những tiến bộ nhanh chóng trong việc nâng cao và tối ưu hóa, nhưng lĩnh vực zkML vẫn phải đối mặt với một số thách thức cốt lõi. Những thách thức này liên quan đến các khía cạnh kỹ thuật và thực tế, bao gồm:
Lượng tử hóa là quá trình biểu diễn các số dấu phẩy động thành số dấu phẩy động. Hầu hết các mô hình học máy sử dụng số dấu phẩy động để biểu diễn các tham số mô hình và chức năng kích hoạt. Khi xử lý số học miền cho các mạch zk, cần phải có các số dấu phẩy động. Tác động của lượng tử hóa đến độ chính xác của mô hình học máy phụ thuộc vào mức độ chính xác được sử dụng. Nói chung, sử dụng độ chính xác thấp hơn (nghĩa là ít bit hơn) có thể dẫn đến độ chính xác thấp hơn, vì điều này có thể gây ra các lỗi làm tròn và xấp xỉ. Tuy nhiên, có một số kỹ thuật có thể được sử dụng để giảm thiểu tác động của lượng tử hóa đến độ chính xác, chẳng hạn như tinh chỉnh mô hình sau khi lượng tử hóa và sử dụng các kỹ thuật như đào tạo nhận biết lượng tử hóa. Ngoài ra, Zero Gravity, một dự án hackathon tại zkSummit 9, đã chỉ ra rằng các kiến trúc mạng nơ-ron thay thế được phát triển cho các thiết bị biên, chẳng hạn như mạng nơ-ron không trọng lượng, có thể được sử dụng để tránh các sự cố lượng tử hóa trong mạch.
Bên cạnh lượng tử hóa, phần cứng là một thách thức quan trọng khác. Sau khi một mô hình học máy được biểu diễn chính xác bằng một mạch, bằng chứng để xác minh lý luận của nó trở nên rẻ và nhanh chóng do tính đơn giản của zk. Thách thức ở đây không phải là với trình xác minh, mà là với trình chứng minh, vì mức tiêu thụ RAM và thời gian tạo bằng chứng tăng nhanh khi kích thước mô hình tăng lên. Một số hệ thống kiểm chứng (chẳng hạn như các hệ thống dựa trên GKR sử dụng giao thức kiểm tra tổng và mạch số học phân cấp) hoặc các kỹ thuật kết hợp (chẳng hạn như kết hợp Plonky 2 với Groth 16, Plonky 2 hiệu quả về thời gian kiểm chứng nhưng hiệu quả đối với các mô hình lớn Poor và Groth 16 không dẫn đến tăng kích thước bằng chứng về độ phức tạp của các mô hình phức tạp) phù hợp hơn để xử lý các vấn đề này, nhưng quản lý sự đánh đổi là một thách thức cốt lõi trong các dự án zkML.
Về mặt chống lại các cuộc tấn công, vẫn còn nhiều việc phải làm. Đầu tiên, nếu một giao thức không đáng tin cậy hoặc DAO chọn triển khai một mô hình, thì vẫn có nguy cơ bị tấn công đối thủ trong giai đoạn đào tạo (ví dụ: đào tạo một mô hình để thể hiện một hành vi nhất định khi nó nhìn thấy một đầu vào nhất định, có thể được sử dụng để thao túng các bước tiếp theo). suy luận). Các kỹ thuật học liên kết và zkML trong giai đoạn đào tạo có thể là một cách để giảm thiểu bề mặt tấn công này.
Một thách thức cốt lõi khác là nguy cơ bị tấn công đánh cắp mô hình khi mô hình bảo vệ quyền riêng tư. Mặc dù có thể xáo trộn các trọng số của một mô hình, nếu có đủ các cặp đầu vào-đầu ra, về mặt lý thuyết vẫn có thể suy ra các trọng số ngược lại. Đây chủ yếu là rủi ro đối với các mô hình quy mô nhỏ, nhưng vẫn có những rủi ro.
Khả năng mở rộng của hợp đồng thông minh
Mặc dù có một số thách thức trong việc tối ưu hóa các mô hình này để chạy trong các giới hạn của zk, nhưng các cải tiến đang được thực hiện với tốc độ cấp số nhân và một số người kỳ vọng rằng với khả năng tăng tốc phần cứng hơn nữa, chúng tôi sẽ sớm có thể làm việc với lĩnh vực học máy rộng lớn hơn. Cùng trình độ. Để nhấn mạnh tốc độ của những cải tiến này, zkML đã đi từ phần trình diễn của 0x PARC về cách thực hiện mô hình phân loại hình ảnh MNIST quy mô nhỏ trong một mạch có thể kiểm chứng vào năm 2021, đến việc Daniel Kang thực hiện điều tương tự cho mô hình quy mô ImageNet chưa đầy một năm sau đó giấy tờ. Vào tháng 4 năm 2022, độ chính xác của mô hình tỷ lệ ImageNet này đã cải thiện từ 79% lên 92% và các mô hình lớn như GPT-2 dự kiến sẽ có thể thực hiện được trong tương lai gần, mặc dù thời gian chứng minh hiện tại lâu hơn.
Chúng tôi coi zkML là một hệ sinh thái phong phú và đang phát triển được thiết kế để mở rộng khả năng của các chuỗi khối và hợp đồng thông minh, giúp chúng trở nên linh hoạt, dễ thích ứng và thông minh hơn.
Mặc dù zkML vẫn đang trong giai đoạn phát triển ban đầu nhưng nó đã bắt đầu cho thấy những kết quả đầy hứa hẹn. Khi công nghệ phát triển và trưởng thành, chúng ta có thể mong đợi thấy nhiều trường hợp sử dụng zkML sáng tạo hơn trên chuỗi.