본문 바로가기

립모션도 반길 칩 독립 AI, ZML 무료 공개

반응형

Hot French startup ZML releases free product to speed inference across lots of A
Hot French startup ZML releases free product to speed inference across lots of A

 

⚡ 한 줄 요약: 립모션 같은 온디바이스 AI든 대형 LLM이든 발목을 잡던 '칩 종속' 문제를, 프랑스 스타트업 ZML의 무료 추론 서버 'LLMD'가 겨냥한다. 모델을 한 번 컴파일하면 엔비디아·AMD·구글 TPU·애플 메탈·인텔 Arc에서 그대로 돌린다. 단, 무료지만 오픈소스는 아니다(2026-07-09 확인 기준).

 

 

📑 목차

 

 

무슨 일인지

파리 기반 AI 스타트업 ZML이 LLM 추론 서버 LLMD를 무료로 공개했다.
튜링상 수상자 얀 르쿤(Yann LeCun)이 지지한 팀으로 알려지며 화제가 됐다.

핵심은 하나다.
모델을 한 번 컴파일해 서로 다른 AI 칩에서 그대로 돌린다. 지원 대상으로 거론되는 하드웨어는 엔비디아, AMD, 구글 TPU, AWS Trainium, 애플 메탈, 인텔 Arc 등으로 폭이 넓다.
비결은 파이썬+CUDA 스택이 아니라 Zig 언어로 새로 짠 추론 스택이라는 점이다.
CUDA에 묶이지 않으니 특정 GPU 벤더에 종속되지 않는다.

한 가지 정확히 짚을 게 있다.
LLMD는 '무료'지만 '오픈소스'는 아니다. 사용 데이터를 모아 제품을 다듬으려는 무료 배포로 보도됐다.
팀은 20명 규모이고, 창업자는 젠리(Zenly) 매각 이력을 바탕으로 20VC 등에서 약 2천만 달러를 유치했다.
유럽의 '칩 독립'이라는 정치적 맥락도 함께 읽힌다.

 

 

배경 — '립모션'이 겪던 그 숙제

왜 립모션 이야기냐고?
하드웨어마다 추론을 다시 튜닝해야 하는 고통이 정확히 같은 문제여서다.
립모션(Leap Motion, 현 Ultraleap)은 손동작을 추적하는 센서로, 손 관절 위치를 추정하는 ML 모델을 기기 위에서 실시간으로 굴린다.
이런 제스처·공간 컴퓨팅 AI는 항상 "어떤 칩에서 돌 것인가"에 발목을 잡혔다.
CPU냐 특정 GPU냐 NPU냐에 따라 연산 커널을 다시 최적화해야 하고, 그때마다 코드가 하드웨어에 눌어붙는다.

LLMD가 겨냥하는 서버용 LLM 추론과 립모션류 온디바이스 추론은 규모가 다르지만, "한 번 컴파일 → 아무 칩에서나 실행"이라는 지향점은 동일한 문제의 두 얼굴이다.
립모션을 검색해 여기 왔다면, 지금 업계가 풀려는 게 바로 그 '칩 종속 탈출'이라고 이해하면 된다.
(다만 LLMD가 립모션 기기를 직접 지원한다는 뜻은 아니다.
문제의 '유형'이 같다는 얘기다.)

 

 

개발자에게 주는 의미

  • 벤더 락인 완화: CUDA 전제에서 벗어나면 GPU 수급난·가격에 덜 휘둘린다. AMD·TPU가 남아돌 때 그쪽으로 워크로드를 옮길 여지가 생긴다.
  • 추론 비용이 협상 카드가 된다: "이 모델은 어느 칩에서 가장 싸게 도나"를 실측해 배치할 수 있다.
  • 추상화 계층의 부상: 앞으로 추론 서버는 OpenAI 호환 API를 그대로 두고 뒤단 하드웨어만 바꿔 끼우는 형태가 표준이 될 가능성이 크다. 애플리케이션 코드는 엔드포인트만 바라보면 된다.

 

 

