들어가며
해당 글은 이번 학기에 듣는 ‘프로젝트 랩’이라는 수업의 프로젝트 제안서이다. 한 줄로 요약하자면, 나는 이번 프로젝트를 통해서 vFHE에 대해서 배우고, 이를 통해서 어떻게 머신러닝에서 프라이버시를 높일 수 있을지 공부해보려고 한다. vFHE는 verifiable FHE로, 말 그대로 검증가능한(verifiable) 형태의 완전 동형 암호화(FHE)을 의미하고, ‘검증가능함’은 영지식증명(ZKP)를 통해서 구현한다.
솔직히 말해서, 나는 학부 2학년까지 하고, 군대갔다와서 줄곧 블록체인만 보다가 이번에 복학하였기 때문에, FHE, ZKP는 물론 머신러닝 자체도 자세히 알지 못하고, 대충 어떤 식으로 돌아가고, 어떻게 쓰이는지 정도만 아는 ‘아는게 없는 상태’이다. 또한, 10주라는 기간도, 결과물을 내기에는 굉장히 짧은 시간이고, 이 외에도 많은 수업들이 있기 때문에, 현실적으로 들일수 있는 시간에는 한계가 있다. 따라서, 이 프로젝트가 성공할 확률은 매우 희박하고, 하고자하는 범위 자체도 너무 넓다고 생각한다. 하지만, 일부로 목표를 과하게 높게 잡은 이유는 해당 시도 자체가 하방은 낮지 않고, 상방은 무한히 열려있는 비대칭 베팅이기 때문이다.
- 프로젝트가 완전히 폭망한 최악의 시나리오를 상상해보면, 나는 F 학점과 함께 어느정도의 FHE, ZKP, ML에 대한 지식을 얻었을 것이다. 이때 나는 재수강하면 그만이고, 실제 프로젝트가 이니기 때문에, 내가 회사에서 짤린다거나, 내가 아닌 누군가가 피해를 보는 등의 상황은 발생하지 않기에 나로써는 하방은 그렇게 낮지 않다.
- 반대로, 내가 vFHE에 대해서 어느정도 감을 잡은 최상의 시나리오를 상상해보면, 이를 통해서 얻을 수 있는 부가가치는 상상할 수 없다. 예를 들어, 만약 내가 취향에 맞는 분야를 발견한거라면, 이게 내 커리어에 영향을 줄 수도 있을 것이다. 그렇지 않더라도, 크립토 산업에서 FHE, ZKP, ML과 관련된 프로젝트를 볼때 이번 경험이 큰 도움이 될 것이다. 따라서, 상방은 매우 높다.
나의 10주 계획은 다음과 같다.
- Week1: 기존에 존재하는 FHE 방법론, 라이브러리, 컴파일러 탐구 및 비교하고 하나 고르기
- Week 2: 고른 해당 기술에 대해서 깊게 공부하고 이해하기
- Week3: 고른 기술을 가지고 실제로 ML 모델에 FHE 적용해보기
- Week4,5,6: 앞선 주에 했던 것을 ZKP에 반복하기
- Week7: 현존하는 vFHE에 대한 연구들을 살펴보고, 그 중에서 내가 가장 현실적으로 구현할 수 있는 방법론을 하나 고르기
- Week8: 해당 방법론 공부하기
- Week9: 최종 목표인 vFHE를 내가 만든 ML 모델 예시에 적용하기
- Week10: 보고서 및 발표 자료 작성하기
아래는 내가 작성한 프로젝트 제안서 전문 중에서 개인정보나 불필요한 부분을 제외한 것이다. 영어로 작성한 것을 번역한 것이기 때문에, 번역이 좀 어색할 수 있다.
머신 러닝의 프라이버시 향상을 위한 검증가능한 완전 동형 암호학(vFHE) 탐구
0. 초록
이 프로젝트는 기계 학습(ML)에서 개인 정보 보호를 강화하기 위해 검증 가능한 완전 동형 암호화(vFHE)의 구현을 탐구합니다. 인공 지능 모델의 중앙 집중화가 증가함에 따라, 개인 정보 보호 기계 학습의 중요성이 커지고 있습니다. 우리는 차등 프라이버시(Differential Privacy), 연합 학습(Federated Learning), 영지식 증명(Zero-knowledge proof)와 같은 기존 기술들을 검토하지만, 암호화된 데이터 처리 및 개인 정보 보호에 있어 그 적용 가능성 때문에 FHE에 중점을 둡니다. 이 프로젝트는 ML 맥락에서 FHE와 ZKP를 이해하는 것, 그리고 vFHE를 탐구하는 세 부분으로 구성됩니다. vFHE는 아직 초기 단계이며 그 실용적 구현이 아직 미비한 상태이지만, 헬스케어 및 금융과 같은 분야에서의 그 잠재력은 상당합니다. 이 연구는 현재의 FHE, ZKP, vFHE에 대한 연구를 종합하여, 개인 정보 보호 기계 학습에서의 미래 발전을 위한 기반을 제공하는 것을 목표로 합니다.
1. 서론
1.1. 문제
가까운 미래에, 인공 지능 모델은 우리 일상 생활에서 필수적인 서비스가 될 것입니다. 이미 인공 지능 모델은 우리의 업무 과정에 큰 영향을 미치고 있으며, 인간들은 그들의 생각과 행동 방식에서 AI 모델에 점점 의존하게 될 것입니다. 페이스북과 구글과 같은 디지털 독점 기업들이 인터넷 공간을 지배했듯이, 광범위한 계산 자원과 데이터 셋이 필요하기 때문에, AI 모델이 소수의 회사에 집중될 것이라고 생각하는 것은 합리적입니다. 만약 우리가 AI가 사치품이 아니라 일상 생활에서 필수적이라는 데 동의한다면, 소수의 실체에 AI가 집중되는 것은 몇 가지 중대한 우려를 제기합니다.
위에서 언급했듯이, 개인과 소규모 조직들은 자신들만의 모델을 개발하고 운영할 충분한 계산 자원과 데이터 세트를 갖고 있지 않습니다. 이는 세계 대부분의 사람들이 구글, OpenAI, 아마존과 같은 몇몇 대기업에 계산을 아웃소싱하여 AI 모델을 사용하게 될 것임을 의미합니다. 예를 들어, 현재 저는 ChatGPT4에 데이터를 요청하고 제공함으로써 인공 지능 모델의 추론을 사용하고 있습니다. 당신이 예상 할 수 있듯이, 특히 AI에 대한 계산의 아웃소싱은 무단 액세스, 데이터 유출 및 오용을 포함한 다양한 위협에 취약점을 노출시킵니다. 게다가 이러한 위험이 완화되지 않는다면, 사람들의 삶의 질을 크게 향상시킬 수 있는 의료 및 금융과 같은 보다 프라이버시와 보안에 민감한 분야로 AI의 사용을 확장하는 것은 꽤 어려울 것입니다.
1.2 기존 접근법의 한계점
따라서, 모델 중앙 집중화와 아웃소싱된 계산의 불가피성으로 인해, 개인 정보 보호 기계 학습(PPML)은 점점 더 중요한 주제가 되고 있습니다. 현재의 PPML 기술을 살펴보고, 이 프로젝트에서 왜 영지식 증명(ZKP)과 완전 동형 암호화(FHE)에 초점을 맞출 계획인지 설명하겠습니다.
1. 차등 프라이버시 (DP)
DP는 데이터 셋과 추론 결과에 노이즈를 추가하여 개별 데이터의 결과 값을 숨깁니다. DP는 개별 데이터 포인트의 프라이버시를 보장하면서 추론의 정확성에 큰 영향을 미치지 않습니다. DP의 장점은 구현이 쉽고, 알고리즘에 독립적으로 적용할 수 있으며, 프라이버시 정도를 명시적으로 수정할 수 있다는 것입니다. 하지만, DP의 단점은 훈련 과정에서 여전히 개인 데이터에 대한 접근이 필요하며 정확성, 프라이버시 보호, 실행 시간 간의 불가피한 절충이 있다는 것입니다.
2. 연합 학습 (FL)
FL은 여러 서버에서 모델을 훈련하는 ML 접근 방식이며, 각 서버는 로컬 개인 데이터를 보유합니다. 서버들은 로컬 데이터로 모델을 훈련하고 중앙 서버는 이러한 업데이트를 집계하여 글로벌 모델을 개선합니다. FL의 장점은 로컬 데이터가 결코 공유되지 않고 병렬 계산을 통해 효율적으로 리소스를 활용할 수 있다는 것입니다. 그러나 FL의 단점은 각 로컬 서버와 글로벌 모델을 공유해야 하며, 최근 연구는 그래디언트 공유와 같은 메커니즘이 잠재적인 데이터 유출로 이어질 수 있음을 보여줍니다.
3. 완전 동형 암호화 (FHE)
FHE는 복호화의 필요 없이 암호화된 데이터에서 계산을 수행할 수 있습니다. 예를 들어, ML 모델에 데이터를 보내기 전에 개인 데이터를 암호화할 수 있고, 모델 소유자는 암호화된 데이터에서 추론을 수행합니다. 모델 소유자가 추론을 다시 보내면, 비밀 키로 복호화할 수 있고 결과는 일반 추론과 동일할 것입니다. FHE의 장점은 데이터와 모델 개인 정보를 모두 보장할 수 있으며 양자 내성(quantum resistance)이 있다는 것입니다. 그러나 FHE의 단점은 검증 가능성을 제공하지 않아 계산이 올바르게 수행되었다는 것을 신뢰해야 하며, 상대적으로 느린 속도와 큰 메모리 요구 사항이 있습니다.
4. 영지식 증명 (ZKP)
ZKP는 증명자 P가 검증자 V에게 추가 정보를 공개하지 않고도 주장의 옳음에 대해서 확신시킬 수 있습니다. 영지식 기계 학습(ZKML)의 관점에서 보면, 검증자 V는 계산 자원 또는 데이터 접근의 부족으로 인해 ML 작업을 증명자 P에게 위임합니다. 증명자 P는 계산을 수행하고 증거를 생성하며, 검증자 V는 이 증거를 사용하여 약속된 ML 모델과 매개 변수에 따라 계산이 올바르게 수행되었는지 확인할 수 있습니다. ZKP의 가장 큰 장점은 ML 모델에 검증 가능성을 추가하는 것이지만, 부작용은 증명자 P가 여전히 훈련이나 추론을 위해 데이터에 완전한 접근이 필요하고, 증명자 P에게 매우 큰 연산 부담이 있다는 것입니다.
각 접근 방식은 장단점이 있지만, 암호화된 데이터에서 훈련과 추론을 모두 적용할 수 있으며 데이터와 모델 가중치의 개인 정보 보호를 포괄적으로 제공할 수 있다는 점에서 FHE가 PPML에 가장 이상적인 해결책이라고 생각합니다.
그러나 FHE의 중요한 단점은 서버가 약속된 작업에서 벗어나지 않고 암호화된 데이터에 대한 계산을 올바르게 수행할 것이라고 신뢰해야 한다는 것입니다. 이 때문에 FHE는 서버가 'honest-but-curious' 한 것으로 가정되는 설정에서 주로 사용됩니다. 즉, 우리는 서버가 동형 계산은 올바르게 수행하지만, 계산이 수행되는 기밀 평문 값에 대해서 궁금해하는 상황을 가정합니다.
솔직히 말해서, ML 모델의 중앙 집중화와 아웃소싱된 계산 현상을 감안할 때 서버의 'honest-but-curious' 신뢰 가정은 비현실적인 것 같습니다. 검증 가능성을 FHE에 도입함으로써 이 신뢰 가정을 없앨 수 있으며, ZKP가 이를 위한 훌륭한 후보라고 생각합니다.
현재 연구에서 이 특정 FHE 체계는 검증 가능한 완전 동형 암호화(vFHE)로 언급됩니다. vFHE는 암호화된 데이터에서 계산을 수행할 수 있을 뿐만 아니라 ZKP를 통해 이러한 계산의 정확성을 검증하는 메커니즘을 제공합니다.
2. 연구 목적
이 프로젝트의 목표는 기계 학습(ML) 개인 정보 보호를 위한 해결책으로서 검증 가능한 완전 동형 암호화(vFHE)의 실용적 구현을 탐구하는 것입니다. 이 프로젝트는 기술의 서로 다른 측면에 초점을 맞춘 세 개의 독특한 부분으로 구성될 것입니다. 제안된 구조에 대한 개요는 다음과 같습니다:
1부: ML 맥락에서의 FHE 이해
제 연구의 첫 번째 부분은 이론과 실용적인 ML 맥락에서 완전 동형 암호화(FHE)를 이해하는 데 전념할 것입니다. 짧게 살펴본바에 의하면, 다양한 FHE 체계가 있으며, 각각 고유한 수학적 접근법을 사용하고 그것은 각각의 장단점을 가집니다. 또한, 여러 조직에 의해 다양한 FHE 라이브러리가 개발되었습니다. 이 단계에서는 FHE가 어떻게 작동하는지 탐구하고 다양한 체계와 라이브러리를 평가하여 사용의 용이성과 성능의 최적 균형을 제공하는 것을 결정할 것입니다.
2부: ML 맥락에서의 ZKP 이해
제 연구의 두 번째 부분은 첫 번째와 유사하게 진행되지만, 이번에는 FHE 대신 영지식 증명(ZKP)에 초점을 맞출 것입니다. FHE와 마찬가지로 ZKP는 다양한 체계와 라이브러리를 포함합니다. 이 단계에서는 ZKP가 어떻게 기능하는지에 대한 포괄적인 이해를 얻고 다양한 체계와 라이브러리를 평가하여 제 필요에 가장 실용적이고 효과적인 것을 식별하는 것이 목표입니다.
3부: ML 맥락에서의 vFHE 이해
마지막 부분은 제 프로젝트의 핵심입니다. 이전 단계에서 얻은 지식을 바탕으로, ML 모델에서 구현을 위한 가장 효과적인 방법을 찾기 위해 기존의 vFHE 체계에 대해 깊이 있게 연구할 계획입니다. vFHE는 상대적으로 새로운 기술이므로, 상당한 깊이를 가진 복잡한 신경망 모델에 적용하는 데에는 도전이 있을 것으로 예상합니다. 따라서, 제 목표는 현재 기술의 상태를 고려할 때 더 실행 가능할 수 있는 간단한 신경망 모델에 vFHE를 구현하는 것입니다.
3. 접근법
1부: ML 맥락에서의 FHE 이해
제 계획은 Marcolla et al. (2023)[1]의 발견에 의해 안내되며 다양한 FHE 체계와 라이브러리를 분석하는 것입니다. 이 논문은 다양한 FHE 체계와 기존 라이브러리에 대한 광범위한 개요를 제공하며, 제 연구의 견고한 출발점을 제공합니다. 이 다양한 체계와 라이브러리를 비교하여 사용의 용이성과 높은 성능을 균형있게 선택할 것입니다.
철저한 검토를 실시할 계획이지만, 두 개의 주목할 만한 FHE 라이브러리는 마이크로소프트의 SEAL 라이브러리[2]와 Zama의 Concrete 라이브러리[3]입니다. SEAL은 C++로 작성되었으며 BGC, B/FV, CKKS와 같은 2세대/4세대 FHE 체계를 지원하는 반면, Concrete는 Rust로 작성되었으며 3세대 TFHE 체계를 지원합니다. 저는 생물학이나 금융과 같은 분야에서 선택한 라이브러리를 실제 ML 모델에 구현할 계획이며, 이러한 분야는 FHE-ML 응용 프로그램으로부터 크게 이득을 볼 수 있습니다.
2부: ML 맥락에서의 ZKP 이해
1부와 유사하게, 저는 Xing et al. (2023)[4]과 Modulus Labs (2023)[5]의 통찰력을 바탕으로 다양한 ZKP 체계와 라이브러리를 비교할 것입니다. 이 논문들은 증명 시간, 검증 시간, 메모리 사용과 같은 벤치마크를 기반으로 다양한 ZKP 체계와 라이브러리를 비교합니다. 이 분석을 바탕으로, 실제 ML 모델에 구현할 가장 적합한 라이브러리를 선택할 목표입니다. 관심 있는 라이브러리 중 하나는 Halo2를 백엔드 증명 시스템으로 사용하는 zkonduit의 EZKL[6]입니다. 그러나 더 나은 라이브러리를 찾으면 그것을 선택할 것입니다. 구현은 1부에서 선택한 동일한 ML 모델을 활용할 것입니다.
3부: ML 맥락에서의 vFHE 이해
저의 vFHE 연구는 Viand et al. (2023)[7], Thibault et al. (2024)[8], Atapoor et al. (2024)[9]과 같은 연구를 기반으로 할 것입니다. 저는 ML 맥락에서 vFHE 연구의 현재 상태를 검토하며, 이 논문에서 보고된 방법, 한계 및 성능을 검토할 것입니다. 이를 바탕으로, 간소화된 ML 모델에 구현할 방법을 선택할 것입니다. 1부와 2부에서 선택한 FHE 및 ZKP 체계가 vFHE에 대한 최적의 해결책이 아닐 가능성이 높습니다. 필요한 경우, 저는 3부에 맞게 선택 사항을 조정할 것입니다.
4. 연구의 효과 및 가치
만약 검증 가능한 완전 동형 암호화(vFHE)가 실용적인 수준으로 개발될 수 있다면, 그것은 기계 학습 산업에서 혁신적인 발전이 될 것입니다. 기존의 ML 모델들이 직면한 데이터 프라이버시 침해와 사용자와 모델 제공자 간의 신뢰 문제와 같은 위험을 해결함으로써, vFHE는 머신러닝의 적용 범위와 분야를 크게 확대시켜서 이 분야를 혁신시킬 잠재력을 가지고 있습니다. 더욱이, vFHE는 의료 및 금융과 같이 민감한 데이터를 다루는 분야에서 AI 구현을 크게 가속화하여 인간의 삶의 질을 크게 향상시킬 것으로 기대합니다.
그러나 이 프로젝트만 살펴본다면, vFHE를 실용적인 수준에서 즉시 구현하는 것이 목표는 아닙니다. 보다 현실적으로, 가장 간단한 신경망 모델에서조차 vFHE를 구현하는 데 어려움을 겪을 가능성이 높습니다. 최신 vFHE 연구는 일반적으로 최대 세 층을 가진 간단한 신경망이나 단일 암호문-암호문 연산에 초점을 맞추고 있습니다. 이러한 제한은 주로 vFHE 연구의 nascent함, 관련된 수학적 복잡성, 그리고 FHE 및 ZKP 체계의 높은 연산 요구 때문입니다. 따라서, 이 프로젝트의 진정한 가치와 영향은 FHE, ZKP, vFHE의 기존 연구를 종합하는 데 있습니다. 이 종합은 실제 응용 프로그램에서 vFHE를 구현하고자 하는 저 자신의 포함한 미래의 연구자들에게, vFHE의 성능, 한계 및 방법에 대한 지침을 제공할 것입니다.
5. 출처
[1] Marcolla, Chiara, Victor Sucasas, Marc Manzano, Riccardo Bassoli, Frank H.P. Fitzek, and Najwa Aaraj. "Survey on Fully Homomorphic Encryption, Theory and Applications." Technology Innovation Institute. (2023)
[2] Microsoft. "Microsoft SEAL." Microsoft Research, https://www.microsoft.com/en-us/research/project/microsoft-seal/.
[3] Zama AI. "concrete-ml." GitHub repository, https://github.com/zama-ai/concrete-ml.
[4] Xing, Zhibo, Zijian Zhang, Jiamou Liu, Ziang Zhang, Meng Li, Liehuang Zhu, and Giovanni Russello. "Zero-knowledge Proof Meets Machine Learning in Verifiability: A Survey." (2023)
[5] "The Cost of Intelligence: Proving Machine Learning Inference with Zero-Knowledge." Modulus Labs. (2023)
[6] zkonduit. "ezkl." GitHub repository, https://github.com/zkonduit/ezkl.
[7] Viand, Alexander, Christian Knabenhans, and Anwar Hithnawi. "Verifiable Fully Homomorphic Encryption." (2023).
[8] Tremblay Thibault, Louis, and Michael Walter. "Towards Verifiable FHE in Practice: Proving Correct Execution of TFHE's Bootstrapping using plonky2." Zama, (2024)
[9] Atapoor, Shahla, Karim Baghery, Hilder V. L. Pereira, and Jannik Spiessens. "Verifiable FHE via Lattice-based SNARKs." COSIC, KU Leuven, (2024)
마무리하며
어색한 번역 투에 대해서 양해를 부탁드리며, 10주 뒤에 얼마만큼의 지식을 얻은채로 프로젝트를 마무리할 수 있을지 기대가 된다. 당연히 10주 뒤의 결과물도 공유하겠다.
댓글
의견을 남겨주세요