이 기사의 저자인 Elena Burger는 a16z crypto의 거래 파트너로 게임, NFT, web3 미디어 및 분산형 인프라에 중점을 두고 있습니다. 팀에 합류하기 전에 그녀는 Gilder, Gagnon, Howe, and Co.에서 주식 분석가로 4년을 보냈습니다. 그녀는 컬럼비아 대학의 Barnard College에서 역사학 학사 학위를 취득했습니다.
지난 몇 년 동안 블록체인의 영지식 증명은 (1) 오프체인 트랜잭션을 처리하고 메인넷에서 결과를 검증하여 계산적으로 제한된 네트워크를 확장하고, (2) 사용자 개인 정보를 보호하기 위해 보호된 트랜잭션을 활성화하는 두 가지 주요 목적에 매우 유용했습니다. 따라서 암호 해독 키를 가진 사람만 볼 수 있습니다. 블록체인의 맥락에서 이러한 속성이 바람직한 이유는 분명합니다: 이더리움과 같은 분산형 네트워크는 유효성 검사기 처리 능력, 대역폭 및 대기 시간에 대한 지속 불가능한 요구(따라서 유효성 롤업이 필요함) 없이 유용할 것입니다. 또는 블록 크기, 모든 거래는 누구나 볼 수 있습니다(따라서 온체인 개인 정보 보호 솔루션이 필요함).
그러나 영지식 증명은 기능의 세 번째 범주에도 유용합니다. 즉, 모든 종류의 계산이 올바르게 실행되는지 효과적으로 검증하는 것입니다(EVM 오프체인 인스턴스화의 계산뿐만 아니라). 이는 블록체인을 훨씬 뛰어넘는 것입니다.
컴퓨팅 시스템을 간결하게 검증하기 위한 영지식 증명 기능의 발전으로 이제 사용자는 블록체인이 존재하는 모든 디지털 제품(가장 중요하게는 기계 학습 모델)에서 동일한 수준의 불신뢰성과 검증 가능성을 보장하도록 요구할 수 있습니다. 블록체인 컴퓨팅에 대한 높은 수요로 인해 영지식 증명 연구가 촉발되어 더 작은 메모리 공간과 더 빠른 증명 및 검증 시간을 갖춘 현대적인 증명 시스템이 만들어졌으며 이제 특정 소형 기계 학습 알고리즘을 온체인에서 검증할 수 있게 되었습니다.
지금까지 우리 모두는 매우 강력한 기계 학습 제품과 상호 작용할 수 있는 가능성을 경험했을 것입니다. 며칠 전 저는 GPT-4를 사용하여 체스에서 저를 계속 이기는 AI를 만들었습니다. 이는 지난 수십 년 동안의 기계 학습의 모든 발전을 축소한 것처럼 느껴집니다. IBM 개발자는 매초마다 평가할 수 있는 32노드 IBM RS/6000 SP 컴퓨터에서 실행되는 모델인 Deep Blue를 개발하는 데 12년을 보냈습니다. 거의 2억 개의 체스 1997년에 체스 챔피언 게리 카스파로프(Gary Kasparov)를 물리쳤습니다. 이에 비해 나는 나보다 나은 프로그램을 작성하는 데 몇 시간밖에 걸리지 않았고 코드도 거의 작성하지 않았습니다.
물론, 내가 만든 AI가 체스에서 Gary Kasparov를 이길 수 있을지 의심스럽습니다. 하지만 그게 요점이 아닙니다. 요점은 GPT-4를 플레이하는 사람이라면 누구나 초능력을 얻는 비슷한 경험을 할 가능성이 높다는 것입니다. 즉, 약간의 노력만으로도 자신의 능력에 접근하거나 초과하는 무언가를 만들 수 있다는 것입니다. 우리는 둘 다 IBM의 연구원이자 Gary Kasparov입니다.
분명히 이것은 흥미롭고 생각하기에는 약간 어려운 일입니다. 암호화폐 산업에 종사하는 사람이라면 (기계 학습이 할 수 있는 일에 놀란 후) 잠재적인 중앙화 벡터를 고려하고 이러한 벡터를 사람들이 네트워크에서 투명하게 감사하고 소유할 수 있는 장소로 분산시킬 수 있는 방법을 고려하는 것이 자연스러운 충동입니다. 현재 모델은 공개적으로 사용 가능한 방대한 양의 텍스트와 데이터를 바탕으로 구축되었지만 현재는 소수만이 제어하고 소유하고 있습니다. 더 구체적으로 말하면, 문제는 "AI가 큰 가치를 가질 것인지"가 아니라 "AI와 상호 작용하는 모든 사람이 원할 경우 재정적으로 이익을 얻을 수 있을 뿐만 아니라 AI가 다양한 용도로 데이터를 사용할 수 있도록 이러한 시스템을 어떻게 구축할 것인가"입니다. 사생활을 존중하는 방식으로요.”
최근 Chat-GPT 등 대규모 인공지능 프로젝트의 진행을 중단하거나 늦춰야 한다는 목소리가 나오고 있다. 여기서 진행을 중단하는 것은 해결책이 아닐 수 있습니다. 대신, 모델 제공자가 자신의 가중치나 데이터를 비공개로 유지하기를 원하는 경우 온체인 및 완전히 감사 가능한 개인 정보 보호 영지식 증명을 갖춘 오픈 소스 모델을 추진하는 것이 더 나은 접근 방식이 될 것입니다. .그들을 보호하세요. 프라이빗 모델 가중치 및 데이터와 관련된 후자의 사용 사례는 현재 체인상에서는 실현 가능하지 않지만, 영지식 증명 시스템의 발전으로 미래에는 가능해질 것입니다.
검증 가능하고 소유 가능한 머신러닝
Chat-GPT를 사용하여 구축한 것과 같은 체스 AI는 이 시점에서 상대적으로 온화하다고 느낍니다. 귀중한 지적 재산권을 침해하거나 개인 정보를 침해하는 데이터를 사용하지 않는 균일한 출력을 가진 프로그램입니다. 하지만 우리가 들은 모델이 API 뒤에서 실행될 때 실제로 실행되는 모델인지 확인하고 싶다면 어떻게 될까요? 아니면 검증된 데이터를 온체인 모델로 가져와 해당 데이터가 실제로 합법적인 당사자로부터 온 것인지 확인하고 싶다면 어떻게 해야 합니까? 데이터를 제출하는 "사람"이 실제로 내 네트워크를 공격하려는 봇이 아니라 사람인지 확인하려면 어떻게 해야 합니까? 임의의 프로그램을 간결하게 표현하고 검증하는 능력을 갖춘 영지식 증명은 이 목표를 달성하는 한 가지 방법입니다.
오늘날 온체인 기계 학습 환경에서 영지식 증명의 주요 사용 사례는 올바른 계산을 검증하는 것이라는 점은 주목할 가치가 있습니다. 즉, 영지식 증명, 더 구체적으로 SNARK (Succinct Non-Interactive Arguments of Knowledge)는 간결한 속성으로 인해 ML 컨텍스트에서 가장 유용합니다. 이는 영지식 증명이 스누핑 검증자로부터 증명자(및 증명자가 처리하는 데이터)의 개인 정보를 보호하기 때문입니다. FHE( 완전 동형 암호화 ), 기능 암호화 또는 TEE( 신뢰할 수 있는 실행 환경 )와 같은 개인 정보 보호 강화 기술은 신뢰할 수 없는 검증자가 개인 입력 데이터에 대해 계산을 실행하도록 하는 데 더 적합합니다(이러한 기술에 대한 더 자세한 탐색은 이 문서의 범위를 벗어납니다). 범위).
한 걸음 물러나 제로 지식으로 표현할 수 있는 기계 학습 애플리케이션의 유형을 높은 수준에서 이해해 보겠습니다. (ZK에 대해 더 자세히 알아보려면 영지식 증명 알고리즘 및 하드웨어 개선에 대한 기사 , SNARK 성능에 대한 Justin Thaler의 작업 또는 영지식 표준을 참조하세요.) 영지식 증명은 일반적으로 프로그램을 산술 회로로 나타냅니다. 이러한 회로를 사용하여 증명자는 공개 및 비공개 입력에서 증명을 생성하고 검증자는 비공개 입력에 대한 정보를 얻지 않고도 문의 출력이 올바른지 수학적으로 계산합니다.
우리는 아직 온체인에서 계산적으로 실용적인 검증을 위해 영지식 증명을 사용하는 초기 단계에 있지만, 알고리즘 개선으로 실현 가능한 범위가 확대되고 있습니다. 다음은 기계 학습에서 영지식 증명을 사용할 수 있는 5가지 방법입니다.
1. 모델 신뢰성: 일부 엔터티가 실행했다고 주장하는 기계 학습 모델이 실제로 실행된 모델인지 확인하려고 합니다. 예를 들어, API 뒤에서 모델에 액세스할 수 있고 특정 모델의 공급자가 여러 버전(예: 저렴하고 정확도가 낮은 버전, 더 비싸고 성능이 뛰어난 버전)을 보유하고 있는 상황이 있습니다. 증거가 없으면 귀하가 실제로 더 비싼 모델에 대한 비용을 지불했을 때 모델 제공자가 더 저렴한 모델을 제안했는지 여부를 알 수 없습니다(예: 모델 제공자가 서버 비용을 절약하고 수익율을 높이고 싶어함).
이렇게 하려면 모델의 각 인스턴스화에 대해 별도의 증명이 필요합니다. 이를 달성하는 한 가지 실용적인 방법은 Dan Boneh, Wilson Nguyen 및 Alex Ozdemir의 Functional Commitment Framework를 사용하는 것입니다. 이 프레임워크는 모델 소유자가 모델에 데이터를 제출하고 사용자가 데이터 모델에 입력하고 검증을 받을 수 있는 SNARK 기반 영지식 약속 체계입니다. 제출된 모델이 실행되었음을 나타냅니다. STARK 기반의 범용 가상 머신인 Risc Zero를 기반으로 구축된 일부 애플리케이션도 이를 지원합니다. Daniel Kang, Tatsunori Hashimoto, Ion Stoica 및 Yi Sun의 추가 연구에서는 ImageNet 데이터세트에 대해 92% 정확도( 최고 성능의 비ZK 검증 ImageNet 모델과 비교할 수 있음 )의 유효한 추론을 보여주었습니다.
그러나 단순히 제출된 모델이 실행되었다는 증거를 받는 것만으로는 충분하지 않습니다. 모델이 특정 프로그램을 정확하게 나타내지 못할 수 있으므로 제출된 모델은 제3자의 감사를 받아야 합니다. 기능적 약속을 통해 증명자는 자신이 커밋된 모델을 사용하고 있음을 확신할 수 있지만 커밋된 모델에 대해 어떠한 것도 보장하지는 않습니다. 훈련을 증명할 수 있을 만큼 영지식 증명을 시행할 수 있다면(아래 예 #4 참조) 언젠가는 이러한 보장도 받을 수 있습니다.
2. 모델 무결성: 동일한 기계 학습 알고리즘이 다른 사용자의 데이터에서 동일한 방식으로 실행되는지 확인하려고 합니다. 이는 신용 점수 결정 및 대출 신청과 같이 임의의 편견이 적용되기를 원하지 않는 영역에서 유용합니다. 기능 약속을 사용할 수도 있습니다. 이를 위해 모델과 해당 매개변수를 제출하고 사람들이 데이터를 제출할 수 있도록 허용합니다. 출력은 각 사용자의 데이터에 대해 제출된 매개변수를 사용하여 모델이 실행되었는지 확인합니다. 또는 모델과 해당 매개변수를 공개할 수 있으며 사용자는 자신의 (인증된) 데이터에 적절한 모델과 매개변수를 적용했음을 직접 증명할 수 있습니다. 이는 특정 환자 정보가 법에 따라 기밀로 유지되어야 하는 의료 분야에서 특히 유용할 수 있습니다. 미래에는 이를 통해 의료 진단 시스템이 완전한 개인 실시간 사용자 데이터를 학습하고 개선할 수 있습니다.
3. 증명: 외부 검증된 당사자(예: 디지털 서명을 생성할 수 있는 디지털 플랫폼 또는 하드웨어)의 증명을 모델이나 체인에서 실행되는 다른 유형의 스마트 계약에 통합하려고 합니다. 이를 위해 영지식 증명을 사용하여 서명을 확인하고 증명을 프로그램의 입력으로 사용합니다. Anna Rose 와 Tarun Chitra는 최근 Daniel Kang , Yi Sun과 함께 Zero Knowledge Podcast 에피소드를 진행하여 이 분야의 최신 개발 상황을 살펴보았습니다.
특히 Daniel과 Yi는 최근 입증된 센서로 캡처한 이미지가 자르기, 크기 조정 또는 제한된 편집과 같은 변형을 거쳤는지 확인하는 방법에 대한 연구를 발표했습니다. 이는 이미지가 딥페이크가 아니라는 것을 증명하려는 경우 유용하지만 법적 형식의 편집을 거쳤습니다. Dan Boneh와 Trisha Datta는 영지식 증명을 사용하여 이미지의 출처를 확인하는 유사한 작업을 수행했습니다.
그러나 보다 광범위하게는 디지털 인증된 모든 정보는 이러한 형태의 검증 대상이 됩니다. EZKL 라이브러리(다음 섹션에서 이에 대한 자세한 내용은 다음 섹션에서 자세히 설명)에서 작업하고 있는 Jason Morton은 이를 "블록체인의 시선 제공"이라고 부릅니다. 모든 서명된 엔드포인트: (예: Cloudflare의 SXG 서비스 , 제3자 공증인) 신뢰할 수 있는 당사자의 출처와 신뢰성을 입증하는 데 유용한 검증 가능한 디지털 서명을 생성합니다.
4. 분산형 추론 또는 훈련: 분산된 방식으로 기계 학습 추론 또는 훈련을 수행하고 사람들이 공개 모델에 데이터를 제출할 수 있도록 하려고 합니다. 이를 위해 기존 모델을 온체인에 배포하거나 완전히 새로운 네트워크를 구축하고 영지식 증명을 사용하여 모델을 압축할 수 있습니다. Jason Morton의 EZKL 라이브러리는 ONXX 및 JSON 파일을 추출하여 ZK-SNARK 회로로 변환하는 방법을 만들고 있습니다. ETH Denver의 최근 시연에서는 이것이 이미지 인식을 기반으로 하는 온체인 보물찾기 게임과 같은 애플리케이션을 만드는 데 사용될 수 있음을 보여주었습니다. 게임 제작자는 사진을 업로드하고 이미지에 대한 증거를 생성하며 플레이어는 다음 작업을 수행할 수 있습니다. 이미지를 업로드하면 검증자는 사용자가 업로드한 이미지가 작성자가 생성한 증거와 적절하게 일치하는지 확인합니다. EZKL은 이제 최대 1억 개의 매개변수로 모델을 검증할 수 있습니다. 즉, 온체인에서 ImageNet 크기의 모델(6천만 개의 매개변수 포함)을 검증하는 데 사용할 수 있습니다.
Modulus Labs 와 같은 다른 팀은 온체인 추론을 위해 다양한 증명 시스템을 벤치마킹하고 있습니다. Modulus의 벤치마크는 최대 1,800만 개의 매개변수를 실행합니다. 훈련 측면에서 Gensyn은 사용자가 공개 데이터를 입력하고 분산 노드 네트워크를 통해 모델을 훈련하며 훈련의 정확성을 검증할 수 있는 분산 컴퓨팅 시스템을 구축하고 있습니다.
5. 신원 증명: 개인 정보를 침해하지 않고 누군가가 고유한 사람인지 확인하고 싶습니다. 이를 위해서는 생체 인식 스캔이나 정부 신분증 암호화 제출 방법과 같은 확인 방법을 만들어야 합니다. 그런 다음 영지식 증명을 사용하여 해당 사람의 신원에 대한 정보를 공개하지 않고 인증되었는지 여부, 해당 신원이 완전히 식별 가능한지 또는 공개 키와 같은 가명인지 여부를 확인할 수 있습니다.
Worldcoin은 사용자에게 고유한 홍채 코드를 생성하여 Sybil 공격에 대한 저항을 보장하는 방법인 신원 증명 프로토콜을 통해 이를 수행합니다 . 결정적으로 WorldID용으로 생성된 개인 키(및 Worldcoin 사용자를 위해 생성된 암호화폐 지갑용 기타 개인 키)는 프로젝트의 눈 스캔 공에 의해 로컬로 생성된 홍채 코드와 완전히 분리됩니다. 이러한 분리를 통해 생체 인식 ID와 한 사람이 생성할 수 있는 모든 형태의 사용자 키가 완전히 분리됩니다. Worldcoin은 또한 응용 프로그램이 사용자가 WorldID로 로그인할 수 있도록 하고 영지식 증명을 활용하여 개인 정보를 보호하는 SDK를 내장할 수 있도록 허용하여 응용 프로그램이 개인이 WorldID를 가지고 있는지 확인할 수 있지만 개별 사용자 추적을 지원하지 않습니다(자세한 내용 은 이 게시물 참조). 세부사항) .
이 예는 더 약하고 더 악의적인 형태의 인공 지능에 대해 영지식 증명의 개인 정보 보호 속성을 사용하는 형태이므로 위에 나열된 다른 예와 크게 다릅니다(예: 당신이 진짜 인간임을 증명하는 것. 자신에 대한 어떠한 정보도 공개하지 않고 로봇).
모델 아키텍처 및 과제
SNARK(Succinct Non-Interactive Arguments of Knowledge)를 구현하는 증명 시스템의 획기적인 발전은 많은 기계 학습 모델을 온체인에 배치하는 핵심 동인입니다. 일부 팀은 기존 아키텍처(Plonk, Plonky2, Air 등 포함) 내에서 맞춤형 회로를 만들고 있습니다. 맞춤형 회로 측면에서 Halo 2는 Daniel Kang과 Jason Morton 등의 EZKL 프로젝트 작업에 사용되는 인기 있는 백엔드가 되었습니다. Halo 2의 증명 시간은 준선형적이며 증명 크기는 일반적으로 몇 킬로바이트에 불과하며 확인 시간은 일정합니다. 아마도 더 중요한 것은 Halo 2가 강력한 개발자 도구를 갖추고 있어 개발자가 사용하는 인기 있는 SNARK 백엔드가 된다는 것입니다. Risc Zero와 같은 다른 팀은 일반적인 VM 전략을 연구합니다. 다른 사람들은 합계 검사 프로토콜을 기반으로 하는 Justin Thaler의 매우 효율적인 증명 시스템을 사용하여 사용자 정의 프레임워크를 만들고 있습니다 .
증명 생성 및 검증 시간은 증명을 생성하고 확인하는 하드웨어와 증명을 생성하는 회로의 크기에 따라 절대적으로 달라집니다. 하지만 여기서 주목해야 할 핵심은 프로그램이 무엇을 표현하든 증명의 크기는 항상 상대적으로 작기 때문에 증명을 확인하는 검증자의 부담이 제한된다는 것입니다. 그러나 여기에는 몇 가지 미묘함이 있습니다. FRI 기반 커밋 체계를 사용하는 Plonky2와 같은 증명 시스템의 경우 증명 크기가 증가할 수 있습니다. (Plonk 또는 Groth16과 같은 페어링 기반 SNARK로 래핑되지 않는 한 해당 크기는 명령문 복잡성으로 인해 커지지 않습니다.)
여기서 머신러닝 모델이 의미하는 바는 일단 모델을 정확하게 표현하는 증명 시스템을 설계하면 실제로 출력을 검증하는 데 드는 비용이 매우 저렴해진다는 것입니다. 개발자가 고려해야 할 가장 큰 것은 증명 시간과 메모리입니다. 모델을 상대적으로 빠르게 증명할 수 있는 방식으로 모델을 표현하고 이상적인 증명 크기는 몇 킬로바이트 정도입니다. 기계 학습 모델이 영지식 하에서 올바르게 작동하는지 증명하려면 모델 아키텍처(레이어, 노드 및 활성화 함수), 매개변수, 제약 조건 및 행렬 곱셈 연산을 인코딩하고 이를 회로로 표현해야 합니다. 여기에는 이러한 속성을 유한 필드에서 수행할 수 있는 산술 연산으로 분해하는 작업이 포함됩니다.
이 분야는 아직 초기 단계에 있습니다. 모델을 회로로 변환하는 동안 정확성과 충실도가 손상될 수 있습니다. 모델이 산술 회로로 표현되는 경우 앞서 언급한 모델 매개변수, 제약 조건 및 행렬 곱셈 연산에는 근사치와 단순화가 필요할 수 있습니다. 산술 연산이 증명의 유한 필드 요소로 인코딩되면 일부 정밀도가 손실될 수 있습니다(또는 이러한 최적화 없이는 현재 영지식 프레임워크를 사용하여 증명을 생성하는 비용이 엄청나게 높을 수 있습니다). 게다가 기계 학습 모델의 매개변수와 활성화는 정확성을 위해 32비트로 인코딩되는 경우가 많지만 오늘날의 영지식 증명은 상당한 오버헤드 없이 필요한 산술 회로 형식으로 32비트 부동 소수점 연산을 표현할 수 없습니다. 따라서 개발자는 32비트 정수가 8비트 정밀도로 변환된 양자화된 기계 학습 모델을 사용하도록 선택할 수 있습니다. 이러한 유형의 모델은 영지식 증명으로 유리하게 표현되지만 검증되는 모델은 고품질 초기 모델의 대략적인 근사치일 수 있습니다.
이 단계에서는 확실히 따라잡기 게임입니다. 영지식 증명이 더욱 최적화됨에 따라 기계 학습 모델은 더욱 복잡해집니다. 최적화를 위한 유망한 영역은 이미 많이 있습니다. 증명 재귀는 전체 증명 크기를 줄이고, 증명을 다음 증명의 입력으로 사용할 수 있도록 하여 증명 압축을 해제할 수 있습니다. 또한 부동 소수점 숫자를 영지식 친화적인 정수 표현으로 변환하는 변환기를 개선하는 Linear A의 Apache Tensor Virtual Machine(TVM) 포크와 같은 새로운 프레임워크도 있습니다. 마지막으로, a16z crypto에서는 향후 작업을 통해 SNARK에서 32비트 정수를 표현하는 것이 더 합리적이 될 것이라고 낙관하고 있습니다.
"규모"의 두 가지 정의
영지식 증명은 압축을 통해 확장됩니다. SNARK를 사용하면 매우 복잡한 시스템(가상 머신, 머신 러닝 모델)을 수학적으로 표현하여 검증 비용이 실행 비용보다 낮도록 할 수 있습니다. 반면, 머신 러닝은 확장을 통해 확장됩니다. 오늘날의 모델은 더 많은 데이터, 매개변수, GPU/TPU가 훈련 및 추론 프로세스에 참여함에 따라 더욱 향상됩니다. 중앙화된 기업은 사실상 무제한의 규모로 서버를 운영할 수 있습니다. API 호출에 대해 월별 요금을 청구하고 운영 비용을 충당합니다.
블록체인 네트워크의 경제적 현실은 거의 반대 방식으로 작동합니다. 즉, 개발자는 코드를 계산 가능하고 저렴하게 만들기 위해 코드를 최적화하도록 권장됩니다. 이러한 비대칭성은 큰 이점을 제공합니다. 즉, 시스템의 효율성을 높여야 하는 필요성을 보여주는 환경을 조성합니다. 우리는 블록체인이 기계 학습에서 제공하는 것과 동일한 이점, 즉 검증 가능한 소유권과 공유된 진실 개념을 요구하도록 추진해야 합니다.
블록체인이 zk-SNARK 최적화를 장려하는 동안 컴퓨팅의 모든 영역이 이익을 얻을 것입니다.
크레딧: Justin Thaler, Dan Boneh, Guy Wuollet, Sam Ragsdale, Ali Yahya, Chris Dixon, Eddy Lazzarin, Tim Roughgarden, Robert Hackett, Tim Sullivan, Jason Morton, Peiyuan Liao, Tarun Chitra, Brian Retford, Daniel Kang, Sun Yi, Anna Rose, Modulus Labs, DC 빌더.