실무 적용 — 하드웨어에 안 묶이는 클라이언트

LLMD의 정확한 API 규격·엔드포인트·모델명은 ZML 공식 문서에서 반드시 확인해야 한다(아래는 흔한 OpenAI 호환 서버를 가정한 예시).
요점은 클라이언트를 엔드포인트 하나만 바라보게 짜서, 뒤단 칩이 엔비디아든 TPU든 코드가 안 바뀌게 하는 것이다.
재시도에는 지수 백오프 + 지터 + 상한을 넣는다.

import os, time, random, requests

BASE = os.environ["INFER_BASE_URL"]  # 칩이 바뀌어도 여기만 바꾼다
MODEL = os.environ.get("INFER_MODEL", "확인필요-공식문서")  # 하드코딩 금지

def infer(prompt: str, max_retries: int = 5) -> str:
    payload = {"model": MODEL,
               "messages": [{"role": "user", "content": prompt}]}
    for attempt in range(max_retries):
        try:
            r = requests.post(f"{BASE}/v1/chat/completions",
                              json=payload, timeout=30)
            r.raise_for_status()
            return r.json()["choices"][0]["message"]["content"]
        except requests.RequestException:
            if attempt == max_retries - 1:
                raise
            sleep = min(2 ** attempt + random.random(), 20)  # 지터+상한
            time.sleep(sleep)

엔드포인트를 환경변수로 뺐기 때문에, 오늘 엔비디아에서 돌리다 내일 TPU 백엔드로 옮겨도 애플리케이션 코드는 한 줄도 안 바뀐다.
이게 '칩 독립'이 개발자에게 주는 실체다.

 

 

체크포인트 — 그래서 뭘 해보나

  • 무료 ≠ 오픈소스: LLMD를 도입 검토한다면 라이선스·데이터 수집 정책을 먼저 확인하라(무료 배포의 대가가 있을 수 있다).
  • 엔드포인트만 바라보게 설계: 클라이언트는 BASE URL·모델명을 환경변수로 분리해 하드웨어 교체를 무중단으로.
  • 칩별로 실측: 같은 모델을 엔비디아/AMD/TPU에서 각각 벤치해 토큰당 비용·지연을 비교한 뒤 배치처를 정하라.

 

 

참고(출처)


편집 노트(원고 아님): 이번 회차는 타겟 키워드(립모션)와 소재(ZML)가 본래 무관합니다.
그래서 억지 키워드 삽입 대신 "추론의 칩 종속 탈출"이라는 공통 문제로 정직하게 다리를 놨고, ZML이 립모션 기기를 지원한다는 오해가 없도록 본문에 명시했습니다.
다만 냉정히 말하면, '립모션(기기)'을 찾는 검색자에겐 매칭이 약해 이탈률이 높을 수 있습니다 — 다음 회차엔 소재와 결이 맞는 키워드(예: 온디바이스 추론, 추론 서버, 칩 종속, Zig 추론) 배정을 권합니다.
직전 자기평론 반영분: ①제목 32자 이내·핵심 선두 ②TL;DR 키워드+구체 결론 ③읽는 쪽(클라이언트) 코드로 서사 닫음 ④백오프에 지터+상한 ⑤부정 진술에 확인 날짜 명기 ⑥choices[0] 접근은 예시임을 코멘트로 전제 ⑦구글뉴스 RSS 대신 원문 직접 링크.

🔗 함께 보면 좋은 글

 

 

📊 오늘의 개발 트렌드 (자동 집계)

GitHub·Hacker News·Hugging Face·App Store·Cloudflare Radar에서 매일 자동으로 모은 개발 트렌드입니다. (2026-07-09 06:13 기준)

🐙 GitHub 급상승

📰 Hacker News 화제

🤗 Hugging Face 트렌딩 모델

💰 App Store 매출 TOP (한국)

  • ChatGPT — OpenAI OpCo, LLC
  • YouTube — Google
  • Pokémon GO — Niantic, Inc.

🌐 가장 많이 방문되는 웹 (Cloudflare Radar)

반응형