paint-brush
이더리움과 이더리움 스웜의 집단 AI 개념by@thebojda
480
480

이더리움과 이더리움 스웜의 집단 AI 개념

Laszlo Fazekas11m2024/07/15
Read on Terminal Reader

앞으로는 인공지능이 지금보다 훨씬 더 우리 일상생활의 일부가 될 것이라고 믿습니다. AI는 우리의 일부가 될 것입니다! 휴대폰 대신 모든 것을 녹음하는 카메라와 모든 것을 듣는 마이크가 장착된 스마트 안경을 착용하게 될 것입니다. 우리는 로컬에서 실행되는 언어 모델 및 기타 에이전트와 지속적으로 대화할 것이며, 이는 미세 조정을 통해 시간이 지남에 따라 우리의 요구에 적응할 것입니다. 하지만 이러한 에이전트는 우리와 소통할 뿐만 아니라 전체 커뮤니티가 생산하는 집단적 지식을 지속적으로 활용하여 서로 소통할 것입니다. 이 시스템은 인류를 집단지성의 형태로 조직화할 것이며 이는 매우 중요한 일입니다. 이러한 집단지성이 단일 기업이나 단체의 재산이 되는 것은 용납될 수 없습니다. 그렇기 때문에 위에 설명된 시스템이나 이와 유사한 시스템이 필요한 것입니다!
featured image - 이더리움과 이더리움 스웜의 집단 AI 개념
Laszlo Fazekas HackerNoon profile picture

현재 AI의 주요 플레이어는 오픈 소스 AI 지지자와 폐쇄형 AI 지지자의 두 가지 주요 그룹으로 나눌 수 있습니다.


흥미롭게도 폐쇄형 AI의 가장 큰 지지자 중 하나는 모델의 소스 코드를 공개하지 않고 액세스만 제공하는 OpenAI 자체입니다. 그들은 일반적으로 이러한 모델을 발표하는 것은 너무 위험하므로 원자력과 마찬가지로 중앙 집중식 제어가 필요하다고 주장합니다. 물론 이러한 주장에는 근거가 있지만, 이러한 결정 뒤에 숨은 비즈니스적 이해관계를 파악하는 것은 어렵지 않습니다. ChatGPT의 소스 코드를 모든 사람이 사용할 수 있다면 누가 서비스 비용을 지불하겠습니까?!


반면 메타(페이스북) 등 오픈소스 AI 지지자들은 폐쇄형 AI가 발전을 방해하고 오픈소스 AI가 올바른 방향이라고 믿고 있다. 물론 여기서 비즈니스 측면도 살펴볼 가치가 있습니다. Meta의 경우 AI 모델이 주요 제품이 아닙니다. 그들에게 AI는 단지 도구일 뿐이며, 모델을 공유한다고 해서 비즈니스에 불이익이 발생하는 것은 아닙니다. 오히려 Meta가 나중에 커뮤니티의 개발을 활용할 수 있으므로 비즈니스 이점을 제공합니다. 그러나 이 모델에도 작은 문제가 있습니다. 진정한 오픈 소스는 아닙니다.


AI 모델은 본질적으로 조정 가능한 매개변수가 포함된 거대한 수학 방정식입니다. 이러한 매개변수는 학습 프로세스 중에 설정됩니다. 회사에서 오픈 소스 AI에 관해 이야기할 때마다 이는 누구나 자신의 컴퓨터에서 모델을 실행할 수 있도록 이러한 매개변수에 자유롭게 액세스할 수 있다는 의미입니다. 하지만 완전한 오픈 소스는 아닙니다!


AI의 경우 훈련은 기존 프로그램을 구축하는 것과 유사합니다. 이를 기반으로 모델 매개변수는 바이너리 파일을 나타냅니다. 그래서 메타나 엑스(트위터) 등 다른 회사에서 모델소스를 공개하면 사실상 그 결과물을 그냥 주는 셈이 됩니다.


