Community코딩 & 개발github.com

추론 엔지니어링

생성형 AI 모델을 제공하기 위한 아키텍처, 성능 및 프로덕션 결정을 내립니다. 모델 또는 하드웨어 선택, 지연 시간 또는 처리량 진단, LLM 또는 멀티모달 추론 최적화, 벤치마킹, GPU 서비스 확장, 또는 제공 비용 추정 시 사용하세요.

추론 엔지니어링란 무엇인가요?

이 스킬은 AI 제품의 품질, 지연 시간, 안정성 및 비용 요구 사항을 측정 가능한 추론 시스템으로 전환하는 방법을 제공합니다. Philip Kiely의 저서 *Inference Engineering* (Baseten Books, 2026)에 기반한 독립적인 운영 종합 자료로, 저자나 출판사의 보증이나 제휴가 아닙니다. 빠르게 변화하는 벤더 기능, 모델 릴리스, 하드웨어 가용성 및 소프트웨어 동작을 확인하기 위해 구현 결정을 내리기 전에 공식 문서에서 최신 세부 정보를 검증해야 합니다. 이 스킬은 워크로드 특성화, 모델 및 하드웨어 선택, 병목 현상 진단 및 최적화 플레이북 적용을 포함한 포괄적인 워크플로우를 제시하며, 특히 Claude Code와 같은 AI 에이전트 플랫폼에서 추론 엔지니어링 의사 결정을 지원하도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/Ayaansiddiq07/Inference-skill/tree/HEAD

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

추론 엔지니어링은(는) 무엇을 하나요?

이 스킬을 사용하여 AI 제품의 품질, 지연 시간, 신뢰성 및 비용 요구 사항을 측정 가능한 추론 시스템으로 전환하세요. 이는 Philip Kiely의 Inference Engineering (Baseten Books, 2026)을 바탕으로 한 독립적인 운영 종합 자료이며, 저자나 출판사의 제휴 또는 보증과는 관련이 없습니다. 벤더 기능, 모델 릴리스, 하드웨어 가용성 및 소프트웨어 동작은 빠르게 변화합니다. 구현 결정을 내리기 전에 공식 문서를 통해 최신 세부 정보를 확인하세요.

워크로드부터 시작하세요

엔진이나 최적화를 선택하기 전에 다음을 설정하세요:

  • 제품 계약: 필요한 출력 품질, 모달리티, 컨텍스트/입력 크기, 응답 형태, 스트리밍 요구 사항 및 실패 동작.
  • 트래픽 형태: 요청 속도, 동시성, 버스트성, 도착 패턴, 입력/출력 길이 분포 및 캐시 가능 접두사 빈도.
  • 서비스 목표: 종단 간 P50/P95/P99 지연 시간, 첫 토큰까지의 시간(TTFT), 토큰 간 지연 시간(ITL), 처리량, 가용성 및 복구 목표.
  • 제약 조건: 예산, 지역, 데이터 상주, 개인정보 보호, 라이선스, 하드웨어 액세스 및 운영 역량.
  • 기준: 대표적인 품질 평가와 현실적인 부하에서의 종단 간 성능 및 비용.

단일 대리 지표를 독립적으로 최적화하지 마세요. 작업 단위를 정의하고 해당되는 경우 클라이언트, 큐, 네트워크, 전처리, 모델 및 후처리 시간을 포함하세요. 에이전트 플로우의 경우 도구 호출 및 재시도를 포함한 전체 작업을 측정하세요.

운영 워크플로우

  1. 워크로드 특성화. 대화형 온라인 트래픽을 오프라인/배치 작업과 분리하고, 지연 시간에 민감한 경로와 처리량 중심 경로를 식별합니다. 실제 입력/출력 분포 및 동시성을 기록합니다.
  2. 후보 모델 선택. 작업별 품질, 모달리티, 컨텍스트, 제공 제약 조건, 라이선스 및 운영 적합성으로 후보를 좁힙니다. 공개 벤치마크는 후보를 좁히는 용도로만 사용하고, 대표적인 제품 데이터 및 실패 사례에 대해 평가합니다.
  3. 예산 설정. 종단 간 목표를 큐잉, 네트워크, 전처리, 프리필, 디코드 및 후처리에 대한 예산으로 변환합니다. 버스트 및 성능 저하 조건에 대한 여유를 포함합니다.
  4. 모델을 하드웨어에 맞춤. 가중치 메모리, 런타임/활성화 오버헤드, KV-캐시 수요 및 사용 가능한 여유를 추정합니다. 측정된 메모리 대역폭, 컴퓨팅, 상호 연결 및 토폴로지를 확인합니다. 명목상의 가속기 사양은 워크로드 벤치마크가 아닙니다.
  5. 재현 가능한 기준 설정. 모델 개정, 엔진/버전, 하드웨어, 정밀도, 구성, 프롬프트 혼합, 출력 한도 및 부하 형태를 고정합니다. 워밍업 후 충분한 샘플을 실행하고 동시에 백분위수 및 처리량을 보고합니다.
  6. 병목 현상 찾기. 먼저 종단 간 측정을 사용한 다음 시스템 및 커널 프로파일링을 사용합니다. 큐잉, 프리필, 디코드, 메모리 용량/대역폭, 컴퓨팅, 통신 및 호스트 오버헤드를 구분합니다.
  7. 한 번에 하나의 변수 변경. 측정된 병목 현상을 해결하는 가장 단순한 최적화를 적용합니다. 품질, 꼬리 지연 시간, 처리량, 메모리 및 비용을 함께 재확인합니다.
  8. 프로덕션 동작 검증. 과부하, 콜드 스타트, 확장 이벤트, 장애, 배포, 취소, 스트리밍 및 복구를 테스트합니다. 서비스 목표에 사용된 것과 동일한 지표를 계측합니다.

