
미세 조정 모델을 위한 API 지표: 무엇을 추적할 것인가
미세 조정 모델에 중요한 API 지표—지연 시간, 처리량, 오류율, 토큰 사용량, 요청당 비용, 작업 완료율—를 추적해 롤백 위험을 미리 잡아냅니다.
미세 조정 모델은 실시간 API 트래픽 아래에서 충분히 빠르고, 충분히 안정적이며, 충분히 저렴할 때만 유지할 가치가 있다.
첫날부터 몇 가지만 추적한다면, 나는 지연 시간, 처리량, 오류율, 타임아웃율, 성공률, 폴백율, 토큰 사용량, 요청당 비용, 큐 깊이, 작업 완료율을 지켜보겠다. 왜냐고? 모델이 200 OK를 반환하고도 여전히 작업에 실패하거나, 여분의 토큰을 태우거나, 사용자를 떠나게 만들 수 있기 때문이다.
짧게 정리하면 이렇다.
- 지연 시간: 평균만이 아니라 TTFT와 p95/p99를 지켜본다.
- 처리량: 한 번에 한 요청씩이 아니라 프로덕션 동시성 아래에서 RPS/TPS를 테스트한다.
- 신뢰성: 실패 패턴을 쉽게 파악하도록 4xx, 5xx, 429, 503, 504를 나눈다.
- 타임아웃: 더 긴 출력은 종종 미세 조정 모델을 요청 마감 시간 너머로 밀어낸다.
- 성공 대 폴백: 작동하는 API 응답이 사용 가능한 답변과 같은 것은 아니다.
- 토큰: API
usage필드에서 입력, 출력, 총 토큰을 추적한다. - 비용: 월간 지출만이 아니라 요청당 비용, 1,000 토큰당 비용, p95 비용을 측정한다.
- 용량: 큐 깊이와 KV 캐시 압력은 종종 GPU 차트보다 먼저 문제를 드러낸다.
- 사용자 결과: 작업 완료율, 사람 검토, 이탈을 지켜본다.
- 롤백 위험: p99가 급등하거나, 5xx + 타임아웃이 5%를 넘거나, 베이스 모델 대비 승률이 50%~55% 아래로 떨어지면 나는 그것을 강한 경고로 취급하겠다.