그래서 우리가 얻는 것은 고정된 아키텍처의 매개변수화입니다. 예를 들어 Transformer 아키텍처 대신 Mamba 아키텍처를 사용하는 등 아키텍처의 내용을 변경하거나 개선하려면 모델을 재교육해야 하는데 이는 훈련 세트 없이는 할 수 없습니다. 따라서 이러한 모델은 미세 조정만 가능하고 더 이상 개발할 수 없습니다.


소위 오픈 소스 모델은 아키텍처가 고정되어 있기 때문에 진정한 오픈 소스가 아닙니다. 이러한 모델은 미세 조정만 가능하지만 더 이상 개발할 수는 없습니다. 이를 위해서는 훈련 세트도 필요하기 때문입니다. 진정한 오픈소스 AI는 모델과 훈련 세트로 구성됩니다!


"오픈 소스" AI 모델은 일반적으로 대기업의 제품입니다. 대규모 모델을 훈련하려면 엄청난 양의 계산 능력이 필요하고 결과적으로 많은 비용이 필요하기 때문에 이는 이해할 수 있는 일입니다. 대기업만이 그러한 자원을 보유하고 있기 때문에 AI 개발이 중앙 집중화되어 있습니다.


비트코인 형태의 블록체인 기술이 분산화폐의 가능성을 창출한 것처럼, 회사가 아닌 커뮤니티가 소유하는 진정한 오픈 소스 AI를 만들 수도 있습니다.


이 기사는 진정한 오픈 소스, 커뮤니티 중심 AI가 블록체인 기술을 사용하여 어떻게 개발될 수 있는지에 대한 개념입니다.


앞서 언급했듯이 진정한 오픈 소스 AI의 기반은 공개 데이터 세트입니다. 데이터 세트는 실제로 가장 귀중한 리소스입니다. 예를 들어 ChatGPT의 경우 언어 모델은 공개적으로 사용 가능한 데이터베이스(예: Common Crawl)에서 학습된 후 후속 단계에서 사람의 지원(RLHF)을 통해 미세 조정되었습니다. 이러한 미세 조정은 인간의 노동력으로 인해 비용이 많이 들지만 이것이 ChatGPT의 강점입니다. 아키텍처 자체는 (아마도) 일반 변환기이거나 여러 병렬 변환기를 의미하는 Mixture of Experts의 수정 버전입니다. 핵심은 아키텍처가 특별하지 않다는 점이다. ChatGPT(및 기타 모든 모델)를 독특하게 만드는 것은 좋은 데이터 세트입니다. 이것이 모델에 힘을 주는 것입니다.


AI 훈련 데이터세트의 크기는 일반적으로 수 테라바이트이며, 이러한 데이터세트에 포함될 수 있거나 포함될 수 없는 것은 그룹과 문화에 따라 다를 수 있습니다. 예를 들어 대규모 언어 모델의 '개성'을 결정하므로 데이터 선택은 매우 중요합니다. 대기업(구글, 마이크로소프트 등)의 AI 모델이 인종차별적인 방식으로 행동해 여러 가지 주요 스캔들이 터졌다. 이는 데이터 세트를 잘못 선택했기 때문입니다. 데이터 세트에 대한 요구 사항은 문화에 따라 다를 수 있으므로 여러 포크가 필요할 수 있습니다. IPFS 또는 Ethereum Swarm과 같은 분산형 콘텐츠 주소 지정 스토리지 솔루션은 버전이 지정된 다중 포크 대규모 데이터 세트를 저장하는 데 이상적입니다. 이러한 스토리지 솔루션은 콘텐츠에서 생성된 해시를 사용하여 개별 파일의 주소를 지정할 수 있는 GIT 버전 제어 시스템과 유사하게 작동합니다. 이러한 시스템에서는 변경 사항만 저장하면 되고 두 데이터 세트의 공통 부분이 단일 인스턴스에 저장되므로 포크를 저렴하게 생성할 수 있습니다.


적절한 데이터세트가 확보되면 모델 학습을 진행할 수 있습니다.


