Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

초당 토큰 수만으로는 요청 전송 후 대기 시간을 설명할 수 없습니다. 첫 번째 응답 내용, 생성 속도, 완료 시간 및 메모리 사용량을 각각 측정해야 합니다. 이 문서에서는 측정 절차와 클라이언트를 제공하며, 실제 모델 벤치마크 또는 하드웨어 순위는 수행하지 않았습니다.

타이밍 경계 정의

Diagram 1 · Use the button to switch views
요청, 대기, 첫 번째 응답 및 완료 타이밍 경계

TTFT는 일반적으로 첫 번째 토큰까지의 시간을 의미하지만, HTTP 프래그먼트가 반드시 하나의 토큰을 의미하는 것은 아닙니다. 이 스크립트는 첫 번째 비어 있지 않은 response 프래그먼트까지의 시간인 TTFC를 보고합니다. 반환되는 경우 첫 번째 대기 내용도 별도로 기록합니다. 이 클라이언트 메트릭에는 큐 대기, 로딩, 프롬프트 처리 및 전송 시간이 포함됩니다.

생성 속도는 서버에서 생성된 토큰 수와 생성 시간을 사용합니다. Ollama의 생성 시간은 나노초 단위입니다. Generate API 정의는 2026년 9월 7일에 확인되었습니다.

\text{generation rate [token/s]}=\frac{\text{eval\_count}}{\text{eval\_duration [ns]}}\times10^9

이는 전체 요청에 대한 처리량이 아닙니다. 토크나이저가 다르면 토큰 수만으로는 일본어 응답량이나 품질을 공정하게 비교할 수 없습니다.

조건 수정

모델 다이제스트, 양자화 방식, Ollama 버전, CPU/GPU, RAM/VRAM, 전력 제한, 동시 실행 수 및 프롬프트를 기록합니다. 동일한 텍스트라도 토큰화 방식이 다를 수 있으므로 반환된 횟수를 보존합니다. 모델이 로드되지 않은 첫 번째 요청과 이후의 상주 모델 요청을 분리합니다.

반복되는 프롬프트는 캐시를 사용할 수 있습니다. 상주 모델/동일 프롬프트 테스트와 상주 모델/새 입력 테스트를 별도로 처리합니다. 열 환경 및 백그라운드 작업이 비교에 영향을 줄 수 있으므로 실행 순서를 기록합니다.

스트림 읽기

비교 텍스트가 포함된 prompt.txt 옆에 llm_benchmark.py를 배치합니다. 이 파일은 Python 표준 라이브러리만 사용합니다. YOUR_MODEL을 설치된 모델로 교체하세요. 예:

python3 llm_benchmark.py --model YOUR_MODEL --prompt-file prompt.txt --runs 5 > runs.jsonl

기본 엔드포인트는 127.0.0.1:11434/api/generate입니다. 요청 시 temperature=0, seed=42, num_predict=128, num_ctx=4096, keep_alive=5m 설정이 사용됩니다. 이러한 설정은 실험적인 설정이며, 모든 모델에 대한 결정성이나 적합성을 보장하는 것은 아닙니다. 조기 종료 또는 다른 사고 동작을 확인하려면 출력 횟수와 done_reason을 확인하세요.

출력 및 오류 유효성 검사

각 JSON 라인에는 ttfc_s, first_thinking_s, client_total_s, generation_tokens 및 서버 횟수/지속 시간이 포함됩니다. 응답 조각이 없으면 TTFC가 null이 되고, 생성 시간이 0이면 처리량이 null이 됩니다. 스트림 중단 및 API 오류는 status=error로 표시되며, 0초 성공은 발생하지 않습니다.

파싱, 타이밍 필드 및 오류 처리는 실제 Ollama 생성이 아닌 합성 스트리밍 응답을 사용하여 테스트되었습니다. 절차 검증을 위해 5회 시행으로 시작한 후, 명확한 워밍업 규칙을 적용하여 반복 횟수를 늘리십시오. 성공 횟수, 중앙값 및 범위를 보고하십시오. 표본 크기가 작은 p95 값을 정확도가 높은 값으로 제시하지 마십시오.

메모리 사용량 별도 측정

스크립트는 메모리 사용량을 측정하지 않습니다. 실행 모델 API는 size_vram을 포함한 상주 정보를 제공하지만, 전체 시스템 사용량이나 일시적인 피크 값은 제공하지 않습니다. 유휴 상태와 생성 과정 동안 OS/GPU 메트릭을 일관되게 샘플링하고 관찰 간격을 명시하십시오.

프로세스 RAM, 페이지 캐시 및 GPU 할당량은 서로 다른 양이므로, 이를 합산하면 중복 계산될 수 있습니다. 특히 통합 메모리 시스템에서는 경계를 확인하십시오. 부분적인 CPU 처리와 같은 배치 변경을 단순히 모델 기능의 차이로만 설명해서는 안 됩니다.

유용한 비교표 작성

모델/양자화, 입력/출력 토큰, 상주/캐시 조건, 성공 횟수, TTFC 중앙값, 생성률 중앙값, 총 시간 및 메모리 메트릭/샘플링 간격을 포함하십시오. 답변의 정확성은 별도로 평가하십시오. 에너지의 경우, 서버 전력 측정을 사용하여 동일한 작업 부하를 Wh에 연결하십시오.

What to read next

Compare generation speed with energy per completed workload.홈 서버 전력 측정: 유휴, 추론 및 저장 시 전력 소모량Review the background머신러닝 입문: 생성형 모델Explore another aspect of this field객체 탐지 및 의미론적 분할 기초 — 이미지에서 "무엇이 어디에 있는지" 파악하기