지표 및 진단

  • TTFT: 명확하게 명시된 시작 이벤트(예: 클라이언트 전송 또는 서버 수락)부터 첫 번째 생성 토큰까지의 시간. 비교 시 해당 경계를 일관되게 유지하세요. 큐잉, 프롬프트 길이, 프리필 및 시작 효과에 민감합니다.
  • ITL: 생성된 토큰 사이의 시간. 디코드 응답성을 반영합니다. 요청별 분포를 보고하고, 집계 토큰 속도만 보고하지 마세요.
  • 종단 간 지연 시간: 클라이언트가 관찰한 완료 시간. 네트워크 및 애플리케이션 작업을 포함합니다.
  • 처리량: 명시된 워크로드 및 지연 시간/품질 범위 내에서 단위 시간당 완료된 요청 또는 토큰. 토큰/초가 사용자별인지 시스템 전체인지 명시합니다.
  • 백분위수: P50과 함께 P95/P99와 같은 꼬리 목표를 보고합니다. 평균은 느린 요청을 숨길 수 있습니다.
  • 굿풋: 관련 지연 시간 및 품질 목표를 충족하면서 완료된 작업. 속도와 품질 또는 꼬리 동작을 교환하는 구성을 비교하는 데 사용합니다.

증상을 가설로 해석한 다음 추적/프로파일로 검증합니다:

증상측정해야 할 가능한 영역
TTFT 높음, ITL 정상큐 대기, 긴 프롬프트, 프리필 컴퓨팅, 콜드 스타트, 전처리
TTFT 정상, ITL 낮음디코드 대역폭, 배치 경합, KV-캐시 압력, 커널 효율성
동시성 증가에 따라 둘 다 악화큐잉, 메모리 용량, 배치 정책, 승인 제어, 포화
GPU 사용률 낮음, 지연 시간 높음CPU/토큰화, 데이터 전송, 동기화, 네트워크, 스케줄링
처리량 증가하지만 꼬리 지연 시간이 SLO 위반배치/동시성 정책, 큐 한도, 워크로드 격리

이는 진단 단서일 뿐 결론이 아닙니다. 구성 변경 전에 활성 병목 현상을 확인하세요.

모델 및 하드웨어 결정

  • 제품의 품질 평가를 수용 가능한 범위 내에서 통과하는 가장 작고/비용이 적게 드는 모델을 선호하세요. 평가에서 특정 격차를 식별하고 수명 주기 비용이 정당화되는 경우에만 프롬프팅, 검색, 미세 조정 또는 증류를 고려하세요.
  • 지연 시간, 배치 또는 가용성 목표가 충돌하고 측정된 트래픽이 운영 오버헤드를 정당화하는 경우 온라인 및 오프라인 배포를 분리하세요.
  • KV 캐시, 활성화, 단편화 및 동시성에 대한 명시적 여유를 포함하여 모델 및 런타임 상태를 가속기 메모리에 맞추세요. 가중치 적합만으로는 충분하지 않습니다.
  • 자기회귀 LLM의 경우 프리필과 디코드는 하드웨어에 다르게 부담을 줍니다. 프리필은 일반적으로 계산 집약적이고 디코드는 종종 메모리 대역폭에 묶입니다. 실제 시퀀스 및 배치 혼합에 대해 둘 다 측정하세요.
  • 다중 GPU 선택은 메모리/지연 시간/처리량과 통신 및 복잡성을 교환합니다. 텐서 병렬 처리는 분할 모델의 요청당 지연 시간을 줄일 수 있고, 전문가 병렬 처리는 희소 전문가를 대규모로 제공할 수 있습니다. 상호 연결 및 동기화 비용을 검증하세요. 다중 노드 실행은 특히 주의 깊은 통신 측정이 필요합니다.
  • 이미지, 비디오, 오디오, 임베딩 및 비전-언어 워크로드의 경우 모달리티별 파이프라인 및 지표를 사용하세요. 전처리, 청킹, 인코더/디코더 및 후처리 비용을 포함하고 LLM 토큰 지표를 맹목적으로 적용하지 마세요.
  • 배포 전에 모델 및 데이터 세트 라이선스와 관련 보안, 개인정보 보호 및 규제 요구 사항을 확인하세요.

