호기롭게 ‘프로젝트 랩’ 수업에 대한 나의 제안서를 쓴지도 벌써 10주가 지났다. 이 글은 해당 프로젝트의 회고 및 내 프로젝트에 대한 간단한 설명을 하기 위해서 작성되었고, 전체 글은 해당 링크에서 확인할 수 있다.
1. 절반의 성공, 절반의 실패
교수님이 나에게 어떤 알파벳의 학점을 주실지는 알 수 없지만, 내가 평가하였을 때, 나의 이번 프로젝트는 50점짜리인 것 같다.
잘한 점
내가 생각하였을 때, 내 연구가 가지는 장점은 vFHE에 대한 가장 종합적인, 그리고 가장 최신의 가이드라는 점이다(그래서 제목을 ‘The Hitchhiker’s Guide to the vFHE’라고 정하기도 하였다). vFHE(verifiable Fully Homomorphic Encryption, 검증가능한 완전 동형암호학)는 내 생각보다도 더 초기 단계의 기술이었다. 내가 vFHE에 대해서 공부하기 위해서 자료를 찾아본 결과, vFHE의 의의와 개념부터 시작해서 초심자가 보기에 좋은 논문은 하나밖에 없었다. 개인적으로 공부해본 결과, 해당 논문은 너무나도 훌룡하였지만, 아쉬웠던 점은 다음과 같다.
- vFHE는 ‘ZKP’와 ‘FHE’라는 두 기술이 융합한 것인데, 내가 느끼기에 해당 논문은 이 두 가지 기술에 대한 설명은 부족하였다. 따라서, 이미 ZKP와 FHE에 대해서 지식이 있는 사람에게는 문제없지만, 아예 초심자에게는 좀 어려울 수도 있겠다고 느꼈다.
- 해당 논문은 2023년 1월에 공개되었기 때문에, 딱히 오래되었다고 보기 힘들다. 하지만, vFHE가 워낙 초기이고, 최근 들어서 활발하게 연구되고 있는 분야이기에, 해당 논문이 작성된 이후로 공개된 최신 vFHE 연구들에 대한 언급이 부재하다.
따라서, 이번 프로젝트에서는 이 두 가지를 보완하는 측면에서 1) 이 작업물 하나만 봐도 ZKP, FHE, 그리고 vFHE의 전체적인 흐름을 이해할 수 있게 하고, 2) 2024년 6월 기준으로 주목해볼만한 가장 최신의 vFHE 연구들을 담아서 차별화를 두려고 노력하였다.
못한 점
일단 냉정하게 봐서 내가 만든 결과물은 기존에 존재하는 여러 연구 및 자료들을 잘 조합한 콜라주에 불과하다. 물론, 이 역시 의미를 가지긴 하지만, 원래 내가 제안서에서 목표로 하였던 것처럼 기존에 없던 무언가, 기존에 이미 존재하는 연구들에서 적어도 반발자국이라도 나가려는 시도는 분명 실패하였다. 또한, 제안서에서도 우려한대로 나의 주제 선정은 너무나도 방대하고, 과하였다. ZKP나 FHE에 대해서 충분히 알지도 못하면서 달려들다보니, 10주동안 해당 기술들을 먼저 이해하는데에 많은 시간을 쏟게 되었고, 이는 앞서 언급한 반 발자국을 못나가는 것에 영향을 미쳤다고 생각한다.
이제 내가 진행한 연구에 대해서 간단하게 요약해볼 것인데, 크게 문제 의식과 해결책, 이 두 가지로 나눠서 얘기해보려고 한다.
2. 문제 의식
2.1 과거의 과오를 반복하지 말자
우리가 머신러닝을 사용하는데에는 여러가지 방식이 있을 수 있지만, 내가 생각하기에는 1) 직접 자신의 모델을 훈련시킨 뒤에 사용하는 형태 하나와, 2) 머신러닝을 서비스로 사용하는 MLaaS(ML as a Service)로 크게 두 가지 방식이 있는 것 같다. 예를 들어, 우리가 chatGPT를 사용해서 원하는 정보를 얻는 것도 OpenAI에서 자체적으로 훈련시킨 모델을 우리가 서비스 형태로 이용하는 MLaaS의 한 가지 예시라고 볼 수 있다.
이 프로젝트를 시작하게된 문제 의식은 다음과 같은 몇 가지 가정들에서 비롯되었다.
- ML 모델에서 주된 차별점은 데이터와 연산 능력이다.
- 소수의 거대 기업을 제외한 대부분의 기업 및 개인들은 앞서 언급한 MLaaS를 통해서 머신러닝을 이용할 것이다.
- 가까운 미래에 ML 서비스들은 우리 삶에 더 깊이 관여하기 시작할 것이다.
ML 모댈애서의 주된 차별점이 데이터와 연산 능력이라면, 이에 대한 큰 투자가 가능한 소수의 거대 기업들에 의한 모델들이 시장을 독점할 것이고, 나머지 기업과 개인들은 해당 기업들이 제공하는 MLaaS를 통해서 머신러닝을 이용할 것이며, 사람들에 삶에 ML 서비스가 더욱더 녹아들수록, 우리의 삶은 해당 기업들이 제공하는 서비스에 의존하게 될 것이다. 예를 들어, 우리가 매일 소비할 컨텐츠의 추천부터, 질병 진단까지 소수의 기업들이 소유한 머신러닝 모델에 의해서 제공되는 서비스에 의해서 결정될 수도 있다는 것이다.
개인적으로 이러한 상황은 나에게 소셜 미디어 플랫폼들이 우리의 삶에 어떻게 영향을 끼쳐왔는지를 떠올리게 하였다. 소셜 미디어 플랫폼들이 단순히 나쁘다는 것이 아니라, 소수의 주체들이 제공하는 서비스에 우리의 삶이 의존하게 되었을때 어떠한 일들이 벌어질 수 있는지 우리는 페이스북 사태를 통해서 이미 경험하였다.
따라서, 나는 우리가 소셜 미디어 플랫폼을 겪으면서 얻은 교훈에 따라서, ML 서비스들이 우리의 삶에 더 깊이 관여하기 전에 선제적으로 유저 및 모델 제공자들의 안전에 대해서 고민해봐야한다고 생각한다. 나는 유저의 안전을 고민하는 방향성과 더 뛰어난 ML 모델을 만드는 방향성이 서로 상충하지 않고, 오히려 서로 시너지를 낼 수 있다고 생각하기에, 전자는 후자만큼이나 현 시대에 해결해야하는 시급한 과제가 아닐 수 없다.
2.2 유저의 입장에서 안전한 머신러닝 서비스란?
우리가 현재 고려하는 MLaaS 시나리오에서 유저가 원하는 ‘안전’이란 무엇일까? 이를 위해서 MLaaS 서비스의 전체 과정을 간략하게 살펴보면 다음과 같다.
- 모델 제공자(Model Provider, 이하 MP)의 모델 배포:MP는 미리 학습시킨 모델을 서비스 형태로 제공하여, 유저는 별도의 학습 과정 없이 즉시 사용할 수 있게 하거나, 유저가 자신의 데이터로 추가 학습을 할 수 있도록 커스터마이징 가능한 모델을 제공할수도 있다.
- 유저의 데이터 제공:유저는 플랫폼을 통해 자신의 데이터를 업로드하고, 플랫폼은 데이터를 전처리하여 모델 학습이나 예측에 적합한 형태로 변환합니다.
- 연산 및 결과 제공:MP는 유저의 데이터를 사용하여 모델을 학습시키거나 예측 연산을 수행한 뒤에, 연산 결과를 유저에게 제공한다. 이는 일반적으로 API 형태로 이루어진다.
해당 시나리오에서 나는 유저가 자신이 ‘안전한’ 머신러닝 서비스를 쓰고 있다고 느끼기 위해선, 다음과 같은 두 가지를 원할 것이라고 생각한다.
- 데이터 프라이버시:유저는 아마 MP로부터 최대한 자신의 데이터 프라이버시를 지키고 싶을 것이다. 특히 더 민감한 정보를 다루는 MLaaS일수록, 유저들은 혹시 모를 데이터 유출과 같은 사태를 대비하여, 서비스 성능을 해치지 않는 선에서 최대한 적은 양의 데이터를 공개하고 싶을 것이다.
- 결과가 ‘옳은지’ 검증:여기서 ‘옳다’란 MP가 1) 내가 제출한 데이터로, 2) 기존에 약속한 모델을 사용하였는지를 의미하는 결과의 도출 과정 중의 옳음을 의미한다. 만약 MP가 내가 업로드한 데이터가 아닌 다른 데이터를 사용하거나, 원래 약속한 모델보다 더 저렴한 모델, 혹은 악의적인 모델을 사용한 결과값을 나에게 제출한다면, 이는 ‘옳지 않은’ 결과일 것이고, 유저 입장에서는 이러한 상황을 방지하고 싶을 것이다. 따라서, 유저 입장에서는 결과가 옳은지 검증하고 싶을 것이다.
vFHE는 유저들에게 안전음 담보함으로써, AI 서비스가 적용될 수 있는 범위를 훨씬 더 민감한 산업까지 확대시켜준다. 가끔 나는 AI가 우리 정신건강에 어떠한 도움을 줄 수 있을지 생각하곤 한다. 이미 Wysa나 Youper와 같은 서비스들이 존재하는 것 같은데, 내가 유저라면, 개인정보 유출이 무서워서 못 쓸 것 같다. 정신 건강인만큼, 정말 개인적인 정보들을 주고 받을 것인데, 아무리 안전하다고 해도 불안하지 않을까? 그럴때 vFHE와 같이 암호학적으로 유저에게 안전은 담보할 수 있다면, 훨씬 더 마음이 편안해지지 않을까라는 생각도 한다. 정신건강과 관련해서는 나중에 다시 한번 다뤄보도록 하겠다.
3. 해결책
3.1 왜 하필 vFHE인가?
위 문제에 대해서 vFHE가 가장 적합한 해결책인 이유는 vFHE가 ‘FHE’라는 기술과 ‘ZKP’라는 기술이 합쳐진 것이기 때문이다.
머신러닝의 학습, 배포, 사용하는 과정 중에서 데이터를 보호하는 여러가지 기술들을 우리는 Privacy Preserving Machine Learning(이하, PPML)라고 부른다. PPML들은 각각의 장단점들을 가지고, 어떤 상황을 가정하느냐에 따라서, 가장 적합한 PPML은 상이하다.
여러 PPML에 대한 비교가 궁금한 경우, Bagel의 해당 글을 추천한다.
결론적으로 말하면, FHE는 데이터 프라이버시를 지키는데 가장 뛰어나고, ZKP는 임의의 연산의 ‘옳음’을 검증하는데 가장 뛰어나다. 이는 앞서 유저가 원하는 두가지 속성과 일치하고, 따라서, 이 두 기술을 합친 vFHE는 우리가 현재 고려하는 문제에 대한 가장 적합한 해결책일 수 밖에 없다. vFHE는 기존의 FHE에서 ZKP를 통해서 해당 연산을 검증 가능하게 만든 것이다.
FHE(Fully Homomorphic Encryption)란, 암호화된 데이터를 복호화하지 않고도 임의의 연산을 가능하게 하는 기술이고, ZKP(Zero-Knowledge Proof)란, 특정 연산의 세부 정보를 공개하지 않고, 그 연산이 약속대로 수행하였음을 가능하게 하는 기술이다.
3.2 vFHE의 가장 큰 문제는 실용성
vFHE는 FHE와 ZKP라는 이미 복잡하고, 오래 걸리는 기술 두 개가 합쳐진 형태이기 때문에, 가장 큰 문제는 효율성 및 실용성이다. 따라서, 현재 vFHE에 대한 최신 연구들은 vFHE의 실용성을 앞당기는데 초점을 맞추고 있고, 이는 다양한 FHE & ZKP 방식의 조합, 다양한 최적화 트릭들을 이용한다.
4. 끝인데 시작인
결국, 이번 프로젝트에서 하고 싶었던 말은 다음과 같다.
- AI의 안전성에 대한 논의는 지금부터 시작되어야 함.
- MLaaS로 대부분의 사람들이 머신러닝에 접근하는 상황에서 vFHE가 최적의 솔루션(온디바이스 AI의 시장 점유율에 따라서 해당 가정은 틀릴 가능성도 존재).
- 현재 vFHE의 가장 큰 문제는 실용성, 하지만 최근 들어서 연구가 활발함.
해당 프로젝트는 이렇게 끝이 났지만, 완전히 끝나지 않았을지도 모르는 것이, 이번 여름에 2024 PSE Core 프로그램에 참가하게 되었기 때문이다.
이번 프로젝트를 하면서 뼈저리게 느낀 것이 암호학과 관련된 프로그래밍 경험이 부족하니, 이해할 수 있는 부분이나 실제로 적용해볼 수 있는 부분들이 적어서 매우 아쉬웠다. 이때 운명적으로 2024 PSE Core 프로그램을 알게 되었고, ZKP와 FHE에 대한 이론적 큰 그림을 그린 현재, 암호학과 관련된 프로그래밍을 집중적으로 배울 수 있는 해당 프로그램이 나에게 매우 좋은 다음 스텝이라고 생각해 바로 지원하게 되었다. 사실 난이도가 있는 만큼, 기존에 프로그래밍 경험이 많지 않은 내가 합격할 수 있을까 생각하였지만, 이번 프로젝트 결과물과 함께 열정을 좋게 봐주셔서 합격하게 된 것 같다. 그래서 이번 7월 말부터 9월까지는 또 새로운 스텝을 밟아보려고 하고,이 역시 끝나면 회고와 함꼐 공유하도록 하겠다.
댓글 2개
의견을 남겨주세요
energygiverme
10주 프로젝트 목표세우고 100% 만족하시진 않았지만 잘 마무리하신게 너무 멋있어요- 구독완료.
플레이버 by 모예드
말씀 감사합니다!
의견을 남겨주세요