서문에서 언급했듯이 AI 모델은 본질적으로 수많은 자유 매개변수가 포함된 거대한 수학 방정식입니다. 일반적으로 모델에 자유로운 매개변수가 많을수록 '스마트'해지는 것이 사실이므로 모델 이름에 매개변수의 개수가 표시되는 경우가 많습니다. 예를 들어 llma-2-7b 모델은 모델 아키텍처가 llma-2이고 70억 개의 매개변수를 가지고 있음을 의미합니다. 훈련 중에 이러한 매개변수는 모델이 주어진 입력에 대해 지정된 출력을 제공하도록 데이터 세트를 사용하여 설정됩니다. 역전파는 편도함수의 도움으로 가장 적합한 매개변수를 찾는 훈련에 사용됩니다.


훈련 중에 데이터 세트는 배치로 나뉩니다. 각 단계에서 주어진 배치는 입력 및 출력 매개변수를 제공하고, 역전파는 주어진 입력에서 주어진 출력을 정확하게 계산하기 위해 모델의 매개변수를 수정해야 하는 방법을 계산하는 데 사용됩니다. 이 프로세스는 모델이 원하는 정확도를 달성할 때까지 지정된 데이터 세트에서 여러 번 반복되어야 합니다. 테스트 데이터 세트를 통해 정확도를 확인할 수 있습니다.


대기업에서는 훈련에 엄청난 컴퓨팅 용량이 필요하기 때문에 대규모 GPU 클러스터에서 훈련을 수행합니다. 분산형 시스템에서 추가적인 과제는 개별 노드가 신뢰할 수 없으며 항상 불안정성과 관련된 비용이 있다는 것입니다! 이러한 신뢰성이 없기 때문에 비트코인은 작은 나라의 에너지 소비량을 가지고 있습니다. 비트코인은 계산 능력이 신뢰성을 대체하는 작업 증명 합의를 사용합니다. 개별 노드를 신뢰하는 대신, 우리는 선의의 노드가 네트워크의 악의적인 노드보다 더 많은 계산 용량을 보유하고 있다고 믿습니다. 다행스럽게도 이더리움에서 사용하는 지분 증명(Proof of Stake)과 같은 다른 합의 메커니즘이 있습니다. 여기서 스테이킹된 돈은 계산 능력 대신 신뢰성을 보장합니다. 이 경우 큰 계산 용량이 필요하지 않으므로 에너지 수요와 환경에 미치는 영향이 크게 줄어듭니다.


분산형 훈련에서는 훈련 노드와 요청자 간의 신뢰를 대체하기 위한 일부 메커니즘이 필요합니다. 가능한 해결책 중 하나는 훈련 노드가 전체 훈련 과정에 대한 로그를 생성하고, 제3자 검증자 노드가 특정 지점에서 로그를 무작위로 확인하는 것입니다. 검증인 노드가 훈련 결과가 만족스럽다고 판단하면 훈련 노드는 제공된 지불금을 받습니다. 유효성 검사기는 전체 로그를 확인할 수 없습니다. 이는 모든 계산을 다시 실행한다는 의미이며 유효성 검사의 계산 요구 사항은 훈련 요구 사항과 동일하기 때문입니다.


또 다른 옵션은 노드가 계산을 올바르게 수행했다고 가정하고 누구나 그렇지 않다는 것을 증명할 수 있는 도전 기간을 제공하는 낙관적 솔루션입니다. 이 경우, 연산을 수행하는 노드는 더 많은 금액(페널티)을 스테이킹하고, 연산을 요청하는 노드도 더 많은 금액(보상)을 스테이킹하게 됩니다. 노드는 계산을 수행한 다음 결과를 게시합니다. 그 다음에는 챌린지 기간(예: 1일)이 옵니다. 누군가가 이 기간 동안 무작위 검사를 통해 계산에서 오류를 발견하고 게시하면 컴퓨팅 노드가 부과하는 페널티를 받고 요청자는 보상을 돌려받습니다. 챌린지 기간 동안 계산이 틀렸다는 것을 누구도 증명할 수 없으면 컴퓨팅 노드가 보상을 받습니다.


