Hacker News

Show HN: Janus – Go binary that runs GGUF models via Vulkan on AMD/Intel/Nvidia

Show HN: Janus — Vulkan으로 AMD·Intel·Nvidia에서 GGUF 모델을 실행하는 Go 바이너리

Janus는 llama.cpp를 백엔드로 삼아 GGUF 모델을 로컬에서 실행하고 OpenAI 호환 API를 제공하는 Go 프로그램입니다. Vulkan GPU 추론과 CPU 대체 실행을 지원하며, 모델 교체와 스트리밍 응답도 지원합니다.

AI 요약

Janus는 Python, Docker, Ollama 없이 GGUF 모델을 실행하는 단일 Go 바이너리를 표방합니다. llama.cpp를 Vulkan 또는 CPU 백엔드로 구동하며 AMD·Intel·Nvidia GPU를 지원합니다. OpenAI 호환 API를 제공해 Cursor, Cline 같은 클라이언트나 curl에서 로컬 모델을 호출할 수 있습니다.

실행 방식과 기능

Windows에서는 빌드 스크립트가 Vulkan용 llama.cpp DLL을 내려받고 janus.exe를 만듭니다. Linux와 macOS에서는 Go 1.22 이상이 필요하며, Linux는 libllama.so를 바이너리 옆에 두거나 LD_LIBRARY_PATH에 포함해야 합니다. GGUF 파일을 models/에 넣고 .env에서 모델 경로와 백엔드를 지정한 뒤 서버를 실행합니다. 기본 주소는 127.0.0.1:8990입니다.

/v1/chat/completions와 /v1/models를 제공하고 스트리밍 응답도 지원합니다. /models/load로 서버를 재시작하지 않고 모델을 바꾸며, GGUF 메타데이터에서 채팅 템플릿을 자동으로 감지합니다. 추론 모델의 <think> 내용은 reasoning_content로 분리합니다. 저장 공간은 Janus와 llama 라이브러리 약 50MB 외에 모델당 보통 2~8GB가 필요하다고 안내합니다.

Hacker News 반응

  • @PcChip — vLLM, SGLang, ExLlama 등과 비교한 벤치마크를 찾지 못했습니다.
    • @rancor — 기본적으로 libllama.so를 감싸는 프로그램이므로 성능은 llama.cpp 상류 버전과 대체로 같을 것으로 봅니다.
    • @nullpoint420 — 이런. 제작자가 그 사실을 알고 있는지 궁금합니다.
  • @peddling-brink — “llama.cpp를 통한 Vulkan (AMD / Intel / NVIDIA) 또는 CPU 대체 실행”이라는 문구를 보고 Intel에 신경 쓰는 프로젝트인 줄 알고 기대했습니다. 아쉽네요.
    • @kamranjon — llama.cpp의 SYCL 지원과 vLLM의 XMX 작업은 지금 정말 훌륭합니다. 추가 플래그를 넣어 빌드하면 됩니다.
    • @peddling-brink — GGUF를 쓰려면 llama.cpp가 좋겠습니다. 참고할 만한 플래그나 튜토리얼이 있나요?
    • @gunalx — 문서부터 보는 게 좋습니다. https://github.com/ggml-org/llama.cpp/blob/master/docs/backe...
    • @wronglebowski — 어떤 하드웨어를 쓰시나요? 저는 258V를 써 보고 있는데 OpenVINO가 정말 많이 발전했습니다.
    • @peddling-brink — Arc B60 두 장입니다. Intel vLLM 빌드에서 Qwen 3.8 27B를 긴 컨텍스트로 돌릴 때 디코딩 속도가 초당 약 15토큰입니다.
  • @dlcarrier — 제가 본 바로는 Intel 하드웨어에서 Vulkan이 오버헤드를 많이 더합니다.
    • @gunalx — 맞기도 하고 아니기도 합니다. Intel GPU에서 llama.cpp의 Vulkan과 SYCL을 모두 시험했는데, 차이가 크다고 말하는 사람들의 주장과 달리 제 측정에서는 성능이 비슷했습니다. Vulkan이 약간 느린 점은 감수하고, 개발 속도와 안정성이 더 나은 백엔드를 택했습니다. Intel과 AMD GPU에서 같은 설정을 쓸 수 있다는 점도 고려했습니다.
  • @aidiveyt — Claude Code는 사용자 프롬프트 뒤에 role:"system" 블록을 덧붙입니다. 따라서 마지막 사용자 메시지를 다시 쓰는 프록시는 아무 효과가 없습니다.
  • @DylanMerigaud — Intel 하드웨어에서는 Vulkan 오버헤드가 성능에 영향을 줄 수 있습니다.
  • @antonyragleap — 긴 컨텍스트에서 Intel과 AMD·Nvidia 간 Vulkan 오버헤드가 궁금합니다. vLLM이나 SGLang과 비교한 벤치마크가 있나요?

원문: Hacker News / 번역·요약: Trawling