먼저 읽는 30초 요약
이 글에서 가져갈 것
- 모델 로드, 첫 출력, 연속 생성을 따로 측정합니다.
- 같은 프롬프트와 출력 길이로 반복합니다.
- 평균뿐 아니라 최악값, 메모리와 오류도 기록합니다.
체감 속도를 세 구간으로
첫 실행과 반복 실행을 구분합니다.
- 01LOAD
모델 적재
- 02TTFT
첫 출력 지연
- 03TOKENS
연속 생성
- 04QUALITY
업무 성공률
세 가지 시간을 구분합니다
콜드 시작에는 파일을 메모리에 올리는 시간이 포함됩니다. 첫 토큰 지연은 사용자가 기다리는 시간, 초당 토큰은 답이 이어지는 속도를 설명합니다.
‘세 가지 시간을 구분합니다’ 단계에서 기준으로 삼을 원칙은 “모델 로드, 첫 출력, 연속 생성을 따로 측정합니다.”입니다. 한 번의 성공 사례보다 조건을 고정한 반복 확인과 실패 기록이 실제 적용 범위를 더 분명하게 보여 줍니다.
검증할 때는 모델·런타임 버전, 입력 자료, 주요 설정과 결과를 한 묶음으로 저장합니다. 다른 조건을 그대로 둔 채 한 요소만 바꾸어 다시 실행하고, 예상과 다른 결과와 아직 확인하지 못한 한계까지 기록해야 이 설명을 자신의 환경에 안전하게 적용할 수 있습니다.
조건을 고정합니다
모델·양자화·런타임·컨텍스트·프롬프트·출력 제한, 전원 모드와 백그라운드 앱을 기록합니다. 첫 실행과 웜 실행을 분리합니다.
‘조건을 고정합니다’ 단계에서 기준으로 삼을 원칙은 “같은 프롬프트와 출력 길이로 반복합니다.”입니다. 한 번의 성공 사례보다 조건을 고정한 반복 확인과 실패 기록이 실제 적용 범위를 더 분명하게 보여 줍니다.
결과를 다시 재현할 수 있도록 시작 전후의 상태와 확인 시각을 함께 남깁니다. 정상 사례뿐 아니라 빈 입력, 자원 부족이나 재시작 같은 실패 조건 하나를 포함하면 이 단계가 어디까지 견디는지 더 분명해집니다.
API 측정값을 읽습니다
Ollama의 generate/chat 응답에는 전체 시간, 모델 로드, 프롬프트 평가와 생성 관련 필드가 포함됩니다. 단위와 스트리밍 종료 응답을 확인합니다.
‘API 측정값을 읽습니다’ 단계에서 기준으로 삼을 원칙은 “평균뿐 아니라 최악값, 메모리와 오류도 기록합니다.”입니다. 한 번의 성공 사례보다 조건을 고정한 반복 확인과 실패 기록이 실제 적용 범위를 더 분명하게 보여 줍니다.
코드가 한 번 성공해도 재시작 뒤 같은 결과가 나는지, 잘못된 입력에는 안전하게 실패하는지까지 확인해야 합니다. 실제 서비스에 연결하기 전에는 제한 시간과 정리 절차를 시험해 중단된 실행이 자원이나 상태를 남기지 않는지도 봅니다.
curl http://localhost:11434/api/generate -d '{"model":"gemma3:4b","prompt":"로컬 AI를 설명해줘","stream":false}'업무 성공률과 함께 판단합니다
속도가 빨라도 사실 오류가 늘면 좋은 선택이 아닙니다. 실제 문서 세트의 품질 기준을 통과한 후보끼리 성능을 비교합니다.
‘업무 성공률과 함께 판단합니다’ 단계에서 기준으로 삼을 원칙은 “모델 로드, 첫 출력, 연속 생성을 따로 측정합니다.”입니다. 한 번의 성공 사례보다 조건을 고정한 반복 확인과 실패 기록이 실제 적용 범위를 더 분명하게 보여 줍니다.
표의 항목은 정답표가 아니라 비교 조건을 빠뜨리지 않기 위한 기록 틀입니다. 자신의 장비와 데이터로 값을 채우고, 확인하지 못한 칸은 0이나 추정치로 대신하지 않은 채 ‘미확인’으로 남겨야 이후 비교가 왜곡되지 않습니다.
| 구간 | 의미 |
|---|---|
| Load | 저장장치에서 모델 적재 |
| TTFT | 요청부터 첫 출력까지 |
| Generation | 첫 출력 이후 생성 속도 |
| Total | 사용자가 작업을 마칠 때까지 |
자주 묻는 질문
초당 토큰만 보면 되나요?
아닙니다. 대화형 사용은 첫 응답, 배치 작업은 전체 처리량이 더 중요할 수 있습니다. 실제로 적용할 때는 본문의 ‘세 가지 시간을 구분합니다’ 절차를 따라 한 조건씩 확인하고 결과를 기록하세요.
한 번만 재면 되나요?
최소 여러 번 반복해 중앙값과 최악값을 함께 보세요. 같은 프롬프트와 출력 길이로 반복합니다. 실제로 적용할 때는 본문의 ‘조건을 고정합니다’ 절차를 따라 한 조건씩 확인하고 결과를 기록하세요.
서로 다른 모델을 같은 출력으로 비교할 수 있나요?
출력 길이와 품질 차이가 있으므로 고정 제한과 업무 점수를 함께 기록하세요. 평균뿐 아니라 최악값, 메모리와 오류도 기록합니다. 실제로 적용할 때는 본문의 ‘API 측정값을 읽습니다’ 절차를 따라 한 조건씩 확인하고 결과를 기록하세요.
공식 출처
세부 동작과 최신 버전은 아래 원문을 함께 확인하세요.
Ollama Generate API Ollama Chat API llama.cpp 공식 저장소