누군가가 계산을 수행했는지 확인하는 데에도 적합한 zkSNARK라는 영지식 증명의 변형이 있습니다. 이 방법의 가장 큰 장점은 검증을 저렴하게 수행할 수 있지만 증거를 생성하는 데 계산 집약적인 작업이 필요하다는 것입니다. 이 방법은 간단한 계산에도 비용이 많이 들기 때문에 훈련 자체보다 AI 훈련에 훨씬 더 많은 계산 리소스가 필요하므로 현재로서는 이 목적으로 사용할 수 없을 것입니다. 그럼에도 불구하고, zkML은 활발하게 연구되고 있는 분야이며, 앞으로 제3자가 SNARK를 검증하는 스마트 계약으로 대체될 수도 있다고 생각됩니다.


위에서부터 계산을 검증하기 위한 몇 가지 솔루션이 있다는 것이 분명해졌습니다. 이를 바탕으로 우리의 블록체인 기반 분산형 훈련 지원 시스템이 어떻게 구축되는지 살펴보겠습니다.


이 시스템에서 데이터 세트는 DAO를 통해 커뮤니티가 소유합니다. DAO는 데이터세트에 어떤 데이터를 포함할 수 있는지 결정합니다. 구성원 그룹이 결정에 동의하지 않는 경우 DAO에서 분리되어 새로운 DAO를 구성할 수 있습니다. 여기서 기존 데이터 세트를 포크하고 독립적으로 계속 구축할 수 있습니다. 따라서 DAO는 데이터 세트와 함께 분기됩니다. 데이터 세트는 콘텐츠 주소가 지정된 분산 저장소(예: Ethereum Swarm)에 저장되므로 포크에는 비용이 많이 들지 않습니다. 데이터 세트의 저장은 커뮤니티에서 자금을 조달합니다.


훈련 과정도 DAO에 의해 통제됩니다. DAO를 통해 예비 컴퓨팅 용량을 판매하려는 훈련 노드를 등록할 수 있습니다. 신청하려면 스마트 계약에 지분을 두어야 합니다. 노드가 계산 중에 부정행위를 시도하면 이 지분을 잃게 됩니다.


요청자는 훈련하려는 데이터 세트와 모델을 선택한 다음 보상을 제공합니다. 제안은 공개되므로 모든 훈련 노드가 작업을 수행하기 위해 신청할 수 있습니다. 훈련 노드는 각 항목이 배치 훈련에 해당하는 훈련 프로세스의 전체 로그를 생성합니다. 항목에는 입력, 출력, 가중치 행렬 및 모든 관련 매개변수(예: 삭제할 데이터를 선택하기 위해 드롭아웃 레이어에서 사용하는 무작위 시드)가 포함됩니다. 따라서 전체 계산은 로그를 기반으로 재현될 수 있습니다.


앞에서 언급했듯이 여러 가지 방법을 사용하여 계산을 확인할 수 있습니다. 가장 간단한 방법은 낙관적인 접근 방식입니다. 이 경우 요청자는 보상을 스마트 계약에 배치하고 훈련 노드는 훈련 로그를 게시합니다. 출판 후 계산을 검증하기 위해 지정된 기간(예: 1일)을 사용할 수 있습니다. 이 시간 동안 요청자 또는 다른 사람이 특정 단계가 잘못되었다는 증거를 제출하면 훈련 노드는 지분을 잃고 요청자는 보상을 돌려받습니다. 이 경우, 올바른 증거를 제출한 노드가 지분을 받게 되어 모든 사람이 계산을 검증하도록 장려합니다. 아무도 그러한 증거를 제출하지 않으면 훈련 노드는 시간이 만료된 후 보상을 받습니다.


간단히 말해서 이것이 시스템이 작동하는 방식입니다. 물론 몇 가지 질문이 생깁니다.