이러한 선택의 이유에 대해서는 모델 및 하드웨어 기초를 참조하세요. 프레임워크, 형식 및 서빙 엔진 호환성에 대해서는 소프트웨어 스택 선택을 참조하세요. 이러한 참조는 결정 방법을 제공하지만 시대를 초월한 순위는 아닙니다. 정확한 모델, 가속기, 런타임 버전 및 기능 세트에 대한 지원을 확인하세요.

최적화 플레이북

기준을 설정하고 호환 가능한 병목 현상을 식별한 후에만 적용하세요:

배치 및 스케줄링

배치는 가속기 활용도를 높이고 오버헤드를 상쇄할 수 있지만 큐잉 및 요청당 지연 시간을 증가시킵니다. 동시성, 배치 제한, 대기 창 및 승인 제어를 현실적인 도착 패턴에 맞게 조정하세요. 목표가 충돌할 때 대화형 트래픽을 배치 작업으로부터 보호하세요.

양자화

양자화를 이진 설정이 아닌 품질/성능 스펙트럼으로 취급하세요. 측정된 메모리, 대역폭, 계산 및 품질 제약 조건에 따라 변경할 구성 요소와 정밀도를 선택하세요. 각 변경 후 대표적인 작업 품질, 에지 케이스 및 회귀 세트를 평가하고, 엔진이 허용하는 경우 가중치, 활성화, 어텐션 및 KV-캐시 효과를 별도로 관찰하세요. 제품 품질 기준 또는 신뢰성 목표를 충족하지 못하면 롤백하세요.

추측 디코딩

드래프트/제안 메커니즘은 제안 비용과 수락 동작이 대상 워크로드에 대해 순이익을 생성하는 경우에만 사용하세요. 수락률, 메모리 오버헤드, 배치 크기 영향, 사용자당 ITL, 집계 처리량 및 비용을 측정하세요. 이점은 높은 동시성 또는 낮은 수락률에서 줄어들거나 역전될 수 있습니다.

KV 및 접두사 캐싱

접두사가 반복되고 정확성/격리 요구 사항이 허용하는 경우 캐시된 상태를 재사용하세요. 적중률, 절약된 프리필 작업, 스토리지/메모리 비용, 축출 동작 및 라우팅 지역성을 측정하세요. 캐시 키 및 테넌트/보안 경계를 정의하여 한 요청이 다른 테넌트의 개인 컨텍스트를 재사용할 수 없도록 하세요. 긴 컨텍스트와 높은 동시성은 KV 압력을 증가시킵니다. 배치 및 전송 비용을 고려하세요.

병렬 처리 및 분리

모델 적합, 지연 시간 또는 처리량 측정이 통신 오버헤드를 정당화하는 경우 병렬 처리를 도입하세요. 프리필과 디코드는 워크로드가 독립적인 리소스 할당의 이점을 누릴 수 있을 만큼 크고 안정적이며 시스템이 KV 전송/라우팅을 관리할 수 있는 경우에만 분리하세요. 비교에 네트워크 대역폭, 전송 지연 시간, 장애 모드 및 운영 복잡성을 포함하세요.

커널 및 런타임 최적화

전문화된 커널을 작성하거나 선택하기 전에 프로파일링하세요. 커널 융합은 메모리 트래픽과 실행 오버헤드를 줄일 수 있지만 호환성과 수치 동작이 중요합니다. 동일한 모델 개정, 하드웨어, 프롬프트 혼합, 출력 길이, 부하 및 품질 검사를 사용하여 프레임워크/런타임/엔진 후보를 비교하세요.

양자화 방법, 추측 디코딩 제품군, 캐시 배치, 긴 컨텍스트 제공 및 분산 실행에 대한 자세한 비교는 최적화 플레이북을 읽으세요.