커스텀 컴퓨트 지표로 미세 조정하기
빠른 비교
| 지표 | 내가 쓰는 용도 | 흔한 경고 신호 |
|---|---|---|
| 엔드투엔드 지연 시간 | 전체 응답 속도 확인 | p95 TTFT가 3~4초 초과 |
| p50/p90/p99 지연 시간 | 꼬리 부분의 고통 찾기 | p99가 중앙값보다 훨씬 높음 |
| 처리량 (RPS/TPS) | 부하 용량 확인 | 지연 시간이 오르는데 처리량이 정체 |
| 상태 코드별 오류율 | 요청 실패 파악 | 5xx, 503, 504 급증 |
| 타임아웃율 | 마감 시간 초과 포착 | 큐 깊이와 함께 타임아웃 상승 |
| 성공률 | 사용 가능한 작업 완료 확인 | 스키마 또는 툴 호출 실패 증가 |
| 폴백율 | 백업 모델이 얼마나 자주 쓰이는지 확인 | 비용 증가와 미세 조정에 대한 신뢰 하락 |
| 요청당 토큰 사용량 | 토큰 증가 추세 찾기 | 출력 토큰이 시간에 따라 상승 |
| 요청당 비용 | 사용량을 지출과 연결 | p95 요청 비용 급등 |
| 큐 깊이 / 용량 | 포화 감지 | 큐가 0 초과로 유지되거나 5 초과로 폭증 |
| 작업 완료율 | 비즈니스 결과 측정 | 사람 검토 또는 이탈 증가 |
결론: 나는 미세 조정 모델을 오프라인 점수만으로 판단하지 않겠다. 프로덕션에서 베이스 모델과 비교하고, 출시 전에 롤백 한계를 정하며, _속도, 실패, 지출, 결과_를 한 화면에서 보여주는 대시보드 하나를 유지하겠다.
미세 조정 이후 API 지표가 더 중요해지는 이유
미세 조정은 모델이 프로덕션에서 행동하는 방식을 바꾼다. 실시간 트래픽 아래에서 지연 시간, 토큰 사용, 실패 패턴이 모두 움직일 수 있다. 어떤 경우에는 미세 조정이 긴 프롬프트를 대체하여 입력 토큰을 줄인다. 다른 경우에는 완성을 더 길게 만들어 출력 비용을 밀어 올린다 [6]. 그래서 오프라인 승리는 그 자체로는 큰 의미가 없다. 실시간 API 지표에 대비해 확인해야 한다.
오프라인 테스트와 프로덕션 사이의 격차는 실재한다. 연구에 따르면 미세 조정 모델이 작업별 홀드아웃 세트에서 12점을 얻고도 GSM8K 같은 일반 추론 벤치마크에서 6점을 잃을 수 있다 [2]. 그것은 어떤 이상한 예외 사례가 아니다. _파국적 망각_이라 불리는 알려진 실패 패턴으로, 한 기술을 개선하면 다른 기술이 약해질 수 있다.
여기서 교훈은 꽤 간단하다: 미세 조정은 당신이 관심 있는 작업을 도우면서도 다른 곳의 성능을 해칠 수 있다. 그런 종류의 벤치마크 드리프트는 오프라인 점수만 들여다보면 명확히 드러나지 않는다. 프로덕션 신호가 평가 결과 옆에 놓일 때 보인다.
품질 드리프트만 문제가 아니다. 도메인 미세 조정은 베이스 모델의 거부 행동도 약화시킬 수 있어, 모델이 탈옥과 프롬프트 인젝션에 더 취약해진다 [2]. 프로덕션에서 그런 종류의 실수는 빠르게 나타난다: 성공률이 떨어지고, 폴백율이 오르며, 정적 테스트 세트가 잡아내지 못하는 방식으로 오류 급증이 나타나기 시작한다. 그런 변화는 뒤따르는 API 지표에 나타난다.
1. 엔드투엔드 지연 시간
엔드투엔드 지연 시간은 클라이언트가 요청을 보낸 시점부터 전체 응답이 도착하는 시점까지의 총 시간이다. 여기에는 네트워크 시간, 큐잉, 추론, 응답 전달이 포함된다 [7][9]. 미세 조정된 엔드포인트의 경우, 이것은 지켜봐야 할 첫 프로덕션 신호 중 하나다.
지연 시간을 생각하는 간단한 방법은 이것이다: total time ≈ TTFT + output_tokens × TPOT [9].
TTFT는 첫 토큰이 얼마나 빨리 나타나는지 측정하는데, 이는 스트리밍 앱에 매우 중요하다 [9][10]. TPOT는 생성된 토큰 사이의 평균 시간이다 [9]. 이 구분은 미세 조정 후 무엇이 바뀌었는지 파악하는 데 도움이 된다. 응답 속도가 느려졌나? 스트리밍이 늦게 시작됐나? 토큰 생성이 느려졌나?
미세 조정 모델은 종종 베이스 모델보다 10%~20% 느리게 실행된다. 지연 시간이 50% 넘게 뛰면, 보통 병합되지 않은 LoRA 가중치, 누락된 양자화, 또는 너무 길어진 출력을 가리킨다 [7][8]. 유용한 비교는 베이스 모델 대비다. 그것은 미세 조정이 속도 저하를 정당화할 만큼 작업 품질을 개선했는지 알려준다.
꼬리 지연 시간은 사용자가 느린 응답, 재시도, 큐 급증 중에 알아채는 것이다. p95 TTFT가 3~4초를 초과하면 사용자에게 명확한 속도 저하를 만든다 [3]. 대화형 채팅에서 p95 TTFT가 500ms 미만이면 즉각적으로 느껴진다. 일단 3~4초를 넘어가면 경험이 빠르게 나빠진다 [12]. 그러니 평균만으로 SLA를 설정하지 마라. 꼬리 지연 시간으로 설정하라.
높은 꼬리 지연 시간은 보통 순수 GPU 속도가 아니라 큐 깊이 문제나 콜드 스타트 오버헤드를 가리킨다 [10]. 그래서 백분위 지연 시간이 평균 응답 시간 자체보다 더 중요하다.
측정하기 전에 2~3회 워밍업 요청을 실행하라. 첫 호출 지연 시간은 종종 30%~50% 더 높다 [8].
2. p50, p90, p99 지연 시간
평균 지연 시간은 실제보다 상황이 나아 보이게 만들 수 있다. 평균 응답 시간이 1.2초인 것을 보고 엔드포인트가 괜찮다고 가정할 수 있지만, p99는 9초일 수 있다 [15]. 그것은 대시보드가 모든 것이 정상으로 보인다고 말해도, 1%의 사용자가 여전히 거의 10초를 기다리고 있다는 뜻이다. 백분위는 미세 조정이 대부분의 요청을 도왔는지 아니면 속도 저하를 꼬리로 밀어냈을 뿐인지 파악하는 데 도움이 된다.
각 백분위가 미세 조정된 엔드포인트에 대해 알려주는 것은 다음과 같다.
| 백분위 | 측정하는 것 | 중요한 이유 |
|---|---|---|
| p50 (중앙값) | 일반적인 요청 속도 | 대부분의 사용자가 평범한 날에 느끼는 것 [9] |
| p90 | 상위-정상 요청 속도 | 중앙값을 넘어선 더 넓은 사용자 경험을 보여줌 [14][15] |
| p99 (꼬리) | 최악의 1% 요청 | 롤백 위험을 몰고 오는 꼬리 [13][16] |
이 백분위들을 사용해 동일한 트래픽 믹스 아래에서 베이스 모델과 미세 조정 모델을 비교하라.
미세 조정 후 p50과 p99는 다른 방향으로 움직일 수 있다. 미세 조정이 더 짧고 구조화된 출력으로 이어지면, 일반적인 요청이 더 빨리 끝나기 때문에 p50이 떨어질 수 있다. 하지만 모델이 때때로 더 장황해지면 p99가 오를 수 있다 [7][15]. 그 분리가 중요하다. p50은 그대로인데 p99가 오르면, 그것이 평균 응답 시간이 아니라 파고들어야 할 신호다.
p99가 당신의 롤백 위험 숫자다. CI/CD 파이프라인에서 p99 임계값을 중심으로 회귀 게이트를 설정하라 [15]. 모델 업데이트가 꼬리 지연 시간을 한계 너머로 밀어내면, 프로덕션에 도달하기 전에 빌드가 실패해야 한다.
지연 시간은 요청이 얼마나 느리게 느껴지는지 알려준다. 다음으로, 엔드포인트가 얼마나 많은 요청을 처리할 수 있는지 살펴보라.
3. 처리량과 초당 요청 수(RPS)
지연 시간은 하나의 요청이 어떻게 수행되는지 알려준다. 처리량은 엔드포인트가 시간에 걸쳐 얼마나 많은 작업을 처리할 수 있는지 알려준다.
추적할 주요 숫자는 초당 요청 수(RPS), 초당 토큰 수(TPS), **분당 토큰 수(TPM)**다 [17][18]. 이들은 함께, 특히 여러 제공업체를 관리하기 위해 통합 LLM API를 사용할 때, 미세 조정된 엔드포인트가 실제 트래픽을 따라갈 수 있는지 보여준다.
함정은 이것이다: 모델이 일회성 테스트에서는 빨라 보이다가도 트래픽이 쌓이면 무너질 수 있다. 동시성 아래에서 처리량 붕괴에 부딪힐 수 있는데, 병렬 요청을 더 추가해도 더 이상 출력이 늘지 않고 지연 시간이 심하게 급등하기 시작한다. 처리량이 확장을 멈추는 그 변곡점이 당신의 용량 상한이다 [15].
RPS 뒤의 가장 큰 요인 중 하나는 출력 길이다. 미세 조정이 더 긴 답변을 내놓기 시작하면, 답변이 더 좋아지더라도 처리량은 내려가고 비용은 올라간다 [6][8].
순수 처리량만이 아니라 **굿풋(goodput)**도 지켜보는 것이 도움이 된다. 굿풋은 여전히 지연 시간 SLO를 충족하는 요청의 비율이다. 굿풋이 낮으면, 엔드포인트가 바쁘더라도 여전히 목표를 놓치고 있을 수 있다. 그런 종류의 격차는 종종 약한 배칭이나 서버 포화를 가리킨다 [17].
그러니 RPS와 TPS를 벤치마크할 때는 단일 요청 실행이 아니라 프로덕션 동시성에서 테스트하라. 요율 상한, 큐 깊이, VRAM과 연결된 한계는 시스템이 부하를 받기 전까지 종종 숨겨져 있다 [7][9][15]. 엔드포인트가 거기서 용량을 버틸 수 있다면, 이제 그 요청들이 성공하고 있는지 확인할 때다.
4. HTTP 상태 코드별 오류율
부하가 통제되면, 다음으로 지켜볼 것은 신뢰성이다: 엔드포인트가 얼마나 자주 실패하는가. 오류율은 요청이 마땅히 끝나야 할 방식으로 끝나는지 알려준다. 실무에서 이것은 두 개의 통으로 나뉜다: 클라이언트 측 실패와 서버 측 실패.
4xx 오류의 증가는 종종 프롬프트나 스키마 불일치, 또는 미세 조정으로 도입된 컨텍스트 윈도우 문제를 가리킨다. 503이나 504 오류의 증가는 보통 서버 부담이나 타임아웃 압력을 가리킨다. 5xx 오류가 급증하면 그것을 심각한 롤백 위험으로 취급하라.
여기엔 돈 문제도 있다. 실패한 요청도 여전히 토큰을 소비한다. 낭비된 지출을 추적하려면, 실패한 요청에서 발생한 토큰 요금을 합산하라. 특히 429를 제외한 4xx 오류와 모든 5xx 오류를 [22]. 그리고 재시도 로직이 너무 공격적이면, 그런 나쁜 재시도가 추론 비용을 3배에서 5배 밀어 올릴 수 있다 [21].
가장 흔한 상태 코드, 그것들이 보통 어디서 오는지, 그리고 다음에 무엇을 해야 하는지에 대한 간단한 지도는 다음과 같다.
| 상태 코드 | 유력한 실패 원인 | 권장 조치 |
|---|---|---|
| 400 | 프롬프트/스키마 불일치 또는 컨텍스트 윈도우 오버플로 | 프롬프트나 JSON 스키마 수정 [3] |
| 401 / 403 | 만료되거나 유효하지 않은 API 키, 또는 권한 부족 | 자격 증명 교체 또는 접근 확인 [3][21] |
| 429 | TPM/RPM 할당량 소진 | 백오프하고 할당량 사용 70% 근처에서 알림 [3] |
| 503 | 서버 포화 또는 제공업체 장애 | 일시 중지 후 나중에 재시도하거나 페일오버 [21] |
| 504 | 추론 큐가 너무 깊거나 생성이 너무 느림 | 긴 생성을 위해 타임아웃 상향 [21] |
모든 오류 코드에 같은 재시도 로직을 쓰지 마라. 400을 재시도하면 요청이 여전히 망가진 상태이기 때문에 컴퓨트만 더 태운다. 지수 백오프는 429 오류에 속한다 [21]. 503이나 504가 세 번의 점검에 걸쳐 계속 나타나면, 서킷 브레이커를 작동시키고 트래픽을 베이스라인 모델로 라우팅하라.
다음으로, 느린 응답이 완료되기 전에 타임아웃되고 있는지 확인하라.
5. 타임아웃율
오류가 오르는데 명백한 실패의 뚜렷한 급증이 없다면, 타임아웃율이 다음으로 확인할 것이다. 타임아웃도 여전히 실패한 요청이다: 클라이언트가 마감 시간 전에 응답을 받지 못한다. 타임아웃율을 그 마감 시간을 넘긴 요청의 비율로 추적하라. 이것은 종종 서버 측 타임아웃 오류로 나타난다.
미세 조정 모델은 종종 더 긴 출력을 생성하기 때문에 타임아웃에 부딪힐 가능성이 더 크다. 훈련 데이터가 장황한 쪽으로 기울었다면, 모델이 베이스 모델보다 요청당 더 많은 토큰을 생성할 수 있다. 이것은 Alibaba Qwen 모델이나 상세한 응답을 우선시하는 다른 고성능 LLM을 사용할 때 흔하다. 더 많은 토큰은 더 많은 생성 시간을 뜻하고, 그 여분의 시간이 요청을 마감 시간 너머로 밀어낸다 [8].
큐 깊이가 0 초과로 유지되면, 시스템은 이미 용량에 도달한 것이다. 그런 일이 일어나면, 타임아웃율은 보통 곧 뒤이어 오른다 [12]. 타임아웃이 나타나기를 기다리는 대신 큐 깊이를 조기 경고 신호로 취급하라. 큐 깊이가 타임아웃과 동시에 오르면, 용량 문제를 보고 있는 것이며 즉각적인 조치가 필요하다. 타임아웃율이 진정되면, 진짜 성공을 폴백 응답과 분리하라.
6. 성공률과 폴백율
타임아웃이 사라져도 요청은 여전히 작업을 놓칠 수 있다. 성공률은 모델이 단지 HTTP 200을 반환했는지가 아니라 실제로 작업을 완료했는지 알려준다. 즉, 스키마 준수, 올바른 툴 호출, 사실 정확성 같은 것들을 확인하는 것이다. 미세 조정 모델은 높은 토큰 정확도를 기록하고도, 작업 수준의 회귀 때문에 실시간 프로덕션 쿼리의 **15%~30%**에 실패할 수 있다 [23].
폴백율은 미세 조정된 엔드포인트가 실패하거나, 타임아웃되거나, 안전 필터에 의해 차단된 후 트래픽이 얼마나 자주 다른 곳으로 보내져야 했는지 알려준다 [4][5]. 그래서 이것을 성공률 바로 옆에서 추적해야 한다. 당신은 단지 완성만 측정하는 것이 아니다. 사용할 수 있는 출력을 측정하는 것이다.
이 두 지표를 완료 품질의 주요 신호로 함께 사용하라. 둘 중 하나라도 미끄러지면, 그것이 미세 조정이 여전히 베이스 모델 대비 버티는지 확인할 순간이다. 베이스 모델 대비 승률이 50%~55% 아래로 떨어지면, 그것은 흔한 롤백 임계값이다 [2][4].
성공률은 높은데 비용이 오르기 시작하면, 다음으로 토큰 사용량을 확인하라.
| 지표 | 무엇을 신호하는가 | 롤백 위험 수준 |
|---|---|---|
| 성공률 (스키마/작업) | 형식 드리프트 또는 양자화 오류 | 높음 - 통합을 깨뜨림 |
| 폴백율 | 미세 조정이 베이스 모델보다 덜 신뢰할 수 있음 | 높음 - 추론 비용을 두 배로 |
| 베이스 모델 대비 승률 | 미세 조정이 전반적으로 베이스 모델보다 나쁨 | 치명적 - 즉각적 롤백 신호 |
모든 요청을 처리하는 비용이 너무 크다면 높은 성공률은 큰 의미가 없다.
7. 요청당 토큰 사용량
신뢰성 다음으로, 토큰 사용량은 모델이 대규모로 실행할 만큼 충분히 군더더기가 없는지 알려준다. 또한 미세 조정이 프롬프트 오버헤드를 학습된 행동으로 대체함으로써 제 역할을 하고 있는지 보여준다. 더 낮은 토큰 사용량은 보통 더 낮은 비용과 더 빠른 응답을 뜻한다.
입력, 출력, 총 토큰을 별개의 숫자로 추적하라. 그러면 느린 증가가 비용 문제로 바뀌기 전에 파악하기 더 쉬워진다. 높은 입력 토큰은 종종 프롬프트 팽창이나 컨텍스트 오버플로를 가리킨다. 높은 출력 토큰은 보통 장황한 완성, 약한 정지 규칙, 또는 출력 상한 부재를 뜻한다. 그리고 출력 토큰이 입력 토큰보다 비싸기 때문에, 장황함이 가장 큰 비용 위험이다 [15].
로컬 토크나이저 추정치가 아니라 모든 응답의 API usage 객체에서 토큰 수를 가져오라 [15][25]. 로컬 추정치는 청구된 수치와 어긋날 수 있다. 3배 토큰 급증을 보면, 원인을 찾을 때까지 프롬프트 팽창이나 컨텍스트 오버플로라고 가정하라 [3]. CI/CD에 출력 토큰 상한을 설정해 두면 장황함 회귀가 배포되기 전에 잡아낼 수 있다 [15].
토큰 수는 곧바로 지출로 이어진다. 그래서 다음 지표가 요청당 비용이다.
| 토큰 유형 | 주요 동인 | 주요 영향 |
|---|---|---|
| 입력 토큰 | 프롬프트 크기, RAG 컨텍스트, 툴 스키마 | 기본 비용, 첫 토큰까지의 시간 |
| 출력 토큰 | 응답 길이, 추론 단계 | 가장 큰 비용 동인 |
| 캐시 읽기 토큰 | 안정적인 시스템 프롬프트, 반복 컨텍스트 | 비용 절감 |
| 컨텍스트 윈도우 사용 | 이력 길이, 검색 청크 크기 | 오버플로 위험, 신뢰성 |
8. 요청당 비용과 1,000 토큰당 비용
토큰은 달러로 바뀐다. 하지만 월간 청구서 자체로는 지출이 왜 올랐는지 알 수 없다. 무엇이 그것을 몰아가는지 보려면 요청당 비용과 1,000 토큰당 비용을 추적하라. 그것이 프로덕션 분석의 다음 계층을 제공한다.
요청당 비용은 단일 사용자 행동이 얼마인지 보여준다. 해당 요청의 청구된 입력, 출력, 캐시 토큰 요금에서 계산하라 [26][28]. 그런 다음 1,000 토큰당 청구 요율을 따로 추적하라. 이 두 숫자를 함께 지켜보면, 지출이 트래픽이 늘어서 오르는지 아니면 프롬프트와 완성이 길어져서 오르는지 알 수 있다. 그 패턴은 종종 **토큰 크리프(token creep)**라고 불린다 [15][26].
미세 조정 추론은 토큰당 2배~5배 더 비쌀 수 있지만, 프롬프트 길이를 줄이면 여전히 요청당 비용을 낮출 수 있다 [29][30]. 왜냐고? 미세 조정 모델은 역할 정의, 가드레일, 소수샷 예시를 가중치에 구워 넣는다. 그래서 모든 호출에서 각 프롬프트가 더 짧아진다. 한 벤치마크에서는 베이스 모델이 85개 토큰을 필요로 한 곳에서 미세 조정 모델은 단 42개의 완성 토큰만 필요했는데, 이는 요청당 추론 비용의 50.6% 감소다 [19]. 쉽게 말해, 더 높은 단가가 더 낮은 토큰 수에 질 수 있다. 그것이 실시간 API 트래픽에서 측정하고 싶은 이득이다.
모든 API 호출에 feature_name과 user_tier를 태그하여 지출을 제품 사용과 연결할 수 있게 하라 [27][28]. 비용이 흘러가기 시작하면 그것이 데이터를 훨씬 유용하게 만든다.
몇 가지 점검이 가장 중요하다.
- 출력 토큰을 면밀히 지켜보라. 플래그십 모델 가격에서 이것들은 입력 토큰보다 5배 더 비쌀 수 있어, 장황한 답변을 줄이는 것이 같은 수의 프롬프트 토큰을 줄이는 것보다 더 절약된다 [15].
- CI/CD 파이프라인에서 평균 출력 토큰에 상한을 설정하라. 이것은 장황함 회귀가 프로덕션에 도달하기 전에 잡아내는 데 도움이 된다 [15].
- 총합만이 아니라 기능별, 사용자 등급별로 비용을 검토하라. 그러지 않으면 비싼 사용이 건강해 보이는 총액 안에 숨을 수 있다.
비용 다음으로, 지출이 실제 수요와 맞는지 아니면 그저 유휴 용량인지 살펴보라.
다음으로, 이 비용들을 인프라 활용도 및 큐 길이와 비교하라.
9. 인프라 활용도와 큐 길이
지연 시간과 타임아웃이 올랐다면, 다음으로 서빙 계층을 살펴보라: 큐, 메모리, 캐시 압력. 여기서 큐 깊이가 가장 중요하다. GPU 활용도는 수요를 뒤따라가는 경향이 있어 후행 신호다. 그래서 오토스케일링은 컴퓨트 백분율이 아니라 레플리카당 큐 깊이를 기준으로 삼아야 한다 [10][32].
KV 캐시 사용량은 팀이 종종 놓치는 또 다른 지표다. KV 캐시는 토큰 컨텍스트를 GPU 메모리에 저장하는데, 그 메모리가 빠듯해지면 GPU 컴퓨트가 여전히 여유로워 보여도 엔진이 새 요청을 큐에 넣기 시작할 수 있다 [31][32]. 좋은 경험 법칙: 40%~50% KV 캐시 사용을 조기 경고로, 90% 이상을 포화로 취급하라 [31][32].
미세 조정 모델은 한 가지 변수를 더 추가한다. LoRA 어댑터는 베이스 모델 가중치 위에 메모리가 필요하고, 스케일업 후 첫 요청에서 그것들을 로딩하면 콜드 스타트 지연이 생긴다. 대부분의 경우 이것은 TTFT에 수백 밀리초를 더한다 [10]. 시작 시 어댑터를 미리 로딩하면 그 타격 대부분을 피할 수 있다. 토큰화와 전처리가 놓치기 쉬운 지연 시간을 더할 수 있으므로 CPU를 따로 지켜보는 것도 도움이 된다 [10].
| 지표 | 병목 임계값 | 무엇을 신호하는가 |
|---|---|---|
| 큐 깊이 | > 0 지속적으로, 또는 급증 시 > 5 | p99 지연 시간 급등과 용량 부담의 선행 지표 [10][12] |
| KV 캐시 사용량 | > 90% | 포화점; 임박한 타임아웃 [32] |
| GPU 메모리 (VRAM) | 80%~89% | 추가 어댑터나 더 큰 배치를 위한 여유 공간 제한; 급격한 하락은 모델 충돌이나 언로드된 어댑터를 신호할 수 있음 [31] |
이러한 용량 신호가 여전히 건강해 보이면, 출력 품질로 넘어가라.
10. 사용자 만족도와 작업 완료율
지연 시간, 비용, 신뢰성 다음으로, 마지막 점검은 간단하다: 모델이 작업을 끝내는가? 미세 조정된 엔드포인트는 빠르고, 저렴하고, 안정적이면서도 여전히 목표를 놓칠 수 있다.
**작업 완료율(TCR)**은 사람의 도움 없이 해결된 요청의 비율이다. 사람 검토율은 여전히 수동 수정이 필요한 출력의 비율이다. 그 차이가 중요하다. 모델이 HTTP 200을 반환하고도 누군가 사용하기 전에 사람이 정리해야 하는 것을 돌려줄 수 있다. 그래서 TCR은 단지 API가 응답했는지가 아니라 비즈니스 결과를 추적한다.
구조화된 출력 작업에서, 500개의 고품질 예시가 형식 준수율을 68%~74%에서 97%~99%로 끌어올릴 수 있다 [33]. 그런 종류의 도약은 직원이 개입해야 하는 빈도를 줄인다. 형식이 올바르면, 미세 조정 모델을 베이스 모델과 직접 비교하라.
여기서도 속도는 여전히 중요하다. p99 지연 시간이 5초를 초과하면 약 45%의 이탈을 몰고 온다 [33]. 그러니 미세 조정이 경험을 느리게 하면, 사용자는 빠르게 — 떠남으로써 — 당신에게 보여줄 것이다.
직접적인 품질 점검을 위해 페어드 아레나 테스트를 사용하라. 200~500개의 프로덕션 샘플을 베이스 모델과 미세 조정 모델 양쪽에 통과시킨 다음, LLM-as-a-judge로 출력을 나란히 채점하라. 그 후 미래 테스트가 일관되도록 판정 모델과 루브릭을 고정하라. 베이스 모델 대비 승률이 50%~55% 아래로 떨어지면, 그것은 흔한 롤백 임계값이다 [2][4].
이 신호들을 함께 지켜보는 것도 도움이 된다.
- TCR
- 아레나 승률
- 고정된 벤치마크 스위트
모델이 일반 벤치마크에서 5점 넘게 떨어지면, 작업별 점수가 올라가더라도 그것을 강한 실패로 취급하라 [2].
미세 조정이 프로덕션 준비가 되었는지 결정할 때 이러한 품질 점검을 앞 섹션의 API 지표 옆에 두고 사용하라.
지연 시간과 처리량 비교 표
미세 조정된 엔드포인트에 대해 단일 지표가 전체 이야기를 알려주지는 않는다. 예를 들어 평균 지연 시간은 요청마다의 변동을 뭉갤 수 있는데, 특히 제공업체 측 큐잉과 배칭이 관여할 때 그렇다 [9].
그래서 SLO를 설정하기 전에, 먼저 지연 시간과 처리량을 각각 측정한 다음 나란히 비교하는 것이 도움이 된다.
| 지표 | 측정하는 것 | 미세 조정 모델에 중요한 이유 | 주요 한계 |
|---|---|---|---|
| 엔드투엔드 지연 시간 | 요청 제출부터 최종 토큰 도착까지의 총 시간 [20] | 토큰화와 네트워크 홉 같은 숨은 병목을 드러냄 [14] | 지연이 프롬프트 처리(프리필)에서 왔는지 토큰 생성(디코드)에서 왔는지 보여주지 않음 [9] |
| p50 / p90 / p99 지연 시간 | 모든 요청에 걸친 50, 90, 99번째 백분위의 응답 시간 [34] | 미세 조정이 일반적인 요청을 도왔는지 아니면 고통을 꼬리로 밀어냈을 뿐인지 보여줌 | 작은 샘플은 여전히 콜드 스타트 급등을 놓칠 수 있음 [8][34] |
| 처리량 (RPS / TPS) | 시스템이 처리하는 초당 요청 수 또는 초당 토큰 수 [20] | 부하 아래 시스템 용량을 보여줌 [14] | 강한 처리량도 여전히 느린 단일 요청 성능을 가릴 수 있음 [34] |
결과를 엔드포인트 유형, 모델 버전, 지역, 시간대별로 나눠 보라. 피크 시간 트래픽은 종종 비피크 테스트가 잡지 못하는 지연 시간 문제를 수면 위로 드러낸다.
그런 구분은 미세 조정된 엔드포인트가 실시간 트래픽 아래에서 어디서 어려움을 겪기 시작하는지 훨씬 쉽게 파악하게 해준다.
롤백 위험을 신호하는 신뢰성 지표
롤백이 필요할 수 있다는 가장 명확한 신호는 베이스 모델 대비 승률이다. 페어드 카나리와 섀도 라우팅을 실행하여 미세 조정 모델을 베이스 모델과 나란히 비교할 수 있게 하라. 승률이 50% 아래로 떨어지면, 미세 조정은 더 이상 프로덕션에서 가치를 더하지 않는다. 카나리 코호트가 30~60분 동안 어떤 루브릭별 품질 점수에서든 2점 하락을 유지하면 라우팅 계층이 자동 롤백해야 한다 [2][4]. 이러한 비교가 음수로 돌아서면, 다음 움직임은 간단하다: 깨지고 있는 프롬프트 그룹을 찾는 것.
몇 가지 다른 신호도 롤백 트리거로 작동해야 한다: 5xx + 타임아웃율, 거부율, 유효하지 않은 출력율, 429 급증, 폴백 행동. 이것들은 미세 조정을 실서비스로 유지할지 결정할 때 중요한 숫자들이다. 429 급증을 따로 추적하라. 그것들은 종종 더 높은 컴퓨트 비용이나 더 깊은 큐를 가리킨다 [24][5].
거부율과 유효하지 않은 출력율을 뭉뚱그리는 대신 분리하는 것도 도움이 된다. 2%를 넘는 거부는 종종 안전 회귀나 제공업체 필터가 당신의 커스텀 프롬프트와 충돌하는 것을 가리킨다 [5][35]. 유효하지 않은 출력율은 보통 스키마 드리프트나 약한 지시 따르기를 가리킨다 [2][24].
각 지표를 프롬프트 유형, 워크플로 경로, 모델 버전별로 분해하라. 모델이 일반 요청에서는 괜찮아 보이면서도 여전히 구조화된 출력 경로나 도메인별 프롬프트에서 어려움을 겪을 수 있다. 그 구분은 모델을 계속 실행해도 안전한지, 그리고 비용 프로필이 여전히 유지되는지 판단하기 훨씬 쉽게 만든다.
| 신뢰성 신호 | 롤백 임계값 | 보통 무엇을 뜻하는가 |
|---|---|---|
| 5xx + 타임아웃율 | > 1분간 > 5% [5] | 인프라 또는 모델 불안정 |
| 거부율 | > 정당한 요청의 2% [5][35] | 안전 회귀 또는 필터 충돌 |
| 베이스 모델 대비 승률 | 페어드 평가에서 < 50% [2][4] | 미세 조정이 원본보다 저조 |
| 품질 점수 하락 | 이동 평균에서 > 2점 하락 [2][4] | 환각 또는 충실성 회귀 |
| 스키마/유효하지 않은 출력율 | 베이스라인 대비 유의미한 급증 [2][24] | 구조화된 출력 / 지시 따르기 손실 |
| 요율 제한 오류 (429) | 새 모델 버전과 연결된 급증 [24][5] | 더 높은 컴퓨트 비용 또는 큐 깊이 |
달러 단위의 비용, 토큰, 리소스 지표
지연 시간, 처리량, 신뢰성 다음으로, 다음 단계는 간단하다: 엔드포인트가 돈값을 하는가? 모든 요청이 너무 비싸면 꾸준한 트래픽은 큰 도움이 안 된다. 신뢰성이 통제되면, 토큰 사용량을 달러로 바꿔야 한다.
GPT-4o의 경우, 미세 조정 추론 가격에는 기본 요율 대비 1.5배 마크업이 붙는다. 그것은 1M 입력 토큰당 $3.75와 1M 출력 토큰당 $15로 계산된다 [36]. 그 추가 비용은 미세 조정이 성공적인 결과를 얻는 비용을 낮출 때만 타당하다. 지출을 줄이는 흔한 한 가지 방법은 AI API에 대한 통합 할인과 모델 캐스케이딩이다: 간단한 쿼리는 더 작고 저렴한 모델로 보내고, 더 큰 모델은 어려운 작업을 위해 아껴 두는 것이다 [37].
린, 예상, 고부하 케이스에 걸쳐 지출을 예측하는 것도 도움이 된다. 그런 다음 재시도, 폴백 사용, 평가 실행을 계층으로 더하라 [26]. 팀의 40%가 사용 첫 분기에 AI API 예산을 초과하기 때문에, 그 단계는 많은 팀이 예상하는 것보다 더 중요하다 [37]. 게다가 평균만이 아니라 요청당 p95 비용을 추적하라. 그러지 않으면 긴 컨텍스트 프롬프트나 반복된 재시도가 평균이 보여주지 않는 방식으로 예측을 왜곡할 수 있다 [24]. 순수 지출은 성공적인 결과와 연결할 때만 유용해진다.
그 연결이 성공적인 결과당 비용이다. 실무에서 그것은 해결된 지원 티켓당 비용이나 수락된 답변당 비용을 뜻할 수 있다. 미세 조정 모델이 성공적인 결과의 비율을 끌어올리면, 요청당 가격이 올라가더라도 해결당 비용은 떨어질 수 있다 [26][37].
자체 호스팅 배포의 경우, GPU 활용도가 주요 비용 동인이다. 고정 GPU 지출은 사용량이 일정 임계값을 넘어야 비로소 값을 한다. 다시 말해, 높은 활용도는 비용 효율을 개선할 때 중요하다. 활용도 옆에서 큐 길이도 지켜봐야 한다. 큐 깊이가 계속 오르면, 그것은 보통 포화, 추가 비용, 더 많은 스케일링 압력의 신호다 [11][15].
이 지표들을 함께 사용해 건강한 부하와 비싼 낭비의 차이를 구별하라.
| 지표 | 무엇을 추적하는가 | 중요한 이유 |
|---|---|---|
| 요청당 비용 (평균 + p95) | (Input tokens × rate) + (Output tokens × rate) | 긴 컨텍스트 프롬프트와 예산 드리프트를 포착 [24][37] |
| 입력 대 출력 토큰 믹스 | 요청당 둘을 각각 로그 | 지출이 어디에 집중되는지 보여줌 - 출력 토큰이 종종 비용의 가장 큰 몫을 차지 [15][37] |
| 월간 지출 예측 | (Average daily cost × 30) + retries + fallbacks + eval runs | 예산 놀람을 방지하는 데 도움 [26][37] |
| 성공적인 결과당 비용 | 지출 ÷ 해결된 티켓 또는 수락된 답변 | API 비용을 비즈니스 ROI와 연결 [26][37] |
| GPU 활용도 | 사용 중인 GPU 용량의 % | 40%~50% 아래면 자체 호스팅 효율이 떨어질 수 있음 [11] |
| 큐 길이 | 임의 시점의 대기 요청 | 깊이 증가는 포화, 더 높은 비용, 스케일링 필요를 신호 [11][15] |
API를 통해 관측할 수 있는 품질 신호
지연 시간, 처리량, 비용이 좋은 상태가 되면, 다음 단계는 간단하다: 모델이 실제로 사용자가 일을 끝내도록 돕고 있는지 확인하는 것이다. 속도는 물론 중요하다. 하지만 문제를 해결하지 못하는 빠른 답변은 여전히 실패다.
먼저 작업 완료율, 에스컬레이션율, 사람 인계율에 집중하라. 이것들이 당신의 주요 결과 신호다. 그것들은 미세 조정 모델이 요청을 스스로 처리했는지 아니면 누군가 개입해야 했는지 알려준다. 그리고 이 지표들은 실제 요청과 세션 로그에서 나오기 때문에 벤치마크 점수보다 더 중요하다.
엄지 올림/내림 평가와 이탈율도 API 트래픽과 연결된 보조 세션 수준 신호로 추적할 수 있다. 피드백이 드물더라도, 반복되는 고통점을 여전히 보여줄 수 있다. 이탈은 특히 유용한데, 모델이 대화 중간에 어디서 드리프트하기 시작하는지, 컨텍스트를 잃는지, 도움이 안 되게 되는지 보여주기 때문이다.
LLM-as-judge로 실시간 트래픽을 샘플링하여 환각과 안전 문제를 추정하는 것도 도움이 된다. 평가 지출을 너무 밀어 올리지 않고 이상을 잡기에 5% 샘플이면 종종 충분하다 [39]. 가드레일 트리거 빈도도 주시하라. 요청의 20% 이상이 차단되면, 그것은 안전하지 않은 출력의 급증이나 사용자가 원하는 것과 시스템이 예상하는 것 사이의 불일치를 가리킬 수 있다 [38] [1] [2]. 거부율의 급격한 증가는 종종 필터가 너무 민감해졌거나 프롬프트 템플릿이 스택 어딘가에서 깨졌음을 뜻한다 [39] [2].
모든 실시간 실패는 영구 사례로 오프라인 테스트 세트에 다시 들어가야 한다. 그것이 같은 문제가 나중에 몰래 다시 들어오는 것을 막는 방법이다.
아래 표를 사용해 주요 품질 신호를 보조 신호와 분리하라.
| 신호 | 무엇을 드러내는가 |
|---|---|
| 작업 완료율 | 요청이 사람 개입 없이 작업을 해결했는지 |
| 에스컬레이션율 | 모델의 문제 해결 실패; 훈련 데이터의 공백 |
| 엄지 올림/내림 평가 | 직접적인 사용자 감정과 인지된 유용성 |
| 이탈율 | 모델이 대화 중간에 컨텍스트를 잃거나 도움이 안 되게 되는 지점 |
| 환각율 | RAG 시스템에서의 사실 정확성과 근거성 |
| 가드레일 트리거 빈도 | 안전 필터의 효과성; 프롬프트 인젝션 위험 |
| 거부율 | 과민성 또는 안전 경계의 침식 |
이 신호들을 관측 가능성 대시보드에서 지연 시간, 비용과 함께 사용하라.
미세 조정된 엔드포인트를 위한 관측 가능성 대시보드
단일 지표를 추적하는 것도 도움이 된다. 하지만 진짜 보상은 모든 것을 한곳에서 볼 때 온다.
미세 조정된 엔드포인트를 위한 견고한 관측 가능성 설정은 네 개의 기둥 위에 있다: 지연 시간과 오류율 같은 집계된 신호를 위한 메트릭, 하나의 요청의 전체 경로를 위한 트레이스, 무슨 일이 일어났는지에 대한 구조화된 기록을 위한 로그, 그리고 비동기 품질 점검을 위한 평가 [40][42].
이것은 미세 조정 모델에서 훨씬 더 중요하다. 요청이 시스템 수준에서는 성공하고도 의미 수준에서는 여전히 실패할 수 있는데, AI 채팅 인터페이스를 사용할 때도 마찬가지다. 그래서 대시보드는 전송 성공만이 아니라 의미적 실패를 보여줄 필요가 있다. 구식 APM은 응답이 건강했다는 것을 보여줄 수 있다. 답변이 틀렸는지는 알려줄 수 없다. 200 OK도 여전히 나쁜 결과를 숨길 수 있다.
대시보드를 다섯 개의 뷰를 중심으로 구축하라: 지연 시간, 신뢰성, 비용, 품질, 용량. GenAI 의미 규약과 함께 OpenTelemetry를 사용하고, 트레이스를 꼬리 샘플링하여 모든 느리고 실패한 요청은 유지하면서 정상 트래픽의 작은 조각만 샘플링하라 [40][41]. 그 설정은 사고 중에도 값을 한다: 트레이싱은 평균 복구 시간을 3배 줄일 수 있다 [42].
그 신호들을 사용해 다섯 개의 핵심 패널을 가진 대시보드 하나를 만들어라: 지연 시간, 신뢰성, 비용, 품질, 용량.
| 대시보드 구성 요소 | 핵심 지표 | 목적 |
|---|---|---|
| 지연 시간 히스토그램 | TTFT, p50, p90, p99 | 느린 요청 파악 |
| 토큰 이코노믹스 | 입력/출력 토큰, 1,000 토큰당 비용, 일일 소진율 | 지출 드리프트 추적 |
| 신뢰성 패널 | 오류율, 타임아웃율, 폴백율 | 롤백 위험 표시 |
| 품질 스코어카드 | 충실성, 환각율, 사용자 피드백(엄지 올림/내림) | 모델 품질의 조용한 회귀 감지 |
| 안전 모니터 | 가드레일 차단, PII 탐지, 유해성 점수 | 준수 및 윤리 모니터링 |
| 요청 트레이스 | RAG 검색 단계, 툴 호출, 에이전트 추론 체인 | 복잡한 다단계 실패 디버깅 |
| 인프라 | 큐 길이, GPU/CPU 활용도 | 포화 감지 |
이렇게 생각하면 좋다: 지연 시간은 시스템이 얼마나 빨리 움직였는지 알려주고, 신뢰성은 그것이 계속 살아있었는지 보여주고, 비용은 각 답변이 얼마인지 보여주고, 품질은 답변이 좋았는지 보여주고, 용량은 시스템이 언제 과열되기 시작하는지 알려준다.
대시보드 설계 표
이 표는 각 대시보드 위젯을 가장 잘 작동하는 차트 유형과 사고 및 비용 검토 시 그것을 유용하게 만드는 필터에 연결한다.
그 필터들이 첫날부터 작동하게 하려면, 계측 중에 트레이스를 모델 ID, 프롬프트 버전, 환경으로 태그하라. OpenTelemetry GenAI 의미 규약에는 gen_ai.request.model과 gen_ai.usage.input_tokens 같은 속성이 포함된다 [40].
실패 패턴을 한눈에 파악하기 쉽게 만드는 차트를 선택하라.
| 대시보드 위젯 | 최적 시각화 | 주요 지표 | 포함할 필터 |
|---|---|---|---|
| 지연 시간 | 히스토그램 또는 P50/P90/P99 라인 차트 | TTFT와 총 생성 지연 시간 | 모델 ID, 엔드포인트, 지역, 환경 |
| 오류 | 누적 영역 차트 | HTTP 4xx/5xx 코드, 요율 제한, 안전 차단 | 모델 버전, 오류 유형, 환경, 시간 범위 |
| 토큰 믹스 | 그룹형 막대 차트 | 입력 대 출력 토큰 수 | 모델 버전, 기능, 사용자 코호트 |
| 비용 | 트리맵 또는 파이 차트 | 1,000 토큰당 비용, 일일 지출($) | 모델 버전, 엔드포인트, 기능, 사용자 ID |
| 품질 | 히트맵 또는 게이지 차트 | 충실성, 관련성, 근거성 | 프롬프트 버전, 모델 ID, 주제/의도 |
| 캐시 적중률 | 도넛 차트 | 캐시된 프롬프트 접두어의 % | 엔드포인트, 프롬프트 템플릿, 시간 범위 |
| 안전 | 시계열 라인 차트 | 유해성 점수, PII 유출율 | 지역, 모델 ID, 위반 유형, 환경 |
| 트레이스 탐색기 | 워터폴/간트 뷰 | 스팬 지속 시간, 툴 호출 성공률 | 트레이스 ID, 세션 ID, 사용자 ID, 상태 |
비용 귀속은 어떤 모델 버전이 지출을 몰아가는지 보여준다. 트레이스 탐색기는 검색, 툴 호출, 추론 전반의 지연 시간과 오류를 보여주기 때문에 RAG와 에이전트 워크플로에 가장 중요하다 [43][40].
각 위젯을 정의한 후, 보존 및 샘플링 규칙을 설정하라. 모든 고지연, 오류, 저품질 점수 요청을 트레이스 탐색기에 저장하라. 그런 다음 일상적인 성공 요청을 **5%~20%**로 샘플링하여 저장 비용을 통제하라 [40].
결론
미세 조정 평가는 단지 변화가 아니라 개선을 증명해야 한다. 그래서 최종 스코어카드는 속도, 신뢰성, 비용, 결과 지표를 함께 봐야 한다.
한 지표만 따로 튜닝하면, 프로덕션 문제가 빠르게 스며들 수 있다. 모델이 더 빨라지면서 덜 안정적이 될 수 있다. 또는 검토 시간을 줄이면서 오류를 밀어 올릴 수 있다. 요점은 한 조각이 아니라 전체 그림을 추적하는 것이다.
베이스 모델부터 시작하라. 그 베이스라인 없이는, 미세 조정이 무언가를 더 잘했다는 것을 보여줄 수 없다. 5%~10% 카나리를 실행하고 그 결과를 섀도 라우팅을 통해 베이스 모델과 비교하라. 지연 시간이 베이스라인의 2배를 넘거나 오류율이 **5분간 5%**를 넘으면 알림을 설정하라. 그 가드레일이 설정되면, 숫자를 운영 절감과 연결하라.
모든 지표는 비즈니스 결과에 매핑되어야 한다. 사람 검토율은 운영 절감의 직접적인 대리 지표다. 그 숫자가 움직이지 않으면, 미세 조정은 프로덕션 가치를 만들지 못하는 것이다.
대시보드와 알림은 선택 사항이 아니다. 사용자가 알아채기 전에 회귀가 나타나도록 출시 전에 관측 가능성을 구축하라.
자주 묻는 질문
어떤 API 지표를 먼저 모니터링해야 하나요?
시스템이 안정적인지 확인하기 위해 인프라와 신뢰성 지표부터 시작하세요. 95번째 백분위의 TTFT, 엔드투엔드 지연 시간, 하드 오류율, 거부율, 요청당 비용에 집중하세요.
그 베이스라인을 확보하면, LLM-as-judge 점수와 역량 드리프트로 출력 품질을 지켜보세요. 그것은 모델이 핵심 기술에서 미끄러지기 시작했는지 파악하는 데 도움이 됩니다.
미세 조정 모델을 베이스 모델과 어떻게 비교하나요?
두 모델을 동일한 홀드아웃 테스트 세트 — 훈련에 사용된 적 없는 데이터 — 에서 실행하여 격차를 깨끗하게 측정할 수 있게 하세요. 먼저 베이스 모델에서 강력한 프롬프팅 베이스라인부터 시작하세요. 그것은 판을 짜맞추는 대신 공정한 비교 기준을 제공합니다.
모델들을 품질, 지연 시간, 비용에 걸쳐 비교하세요.
품질의 경우, 작업에 맞는 지표를 사용하세요. 예를 들면:
- 분류 또는 추출 작업에는 F1
- 정답이 하나인 작업에는 정확 일치(Exact match)
- 구조화된 출력에는 JSON 파싱률
지연 시간의 경우, 순수 모델 실행 시간만이 아니라 엔드투엔드 응답 시간을 측정하세요. 즉, 프롬프트 제출부터 최종 출력까지의 전체 요청 경로를 재는 것입니다.
비용의 경우, 각 모델의 1M 토큰당 가격을 사용하고 테스트 세트에서의 실제 입력 및 출력 토큰 사용량을 기반으로 지불할 금액을 계산하세요.
미세 조정 모델을 언제 롤백해야 하나요?
프로덕션 모니터링이 품질이 명확하게 떨어졌음을 보여줄 때 롤백하세요. 그것은 모델 드리프트나 실시간 입력에서의 실패를 가리킬 수 있습니다.
모델이 거부 세트에서 미끄러지거나, 새로운 프롬프트 인젝션 취약점을 열거나, 프로덕션 카나리 테스트 중 현재 버전보다 나빠지면 롤백해야 합니다.
문제를 조기에 파악할 수 있도록 p95 지연 시간과 사용자가 보고한 품질 문제를 면밀히 주시하세요.
모델 마켓에서 원하는 모델을 선택하세요
APIMart 모델 마켓에서 채팅, 이미지, 비디오 모델을 사용해 보고 하나의 통합 API로 모델 기능을 빠르게 경험하세요.