데이터 세트 훈련 및 저장 비용은 누가 지불합니까?

시스템의 비즈니스 모델은 Linux 비즈니스 모델과 같은 대부분의 무료 오픈 소스 솔루션과 동일합니다. 회사에 모델이 필요하고 해당 모델이 무료이며 오픈 소스인 데 문제가 없다면 자체 모델을 교육하는 것보다 여기에 투자하는 것이 훨씬 더 비용 효율적입니다. 10개 회사에 동일한 언어 모델이 필요하다고 가정해 보겠습니다. 모델이 공개되는 것을 개의치 않는다면 각자가 훈련 비용을 전액 지불하는 것보다 훈련 비용의 1/10만 지불하는 것이 훨씬 경제적입니다. 훈련의 기초를 형성하는 데이터 세트에도 동일하게 적용됩니다. 크라우드 펀딩 캠페인은 교육 모델을 위해 생성될 수도 있으며, 여기서 미래의 모델 사용자는 모델 개발에 기여할 수 있습니다.


클라우드에서 모델을 훈련시키는 것이 더 저렴하지 않나요?

이러한 시스템의 가격은 시장에 의해 규제되기 때문에 이에 대해 명확한 답변을 제공하기가 어렵습니다. 이는 사용자가 사용할 수 있는 무료 계산 용량이 얼마나 되는지에 따라 다릅니다. 우리는 이미 비트코인 커뮤니티의 힘을 보았습니다. 비트코인 네트워크의 계산 용량은 모든 슈퍼컴퓨터의 계산 용량을 능가합니다. 클라우드 제공업체는 수익을 창출해야 하지만, 이와 같은 분산형 시스템에서는 사용자가 여유 컴퓨팅 용량을 제공합니다. 예를 들어, 강력한 게임용 PC를 보유한 사람은 게임을 하지 않을 때 여유 용량을 제공할 수 있습니다. 이 경우 서비스가 사용된 에너지보다 약간 더 많은 에너지를 생성한다면 이는 사용자에게 이미 가치가 있는 것입니다. 게다가, 세상에는 전통적인 방법으로는 활용될 수 없는 많은 낭비 에너지가 있습니다. 이에 대한 예는 화산에 의해 생성되는 열 에너지입니다. 이러한 위치에는 일반적으로 전력망이 구축되어 있지 않아 사용 가능한 전기를 생성하는 데 적합하지 않습니다. 이미 이 에너지를 비트코인 채굴에 활용하는 스타트업이 있습니다. '지능 마이닝'에 사용해보면 어떨까요? 이 경우 에너지는 사실상 무료이므로 하드웨어 비용만 충당하면 됩니다. 따라서 이러한 분산형 시스템에서 클라우드보다 훨씬 저렴하게 훈련할 수 있는 많은 요소가 있다는 것이 분명합니다.


추론은 어떻습니까?

AI 모델을 운영하는 경우 개인정보 보호는 매우 중요한 문제입니다. 대규모 서비스 제공업체는 당연히 데이터를 기밀로 처리한다고 보장하지만 ChatGPT와의 대화를 누구도 도청하지 않는다고 확신할 수 있습니까? 서버가 암호화된 데이터에 대해 계산을 수행할 수 있도록 하는 방법(예: 동형 암호화)이 있지만 이러한 방법에는 높은 오버헤드가 있습니다. 가장 안전한 솔루션은 모델을 로컬에서 실행하는 것입니다. 다행스럽게도 하드웨어는 점점 더 강력해지고 있으며 AI 실행을 위한 특화된 하드웨어 솔루션이 이미 존재합니다. 모델 자체도 크게 개선되고 있습니다. 연구에 따르면 가중치를 표현하는 데 1.5비트만 사용되는 극단적인 경우에도 양자화 후에도 성능이 크게 저하되지 않는 경우가 많습니다. 후자의 솔루션은 가장 비용이 많이 드는 연산인 곱셈을 제거하므로 특히 유망합니다. 따라서 앞으로는 모델과 하드웨어의 발전에 힘입어 인간 수준을 뛰어넘는 모델을 지역적으로 구동할 가능성이 높다. 또한 LoRA와 같은 솔루션을 사용하여 이러한 모델을 원하는 대로 맞춤 설정할 수 있습니다.


