Inference 개요
Baseten Inference 개요 — 앱에서 모델까지의 길
Baseten에서 추론은 단순히 "모델을 호출한다"는 뜻 이상이에요. 애플리케이션에서 Baseten 인프라 위에 떠 있는 모델까지 요청이 도달하는 전체 흐름을 가리키죠. GPU를 직접 준비하거나 라우팅 레이어를 만들 필요 없이, Baseten이 요청을 인증하고 배포 환경과 매칭해서 레플리카에서 실행해 줍니다. 이 페이지는 Baseten 계정과 API 키가 이미 있다는 전제에서 시작해요.
호스팅된 모델을 쓰고 싶다면 Model APIs로, 직접 배포한 모델이라면 Truss로 각각 다른 경로를 탑니다. 두 경우 모두 본질은 같아요. 여러분의 앱이 https://inference.baseten.co/v1 같은 공개 OpenAI 호환 엔드포인트나 배포 전용 서브도메인을 통해 모델에 요청을 보내는 구조죠.
Inference API
자체 배포 모델은 페이로드에 맞는 인터페이스를 고릅니다. Engine-Builder-LLM, BIS-LLM, BEI 같은 엔진들은 배포 전용 엔드포인트인 https://model-<id>.api.baseten.co/environments/production/sync/v1에서 /v1/chat/completions(BEI는 /v1/embeddings)를 노출해요. 구조화된 출력, 도구 호출, 리즈닝, 스트리밍 모두 OpenAI 호환 파라미터로 쓸 수 있죠. 커스텀 Truss 코드가 챗이나 임베딩 형태에 맞지 않는 임의 JSON을 다룬다면 대신 /predict를 씁니다.
동기 추론 (Synchronous)
동기 호출은 한 번의 왕복으로 전체 응답을 받는 방식이에요. 챗, 코드 완성, 분류, 임베딩처럼 클라이언트가 답을 기다릴 수 있는 대화형 상황에 잘 맞습니다. 예측 스타일 URL은 development, environment, published 배포별로 조금씩 달라지는데, "Call your model" 문서에서 확인할 수 있어요.
스트리밍 (Streaming)
스트리밍은 토큰이 생성되는 즉시 서버-전송 이벤트(SSE)로 내보내요. 긴 생성 결과나 부분 출력이라도 빈 화면보다는 중간 결과가 나오는 게 낫다는 UI 시나리오에 유용합니다. 클라이언트 패턴과 엔진별 주의점은 "Streaming" 문서에 정리돼 있어요.
비동기 추론 (Asynchronous)
비동기 추론은 요청 ID를 빠르게 돌려받고, 완료는 나중에 웹훅이나 폴링으로 확인하는 방식이에요. 배치 작업, 긴 문서, 그리고 수 분 동안 연결을 붙잡아 두면 안 되는 상황에 잘 어울리죠. 웹훅, 상태 엔드포인트, 실패 처리까지 "Async inference" 문서에서 다룹니다.
구조화된 출력과 도구 호출
구조화된 출력은 모델이 여러분이 정의한 JSON 스키마에 맞게 답하도록 강제하고, 도구 호출은 모델이 함수를 호출해서 턴을 이어가게 해요. 둘 다 지원되는 환경에서는 OpenAI SDK 파라미터와 정렬됩니다. 구현 세부 내용은 "Structured outputs"와 "Function calling" 문서를 참고하세요.
클라이언트 구성
지속적인 부하에서는 연결 재사용, 타임아웃, 병렬 처리를 조정하는 게 중요해요. Baseten Performance Client가 일반적인 경우를 다루고, 직접 HTTP 튜닝이 필요하면 "Performance client"와 "HTTP client configuration" 문서를 보면 됩니다.
더 알아보기
- Model APIs 개요 — 호스팅 LLM을 OpenAI/Anthropic 호환 엔드포인트로 호출
- Baseten 개요 — 플랫폼 전반 이해
- Truss로 모델 개발하기 — 자체 모델 배포 경로