mirror of
https://github.com/ollama/ollama.git
synced 2026-05-06 08:02:14 -05:00
[GH-ISSUE #10612] phi4-reasoning:14b-q4_K_M extremely slow compared to other 14B models #32741
Closed
opened 2026-04-22 14:34:48 -05:00 by GiteaMirror
·
27 comments
No Branch/Tag Specified
main
parth-mlx-decode-checkpoints
dhiltgen/ci
hoyyeva/editor-config-repair
parth-launch-codex-app
hoyyeva/fix-codex-model-metadata-warning
hoyyeva/qwen
hoyyeva/launch-backup-ux
parth/hide-claude-desktop-till-release
hoyyeva/opencode-image-modality
parth-add-claude-code-autoinstall
release_v0.22.0
pdevine/manifest-list
codex/fix-codex-model-metadata-warning
pdevine/addressable-manifest
brucemacd/launch-fetch-reccomended
jmorganca/llama-compat
launch-copilot-cli
hoyyeva/opencode-thinking
release_v0.20.7
parth-auto-save-backup
parth-test
jmorganca/gemma4-audio-replacements
fix-manifest-digest-on-pull
hoyyeva/vscode-improve
brucemacd/install-server-wait
brucemacd/download-before-remove
parth/update-claude-docs
parth-anthropic-reference-images-path
brucemac/start-ap-install
pdevine/mlx-update
pdevine/qwen35_vision
drifkin/api-show-fallback
mintlify/image-generation-1773352582
hoyyeva/server-context-length-local-config
jmorganca/faster-reptition-penalties
jmorganca/convert-nemotron
parth-pi-thinking
pdevine/sampling-penalties
jmorganca/fix-create-quantization-memory
dongchen/resumable_transfer_fix
pdevine/sampling-cache-error
jessegross/mlx-usage
hoyyeva/openclaw-config
hoyyeva/app-html
pdevine/qwen3next
brucemacd/sign-sh-install
brucemacd/tui-update
brucemacd/usage-api
jmorganca/launch-empty
fix-app-dist-embed
mxyng/mlx-compile
mxyng/mlx-quant
mxyng/mlx-glm4.7
mxyng/mlx
brucemacd/simplify-model-picker
jmorganca/qwen3-concurrent
fix-glm-4.7-flash-mla-config
drifkin/qwen3-coder-opening-tag
brucemacd/usage-cli
fix-cuda12-fattn-shmem
ollama-imagegen-docs
parth/fix-multiline-inputs
brucemacd/config-docs
mxyng/model-files
mxyng/simple-execute
fix-imagegen-ollama-models
mxyng/async-upload
jmorganca/lazy-no-dtype-changes
imagegen-auto-detect-create
parth/decrease-concurrent-download-hf
fix-mlx-quantize-init
jmorganca/x-cleanup
usage
imagegen-readme
jmorganca/glm-image
mlx-gpu-cd
jmorganca/imagegen-modelfile
parth/agent-skills
parth/agent-allowlist
parth/signed-in-offline
parth/agents
parth/fix-context-chopping
improve-cloud-flow
parth/add-models-websearch
parth/prompt-renderer-mcp
jmorganca/native-settings
jmorganca/download-stream-hash
jmorganca/client2-rebased
brucemacd/oai-chat-req-multipart
jessegross/multi_chunk_reserve
grace/additional-omit-empty
grace/mistral-3-large
mxyng/tokenizer2
mxyng/tokenizer
jessegross/flash
hoyyeva/windows-nacked-app
mxyng/cleanup-attention
grace/deepseek-parser
hoyyeva/remember-unsent-prompt
parth/add-lfs-pointer-error-conversion
parth/olmo2-test2
hoyyeva/ollama-launchagent-plist
nicole/olmo-model
parth/olmo-test
mxyng/remove-embedded
parth/render-template
jmorganca/intellect-3
parth/remove-prealloc-linter
jmorganca/cmd-eval
nicole/nomic-embed-text-fix
mxyng/lint-2
hoyyeva/add-gemini-3-pro-preview
hoyyeva/load-model-list
mxyng/expand-path
mxyng/environ-2
hoyyeva/deeplink-json-encoding
parth/improve-tool-calling-tests
hoyyeva/conversation
hoyyeva/assistant-edit-response
hoyyeva/thinking
origin/brucemacd/invalid-char-i-err
parth/improve-tool-calling
jmorganca/required-omitempty
grace/qwen3-vl-tests
mxyng/iter-client
parth/docs-readme
nicole/embed-test
pdevine/integration-benchstat
parth/remove-generate-cmd
parth/add-toolcall-id
mxyng/server-tests
jmorganca/glm-4.6
jmorganca/gin-h-compat
drifkin/stable-tool-args
pdevine/qwen3-more-thinking
parth/add-websearch-client
nicole/websearch_local
jmorganca/qwen3-coder-updates
grace/deepseek-v3-migration-tests
mxyng/fix-create
jmorganca/cloud-errors
pdevine/parser-tidy
revert-12233-parth/simplify-entrypoints-runner
parth/enable-so-gpt-oss
brucemacd/qwen3vl
jmorganca/readme-simplify
parth/gpt-oss-structured-outputs
revert-12039-jmorganca/tools-braces
mxyng/embeddings
mxyng/gguf
mxyng/benchmark
mxyng/types-null
parth/move-parsing
mxyng/gemma2
jmorganca/docs
mxyng/16-bit
mxyng/create-stdin
pdevine/authorizedkeys
mxyng/quant
parth/opt-in-error-context-window
brucemacd/cache-models
brucemacd/runner-completion
jmorganca/llama-update-6
brucemacd/benchmark-list
brucemacd/partial-read-caps
parth/deepseek-r1-tools
mxyng/omit-array
parth/tool-prefix-temp
brucemacd/runner-test
jmorganca/qwen25vl
brucemacd/model-forward-test-ext
parth/python-function-parsing
jmorganca/cuda-compression-none
drifkin/num-parallel
drifkin/chat-truncation-fix
jmorganca/sync
parth/python-tools-calling
drifkin/array-head-count
brucemacd/create-no-loop
parth/server-enable-content-stream-with-tools
qwen25omni
mxyng/v3
brucemacd/ropeconfig
jmorganca/silence-tokenizer
parth/sample-so-test
parth/sampling-structured-outputs
brucemacd/doc-go-engine
parth/constrained-sampling-json
jmorganca/mistral-wip
brucemacd/mistral-small-convert
parth/sample-unmarshal-json-for-params
brucemacd/jomorganca/mistral
pdevine/bfloat16
jmorganca/mistral
brucemacd/mistral
pdevine/logging
parth/sample-correctness-fix
parth/sample-fix-sorting
jmorgan/sample-fix-sorting-extras
jmorganca/temp-0-images
brucemacd/parallel-embed-models
brucemacd/shim-grammar
jmorganca/fix-gguf-error
bmizerany/nameswork
jmorganca/faster-releases
bmizerany/validatenames
brucemacd/err-no-vocab
brucemacd/rope-config
brucemacd/err-hint
brucemacd/qwen2_5
brucemacd/logprobs
brucemacd/new_runner_graph_bench
progress-flicker
brucemacd/forward-test
brucemacd/go_qwen2
pdevine/gemma2
jmorganca/add-missing-symlink-eval
mxyng/next-debug
parth/set-context-size-openai
brucemacd/next-bpe-bench
brucemacd/next-bpe-test
brucemacd/new_runner_e2e
brucemacd/new_runner_qwen2
pdevine/convert-cohere2
brucemacd/convert-cli
parth/log-probs
mxyng/next-mlx
mxyng/cmd-history
parth/templating
parth/tokenize-detokenize
brucemacd/check-key-register
bmizerany/grammar
jmorganca/vendor-081b29bd
mxyng/func-checks
jmorganca/fix-null-format
parth/fix-default-to-warn-json
jmorganca/qwen2vl
jmorganca/no-concat
parth/cmd-cleanup-SO
brucemacd/check-key-register-structured-err
parth/openai-stream-usage
parth/fix-referencing-so
stream-tools-stop
jmorganca/degin-1
brucemacd/install-path-clean
brucemacd/push-name-validation
brucemacd/browser-key-register
jmorganca/openai-fix-first-message
jmorganca/fix-proxy
jessegross/sample
parth/disallow-streaming-tools
dhiltgen/remove_submodule
jmorganca/ga
jmorganca/mllama
pdevine/newlines
pdevine/geems-2b
jmorganca/llama-bump
mxyng/modelname-7
mxyng/gin-slog
mxyng/modelname-6
jyan/convert-prog
jyan/quant5
paligemma-support
pdevine/import-docs
jmorganca/openai-context
jyan/paligemma
jyan/p2
jyan/palitest
bmizerany/embedspeedup
jmorganca/llama-vit
brucemacd/allow-ollama
royh/ep-methods
royh/whisper
mxyng/api-models
mxyng/fix-memory
jyan/q4_4/8
jyan/ollama-v
royh/stream-tools
roy-embed-parallel
bmizerany/hrm
revert-5963-revert-5924-mxyng/llama3.1-rope
royh/embed-viz
jyan/local2
jyan/auth
jyan/local
jyan/parse-temp
jmorganca/template-mistral
jyan/reord-g
royh-openai-suffixdocs
royh-imgembed
royh-embed-parallel
jyan/quant4
royh-precision
jyan/progress
pdevine/fix-template
jyan/quant3
pdevine/ggla
mxyng/update-registry-domain
jmorganca/ggml-static
mxyng/create-context
jyan/v0.146
mxyng/layers-from-files
build_dist
bmizerany/noseek
royh-ls
royh-name
timeout
mxyng/server-timestamp
bmizerany/nosillyggufslurps
royh-params
jmorganca/llama-cpp-7c26775
royh-openai-delete
royh-show-rigid
jmorganca/enable-fa
jmorganca/no-error-template
jyan/format
royh-testdelete
bmizerany/fastverify
language_support
pdevine/ps-glitches
brucemacd/tokenize
bruce/iq-quants
bmizerany/filepathwithcoloninhost
mxyng/split-bin
bmizerany/client-registry
jmorganca/if-none-match
native
jmorganca/native
jmorganca/batch-embeddings
jmorganca/initcmake
jmorganca/mm
pdevine/showggmlinfo
modenameenforcealphanum
bmizerany/modenameenforcealphanum
jmorganca/done-reason
jmorganca/llama-cpp-8960fe8
ollama.com
bmizerany/filepathnobuild
bmizerany/types/model/defaultfix
rmdisplaylong
nogogen
bmizerany/x
modelfile-readme
bmizerany/replacecolon
jmorganca/limit
jmorganca/execstack
jmorganca/replace-assets
mxyng/tune-concurrency
jmorganca/testing
whitespace-detection
jmorganca/options
upgrade-all
scratch
cuda-search
mattw/airenamer
mattw/allmodelsonhuggingface
mattw/quantcontext
mattw/whatneedstorun
brucemacd/llama-mem-calc
mattw/faq-context
mattw/communitylinks
mattw/noprune
mattw/python-functioncalling
rename
mxyng/install
pulse
remove-first
editor
mattw/selfqueryingretrieval
cgo
mattw/howtoquant
api
matt/streamingapi
format-config
mxyng/extra-args
shell
update-nous-hermes
cp-model
upload-progress
fix-unknown-model
fix-model-names
delete-fix
insecure-registry
ls
deletemodels
progressbar
readme-updates
license-layers
skip-list
list-models
modelpath
matt/examplemodelfiles
distribution
go-opts
v0.23.1
v0.23.1-rc0
v0.23.0
v0.23.0-rc0
v0.22.1
v0.22.1-rc1
v0.22.1-rc0
v0.22.0
v0.22.0-rc1
v0.21.3-rc0
v0.21.2-rc1
v0.21.2
v0.21.2-rc0
v0.21.1
v0.21.1-rc1
v0.21.1-rc0
v0.21.0
v0.21.0-rc1
v0.21.0-rc0
v0.20.8-rc0
v0.20.7
v0.20.7-rc1
v0.20.7-rc0
v0.20.6
v0.20.6-rc1
v0.20.6-rc0
v0.20.5
v0.20.5-rc2
v0.20.5-rc1
v0.20.5-rc0
v0.20.4
v0.20.4-rc2
v0.20.4-rc1
v0.20.4-rc0
v0.20.3
v0.20.3-rc0
v0.20.2
v0.20.1
v0.20.1-rc2
v0.20.1-rc1
v0.20.1-rc0
v0.20.0
v0.20.0-rc1
v0.20.0-rc0
v0.19.0
v0.19.0-rc2
v0.19.0-rc1
v0.19.0-rc0
v0.18.4-rc1
v0.18.4-rc0
v0.18.3
v0.18.3-rc2
v0.18.3-rc1
v0.18.3-rc0
v0.18.2
v0.18.2-rc1
v0.18.2-rc0
v0.18.1
v0.18.1-rc1
v0.18.1-rc0
v0.18.0
v0.18.0-rc2
v0.18.0-rc1
v0.18.0-rc0
v0.17.8-rc4
v0.17.8-rc3
v0.17.8-rc2
v0.17.8-rc1
v0.17.8-rc0
v0.17.7
v0.17.7-rc2
v0.17.7-rc1
v0.17.7-rc0
v0.17.6
v0.17.5
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.1-rc2
v0.17.1-rc1
v0.17.1-rc0
v0.17.0
v0.17.0-rc2
v0.17.0-rc1
v0.17.0-rc0
v0.16.3
v0.16.3-rc2
v0.16.3-rc1
v0.16.3-rc0
v0.16.2
v0.16.2-rc0
v0.16.1
v0.16.0
v0.16.0-rc2
v0.16.0-rc0
v0.16.0-rc1
v0.15.6
v0.15.5
v0.15.5-rc5
v0.15.5-rc4
v0.15.5-rc3
v0.15.5-rc2
v0.15.5-rc1
v0.15.5-rc0
v0.15.4
v0.15.3
v0.15.2
v0.15.1
v0.15.1-rc1
v0.15.1-rc0
v0.15.0-rc6
v0.15.0
v0.15.0-rc5
v0.15.0-rc4
v0.15.0-rc3
v0.15.0-rc2
v0.15.0-rc1
v0.15.0-rc0
v0.14.3
v0.14.3-rc3
v0.14.3-rc2
v0.14.3-rc1
v0.14.3-rc0
v0.14.2
v0.14.2-rc1
v0.14.2-rc0
v0.14.1
v0.14.0-rc11
v0.14.0
v0.14.0-rc10
v0.14.0-rc9
v0.14.0-rc8
v0.14.0-rc7
v0.14.0-rc6
v0.14.0-rc5
v0.14.0-rc4
v0.14.0-rc3
v0.14.0-rc2
v0.14.0-rc1
v0.14.0-rc0
v0.13.5
v0.13.5-rc1
v0.13.5-rc0
v0.13.4-rc2
v0.13.4
v0.13.4-rc1
v0.13.4-rc0
v0.13.3
v0.13.3-rc1
v0.13.3-rc0
v0.13.2
v0.13.2-rc2
v0.13.2-rc1
v0.13.2-rc0
v0.13.1
v0.13.1-rc2
v0.13.1-rc1
v0.13.1-rc0
v0.13.0
v0.13.0-rc0
v0.12.11
v0.12.11-rc1
v0.12.11-rc0
v0.12.10
v0.12.10-rc1
v0.12.10-rc0
v0.12.9-rc0
v0.12.9
v0.12.8
v0.12.8-rc0
v0.12.7
v0.12.7-rc1
v0.12.7-rc0
v0.12.7-citest0
v0.12.6
v0.12.6-rc1
v0.12.6-rc0
v0.12.5
v0.12.5-rc0
v0.12.4
v0.12.4-rc7
v0.12.4-rc6
v0.12.4-rc5
v0.12.4-rc4
v0.12.4-rc3
v0.12.4-rc2
v0.12.4-rc1
v0.12.4-rc0
v0.12.3
v0.12.2
v0.12.2-rc0
v0.12.1
v0.12.1-rc1
v0.12.1-rc2
v0.12.1-rc0
v0.12.0
v0.12.0-rc1
v0.12.0-rc0
v0.11.11
v0.11.11-rc3
v0.11.11-rc2
v0.11.11-rc1
v0.11.11-rc0
v0.11.10
v0.11.9
v0.11.9-rc0
v0.11.8
v0.11.8-rc0
v0.11.7-rc1
v0.11.7-rc0
v0.11.7
v0.11.6
v0.11.6-rc0
v0.11.5-rc4
v0.11.5-rc3
v0.11.5
v0.11.5-rc5
v0.11.5-rc2
v0.11.5-rc1
v0.11.5-rc0
v0.11.4
v0.11.4-rc0
v0.11.3
v0.11.3-rc0
v0.11.2
v0.11.1
v0.11.0-rc0
v0.11.0-rc1
v0.11.0-rc2
v0.11.0
v0.10.2-int1
v0.10.1
v0.10.0
v0.10.0-rc4
v0.10.0-rc3
v0.10.0-rc2
v0.10.0-rc1
v0.10.0-rc0
v0.9.7-rc1
v0.9.7-rc0
v0.9.6
v0.9.6-rc0
v0.9.6-ci0
v0.9.5
v0.9.4-rc5
v0.9.4-rc6
v0.9.4
v0.9.4-rc3
v0.9.4-rc4
v0.9.4-rc1
v0.9.4-rc2
v0.9.4-rc0
v0.9.3
v0.9.3-rc5
v0.9.4-citest0
v0.9.3-rc4
v0.9.3-rc3
v0.9.3-rc2
v0.9.3-rc1
v0.9.3-rc0
v0.9.2
v0.9.1
v0.9.1-rc1
v0.9.1-rc0
v0.9.1-ci1
v0.9.1-ci0
v0.9.0
v0.9.0-rc0
v0.8.0
v0.8.0-rc0
v0.7.1-rc2
v0.7.1
v0.7.1-rc1
v0.7.1-rc0
v0.7.0
v0.7.0-rc1
v0.7.0-rc0
v0.6.9-rc0
v0.6.8
v0.6.8-rc0
v0.6.7
v0.6.7-rc2
v0.6.7-rc1
v0.6.7-rc0
v0.6.6
v0.6.6-rc2
v0.6.6-rc1
v0.6.6-rc0
v0.6.5-rc1
v0.6.5
v0.6.5-rc0
v0.6.4-rc0
v0.6.4
v0.6.3-rc1
v0.6.3
v0.6.3-rc0
v0.6.2
v0.6.2-rc0
v0.6.1
v0.6.1-rc0
v0.6.0-rc0
v0.6.0
v0.5.14-rc0
v0.5.13
v0.5.13-rc6
v0.5.13-rc5
v0.5.13-rc4
v0.5.13-rc3
v0.5.13-rc2
v0.5.13-rc1
v0.5.13-rc0
v0.5.12
v0.5.12-rc1
v0.5.12-rc0
v0.5.11
v0.5.10
v0.5.9
v0.5.9-rc0
v0.5.8-rc13
v0.5.8
v0.5.8-rc12
v0.5.8-rc11
v0.5.8-rc10
v0.5.8-rc9
v0.5.8-rc8
v0.5.8-rc7
v0.5.8-rc6
v0.5.8-rc5
v0.5.8-rc4
v0.5.8-rc3
v0.5.8-rc2
v0.5.8-rc1
v0.5.8-rc0
v0.5.7
v0.5.6
v0.5.5
v0.5.5-rc0
v0.5.4
v0.5.3
v0.5.3-rc0
v0.5.2
v0.5.2-rc3
v0.5.2-rc2
v0.5.2-rc1
v0.5.2-rc0
v0.5.1
v0.5.0
v0.5.0-rc1
v0.4.8-rc0
v0.4.7
v0.4.6
v0.4.5
v0.4.4
v0.4.3
v0.4.3-rc0
v0.4.2
v0.4.2-rc1
v0.4.2-rc0
v0.4.1
v0.4.1-rc0
v0.4.0
v0.4.0-rc8
v0.4.0-rc7
v0.4.0-rc6
v0.4.0-rc5
v0.4.0-rc4
v0.4.0-rc3
v0.4.0-rc2
v0.4.0-rc1
v0.4.0-rc0
v0.4.0-ci3
v0.3.14
v0.3.14-rc0
v0.3.13
v0.3.12
v0.3.12-rc5
v0.3.12-rc4
v0.3.12-rc3
v0.3.12-rc2
v0.3.12-rc1
v0.3.11
v0.3.11-rc4
v0.3.11-rc3
v0.3.11-rc2
v0.3.11-rc1
v0.3.10
v0.3.10-rc1
v0.3.9
v0.3.8
v0.3.7
v0.3.7-rc6
v0.3.7-rc5
v0.3.7-rc4
v0.3.7-rc3
v0.3.7-rc2
v0.3.7-rc1
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.8
v0.2.8-rc2
v0.2.8-rc1
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.2-rc2
v0.2.2-rc1
v0.2.1
v0.2.0
v0.1.49-rc14
v0.1.49-rc13
v0.1.49-rc12
v0.1.49-rc11
v0.1.49-rc10
v0.1.49-rc9
v0.1.49-rc8
v0.1.49-rc7
v0.1.49-rc6
v0.1.49-rc4
v0.1.49-rc5
v0.1.49-rc3
v0.1.49-rc2
v0.1.49-rc1
v0.1.48
v0.1.47
v0.1.46
v0.1.45-rc5
v0.1.45
v0.1.45-rc4
v0.1.45-rc3
v0.1.45-rc2
v0.1.45-rc1
v0.1.44
v0.1.43
v0.1.42
v0.1.41
v0.1.40
v0.1.40-rc1
v0.1.39
v0.1.39-rc2
v0.1.39-rc1
v0.1.38
v0.1.37
v0.1.36
v0.1.35
v0.1.35-rc1
v0.1.34
v0.1.34-rc1
v0.1.33
v0.1.33-rc7
v0.1.33-rc6
v0.1.33-rc5
v0.1.33-rc4
v0.1.33-rc3
v0.1.33-rc2
v0.1.33-rc1
v0.1.32
v0.1.32-rc2
v0.1.32-rc1
v0.1.31
v0.1.30
v0.1.29
v0.1.28
v0.1.27
v0.1.26
v0.1.25
v0.1.24
v0.1.23
v0.1.22
v0.1.21
v0.1.20
v0.1.19
v0.1.18
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.12
v0.1.11
v0.1.10
v0.1.9
v0.1.8
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
v0.0.21
v0.0.20
v0.0.19
v0.0.18
v0.0.17
v0.0.16
v0.0.15
v0.0.14
v0.0.13
v0.0.12
v0.0.11
v0.0.10
v0.0.9
v0.0.8
v0.0.7
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels
amd
api
app
bug
build
cli
cloud
compatibility
context-length
create
docker
documentation
embeddings
feature request
feedback wanted
good first issue
gpt-oss
gpu
harmony
help wanted
image
install
intel
js
launch
linux
macos
memory
mlx
model
needs more info
networking
nvidia
ollama.com
performance
pull-request
python
question
registry
rendering
thinking
tools
top
vulkan
windows
wsl
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/ollama#32741
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ALLMI78 on GitHub (May 7, 2025).
Original GitHub issue: https://github.com/ollama/ollama/issues/10612
What is the issue?
Hi,
I'm currently testing the phi4-reasoning:14b-q4_K_M model using ollama 0.6.8 on Windows 10 via OpenWebUI, and I've noticed that the model is extremely slow to respond—unusable in practice compared to other 14B models.
I get around 2.5 token/s...?
System specs:
Behavior observed:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.94 Driver Version: 560.94 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4060 Ti WDDM | 00000000:01:00.0 On | N/A |
| 34% 59C P0 ### 50W / 165W | 16014MiB / 16380MiB | 100% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
Comparison (same hardware and context size):
Questions:
Thanks in advance!
OS Windows
GPU Nvidia
CPU Intel
Ollama version 0.6.8
@rick-github commented on GitHub (May 7, 2025):
Server logs may aid in debugging.
@ALLMI78 commented on GitHub (May 7, 2025):
Hi rick, which part do you need? What to search for? I'm sorry but i can not send my querys...
I have tested hf.co/unsloth/Phi-4-reasoning-GGUF:Q4_K_M and it runs fine...
I'll collect some data and report...
@rick-github commented on GitHub (May 7, 2025):
Redact the queries, send everything else. Preferably with
OLLAMA_DEBUG=1.@ALLMI78 commented on GitHub (May 7, 2025):
ollama:phi4-reasoning:14b-q4_K_M
| 0 NVIDIA GeForce RTX 4060 Ti WDDM | 00000000:01:00.0 On | N/A |
| 33% 49C P0 ### 51W / 165W | 16009MiB / 16380MiB | ### 99% Default |
and with ollama:hf.co/unsloth/Phi-4-reasoning-GGUF:Q4_K_M
| 0 NVIDIA GeForce RTX 4060 Ti WDDM | 00000000:01:00.0 On | N/A |
| 30% 64C P0 ### 164W / 165W | 15291MiB / 16380MiB | 100% Default |
the unsloth version runs much faster ~ 22 t/s
@ALLMI78 commented on GitHub (May 8, 2025):
https://github.com/ollama/ollama/issues/10613
@rick-github commented on GitHub (May 8, 2025):
@ALLMI78 commented on GitHub (May 8, 2025):
here you can see the difference the unsloth (LLM0) does answer, ollama model (LLM1) from here does not answer
good idea, thx... but i used powershell (win10)
it is the logfile of the run of the 2 different models you see in the picture...
redacted-server.log
@ALLMI78 commented on GitHub (May 8, 2025):
see power usage:
@rick-github commented on GitHub (May 8, 2025):
OK, I see that the ollama model takes more than 5 minutes. This is because it does reasoning whereas the HF model does not.
Reasoning in the ollama model can be stopped by removing the SYSTEM prompt:
The HF model is still faster, which may be due to the smaller GGUF: 8.5G vs 11G. That's an 18% difference, which is close to the 16.7% difference in the token generation rate.
@ALLMI78 commented on GitHub (May 8, 2025):
i'll check that later, both models run with the same system-message with 100% all settings identical in my setup...
but first i need to sleep ;)
question: why the gpu runs only @ 50 watts while it is thinking?
@rick-github commented on GitHub (May 8, 2025):
Looks like the HF model is smaller because unsloth is using Q5_K tensors where the ollama model uses F16. So some loss in precision for a gain in speed.
@rick-github commented on GitHub (May 8, 2025):
No idea, I imagine something to do with the training.
@rick-github commented on GitHub (May 8, 2025):
You are forcing all of the layers onto the GPU:
Since you are using flash attention, you will be getting more layers in VRAM than ollama estimated, but because of the larger size of the ollama model, fewer layers will be in VRAM. If your Nvidia driver supports unified memory, that means more layers of the ollama model will be held in system RAM but accessed by the GPU through the PCI interface. This can result in performance issues. This may be why power draw is lower.
@samuel-lau-hk commented on GitHub (May 8, 2025):
In my computer , I found the computer read the llm from ssd with very low speed, and the cpu 2 cores with 50% loading. Other cores are idle . it seems the bottleneck is between the ssd to ram. After the loading from ssd to ram, It just take a few seconds from ram to vram. I am not sure , if the cpu want to decompress or other operations, to handle the llm from ssd. I believe ollama can improve this to enhance the performance.
@ALLMI78 commented on GitHub (May 8, 2025):
Hi samuel, in my case, this has nothing to do with the SSD. When I load the models, they're only loaded from the SSD once—during the initial call—and not again afterward.
The issues we found really come down to the two reasons Rick identified. It seems like the Unsloth model doesn't do any reasoning, and the Ollama model is larger. I had already noticed that it doesn’t fully fit into VRAM.
But one thing is odd: nvidia-smi told me the model does fit completely into VRAM—see here:
ollama:phi4-reasoning:14b-q4_K_M
| 0 NVIDIA GeForce RTX 4060 Ti WDDM | 00000000:01:00.0 On | N/A |
| 33% 49C P0 ### 51W / 165W | 16009MiB / 16380MiB | ### 99% Default |
So I didn’t check the layer upload process. But when the Ollama model is loaded, I can see that a small part of it is offloaded, which already struck me as strange—because the Unsloth model fits entirely into VRAM.
Dear Rick, I really trust your expertise, but in the case of gemma3-12b, you also initially said everything was normal and that my hardware was too weak. But then several issues were found and fixed, and now gemma3 runs pretty well on my system.
So what’s the situation now? Will I be able to run phi4-mini-reasoning on my system?
Is my hardware too weak—which would be strange, considering this is a 14B model, and all other 12–16B models run much faster and better on my setup…
What I also don’t understand: my system loads two models alternately, with absolutely identical parameters and settings. Even the system message is set the same for both.
@ALLMI78 commented on GitHub (May 8, 2025):
I just realized— I actually checked this in the Ollama log and it said:
But then:
And:
Huh? How does that work?
is that >>> load_tensors: offloaded 41/41 layers to GPU >>> what ollama estimates and
that >>> layers.requested=100 layers.model=41 layers.offload=28 >>> what it really does?
@ALLMI78 commented on GitHub (May 8, 2025):
on https://huggingface.co/unsloth/Phi-4-reasoning-GGUF
i found this:
@ALLMI78 commented on GitHub (May 8, 2025):
ohhh now with https://huggingface.co/unsloth/Phi-4-reasoning-GGUF
possible bad parameter:
redacted-server.log
@rick-github commented on GitHub (May 8, 2025):
This is how ollama works. If the model doesn't fit in VRAM, the rest of the model has to go somewhere else. Normally this means system RAM, where the CPU does inference. If you force the model into GPU addressable space by overriding
num_gpu, the rest of the model is still in system RAM, but the GPU does inference.The unsloth model is 18% smaller.
Because of the system prompt.
ollama estimates 28 layers can be offloaded. You have set
num_gputo 100. ollama will tell the runner to offload 100 layers. Since the model has 41 layers, that's the number of layers offloaded to GPU.Which parameter?
@ALLMI78 commented on GitHub (May 8, 2025):
We have some misunderstandings here, but they can be cleared up ;)
I understand how it generally works when a model doesn't fit into VRAM, meaning the rest runs through RAM/CPU.
What confused me was that both models were Q4KM, yet the unsloth version fit into VRAM according to the Windows Task Manager, while the Ollama version showed that part of it was offloaded.
-> You've already explained that, although the two models are externally identical, unsloth uses quantization to further reduce memory requirements, which I understood.
What keeps causing confusion for me are the many different numbers; the Windows Task Manager shows one thing, while Ollama/logs, etc., show something else...
"Ollama estimates 28 layers can be offloaded. You have set num_gpu to 100. Ollama will tell the runner to offload 100 layers. Since the model has 41 layers, that's the number of layers offloaded to GPU."
Ok, does this mean that I had the entire model in VRAM in both cases?
Because according to Ollama logs, that shouldn't be the case:
-> unsloth -> memory.required.full="19.5 GiB"
-> ollama -> memory.required.full="21.5 GiB"
Both don't fit in 16GB VRAM, but still, it says "offloaded 41/41 layers to GPU"?
This is a bit confusing, but thanks for the enlightening explanations.
on https://huggingface.co/unsloth/Phi-4-reasoning-GGUF
i found this:
You must use --jinja in llama.cpp to enable reasoning. Otherwise no token will be provided.
@rick-github commented on GitHub (May 8, 2025):
All of VRAM is used, but not all of the model is in VRAM.
The GPU is doing inference on all layers. Since the runner didn't expire from OOM, my guess is that the GPU is using unified memory as explained earlier.
The system prompt in the ollama model instructs the model to use thinking. There is no system prompt in the unsloth model. Since you said that you are providing a system prompt (ie overriding the default ollama one) it's likely that the ollama model is not thinking. You can test this by running the ollama CLI, setting the system prompt you are using, and sending one of your queries. For example:
If the model is not thinking, then the likely reason for the slow processing is the model overflow into system RAM.
@ALLMI78 commented on GitHub (May 8, 2025):
Ok, thanks for the explanations, you explained everything really well, I understand now.
Problem 1 was that the Ollama version is a bit larger and thus seems to be a little slower.
Problem 2 was that I didn’t enable "thinking" in my system message, so atm both run without thinking.
However, problem 3 still exists: Even with "thinking" turned off and using the unsloth model, which is a bit smaller and faster, I still don’t get a response from the phi4-reasoning model in 5 minutes... For queries that, for example, Qwen2.5 and Qwen3 14b respond to in 30s-2 minutes. The phi4 keeps talking and stalling until it times out. I already had to set num_predict to -1 because 4094 tokens aren’t enough.
Am I using the wrong parameters, or is this normal for the model, or what am I doing wrong?
@rick-github commented on GitHub (May 8, 2025):
So the both the unsloth model and the ollama model take a long time?
They are different model families so different performance is expected.
It seems like the issue has shifted from "phi4-reasoning:14b-q4_K_M extremely slow" to "phi4 keeps talking". If the problem is that the model is generating too many tokens, you can try adding instructions to the system prompt to enhance brevity. Reducing
temperaturemay make the model more focussed. Another approach is to try structured outputs. If those don't help or are not options, then perhaps phi4-reasoning doesn't suit your needs.@ALLMI78 commented on GitHub (May 8, 2025):
Yes, it seems like a mix of both. The Ollama model seems to be a bit slower than the unsloth model because it’s larger. However, both analyze so deeply that they take forever to respond and end up timing out.
The unsloth model did respond, but it always hit my token limit of 4096, so something was always missing. The Ollama model didn’t even respond within 5 minutes. I believe that’s how it was...
I’m currently testing different parameters, and they seem to have a huge impact. At the moment, I’m not getting any response from unsloth in under 5 minutes either.
I’m testing:
hf.co/unsloth/Phi-4-reasoning-GGUF:Q4_K_M
vs
hf.co/unsloth/Phi-4-reasoning-plus-GGUF:Q4_K_M
But with these parameters:
The first one doesn't respond at all within 5 minutes.
I don’t have stream=true in my system right now, so I’m not sure if anything is coming at all. I’ll have to check that carefully...
@ALLMI78 commented on GitHub (May 8, 2025):
With the following settings both run, base gets stuck....
You won’t believe it — with the plus version, there are no problems. It runs smoothly and quickly...
Normally, the plus version should generate more tokens — but in my case, it generates fewer and works smoothly and without any issues...?
The hf.co/unsloth/Phi-4-reasoning-plus-GGUF:Q4_K_M doesn’t have the issues that the base version has...?
Power Usage as expected >>>
**153W** / 165W | 15542MiB / 16380MiB | 96%@ALLMI78 commented on GitHub (May 9, 2025):
So after 8 hours of testing, I can say that there are no issues with the Plus version. I can't activate reasoning because that also causes long runtimes, but there is a clear difference between the two versions:
https://hf.co/unsloth/Phi-4-reasoning-GGUF:Q4_K_M
vs
https://hf.co/unsloth/Phi-4-reasoning-plus-GGUF:Q4_K_M
The Plus version does exactly what it's supposed to. After several runs, it averages 89 seconds runtime, while Qwen3-14B averages 101 seconds. So now, in my case the Phi-4-reasoning-plus is about as performant as Qwen3....
Since both versions - Phi-4-reasoning and Phi-4-reasoning-plus - share the same architecture, it makes me question whether our previous conclusions were actually correct. Everything sounded plausible, but since the Plus version runs smoothly, maybe there's actually something wrong with the base model? It's probably not due to Ollama either...?
Interesting insights - I wasn't expecting this result. I thought I wouldn’t even need to try the Plus version since it's supposed to generate even more extensive responses, but in my case, it runs cleanly and much better than the base version.
the plus has 1 timeout at the start (around2:33) but that is ok...
I'll try to get reasoning working but atm i'm happy with that result ;)
everything is fine, it was not a problem of my hardware ;)
@ALLMI78 commented on GitHub (May 9, 2025):
closed