분산된 지식

또 다른 매우 유망한 방향은 검색 증강 생성(RAG)입니다. 이는 '어휘 지식'이 벡터 데이터베이스에 저장되고 우리의 언어 모델이 주어진 질문에 대해 이 데이터베이스에서 적절한 컨텍스트를 수집한다는 것을 의미합니다. 이는 우리 인간이 기능하는 방식과 매우 유사합니다. 분명히, 어휘집 전체를 외우는 사람은 아무도 없습니다. 질문을 받았을 때 필요한 지식을 어디서 찾을 수 있는지 아는 것만으로도 충분합니다. 관련 항목을 읽고 해석함으로써 일관된 답변을 제공할 수 있습니다. 이 솔루션에는 수많은 장점이 있습니다. 한편으로는 로컬에서 실행하기 쉬운 더 작은 모델이면 충분하고, 다른 한편으로는 언어 모델의 주요 문제인 환각을 최소화할 수 있습니다. 또한 벡터 데이터베이스에 새로운 지식을 추가하기만 하면 재교육 없이 모델의 지식을 쉽게 확장할 수 있습니다. Ethereum Swarm은 분산형 스토리지 엔진일 뿐만 아니라 통신 솔루션이기 때문에 이러한 벡터 데이터베이스를 생성하는 데 이상적인 솔루션입니다. 예를 들어 그룹 메시징을 Swarm을 통해 구현하여 간단한 분산 벡터 데이터베이스를 생성할 수 있습니다. 노드는 검색 쿼리를 게시하고 다른 노드는 관련 지식을 반환하여 응답합니다.


요약: Ethereum 및 Swarm을 통한 LLM OS 구현

LLM OS의 아이디어는 Andrej Karpathy가 트위터에 게시한 것에서 유래되었습니다. LLM OS는 대규모 언어 모델을 중심으로 한 가상의 운영 체제입니다. 블록체인 기반 분산 시스템에서는 이를 사용자 노드에서 실행되는 에이전트로 간주할 수 있습니다. 이 에이전트는 다른 에이전트 및 기존 Software 1.0 도구와 통신할 수 있습니다. 여기에는 계산기, Python 인터프리터가 포함될 수 있으며 실제 로봇, 자동차 또는 스마트 홈을 제어할 수도 있습니다. 우리 시스템에서 파일 시스템은 Swarm으로 표현되며 Swarm을 통해 생성된 벡터 데이터베이스는 상식에 접근할 수 있습니다. 전체 시스템(에이전트 집단)은 집단 지성의 한 형태로 볼 수 있습니다.

앞으로는 인공지능이 지금보다 훨씬 더 우리 일상생활의 일부가 될 것이라고 믿습니다. AI는 우리의 일부가 될 것입니다! 휴대폰 대신 모든 것을 녹음하는 카메라와 모든 것을 듣는 마이크가 장착된 스마트 안경을 착용하게 될 것입니다. 우리는 로컬에서 실행되는 언어 모델 및 기타 에이전트와 지속적으로 대화할 것이며, 이는 미세 조정을 통해 시간이 지남에 따라 우리의 요구에 적응할 것입니다. 하지만 이러한 에이전트는 우리와 소통할 뿐만 아니라 전체 커뮤니티가 생산하는 집단적 지식을 지속적으로 활용하여 서로 소통할 것입니다. 이 시스템은 인류를 집단지성의 형태로 조직화할 것이며 이는 매우 중요한 일입니다. 이러한 집단지성이 단일 기업이나 단체의 재산이 되는 것은 용납될 수 없습니다. 그렇기 때문에 위에 설명된 시스템이나 이와 유사한 시스템이 필요한 것입니다!