벤치마킹 및 프로파일링

  • 요청 크기, 도착 패턴 및 캐시 특성을 보존하는 프로덕션 추적 또는 개인정보 보호에 안전한 워크로드를 사용하세요. 합성 테스트는 제어된 실험에 유용하지만 그 한계를 명시하세요.
  • 콜드 및 웜 동작을 별도로 기록하세요. 워밍업, 적절한 기간/샘플 수, 반복 실행, 분산 및 하드웨어/소프트웨어 버전을 포함하세요.
  • 부하를 스위핑하여 포화 지점과 SLO 아래의 최대 굿풋을 모두 찾으세요. 가볍게 로드된 실행과 과부하된 실행을 비교하지 마세요.
  • 속성 추정을 위해 한 번에 하나의 요인을 변경하고, 튜닝 후 결합된 종단 간 테스트를 실행하세요. 최적화가 상호 작용할 수 있습니다.
  • 시스템 벤치마크를 작업 품질 평가와 쌍으로 연결하세요. 출력을 제품 임계값 이하로 저하시키는 성능 개선은 이점이 아닙니다.
  • 벤치마킹은 무엇이 느린지 보여주고, 프로파일링은 왜 느린지 설명하는 데 도움이 됩니다. 활성 병목 현상을 격리할 수 있는 가장 덜 방해적인 프로파일러를 사용하고 새 벤치마크로 제안된 수정 사항을 검증하세요.

프로덕션 준비

  • 용량 및 자동 확장: 완료된 작업뿐만 아니라 선행 지표(큐 깊이, 사용률, 메모리/KV 압력, 도착 속도)를 기준으로 확장하세요. 프로비저닝 및 모델 로드 시간을 고려하고, 콜드 스타트가 목표를 위반할 때 충분한 용량을 유지하거나 우아하게 성능을 저하시키세요.
  • 큐잉 및 과부하: 큐 및 요청 크기를 제한하고, 시간 초과/취소를 설정하고, 승인 제어를 사용하고, 명시적인 과부하 응답을 정의하세요. 무제한 큐잉은 포화를 꼬리 지연 시간 실패로 전환합니다.
  • 신뢰성: 상태 확인, 제한이 있는 재시도, 필요한 경우 멱등성, 인스턴스 손실, 리전/공급자 장애, 롤아웃, 롤백 및 용량 소진을 테스트하세요. 재시도는 과부하를 증폭시킬 수 있습니다.
  • 배포: 모델 아티팩트 및 종속성을 고정하고, 시작/준비 상태를 검증하고, 변경 사항을 카나리아 배포하고, 품질 및 서비스 지표를 비교하고, 테스트된 롤백 경로를 유지하세요. 이미지, 로그 또는 벤치마크 아티팩트에 시크릿을 노출하지 마세요.
  • 관찰 가능성: 요청 추적을 모델, 엔진, 하드웨어 및 구성 버전과 상호 연결하세요. TTFT, ITL, 종단 간 백분위수, 큐 시간, 처리량/굿풋, 오류, 캐시 적중률, 사용률, 메모리, 콜드 스타트 및 비용을 추적하세요.
  • 비용: 필요한 품질 및 SLO에서 성공적인 요청 또는 유용한 출력당 비용을 비교하고, 유휴 용량, 복제, 네트워킹, 스토리지 및 엔지니어링/운영 부담을 포함하세요. 규모를 0으로 줄이면 유휴 비용을 줄일 수 있지만 콜드 스타트 지연 시간이 추가됩니다.
  • 보안 및 규정 준수: 모델 및 데이터 액세스를 제어하고, 테넌트를 격리하고, 로그에서 프롬프트 및 출력을 보호하고, 보존을 정의하고, 종속성 및 아티팩트를 검증하고, 해당 데이터 상주 및 규제 요구 사항을 충족하세요.

컨테이너 재현성, 용량 및 라우팅, 다중 리전 운영, 클라이언트 프로토콜 및 롤아웃 관행에 대해서는 프로덕션 운영을 읽으세요. 모달리티별 측정에 대해서는 모달리티별 추론 고려 사항을 읽으세요.

참조 라우팅

작업읽을 자료
워크로드 카드 작성, 기준 설정, 또는 병목 현상 찾기이 파일, 그 다음 최적화 플레이북
모델 실행, 가속기 적합성, 또는 하드웨어 트레이드오프 이해모델 및 하드웨어 기초
프레임워크, 모델 형식, 커널 경로 또는 서빙 엔진 선택소프트웨어 스택 선택
양자화, 추측, 캐시, 병렬 처리 또는 분리 튜닝최적화 플레이북
비전, 임베딩, 오디오, 이미지 또는 비디오 워크로드 제공모달리티별 고려 사항
자동 확장, 배포, 신뢰성, API/클라이언트 동작 및 비용 계획프로덕션 운영

추론 작업을 위한 응답 형식

조언하거나 구현할 때 다음을 제공하세요:

  1. 워크로드 가정 및 누락된 측정.
  2. 목표 및 기준 지표.
  3. 주요 병목 가설 및 이를 증명하는 방법.
  4. 예상되는 트레이드오프와 함께 순위가 매겨진 실험 계획.
  5. 품질, 꼬리 지연 시간, 신뢰성, 보안 및 비용 수용 기준.
  6. 권장 사항에 영향을 미치는 경우 공식 소스에 대한 링크와 함께 현재 벤더/모델/런타임 사실.

관련 스킬