
원래 제목:Checks and balances: Machine learning and zero-knowledge proofs
원래 제목:
원작자: Elena Burger, a16z
원문 편집: The Way of DeFi
지난 몇 년 동안 블록체인의 영지식 증명은 (1) 트랜잭션을 오프체인에서 처리하고 메인넷에서 결과를 확인하여 컴퓨팅 제약이 있는 네트워크를 확장하고, (2) 다음을 통해 사용자 개인정보를 보호합니다. 암호 해독 키를 가진 사람만 볼 수 있는 보호된 트랜잭션을 구현합니다. 이러한 속성은 블록체인의 맥락에서 분명히 바람직합니다. 이더리움과 같은 분산형 네트워크는 유효성 검사기 처리 능력, 대역폭 및 대기 시간에 대한 수용할 수 없는 요구를 부과하지 않고는 처리량 또는 블록 크기를 늘릴 수 없습니다(따라서 유효성 롤이 필요함). 누구나(따라서 온체인 프라이버시 솔루션이 필요함).
그러나 영지식 증명은 기능의 세 번째 클래스에도 유용합니다. 모든 종류의 계산(오프체인에서 인스턴스화된 EVM의 계산뿐만 아니라)이 올바르게 실행되었는지 효율적으로 확인합니다. 이는 블록체인 외부 영역에도 큰 영향을 미칩니다.
이제 영지식 증명을 활용하여 컴퓨팅 성능을 간결하게 검증하는 시스템의 발전으로 인해 사용자는 블록체인이 모든 디지털 제품, 특히 기계 학습 모델에서 보장하는 것과 동일한 수준의 무신뢰 및 검증 가능한 검증 가능성을 요구할 수 있습니다. 블록체인 컴퓨팅에 대한 높은 수요로 인해 영지식 증명 연구에 박차를 가하여 더 작은 메모리 공간과 더 빠른 증명 및 검증 시간을 갖춘 최신 증명 시스템을 만들어 이제 특정 소형 기계 학습 알고리즘을 온체인에서 검증할 수 있게 되었습니다.
지금까지 우리 모두는 아마도 매우 강력한 기계 학습 제품과 상호 작용할 수 있는 잠재력을 경험했을 것입니다. 며칠 전 저는 체스에서 지속적으로 저를 이기는 AI를 만드는 데 GPT-4를 사용했습니다. 그것은 지난 수십 년 동안 기계 학습의 모든 발전의 시적인 축소판처럼 느껴집니다. IBM 개발자는 초당 거의 2억 번의 움직임을 평가할 수 있는 32노드 IBM RS/6000 SP 컴퓨터인 Deep Blue를 만드는 데 12년을 보냈습니다. 1997년 체스 챔피언 개리 카스파로프를 꺾은 대조적으로, 저를 능가하는 프로그램을 만드는 데 최소한의 코딩으로 몇 시간이 걸렸습니다.
인정하건대, 내가 만든 AI가 체스에서 Garry Kasparov를 이길 수 있을지는 의문이지만, 그건 요점을 벗어났습니다. 요점은 GPT-4를 가지고 놀아본 사람이라면 누구나 초강대국에 대해 비슷한 경험을 했을 가능성이 있다는 것입니다. 아주 적은 노력으로 자신의 능력에 가깝거나 그 이상의 무언가를 만들 수 있습니다. 우리는 모두 IBM 연구원이며 Garry Kasparov입니다.
분명히 흥미롭고 약간 벅차다. 암호화폐 산업에 종사하는 사람이라면 (기계 학습이 할 수 있는 일에 놀란 후) 자연스러운 반응은 중앙화에 대한 잠재적인 방법과 이러한 방법을 사람들이 투명하게 감사하고 네트워크를 소유할 수 있는 시스템으로 분산시키는 방법을 고려하는 것입니다. 오늘날 모델은 공개적으로 사용할 수 있는 방대한 양의 텍스트와 데이터를 흡수하여 생성되지만 현재 이러한 모델을 제어하고 소유하는 사람은 소수에 불과합니다. 보다 구체적으로 질문은 "인공 지능이 큰 가치가 있는지 여부"가 아니라 "이러한 시스템과 상호 작용하는 모든 사람이 경제적 이익을 얻고 원하는 경우 데이터가 특정 방식으로 사용되도록 이러한 시스템을 구축하는 방법입니다. 사생활에 대한 권리를 존중합니다."
최근 Chat-GPT와 같은 주요 AI 프로젝트의 개발을 일시 중지하거나 늦추라는 요구가 있습니다. 진행을 차단하는 것이 해결책이 아닐 수 있습니다. 더 나은 접근 방식은 오픈 소스 모델을 푸시하고 모델 제공자가 가중치 또는 데이터의 개인 정보를 보호하려는 경우 저장되는 개인 정보 보호 영지식 증명으로 보호하는 것입니다. 온체인 그리고 완전히 감사할 수 있습니다. 비공개 모델 가중치 및 데이터에 관한 후자의 사용 사례는 현재 온체인에서 아직 가능하지 않지만 영지식 증명 시스템의 발전으로 향후 이를 가능하게 할 것입니다.
검증 가능하고 소유 가능한 기계 학습
내가 Chat-GPT를 사용하여 구축한 체스 AI는 지금까지 비교적 무해한 것으로 보입니다. 비교적 일관된 프로그램을 출력하고 귀중한 지적 재산권을 위반하거나 개인 정보를 침해하는 데이터를 사용하지 않는 프로그램입니다. 그러나 API 뒤에서 실행하라는 지시를 받은 모델이 실제로 실행된 모델인지 확인하려는 경우는 어떻습니까? 또는 인증된 데이터를 모델 온체인에 공급하고 데이터가 실제로 합법적인 당사자로부터 온 것인지 확인하려면 어떻게 해야 합니까? 데이터를 제출하는 "사람"이 내 네트워크에서 비잔틴 공격을 시작하려는 봇이 아니라 실제로 사람인지 확인하려면 어떻게 해야 합니까? 영지식 증명과 임의의 프로그램을 간결하게 표현하고 검증하는 능력이 해결책입니다.
현재 온체인 기계 학습의 맥락에서 영지식 증명의 주요 용도는 올바른 계산을 확인하는 것입니다. 즉, 영지식 증명, 보다 구체적으로 SNARK(Succinct Non-Interactive Arguments of Knowledge)는 단순성 속성 때문에 기계 학습의 맥락에서 가장 유용합니다. 이는 영지식 증명이 증명자(및 증명자가 처리하는 데이터)를 엿보는 눈으로부터 보호하기 때문입니다. FHE(완전 동형 암호화), 기능 암호화 또는 TEE(신뢰할 수 있는 실행 환경)와 같은 개인 정보 보호 강화 기술은 신뢰할 수 없는 증명자가 개인 입력 데이터에서 계산을 실행하도록 하는 데 더 적합합니다(이러한 기술에 대한 자세한 논의는 이 문서 범위를 벗어납니다). .
한 걸음 물러서서 영지식으로 표현할 수 있는 기계 학습 응용 프로그램의 유형을 개략적으로 살펴보겠습니다(영지식에 대한 자세한 내용은 영지식 증명 알고리즘 개선에 대한 기사 참조). 및 하드웨어, 그리고 SNARK 성능에 대한 Justin Thaler의 연구를 확인하거나 영지식 교과서를 확인하십시오. 영지식 증명은 일반적으로 프로그램을 산술 회로로 나타냅니다. 이러한 회로를 사용하여 증명자는 공개 및 비공개 입력에서 증명을 생성하고 검증자는 수학적 계산을 수행하여 비공개 입력에 대한 정보를 수집하지 않고 이 문의 출력이 올바른지 확인합니다. .
우리는 아직 온체인 영지식 증명을 사용하여 계산을 검증하는 초기 단계에 있지만 알고리즘 개선은 실현 가능한 범위를 확장하고 있습니다. 다음은 기계 학습에 영지식 증명을 적용하는 5가지 방법입니다.1. 모델 진정성:
엔터티가 실행했다고 주장하는 기계 학습 모델이 실제로 실행된 모델인지 확인하려고 합니다. 예를 들어 특정 모델이 API 뒤에 있는 경우 저렴하고 덜 정확한 버전, 더 비싸고 더 성능이 좋은 버전과 같이 특정 모델을 제공하는 엔티티의 여러 버전이 있을 수 있습니다. 증거가 없으면 귀하가 더 비싼 버전을 실제로 지불했을 때 공급자가 더 저렴한 모델을 제안했는지 알 수 있는 방법이 없습니다(예: 공급자가 서버 비용을 절감하고 수익 마진을 개선하기를 원함).
이렇게 하려면 각 모델 인스턴스에 대해 별도의 증명이 필요합니다. 실용적인 접근 방식은 Dan Boneh, Wilson Nguyen 및 Alex Ozdemir의 Functional Commitment Framework, 모델 소유자가 모델 소유자가 자신의 데이터를 입력할 수 있는 모델에 커밋할 수 있도록 하는 SNARK 기반 영지식 커밋 체계입니다. 실행한 모델입니다. Risc Zero(범용 STARK 기반 가상 머신)를 기반으로 하는 일부 응용 프로그램도 이를 구현합니다. Daniel Kang, Tatsunori Hashimoto, Ion Stoica 및 Yi Sun의 추가 연구에 따르면 ImageNet 데이터 세트에서 92%의 정확도로 효율적인 추론을 검증할 수 있습니다(최고 성능의 비영지식 검증 ImageNet 모델과 비교할 수 있음).
그러나 단순히 제출된 모델이 실행되었다는 증거를 받는 것만으로는 충분하지 않습니다. 모델은 주어진 프로그램을 정확하게 나타내지 않을 수 있으므로 제3자가 제출된 모델을 검토하기를 원할 것입니다. 기능적 커밋을 통해 증명자는 커밋된 모델을 사용한다는 것을 증명할 수 있지만 커밋된 모델에 대한 정보를 보장하지는 않습니다. 영지식 증명이 증명 교육을 위해 충분히 잘 수행될 수 있다면(아래 예 #4 참조) 미래에도 이러한 보장을 받기 시작할 수 있습니다.2. 모델 무결성:
동일한 기계 학습 알고리즘이 다른 사용자의 데이터에서 동일한 방식으로 작동하는지 확인하려고 합니다. 이는 신용 점수 결정 및 대출 신청과 같이 임의의 편견을 적용하지 않으려는 영역에서 유용합니다. 이를 달성하기 위해 함수 약속을 사용할 수도 있습니다. 이렇게 하려면 모델과 해당 매개변수를 커밋하고 사람들이 데이터를 제출하도록 허용해야 합니다. 출력은 모델이 각 사용자의 데이터에 대해 커밋된 매개 변수로 실행되는지 확인합니다. 또는 모델과 해당 매개변수를 공개하고 사용자가 자신의(인증된) 데이터에 적절한 모델과 매개변수를 적용했음을 스스로 증명할 수 있습니다. 이는 법률에 의해 비공개로 유지되도록 환자에 대한 특정 정보가 요구되는 의료 분야에서 특히 유용할 수 있습니다. 미래에는 완전한 개인 정보 보호 상태에서 실시간 사용자 데이터로부터 학습하고 개선할 수 있는 의료 진단 시스템을 가능하게 할 수 있습니다.3. 인증:
외부 검증 당사자(예: 디지털 서명을 생성할 수 있는 디지털 플랫폼 또는 하드웨어 장치)의 인증을 온체인 또는 다른 유형의 스마트 계약을 실행하는 모델에 통합하려고 합니다. 이를 위해 영지식 증명을 사용하여 서명을 확인하고 증명을 프로그램에 대한 입력으로 제공합니다. Anna Rose와 Tarun Chitra는 최근 Daniel Kang과 Yi Sun이 출연하는 영지식 팟캐스트를 진행하여 이 분야의 최신 발전에 대해 논의했습니다.
구체적으로 Daniel과 Yi는 최근 인증된 센서가 장착된 카메라로 촬영한 이미지가 자르기와 같은 변형을 거쳤는지 확인하는 방법에 대한 연구를 발표했습니다. Dan Boneh와 Trisha Datta는 영지식 증명을 사용하여 이미지의 출처를 확인하는 유사한 연구를 수행했습니다.
그러나 보다 광범위하게는 디지털 인증 메시지가 이 검증 형식의 후보가 됩니다. 모든 서명된 끝점(예: 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은 사용자를 위한 고유한 홍채 코드를 생성하여 공격 저항을 보장하는 사람 증명 프로토콜을 통해 이를 달성합니다. 결정적으로 WorldID용으로 생성된 개인 키(및 Worldcoin 사용자용으로 생성된 암호화된 지갑용 기타 개인 키)는 프로젝트의 안구 스캐너에서 로컬로 생성된 홍채 코드와 완전히 분리되어 있습니다. 이러한 분리는 누군가에게 귀속될 수 있는 모든 형태의 사용자 키에서 생체 인식 식별자를 완전히 분리합니다. Worldcoin은 또한 응용 프로그램이 사용자가 WorldID로 로그인할 수 있게 하고 영지식 증명을 활용하여 응용 프로그램이 사람이 WorldID를 가지고 있는지 확인할 수 있도록 허용함으로써 개인 정보를 보호하는 SDK를 내장할 수 있도록 허용하지만 개별 사용자 추적은 허용하지 않습니다(이 블로그 참조). 자세한 내용은 기사 참조).
이 예제는 약하고 악의적인 AI에 대해 영지식 증명의 개인 정보 보호 속성을 사용하는 형태이므로 위의 다른 예제와 다릅니다(예: 로봇이 아닌 실제 인간임을 증명하면서 아무것도 공개하지 않음). 자신) 정보)는 매우 다릅니다.
모델 아키텍처 및 과제
SNARK(Succinct Non-Interactive Arguments of Knowledge)를 구현하는 증명 시스템의 혁신은 많은 기계 학습 모델을 온체인으로 가져오는 핵심 동인이었습니다. 여러 팀이 기존 아키텍처(Plonk, Plonky 2, Air 등 포함)에서 맞춤형 회로를 만들고 있습니다. 맞춤형 회로 측면에서 Halo 2는 Daniel Kang 등의 작업과 Jason Morton의 EZKL 프로젝트에서 널리 사용되는 백엔드가 되었습니다. Halo 2의 증명 시간은 거의 선형이며 증명 크기는 일반적으로 몇 킬로바이트에 불과하며 검증 시간은 일정합니다. 아마도 더 중요한 것은 Halo 2에는 강력한 개발자 도구가 있어 SNARK 백엔드 개발자가 사용하기 좋아한다는 것입니다. Risc Zero와 같은 다른 팀은 일반적인 VM 전략을 추구하고 있습니다. 다른 팀은 sum-check 프로토콜을 기반으로 하는 Justin Thaler의 매우 효율적인 증명 시스템을 사용하여 맞춤형 프레임워크를 만들고 있습니다.
증명 생성 및 검증 시간은 증명을 생성하고 확인하는 하드웨어와 증명을 생성하는 회로의 크기에 전적으로 의존합니다. 그러나 여기서 주목해야 할 핵심 사항은 표현된 프로그램에 관계없이 증명의 크기는 항상 상대적으로 작기 때문에 증명을 검증하는 검증자의 부담은 제한적이라는 것입니다. 그러나 여기에는 미묘함이 있습니다. FRI 기반 약정 체계를 사용하는 Plonky 2와 같은 증명 시스템의 경우 증명 크기가 증가할 수 있습니다. (Plonk 또는 Groth 16과 같은 페어링 기반 SNARK 래퍼가 마지막에 사용되지 않는 한 이러한 증명은 증명되는 진술의 복잡성과 함께 증가하지 않습니다.)
기계 학습 모델의 의미는 일단 모델을 정확하게 나타내는 증명 시스템이 설계되면 출력을 실제로 검증하는 비용이 매우 저렴하다는 것입니다. 개발자에게 가장 중요한 고려 사항은 증명 시간과 메모리입니다. 상대적으로 빠르게 증명할 수 있는 방식으로 모델을 표현하고 증명 크기는 이상적으로 몇 킬로바이트 정도입니다. 영지식 조건에서 기계 학습 모델의 올바른 실행을 시연하려면 모델 아키텍처(레이어, 노드 및 활성화 함수), 매개변수, 제약 조건 및 행렬 곱셈 연산을 회로로 인코딩하고 표현해야 합니다. 여기에는 이러한 속성을 유한 필드에서 수행할 수 있는 산술 연산으로 분해하는 작업이 포함됩니다.
이 분야는 아직 초기 단계입니다. 모델을 회로로 변환하는 동안 정확도와 충실도가 저하될 수 있습니다. 모델이 산술 회로로 표현될 때 앞서 언급한 모델 파라미터, 제약 조건 및 행렬 곱셈 연산은 근사 및 단순화가 필요할 수 있습니다. 유한한 증명 필드의 요소로 산술 연산을 인코딩할 때 일부 정밀도가 손실될 수 있습니다(또는 이러한 최적화 없이 증명을 생성하는 비용은 현재 영지식 프레임워크에서 압도적일 것입니다). 또한 기계 학습 모델의 매개변수 및 활성화는 정밀도를 높이기 위해 종종 32비트로 인코딩되지만 오늘날의 영지식 증명은 엄청난 오버헤드를 발생시키지 않고 필요한 산술 회로 형식으로 32비트 부동 소수점 연산을 표현할 수 없습니다. 따라서 개발자는 32비트 정수가 8비트 정밀도로 변환된 양자화된 기계 학습 모델을 사용하도록 선택할 수 있습니다. 이러한 유형의 모델은 영지식 증명으로 유리하게 표현되지만 검증되는 모델은 더 높은 품질의 초기 모델에 대한 대략적인 근사일 수 있습니다.
이 단계에서는 정말 따라잡기 게임입니다. 영지식 증명이 더욱 최적화됨에 따라 기계 학습 모델은 더욱 복잡해집니다. 이미 몇 가지 유망한 최적화 영역이 있습니다. 증명 재귀는 증명을 다음 증명에 대한 입력으로 사용하여 증명 압축을 가능하게 함으로써 전체 증명 크기를 줄일 수 있습니다. 또한 부동 소수점 숫자를 영지식 정수 표현으로 변환하는 변환기를 도입하는 Apache Tensor Virtual Machine(TVM)의 Linear A 포크와 같은 새로운 프레임워크도 있습니다. 마지막으로, 우리 a16z crypto는 SNARK에서 32비트 정수를 표현하는 것을 보다 합리적으로 만드는 향후 작업에 대해 낙관적입니다.
"확장"의 두 가지 정의 영지식 증명은 압축을 통해 확장됩니다. SNARK를 사용하면 검증 비용이 실행 비용보다 낮은 매우 복잡한 시스템(예: 가상 머신 또는 머신 러닝 모델)을 수학적으로 표현할 수 있습니다. 그것. 반면 머신 러닝은 확장을 통해 확장됩니다. 오늘날의 모델은 훈련 및 추론 프로세스에 관련된 더 많은 데이터, 매개변수, GPU/TPU로 더 좋아집니다. 중앙 집중식 회사는 사실상 무제한 규모로 서버를 실행할 수 있습니다. API 호출에 대한 월별 요금을 청구하고 운영 비용을 지불합니다.
블록체인 네트워크의 경제적 현실은 거의 정반대입니다. 개발자는 온체인에서 실행할 수 있고 저렴하게 코드를 최적화하도록 인센티브를 받습니다. 이 비대칭성은 엄청난 이점이 있습니다. 증명 시스템의 효율성을 개선해야 하는 환경을 조성합니다. 우리는 블록체인이 제공하는 것과 동일한 이점, 즉 검증 가능한 소유권과 진실에 대한 공유 인식을 기계 학습에서 주장해야 합니다.
블록체인이 zk-SNARK 최적화를 장려하는 동안 컴퓨팅의 모든 영역이 혜택을 볼 것입니다.