학습 차원에서 틈틈이 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 번역 또는 요약 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제대로 번역되지 않은 부분은 확인 주시면 반영토록 하겠습니다. 번역 과정에서 의미 전달이 애매한 일부 문장은 삭제했습니다. 이번 글은 초기 단게 크립토 스타트업 투자 회사 1kx 웹사이트에 올라온 글을 정리한 것입니다.
zkSNARK를 통한 머신러닝(ML) 모델 추론 증명은 지난 10년간 스마트 컨트랙트에서 가장 중요한 발전 중 하나가 될 것이다. 이러한 발전은 애플리케이션과 인프라가 더욱 복잡하고 지능적인 시스템으로 진화할 수 있도록 설계 공간을 넓혀준다.
머신러닝 기능을 추가하면 스마트 컨트랙트를 보다 자율적이고 동적으로 만들 수 있으며, 정적인 규칙이 아닌 실시간 온체인 데이터 기반으로 의사결정을 내릴 수 있다. 스마트 컨트랙트는 처음 만들어졌을 때는 예상하지 못했던 시나리오들을 포함해 다양한 시나리오들에 유연하게 적응할 수 있다. 다시 말해 머신러닝 기능은 온체인 스마트 컨트랙트 자동화, 정확성, 효율성, 유연성을 확장할 것이다.
웹 3.0을 제외한 대부분의 애플리케이션들에서 ML이 널리 사용되고 있는 상황에서 오늘날 스마트 컨트랙트가 임베디드 ML 모델을 사용하지 않는다는 것은 여러모로 놀라운 일이다. ML을 사용하지 않는 이유는 이들 모델을 온체인에서 실행하는 데 드는 높은 계산 비용 때문이었다. 예를 들어, 연산에 최적화된 언어 모델인 FastBERT는 약 ,800 MFLOPS(백만 부동소수점 연산)를 사용하는데, 이는 EVM에서 직접 실행하기는 불가능하다.
ML 모델을 온체인에 적용하는 것을 고려할 때, 핵심은 추론 단계, 즉 실제 데이터에 대한 예측을 위해 모델을 적용하는 것이다. ML 확장(ML-scaled) 스마트 컨트랙트를 사용하려면 컨트랙트가 이러한 예측들을 소화할 수 있어야 하지만, 앞서 언급했듯 EVM에서 직접 모델을 실행하는 것은 불가능하다. 누구나 오프체인에서 모델을 실행하고 모델이 실제로 특정 결과를 생성했음을 보여주는 간결하고 검증 가능한 증명을 생성할 수 있는 zkSNARK가 해결책을 제시한다. 이 증명은 온체인에 게시되고 스마트 컨트랙트가 지능을 증폭시키는데 활용될 수 있다.
머신러닝에 대한 간단한 입문
머신 러닝(ML)은 컴퓨터가 데이터를 기반으로 학습하고 예측 또는 의사 결정을 내릴 수 있도록 하는 알고리즘과 통계 모델을 개발하는 데 초점이 맞춰진 인공지능(AI) 하위 분야다. ML 모델에는 일반적으로 세 가지 주요 구성 요소들이 있다.
학습 데이터: 머신 러닝 알고리즘을 학습시켜 예측을 하거나 새로운 데이터를 분류하는 데 사용되는 입력 데이터셋이다. 학습 데이터는 이미지, 텍스트, 오디오, 숫자 데이터 또는 이들들 조합한 것과 같은 다양한 형태를 취할 수 있다.
모델 아키텍처: 머신 러닝 모델 전체적인 구조 또는 디자인이다. 모델 아키텍처는 레이어들 유형과 개수, 활성화 함수, 노드 또는 뉴런 간 연결을 정의한다. 아키텍처 선택은 특정 문제와 사용되는 데이터에 따라 달라진다.
모델 매개변수: 모델이 예측을 하기 위해 학습 과정에서 학습하는 값 또는 가중치다. 이러한 값은 최적화 알고리즘을 통해 반복적으로 조정돼 예측 결과와 실제 결과 사이 오차를 최소화한다.
모델은 두 단계로 제작 및 배포된다.
학습 단계: 훈련 중에 모델은 레이블이 지정된 데이터셋에 노출되고 매개변수를 조정해 예측 결과와 실제 결과 사이 오차를 최소화한다. 훈련 프로세스에는 일반적으로 여러 반복 또는 에포크(epochs)들이 포함되며 모델 정확도는 별도 검증셋에서 평가된다.
추론 단계: 추론 단계는 학습된 머신 러닝 모델을 사용해 보이지 않는 새로운 데이터를 예측하는 단계다. 모델은 입력 데이터를 받아 학습된 파라미터를 적용해 분류 또는 회귀 예측과 같은 출력을 생성한다.
현재 zkML은 주로 회로 내(in-circuit.) 학습 검증 계산 복잡성 때문에 학습 단계보다는 ML 모델 추론 단계에 초점이 맞춰져 있다. 하지만 추론 검증에 초점을 맞추는 것이 zkML의 한계는 아니며, 추론 단계에서 매우 흥미로운 사용 사례와 애플리케이션이 만들어질 것으로 기대된다.
검증된 추론 시나리오들(Verified Inference Scenarios)
검증된 추론에는 네 가지 가능한 시나리오들이 있다.
비공개 입력, 공개 모델(Private Input, Public Model). 모델 소비자(MC)는 모델 제공자(MP)로부터 자신의 입력한 것을 비공개로 유지하기를 원할 수 있다. 예를 들어, MC는 개인 금융 정보를 공개하지 않고 신용 점수 모델 결과를 대출 기관에 증명하기를 원할 수 있다. 이는 사전 약정 체계(pre-commitment scheme)를 사용해 모델을 로컬에서 실행하는 방식으로 수행할 수 있다.
공개 입력, 비공개 모델(Public Input, Private Model) 서비스형 머신러닝에서 일반적인 문제는 MP가 자신이 보유한 IP를 보호하기 위해 매개변수나 가중치를 숨기고 싶어 할 수 있고, MC는 생성된 추론이 실제로 적대적 환경에서 지정된 모델에서 나온 것인지 확인하고자 한다는 것이다. MP는 MC에 추론을 제공할 때 비용을 절감하기 위해 더 가벼운 모델을 실행하려는 인센티브가 있다. 온체인에서 모델 가중치 약정(a commitment of the model weight)을 사용하면 MC는 언제든지 프라이빗 모델을 감사할 수 있다.
비공개 입력, 비공개 모델(Private Input, Private Model) 이 시나리오는 추론에 사용되는 데이터가 매우 민감하거나 기밀이며, IP를 보호하기 위해 모델 자체가 숨겨져 있을 때 나온다. 예를 들어 개인 환자 정보를 사용해 의료 모델을 감사하는 경우를 들 수 있다. 이 시나리오를 서비스하기 위해 zk 구성 기법이나 다자간 계산(MPC) 또는 완전동형암호(fully homomorphic encryption, FHE) 변형을 사용할 수 있다.
공개 입력, 공개 모델(Public Input, Public Model).모델에서 모든 측면들이 공개될 수 있는 경우, zkML은 오프체인 계산을 온체인 환경으로 압축하고 검증하는 사용 사례를 해결한다. 대규모 모델의 경우, 모델을 직접 다시 실행하는 것보다 추론에 대한 간결한 zk 증명을 검증하는 것이 더 비용 효율적이다.
응용 분야 및 기회들
검증된 머신러닝 추론은 스마트 컨트랙트를 위한 새로운 설계 공간을 열어준다.
DeFi
검증 가능한 오프체인 ML 오라클. 생성 AI를 지속적으로 도입하면 업계에서 콘텐츠에 대한 서명 체계를 구현하는 데 도움이 될 수 있다(예: 기사나 이미지에 서명하는 뉴스 출판물). 서명된 데이터는 ZK를 지원하며 데이터를 컴포저블하고 신뢰할 수 있게 만든다. ML 모델은 이 서명된 데이터를 오프체인에서 처리해 예측 및 분류(예: 선거 결과 또는 날씨 이벤트 분류)할 수 있다. 이러한 오프체인 ML 오라클은 추론을 검증하고 온체인에 증명을 게시함으로써 실제 예측 시장, 보험 프로토콜 계약 등을 신뢰 없이 해결하는 데 사용될 수 있다.
ML 매개변수화된 DeFi 애플리케이션. DeFi 많은 측면들이 더욱 자동화될 수 있다. 예를 들어, 대출 프로토콜은 ML 모델을 사용해 실시간으로 파라미터를 업데이트할 수 있다. 오늘날 대출 프로토콜은 주로 기관들이 운영하는 오프체인 모델을 신뢰해 담보율, 담보인정비율(LTV), 청산 한도 등을 결정하지만 누구나 실행하고 검증할 수 있는 커뮤니티에서 학습된 오픈소스 모델을 사용하는 것이 더 나은 대안이 될 수 있다.
자동화된 트레이딩 전략. 금융 모델 전략에서 수익률 프로필을 보여주는 일반적인 방법은 MP가 투자자에게 다양한 백테스트를 제공하는 것이다. 그러나 트레이딩을 실행할 때 전략가가 모델을 따르고 있는지 확인할 방법이 없어 투자자는 전략가가 실제로 모델을 따르고 있다고 믿어야 한다. zkML은 특정 포지션에 배치할 때 MP가 금융 모델 추론에 대한 증거를 제공할 수 있는 솔루션을 제공한다. 이는 특히 매니지드 디파이 볼트(DeFi managed vaults)에 유용할 수 있다.
보안
스마트 컨트랙트에 대한 사기 모니터링. 사람들에 의한 느린 거버넌스나 중앙 집중식 행위자들이 계약 일시 중지 기능을 제어하는 대신 ML 모델을 사용해 가능한 악의적인 행동을 감지하고 일시 중지를 시행할 수 있다.
전통적인 머신러닝
탈중앙화된 신뢰가 필요 없는 Kaggle 구현. MP가 모델 가중치를 공개하지 않고도 MC 또는 기타 이해관계자들이 모델 정확성을 검증할 수 있는 프로토콜 또는 마켓플레이스를 만들 수 있다. 이는 모델 판매, 모델 정확도 관련 대회 운영 등에 유용할 수 있다.
생성 AI를 위한 탈중앙화된 프롬프트 마켓플레이스. 생성 AI를 위한 프롬프트 생성은 정교한 기술로 발전해 왔으며, 최상의 결과물을 생성하는 프롬프트는 많은 수식어가 포함된 복잡한 경우가 많다. 외부 누군가는 이러한 정교한 프롬프트를 제작자로부터 구매할 의향이 있을 수 있다. zkML은 여기서 두 가지 방식으로 사용할 수 있다.: 1) 프롬프트 출력을 검증해 잠재적 구매자에게 프롬프트가 실제로 원하는 이미지를 생성하는지 확인하고, 2) 프롬프트 소유자가 구매자로부터 프롬프트를 난독화하면서 구매자를 위해 검증된 이미지를 계속 생성해 구매 후에도 소유권을 유지할 수 있도록 하는 것이다.
신원
개인 키를 개인 정보 보호 생체 인증으로 대체. 개인 키 관리는 웹 3.0 UX에서 여전히 가장 큰 마찰 중 하다. 안면 인식이나 기타 고유한 요소를 통해 개인키를 추상화하는 것은 zkML에서 가능한 해결책 중 하나다.
공정한 에어드랍과 기여자 보상. ML 모델을 사용해 여러 요소들에 따라 에어드랍 할당 또는 기여 보상을 결정하는 사용자의 상세한 페르소나를 생성할 수 있다. 이는 신원 솔루션과 결합할 경우 특히 강력할 수 있다.
애플리케이션 참여를 평가하는 오픈 소스 모델을 실행해 사용자에 대한 할당을 추론하도록 하는 것이 한 가지 가능성이 될 수 있다. 그런 다음 이 증거를 컨트랙트에 제공해 토큰 할당을 받을 수 있다.
웹 3.0 소셜
웹 3.0 소셜 미디어에 대한 필터링. 웹 3.0 소셜 애플리케이션은 탈중앙화 특성으로 인해 스팸과 악성 콘텐츠가 더 많이 발생할 수 있다. 이상적으로는 소셜 미디어 플랫폼이 커뮤니티에서 합의한 오픈 소스 머신러닝 모델을 사용하고 게시물을 필터링할 때 모델 추론에 대한 증거를 게시할 수 있다.
광고/추천. 소셜 미디어 사용자로서 개인 맞춤형 광고를 보고 싶지만 광고주로부터 내 선호도와 관심사를 비공개로 유지하고 싶을 수 있다. 내 취향에 대한 모델을 로컬에서 실행해 미디어 애플리케이션에 공급해 콘텐츠를 제공하도록 선택할 수 있다. 이 시나리오에서 광고주는 최종 사용자에게 기꺼이 비용을 지불할 수 있지만, 이들 모델은 현재 제작 중인 타겟 광고 모델보다 훨씬 덜 정교할 가능성이 높다.
크리에이터 경제/게임
게임 내 경제 재조정. ML 모델은 토큰 발행, 공급, 소각, 투표 임계값 등을 동적으로 조정하는 데 사용될 수 있다. 한 가지 가능한 모델은 특정 재조정 임계값이 충족되고 추론 증명이 확인되면 게임 내 경제를 재조정하는 인센티브형 계약이다. 새로운 유형 온체인 게임. 인간과 AI 협동 게임과 기타 혁신적인 온체인 게임들에서 신뢰가 필요 없는 AI 모델이 비플레이어 캐릭터 역할을 할 수 있다. NPC가 취하는 각 행동은 누구나 확인할 수 있는 증명과 함께 체인에 게시돼 올바른 모델이 실행되고 있는지 확인할 수 있다. 모듈러스 랩스 '릴라 대 더 월드'의 경우, 검증자는 매그너스 칼슨이 아닌 명시된 1900 ELO AI가 체스 수를 선택하는지 확인한다. 또 다른 예로는 슈퍼 스매시 브라더스 스타일의 AI 격투 게임인 AI 아레나가 있다. 높은 판돈이 걸린 경쟁 환경에서 플레이어들은 학습된 모델에 간섭이나 부정 행위가 없는지 확인하고 싶어 할 것이다.