Secure Minions 프로토콜을 통한 암호화된 Ollama‑frontier 모델 협업 가능

TL;DR

Secure Minions는 Minions 프레임워크에 종단간 암호화를 추가하여, 로컬 Ollama 모델(예: Gemma 3 4B)이 전송 또는 원격 추론 과정에서 평문 노출 없이 frontier cloud 모델(예: GPT-4o)과 협업할 수 있도록 합니다.

Secure Minions가 추가하는 기능

Secure Minions는 로컬-원격 통신 채널 전체를 암호화하여 클라우드 제공업체로부터도 보호함으로써 기존 Minions 프로토콜을 확장합니다. 핵심 혁신은 NVIDIA Hopper H100 GPU의 confidential computing mode를 사용하여 하드웨어로 보호된 메모리 내부에서 복호화, 추론 및 재암호화를 수행하는 보안 엔클레이브(secure enclave)를 생성하는 것입니다.

핵심 보안 메커니즘

  • Key Exchange – 로컬 장치와 H100 GPU 간의 상호 키 교환을 수행합니다.
  • Remote Attestation – GPU가 실제 장치인지, 그리고 confidential mode로 실행 중인지 증명하여 위조된 하드웨어를 방지합니다.
  • Secure Enclave – GPU 내부의 모든 메모리와 연산은 암호화됩니다. 호스트의 root 사용자조차 평문을 읽을 수 없습니다.
  • End-to-End Encryption – 로컬 LLM 메시지는 전송 전에 암호화되고, 엔클레이브 내부에서만 복호화되며, 클라우드 LLM에 의해 처리된 후 재암호화되어 다시 전송됩니다.

"No plaintext is exposed – during transmission or remote LLM inference." – Hazy Research announcement

성능 영향

최대 ~8k tokens와 같은 대규모 프롬프트와 Qwen-32B와 같은 대규모 모델을 사용한 테스트 결과, 1% 미만의 추가 지연 시간을 보여주었으며, 이는 강력한 기밀성을 유지하면서도 응답성을 저해하지 않음을 입증합니다.

비용 및 개인정보 보호 이점점

  • Cost Savings – 협업을 위한 최소한의 암호화된 토큰만 전송함으로써, 프로토콜은 frontier model의 정확도를 98% 유지하면서도 기존 Minions 시스템에서 보고된 5x-30x 클라우드 비용 절감 효과를 유지합니다.
  • Privacy Upside – 민감한 컨텍스트는 평문 상태로 로컬 장치를 떠나지 않으므로, 로컬 우선(local-first) LLM 설정의 주요 개인정보 보호 문제를 해결합니다.

시작하기

# Clone the Minions repository
git clone https://github.com/HazyResearch/minions.git
cd minions

# Optional: create a virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install the package in editable mode
pip install -e .

# Pull a local Ollama model (e.g., Gemma 3 4B)
ollama pull gemma3:4b

Secure Demo 실행하기

리포지토리는 기존 Minion 프로토콜과 Secure Minion (MinionS) 프로토콜을 모두 보여주는 Streamlit 앱을 포함하고 있습니다.

streamlit run app.py

앱 설정:

  • Remote Provider: "Secure"
  • Secure Endpoint URL: http://20.57.33.122:5056
  • Local Client: Ollama와 선택한 모델.

Secure Minions demo screenshot

Python 사용 예시

from minions.clients.secure import SecureClient
from minions.clients.ollama import OllamaClient
from minions.minion import Minion

remote_client = SecureClient(
    endpoint_url="http://20.57.33.122:5056",
    verify_attestation=True,
)

local_client = OllamaClient(model_name="gemma3:4b")

protocol = Minion(local_client=local_client, remote_client=remote_client)

task = "How many grand slams did he win"
context = """John Doe, a legendary tennis player, ..."""

output = protocol(
    task=task,
    doc_metadata="file",
    context=[context],
    max_rounds=5,
)
print(output)

python example.py로 스크립트를 실행합니다.

더 읽어보기

Sources

관련

  • Dispatch
  • Dispatch
  • 프로젝트
  • Dispatch
  • 프로젝트