대형 모델, 혼자서는 못 돌리는 게 당연했는데요
요즘 오픈소스 LLM들, 성능은 정말 좋아졌는데 막상 집에서 돌려보려면 벽에 부딪히죠. 70B급 모델을 제대로 올리려면 80GB짜리 A100이 몇 장씩 필요하거든요. 개인 개발자한테는 그림의 떡이에요. 그래서 보통은 4비트 양자화로 모델을 꾹꾹 눌러 담거나, 아예 API를 쓰는 걸로 타협하게 되는데요. Petals라는 프로젝트는 완전히 다른 접근을 들고 나왔어요. 바로 "비트토렌트처럼, 여러 사람의 GPU를 연결해서 하나의 큰 모델을 같이 돌리자"는 거예요.
이게 뭐냐면: 모델을 레이어 단위로 쪼개서 나눠 든다
토렌트에서 큰 파일을 여러 조각으로 나눠 여러 사람에게서 동시에 받잖아요. Petals는 그 아이디어를 모델 추론에 적용했어요. 트랜스포머 모델은 수십 개의 레이어(층)가 차곡차곡 쌓인 구조인데요, 참여자 각자가 이 레이어 중 일부만 자기 GPU에 올려두는 거예요. 예를 들어 A는 1~20층, B는 21~40층, 이런 식으로요. 내가 프롬프트를 넣으면 내 컴퓨터에서 가벼운 임베딩 처리를 하고, 무거운 연산은 네트워크 위의 서버들을 릴레이처럼 거치면서 진행돼요. 마라톤 계주처럼 배턴(중간 계산 결과)을 넘기는 셈이죠.
"그럼 그냥 램이나 디스크에 얹어서(오프로딩) 돌리면 되지 않나?" 싶을 수 있는데요, 오프로딩은 토큰 하나 만들 때마다 수백 GB의 가중치를 계속 퍼 날라야 해서 끔찍하게 느려요. 반면 Petals는 각 참여자의 GPU에 가중치가 상주해 있으니 네트워크 지연만 감수하면 되고, 그 덕에 오프로딩보다 훨씬 빠른, 대화형으로 쓸 만한 속도(70B급에서 초당 몇 토큰 수준)가 나온다는 게 핵심이에요. 단순 추론만 되는 게 아니라, 어댑터 방식의 파인튜닝처럼 가벼운 학습도 스웜(참여자들의 네트워크) 위에서 할 수 있게 설계돼 있고요.
물론 공짜 점심은 아니에요
주의할 점도 분명해요. 공개 스웜에서는 내 입력이 다른 사람의 서버를 거쳐 가거든요. 원문 텍스트가 그대로 보이는 건 아니지만, 중간 계산값을 처리하는 노드를 완전히 신뢰할 수는 없으니 민감한 데이터는 절대 넣으면 안 돼요. 회사나 연구실이라면 아는 사람들끼리만 프라이빗 스웜을 꾸리는 게 정석이고요. 또 참여자가 갑자기 빠지면 다른 노드가 그 레이어를 이어받아야 하니, 전용 클러스터만큼 안정적인 속도를 기대하긴 어려워요.
업계 맥락: '로컬로 작게' vs '네트워크로 크게'
요즘 개인이 LLM을 돌리는 주류는 llama.cpp 계열이죠. 모델을 양자화해서 한 대의 맥북이나 게이밍 PC에 욱여넣는, "작게 만들어서 로컬로" 전략이에요. Petals는 정반대로 "모델은 그대로 두고, 컴퓨터를 여럿 모아서" 가는 전략이고요. 옛날에 단백질 접힘 계산을 전 세계 PC로 나눠 하던 폴딩앳홈이나, 자원봉사 GPU로 이미지 생성을 해주던 AI Horde 같은 커뮤니티 컴퓨팅의 계보에 있는 프로젝트예요. 요즘은 소형 모델이 워낙 좋아져서 예전만큼 절박하진 않지만, "최상위급 오픈 모델을 비용 폭탄 없이 커뮤니티가 함께 굴린다"는 방향은 여전히 유효한 실험이라고 봐요.
우리에게 주는 시사점
한국에서도 GPU 비용은 개인과 소규모 팀의 최대 진입장벽이잖아요. 연구실 몇 곳이 남는 GPU를 모아 프라이빗 스웜을 만들면 단독으로는 엄두도 못 낼 크기의 모델을 실험해볼 수 있어요. 그리고 꼭 실사용이 아니더라도, 파이프라인 병렬화나 분산 추론이 실제로 어떻게 구현되는지 코드로 뜯어보기 좋은 교재이기도 하고요. 분산 시스템과 ML 인프라에 관심 있다면 아키텍처만 훑어봐도 얻어가는 게 많을 거예요.
정리하면, Petals는 "대형 모델은 데이터센터의 전유물"이라는 전제에 도전하는 토렌트식 분산 추론 프로젝트예요. 여러분이라면 남는 GPU를 공개 스웜에 보태실 건가요? 아니면 신뢰 문제 때문에 역시 로컬 양자화 모델이 답이라고 보시나요?
🔗 출처: Hacker News