Nvidia Hermes 구성

심심해서 한번 써본 Hermes 사용기
집에 DGX Spark 시리즈가 있는데, 해당 시리즈의 최적화된 오픈클로와 거의 동일한 시스템을 nvidia에서 출시했다고 하여서 조금 관심을 갖고 끄적여봤습니다.
왜 갑자기 뒷북이냐
사실 Hermes를 설치하게 된 가장 큰 계기는
왜냐면 저는 사실 제 개인 정보가 서버로 날라가는 현상을 극도로 싫어하기에,,그리고 그것들이 이제 보안에 꽤 민감하기도 해서, 이전에 openclaw일때도, 로컬로 시도했다가, 짤 먹었습니다 ㅠ
사실 연결 자체는 성공했는데, 그때 사용하던 gpt-oss-120b로는 오픈클로에서 최소 성능으로 잡는 200b 이상을 요구했어서, 사실 남들 쓸때 저는 혼자 못쓰고 있었습니다 큐ㅠ
하지만 원걸..이번에는 nvidia가 qwen3.6-35B에서도 최적화에 성공해따고 하더라구요
즉, Max Token이 6만 토큰 정도로 감당만 가능하다면, 사용 가능하다고 하길래 냉큼 설치 하게 됐습니다.
설치는 클로드와 함께
요즘은 ai가 워낙 좋으니, 클로드를 통해서 설치를 좀 진행했습니다.
그럼에도 불구하고 약간의 트러블 슈팅이 조금 있어서, 공유를 조금 해볼까 합니다.
Hermes 설치
hermes자체를 설치하는 것은 그렇게 어렵지는 않았습니다.
Git Installer로 설치
저는 pip보다는 지속적으로 update를 받고 싶다보니, git installer로 설치했습니다. 설치 자체는 pip도 가능합니다.
# 설치
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 설치 적용
source ~/.zshrc이후에 나오는 설정들은 오픈클로와 조금 유사하게 진행됩니다.

첫번째 시도(Gemma4 연결)
사실 이전에 gpt-oss-120b가 너무 메모리를 많이 먹어서, 이번에 Gemma4가 먹는 자원 대비 성능이 압도적이라는 평가가 많아서, 한번 사용하기 위해서 이미 Gemma4가 제 서버에 돌아가고 있어서, 귀찮다는건 비밀 한번 시도 해봤습니다.
솔직히 Qwen 3.6 35b도 돌아가는데 Gemma4는 안돌아가겠어?
라는 마인드로 접근했다가,,,결론적으로 말하자면, 가능은 합니다. 하지만, 역시 최적화는..좀 다르더라구요
두가지 문제
우선 nvidia가 지원하는 tool calling에서 차이가 좀 났습니다. 사실 정보가 적은게 조금 한몫 하기도 했는데, Gemma4가 호환성이 좋지도 않거니와, tool calling 때문에 그런가 무한 루프에 빠지더라구요
두번째 시도 (Qwen 3.6 연결)
사실 이 부분 부터는 그리 어렵지는 않았습니다.
nvidia가 qwen3.6에 최적화 시켰다는 말처럼, 기본 토큰 6만 정도만 넘는 다면 Hermes 측에서도 따로 태클을 걸지는 않았습니다.
다른 분들은 삽질을 하지 않으시기 위해서,,ㅎㅎ qwen3.6 적용 docker compose 를 드리겠습니다.
주의점은 해당 vllm을 사용하시려면 못해도 50gb이상의 VRAM이 확보가 되셔야합니다. 6만토큰을 받아들이려면 어쩔 수 없는 조치라고 하네요
왠만해서 dgx spark를 소지하지 않으시면 힘드실듯 하긴 합니다.
services:
vllm-qwen-3-6-35b:
image: vllm/vllm-openai:latest
container_name: parasix-vllm-qwen-3-6-35b
runtime: nvidia
restart: always
environment:
HUGGING_FACE_HUB_TOKEN: ${HF_TOKEN}
NVIDIA_VISIBLE_DEVICES: "0"
volumes:
- ~/.cache/huggingface:/root/.cache/huggingface
ports:
- "8000:8000"
shm_size: "16gb"
ipc: host
ulimits:
memlock: -1
stack: 67108864
command:
- "Qwen/Qwen3.6-35B-A3B"
- "--served-model-name"
- "qwen-3-6-35b"
- "--trust-remote-code"
- "--tensor-parallel-size"
- "1"
- "--host"
- "0.0.0.0"
- "--port"
- "8000"
- "--gpu-memory-utilization"
- "0.75"
- "--max-model-len"
- "65536"
- "--enable-auto-tool-choice"
- "--tool-call-parser"
- "qwen3_xml"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
networks:
- dgx-spark-network
vllm-embed-bge-m3:
image: vllm/vllm-openai:latest
container_name: parasix-vllm-embed-bge-m3
runtime: nvidia
restart: always
environment:
HUGGING_FACE_HUB_TOKEN: ${HF_TOKEN}
NVIDIA_VISIBLE_DEVICES: "0"
volumes:
- ~/.cache/huggingface:/root/.cache/huggingface
ports:
- "8001:8000"
shm_size: "8gb"
ipc: host
ulimits:
memlock: -1
stack: 67108864
command:
- "BAAI/bge-m3"
- "--runner"
- "pooling"
- "--served-model-name"
- "bge-m3"
- "--trust-remote-code"
- "--tensor-parallel-size"
- "1"
- "--host"
- "0.0.0.0"
- "--port"
- "8000"
- "--gpu-memory-utilization"
- "0.15"
- "--max-model-len"
- "8192"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
networks:
- dgx-spark-network
networks:
dgx-spark-network:
external: true참고로 Qwen은 Apache Licence 이기 때문에 HF_TOKEN이 없어도 다운 받는건 가능합니다.
그리고 꼭 vLLM을 안쓰셔도, Ollama도 충분히 Hermes 구동 가능하니, 해당 부분은 참고하셔서 구성하셔도 됩니다!
다음에는 후기로 찾아오겠습니다!