]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
5 months agomodel: Add support for PhiMoE arch (#11003)
Pierrick Hymbert [Thu, 9 Jan 2025 10:21:41 +0000 (11:21 +0100)]
model: Add support for PhiMoE arch (#11003)

* model: support phimoe

* python linter

* doc: minor

Co-authored-by: ThiloteE <redacted>
* doc: minor

Co-authored-by: ThiloteE <redacted>
* doc: add phimoe as supported model

ggml-ci

---------

Co-authored-by: ThiloteE <redacted>
5 months agomedia : remove old img [no ci]
Georgi Gerganov [Thu, 9 Jan 2025 09:15:15 +0000 (11:15 +0200)]
media : remove old img [no ci]

5 months agollama-chat : add phi 4 template (#11148)
Xuan Son Nguyen [Thu, 9 Jan 2025 09:07:33 +0000 (10:07 +0100)]
llama-chat : add phi 4 template (#11148)

5 months agofix: add missing msg in static_assert (#11143)
hydai [Wed, 8 Jan 2025 20:03:28 +0000 (04:03 +0800)]
fix: add missing msg in static_assert (#11143)

Signed-off-by: hydai <redacted>
5 months agogguf-py : move scripts directory (#11116)
Vinesh Janarthanan [Wed, 8 Jan 2025 18:54:58 +0000 (12:54 -0600)]
gguf-py : move scripts directory (#11116)

* Moved scripts dir and fixed pyproject.toml

* updated readme

* fixed README urls

* bump pypi gguf to v0.14.0

* retrigger ci

* empty commit - trigger ci

5 months agoEnhance user input handling for llama-run (#11138)
Eric Curtin [Wed, 8 Jan 2025 18:47:05 +0000 (18:47 +0000)]
Enhance user input handling for llama-run (#11138)

The main motivation for this change is it was not handing
ctrl-c/ctrl-d correctly. Modify `read_user_input` to handle EOF,
"/bye" command, and empty input cases. Introduce `get_user_input`
function to manage user input loop and handle different return
cases.

Signed-off-by: Eric Curtin <redacted>
5 months agoci : use actions from ggml-org (#11140)
Xuan Son Nguyen [Wed, 8 Jan 2025 15:09:20 +0000 (16:09 +0100)]
ci : use actions from ggml-org (#11140)

5 months agolora : improve compat with `mergekit-extract-lora` (#11131)
Xuan Son Nguyen [Wed, 8 Jan 2025 14:59:53 +0000 (15:59 +0100)]
lora : improve compat with `mergekit-extract-lora` (#11131)

* (wip) support mergekit-extracted lora

* support mergekit-extract-lora

* use lora->get_scale

* correct comment

* correct norm name & condition

* add some hints

5 months agollama : avoid hardcoded QK_K (#11061)
Georgi Gerganov [Wed, 8 Jan 2025 14:19:36 +0000 (16:19 +0200)]
llama : avoid hardcoded QK_K (#11061)

ggml-ci

5 months agosync : ggml
Georgi Gerganov [Wed, 8 Jan 2025 11:40:30 +0000 (13:40 +0200)]
sync : ggml

5 months agoggml : allow loading backend with env variable (ggml/1059)
Radoslav Gerganov [Sun, 5 Jan 2025 07:50:37 +0000 (09:50 +0200)]
ggml : allow loading backend with env variable (ggml/1059)

ref: #1058

5 months agoci : pin dependency to specific version (#11137)
Xuan Son Nguyen [Wed, 8 Jan 2025 11:07:20 +0000 (12:07 +0100)]
ci : pin dependency to specific version (#11137)

* ci : pin dependency to specific version

* will this fix ec?

5 months agoarg : option to exclude arguments from specific examples (#11136)
Georgi Gerganov [Wed, 8 Jan 2025 10:55:36 +0000 (12:55 +0200)]
arg : option to exclude arguments from specific examples (#11136)

* arg : option to exclude arguments from specific examples

ggml-ci

* readme : remove old args [no ci]

5 months agollamafile : ppc64le MMA INT8 implementation (#10912)
amritahs-ibm [Wed, 8 Jan 2025 10:54:19 +0000 (16:24 +0530)]
llamafile : ppc64le MMA INT8 implementation (#10912)

This change upstreams llamafile's cpu matrix
multiplication kernels for ppc64le using MMA
builtins for quantised int8 datatype.

This change results in 10% - 70% improvement
in total speed(ie all tokens/total time), across
various batch sizes.

The patch is tested with Meta-Lllama-3-8B,
Mistral-7B, Llama-2-7B-chat-hf models on a
IBM POWER10 machine.

Signed-off-by: Amrita H S <redacted>
5 months agoci : fix cmake option (#11125)
Georgi Gerganov [Wed, 8 Jan 2025 09:29:34 +0000 (11:29 +0200)]
ci : fix cmake option (#11125)

5 months agoDisable GL_KHR_cooperative_matrix Vulkan extension if not available. (#11117)
Mathieu Baudier [Wed, 8 Jan 2025 08:18:13 +0000 (09:18 +0100)]
Disable GL_KHR_cooperative_matrix Vulkan extension if not available. (#11117)

* Disable GL_KHR_cooperative_matrix Vulkan extension if not available.

* Perform Vulkan extensions checks in a more sensible order

* Remove unnecessary #ifdef directive

5 months agofix: Vulkan shader gen binary path when Cross-compiling (#11096)
ag2s20150909 [Wed, 8 Jan 2025 08:17:29 +0000 (16:17 +0800)]
fix: Vulkan shader gen binary path when Cross-compiling (#11096)

* fix: Vulkan shader gen binary path when cross compiling

5 months agoGGUF: C++ refactor, backend support, misc fixes (#11030)
Johannes Gäßler [Tue, 7 Jan 2025 17:01:58 +0000 (18:01 +0100)]
GGUF: C++ refactor, backend support, misc fixes (#11030)

* GGUF: C++ refactor, backend support, misc fixes

remove ggml_tensor.backend

update CODEOWNERS [no ci]

remove gguf_get_data from API

revise GGUF API data types

5 months agoggml-backend : only offload from host buffers (fix) (#11124)
Diego Devesa [Tue, 7 Jan 2025 15:11:57 +0000 (16:11 +0100)]
ggml-backend : only offload from host buffers (fix) (#11124)

5 months agoggml-backend : only offload from host buffers (#11120)
Diego Devesa [Tue, 7 Jan 2025 11:38:05 +0000 (12:38 +0100)]
ggml-backend : only offload from host buffers (#11120)

5 months agorpc : code cleanup (#11107)
Radoslav Gerganov [Tue, 7 Jan 2025 06:37:02 +0000 (08:37 +0200)]
rpc : code cleanup (#11107)

Remove duplicated macros, use GGML_LOG_ERROR for errors

5 months agoSYCL: Use get_multi_ptr instead of deprecated get_pointer in wkv6 (#11087)
Akarshan Biswas [Tue, 7 Jan 2025 06:26:07 +0000 (11:56 +0530)]
SYCL: Use get_multi_ptr instead of deprecated get_pointer in wkv6 (#11087)

* SYCL: Use get_multi_ptr instead of deprecated get_pointer in wkv6

* Revert "SYCL: Use get_multi_ptr instead of deprecated get_pointer in wkv6"

This reverts commit f62dc45f318e48d375e7734b34cbddee81deed52.

* Reland: Use get_multi_ptr instead of deprecated get_pointer in wkv6

5 months agollama-run : fix context size (#11094)
Eric Curtin [Mon, 6 Jan 2025 22:45:28 +0000 (22:45 +0000)]
llama-run : fix context size (#11094)

Set `n_ctx` equal to `n_batch` in `Opt` class. Now context size is
a more reasonable 2048.

Signed-off-by: Eric Curtin <redacted>
5 months agollama : remove unused headers (#11109)
Georgi Gerganov [Mon, 6 Jan 2025 15:52:35 +0000 (17:52 +0200)]
llama : remove unused headers (#11109)

ggml-ci

5 months agogithub : add cmd line field to bug report (#11090)
Xuan Son Nguyen [Mon, 6 Jan 2025 15:34:49 +0000 (16:34 +0100)]
github : add cmd line field to bug report (#11090)

* github : cmd line to bug report

* codeowners : (@ngxson) only watch dockerfile

* Apply suggestions from code review [no ci]

Co-authored-by: Johannes Gäßler <redacted>
* rm cmd in log output [no ci]

* rm 2 [no ci]

* no need backticks [no ci]

---------

Co-authored-by: Johannes Gäßler <redacted>
5 months agoserver : fix extra BOS in infill endpoint (#11106)
Georgi Gerganov [Mon, 6 Jan 2025 13:36:08 +0000 (15:36 +0200)]
server : fix extra BOS in infill endpoint (#11106)

* server : fix extra BOS in infill endpoing

ggml-ci

* server : update infill tests

5 months agollama : remove check flash_attn with lora (#11104)
Xuan Son Nguyen [Mon, 6 Jan 2025 12:41:12 +0000 (13:41 +0100)]
llama : remove check flash_attn with lora (#11104)

5 months agollama : prevent system info string accumulation across calls (#11101)
Asghar Ghorbani [Mon, 6 Jan 2025 11:21:46 +0000 (12:21 +0100)]
llama : prevent system info string accumulation across calls (#11101)

5 months agollama : rename missed batch params/vars to ubatch (#10059)
Daniel Bevenius [Mon, 6 Jan 2025 09:28:17 +0000 (10:28 +0100)]
llama : rename missed batch params/vars to ubatch (#10059)

This commit renames the `batch` parameter to `ubatch` in the
`llama_kv_cache_find_slot`, `llm_build_inp_embd`, and
`llm_build_mamba` functions.

The motivation for this is that this should have been done as part of
Commit 19d900a7565b8f6b0a708836a57d26966cb9efe2 ("llama : rename batch
to ubatch (#9950)") but for some reason I missed these functions in
that commit and only noticed them now (sorry).

5 months agollama : update llama_model API names (#11063)
Georgi Gerganov [Mon, 6 Jan 2025 08:55:18 +0000 (10:55 +0200)]
llama : update llama_model API names (#11063)

* llama : deprecate llama_free_model, add llama_model_free

ggml-ci

* llama : change `llama_load_model_from_file` -> `llama_model_load_from_file`

ggml-ci

5 months agotokenize : escape the prompt (#11058)
Georgi Gerganov [Mon, 6 Jan 2025 08:54:25 +0000 (10:54 +0200)]
tokenize : escape the prompt (#11058)

* tokenize : escape the prompt

* tokenize : update help

5 months agommap : fix fileno macro clash (#11076)
Georgi Gerganov [Mon, 6 Jan 2025 08:52:38 +0000 (10:52 +0200)]
mmap : fix fileno macro clash (#11076)

* mmap : fix fileno macro clash

ggml-ci

* cont

ggml-ci

5 months agollama : use LLAMA_TOKEN_NULL (#11062)
Georgi Gerganov [Mon, 6 Jan 2025 08:52:15 +0000 (10:52 +0200)]
llama : use LLAMA_TOKEN_NULL (#11062)

ggml-ci

5 months agollama : use _impl suffix instead of _internal (#11060)
Georgi Gerganov [Mon, 6 Jan 2025 08:52:01 +0000 (10:52 +0200)]
llama : use _impl suffix instead of _internal (#11060)

ggml-ci

5 months agoCUDA: add BF16 support (#11093)
Johannes Gäßler [Mon, 6 Jan 2025 01:33:52 +0000 (02:33 +0100)]
CUDA: add BF16 support (#11093)

* CUDA: add BF16 support

5 months agoVulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver...
0cc4m [Sat, 4 Jan 2025 20:09:59 +0000 (21:09 +0100)]
Vulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver (#11074)

* Vulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver

* Add (TM) to AMD name check

5 months agollama : Add support for DeepSeek V3 (#11049)
fairydreaming [Sat, 4 Jan 2025 20:06:11 +0000 (21:06 +0100)]
llama : Add support for DeepSeek V3 (#11049)

* convert : extend DEEPSEEK2 model architecture to support DeepseekV3ForCausalLM by adding EXPERT_WEIGHTS_NORM and EXPERT_GATING_FUNC model parameters and FFN_EXP_PROBS_B tensor type

* vocab : add DeepSeek V3 pre-tokenizer regexes

* unicode : handle ACCENT_MARK and SYMBOL categories in regex

* llama : add DeepSeek V3 chat template, handle new model parameters and tensor types

---------

Co-authored-by: Stanisław Szymczyk <redacted>
5 months ago[GGML][RPC] Support for models with non-512-aligned tensors over RPC. (#11047)
matt23654 [Sat, 4 Jan 2025 16:10:30 +0000 (16:10 +0000)]
[GGML][RPC] Support for models with non-512-aligned tensors over RPC. (#11047)

* Added init tensor calling code

* Added get_alloc_size forwarding

* Cleaned up and improved type/error handling.

* fix: remove trailing whitespaces.

* Cleanup and use GGML error logging functions.

* Handle potentially dangerous edge cases.

* Apply suggestions from code review

Co-authored-by: Diego Devesa <redacted>
---------

Co-authored-by: Diego Devesa <redacted>
5 months agollama : add support for the cohere2 model architecture (#10900)
DAN™ [Sat, 4 Jan 2025 14:33:31 +0000 (09:33 -0500)]
llama : add support for the cohere2 model architecture (#10900)

5 months agosync : ggml
Georgi Gerganov [Sat, 4 Jan 2025 08:54:01 +0000 (10:54 +0200)]
sync : ggml

5 months agoggml : do not install metal source when embed library (ggml/1054)
Georgi Gerganov [Sat, 4 Jan 2025 08:53:54 +0000 (10:53 +0200)]
ggml : do not install metal source when embed library (ggml/1054)

5 months agoggml : improve inputs log sched_print_assignments (ggml/1053)
Daniel Bevenius [Thu, 19 Dec 2024 02:50:12 +0000 (03:50 +0100)]
ggml : improve inputs log sched_print_assignments (ggml/1053)

This commit attempts to improve the log message for the inputs of the
splits in the sched_print_assignments function.

The motivation for this change is that currently even if there are no
inputs a colon is displayed at the end of the line, which can make it a
little confusing when reading the output as it could be interpreted as
the line below are inputs when they are in fact nodes. With this change
the colon will only be printed if there actually are inputs.

5 months agofix: Vulkan shader gen binary path (#11037)
Gilad S. [Sat, 4 Jan 2025 08:17:31 +0000 (10:17 +0200)]
fix: Vulkan shader gen binary path (#11037)

5 months agocommon : disable KV cache shifting automatically for unsupported models (#11053)
Molly Sophia [Fri, 3 Jan 2025 12:13:18 +0000 (20:13 +0800)]
common : disable KV cache shifting automatically for unsupported models (#11053)

* Disable KV cache shifting automatically for unsupported models

instead of exiting directly

Signed-off-by: Molly Sophia <redacted>
* Update common/common.cpp

Co-authored-by: Georgi Gerganov <redacted>
---------

Signed-off-by: Molly Sophia <redacted>
Co-authored-by: Georgi Gerganov <redacted>
5 months agometal : avoid uint (#11019)
Georgi Gerganov [Fri, 3 Jan 2025 09:26:14 +0000 (11:26 +0200)]
metal : avoid uint (#11019)

5 months agollama : refactor `src/llama.cpp` (#10902)
Georgi Gerganov [Fri, 3 Jan 2025 08:18:53 +0000 (10:18 +0200)]
llama : refactor `src/llama.cpp` (#10902)

* llama : scatter llama.cpp into multiple modules (wip)

* llama : control-vector -> adapter

* llama : arch

* llama : mmap

ggml-ci

* ci : remove BUILD_SHARED_LIBS=OFF

ggml-ci

* llama : arch (cont)

ggml-ci

* llama : chat

ggml-ci

* llama : model

ggml-ci

* llama : hparams

ggml-ci

* llama : adapter

ggml-ci

* examples : fix

ggml-ci

* rebase

ggml-ci

* minor

* llama : kv cache

ggml-ci

* llama : impl

ggml-ci

* llama : batch

ggml-ci

* cont

ggml-ci

* llama : context

ggml-ci

* minor

* llama : context (cont)

ggml-ci

* llama : model loader

ggml-ci

* common : update lora

ggml-ci

* llama : quant

ggml-ci

* llama : quant (cont)

ggml-ci

* minor [no ci]

5 months agoserver: bench: minor fixes (#10765)
Pierrick Hymbert [Thu, 2 Jan 2025 17:06:12 +0000 (18:06 +0100)]
server: bench: minor fixes (#10765)

* server/bench:
- support openAI streaming standard output with [DONE]\n\n
- export k6 raw results in csv
- fix too many tcp idle connection in tcp_wait
- add metric time to emit first token

* server/bench:
- fix when prometheus not started
- wait for server to be ready before starting bench

5 months agoserver : allow using LoRA adapters per-request (#10994)
Xuan Son Nguyen [Thu, 2 Jan 2025 14:05:18 +0000 (15:05 +0100)]
server : allow using LoRA adapters per-request (#10994)

* slot.can_batch_with

* lora per request

* test: force disable cache prompt

* move can_batch_with check

* fix condition

* add slow test with llama 8b

* update docs

* move lora change task to queue

* Apply suggestions from code review

Co-authored-by: Georgi Gerganov <redacted>
* lora_base

* remove redundant check

---------

Co-authored-by: Georgi Gerganov <redacted>
5 months agoreadme : add llama-swap to infrastructure section (#11032)
Benson Wong [Thu, 2 Jan 2025 07:14:54 +0000 (23:14 -0800)]
readme : add llama-swap to infrastructure section (#11032)

* list llama-swap under tools in README

* readme: add llama-swap to Infrastructure

5 months agoggml : fixes for AVXVNNI instruction set with MSVC and Clang (#11027)
Srihari-mcw [Tue, 31 Dec 2024 14:23:33 +0000 (19:53 +0530)]
ggml : fixes for AVXVNNI instruction set with MSVC and Clang (#11027)

* Fixes for clang AVX VNNI

* enable AVX VNNI and alder lake build for MSVC

* Apply suggestions from code review

---------

Co-authored-by: slaren <redacted>
5 months agoserver : clean up built-in template detection (#11026)
Xuan Son Nguyen [Tue, 31 Dec 2024 14:22:01 +0000 (15:22 +0100)]
server : clean up built-in template detection (#11026)

* server : clean up built-in template detection

* fix compilation

* add chat template test

* fix condition

5 months agoserver : add OAI compat for /v1/completions (#10974)
Xuan Son Nguyen [Tue, 31 Dec 2024 11:34:13 +0000 (12:34 +0100)]
server : add OAI compat for /v1/completions (#10974)

* server : add OAI compat for /v1/completions

* add test

* add docs

* better docs

5 months agoconvert : fix Llama-3_1-Nemotron-51B rope settings (#11008)
ymcki [Tue, 31 Dec 2024 11:04:48 +0000 (19:04 +0800)]
convert : fix Llama-3_1-Nemotron-51B rope settings (#11008)

* conflict resolution

* move comments after bracket to its own line

* DeciLMCausalModel now reads rope_theta from config.json properly

5 months agocommon, examples, ggml : fix MSYS2 GCC compiler errors and warnings when building...
Peter [Tue, 31 Dec 2024 00:46:06 +0000 (11:46 +1100)]
common, examples, ggml : fix MSYS2 GCC compiler errors and warnings when building with LLAMA_CURL=ON and GGML_OPENCL=ON (#11013)

In common/common.cpp:
* Convert usage of stat() function call to check if file exists to standard library function std::filesystem::exists (error unable to match to correct function signature)
* Additional conditions to check if PATH_MAX is already defined in WIN32 environment (warning it is already defined in MSYS2)

In examples/run/run.cpp:
* Add io.h header inclusion (error cannot find function _get_osfhandle)
* Change initialisers for OVERLAPPED to empty struct (warning about uninitialised members)
* Add initialiser for hFile (warning it may be uninitialised)
* Add cast for curl_off_t percentage value to long int in generate_progress_prefix function (warning that curl_off_t is long long int)

In ggml/src/ggml-opencl/ggml-opencl.cpp:
* Initialise certain declared cl_mem variables to nullptr for greater safety (warning about B_d variable possibly used unassigned)

5 months agovulkan: optimize mul_mat for small values of N (#10991)
Jeff Bolz [Mon, 30 Dec 2024 17:27:11 +0000 (11:27 -0600)]
vulkan: optimize mul_mat for small values of N (#10991)

Make the mul_mat_vec shaders support N>1 (as a spec constant, NUM_COLS) where
the batch_strides are overloaded to hold the row strides. Put the loads from the
B matrix in the innermost loop because it should cache better.

Share some code for reducing the result values to memory in mul_mat_vec_base.

5 months agoandroid : fix llama_batch free (#11014)
ag2s20150909 [Mon, 30 Dec 2024 12:35:13 +0000 (20:35 +0800)]
android : fix llama_batch free (#11014)

5 months agovulkan: im2col and matmul optimizations for stable diffusion (#10942)
Jeff Bolz [Sun, 29 Dec 2024 09:16:34 +0000 (03:16 -0600)]
vulkan: im2col and matmul optimizations for stable diffusion (#10942)

* tests: Add im2col perf tests

* vulkan: optimize im2col, more elements per thread

* vulkan: increase small tile size for NV_coopmat2

* vulkan: change im2col to 512 elements per workgroup

5 months agovulkan: Use push constant offset to handle misaligned descriptors (#10987)
Jeff Bolz [Sun, 29 Dec 2024 08:35:11 +0000 (02:35 -0600)]
vulkan: Use push constant offset to handle misaligned descriptors (#10987)

6 months agoserver: added more docs for response_fields field (#10995)
Isaac McFadyen [Sat, 28 Dec 2024 15:09:19 +0000 (10:09 -0500)]
server: added more docs for response_fields field (#10995)

6 months agoserver : fix token duplication when streaming with stop strings (#10997)
Alexey Parfenov [Sat, 28 Dec 2024 15:08:54 +0000 (15:08 +0000)]
server : fix token duplication when streaming with stop strings (#10997)

6 months agovulkan: multi-row k quants (#10846)
Eve [Thu, 26 Dec 2024 15:54:44 +0000 (10:54 -0500)]
vulkan: multi-row k quants (#10846)

* multi row k quant shaders!

* better row selection

* more row choices

* readjust row selection

* rm_kq=2 by default

6 months agoexamples, ggml : fix GCC compiler warnings (#10983)
Peter [Thu, 26 Dec 2024 13:59:11 +0000 (00:59 +1100)]
examples, ggml : fix GCC compiler warnings (#10983)

Warning types fixed (observed under MSYS2 GCC 14.2.0):
* format '%ld' expects argument of type 'long int', but argument has type 'size_t'
* llama.cpp/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp:81:46: warning: missing initializer for member '_STARTUPINFOA::lpDesktop' [-Wmissing-field-initializers]  (emitted for all struct field except first)

6 months agoserver : add support for "encoding_format": "base64" to the */embeddings endpoints...
Reza Kakhki [Tue, 24 Dec 2024 20:33:04 +0000 (21:33 +0100)]
server : add support for "encoding_format": "base64" to the */embeddings endpoints (#10967)

* add support for base64

* fix base64 test

* improve test

---------

Co-authored-by: Xuan Son Nguyen <redacted>
6 months agoggml : more perfo with llamafile tinyblas on x86_64 (#10714)
Djip007 [Tue, 24 Dec 2024 17:54:49 +0000 (18:54 +0100)]
ggml : more perfo with llamafile tinyblas on x86_64 (#10714)

* more perfo with llamafile tinyblas on x86_64.

- add bf16 suport
- change dispache strategie (thanks:
https://github.com/ikawrakow/ik_llama.cpp/pull/71 )
- reduce memory bandwidth

simple tinyblas dispache and more cache freindly

* tinyblas dynamic dispaching

* sgemm: add M blocs.

* - git 2.47 use short id of len 9.
- show-progress is not part of GNU Wget2

* remove not stable test

6 months agoserver: allow filtering llama server response fields (#10940)
NeverLucky [Tue, 24 Dec 2024 16:39:49 +0000 (19:39 +0300)]
server:  allow filtering llama server response fields (#10940)

* llama_server_response_fields

* llama_server_response_fields_fix_issues

* params fixes

* fix

* clarify docs

* change to "response_fields"

---------

Co-authored-by: Xuan Son Nguyen <redacted>
6 months agollama : the WPM vocabs use the CLS token as BOS (#10930)
Georgi Gerganov [Tue, 24 Dec 2024 07:44:20 +0000 (09:44 +0200)]
llama : the WPM vocabs use the CLS token as BOS (#10930)

* llama : the WPM vocabs use the CLS token as BOS

ggml-ci

* llama : add comment

6 months agoggml : use wstring for backend search paths (#10960)
Diego Devesa [Tue, 24 Dec 2024 03:05:27 +0000 (04:05 +0100)]
ggml : use wstring for backend search paths (#10960)

ggml-ci

6 months agoggml : fix arm enabled features check (#10961)
Diego Devesa [Tue, 24 Dec 2024 03:05:17 +0000 (04:05 +0100)]
ggml : fix arm enabled features check (#10961)

6 months agoggml : fix const usage in SSE path (#10962)
Diego Devesa [Mon, 23 Dec 2024 19:25:52 +0000 (20:25 +0100)]
ggml : fix const usage in SSE path (#10962)

6 months agoserver : fix missing model id in /model endpoint (#10957)
Xuan Son Nguyen [Mon, 23 Dec 2024 11:52:25 +0000 (12:52 +0100)]
server : fix missing model id in /model endpoint (#10957)

* server : fix missing model id in /model endpoint

* fix ci

6 months agoserver : add system_fingerprint to chat/completion (#10917)
Xuan Son Nguyen [Mon, 23 Dec 2024 11:02:44 +0000 (12:02 +0100)]
server : add system_fingerprint to chat/completion (#10917)

* server : add system_fingerprint to chat/completion

* update README

6 months agorpc-server : add support for the SYCL backend (#10934)
Radoslav Gerganov [Mon, 23 Dec 2024 08:39:30 +0000 (10:39 +0200)]
rpc-server : add support for the SYCL backend (#10934)

6 months agollama : support InfiniAI Megrez 3b (#10893)
Yun Dou [Mon, 23 Dec 2024 00:35:44 +0000 (08:35 +0800)]
llama : support InfiniAI Megrez 3b (#10893)

* Support InfiniAI Megrez 3b

* Fix tokenizer_clean_spaces for megrez

6 months agollama : support for Llama-3_1-Nemotron-51B (#10669)
ymcki [Mon, 23 Dec 2024 00:22:33 +0000 (08:22 +0800)]
llama : support for Llama-3_1-Nemotron-51B (#10669)

* conflict resolution

* move comments after bracket to its own line

6 months agollama-run : include temperature option (#10899)
Eric Curtin [Mon, 23 Dec 2024 00:21:40 +0000 (00:21 +0000)]
llama-run : include temperature option (#10899)

This commit updates the `examples/run/README.md` file to include a new
option for setting the temperature and updates the `run.cpp` file to
parse this option.

Signed-off-by: Eric Curtin <redacted>
6 months agoggml : fix run-time on FreeBSD in get_executable_path() (#10948)
yuri@FreeBSD [Mon, 23 Dec 2024 00:20:11 +0000 (16:20 -0800)]
ggml : fix run-time on FreeBSD in get_executable_path() (#10948)

6 months agodevops : add docker-multi-stage builds (#10832)
Rudi Servo [Sun, 22 Dec 2024 22:22:58 +0000 (21:22 -0100)]
devops : add docker-multi-stage builds (#10832)

6 months agollama : add Falcon3 support (#10883)
Billel Mokeddem [Sun, 22 Dec 2024 22:09:58 +0000 (01:09 +0300)]
llama : add Falcon3 support (#10883)

* Add Falcon3 model support

* Add fix for adding bos to added special tokens

* Add comment explaining the logic behind the if statement

* Add a log message to better track the when the following line of code is triggered

* Update log to only print when input and output characters are different

* Fix handling pre-normalized tokens

* Refactoring

6 months agovulkan: build fixes for 32b (#10927)
Jeff Bolz [Sun, 22 Dec 2024 09:44:01 +0000 (03:44 -0600)]
vulkan: build fixes for 32b (#10927)

* vulkan: build fixes for 32b

Should fix #10923

* vulkan: initialize some buffer/offset variables

6 months agoconvert : add BertForMaskedLM (#10919)
Georgi Gerganov [Sat, 21 Dec 2024 08:10:18 +0000 (10:10 +0200)]
convert : add BertForMaskedLM (#10919)

6 months agovulkan: optimize coopmat2 dequant functions (#10855)
Jeff Bolz [Sat, 21 Dec 2024 07:04:45 +0000 (01:04 -0600)]
vulkan: optimize coopmat2 dequant functions (#10855)

Change the code to do 16b loads when possible and extract the appropriate
component late, so the code is effectively decoding a pair of elements and
then selecting one. This can allow more commoning to happen in the compiler
when neighboring elements are loaded.

6 months agoggml-cpu: replace NEON asm with intrinsics in ggml_gemv_q4_0_4x8_q8_0() (#10874)
Adrien Gallouët [Fri, 20 Dec 2024 23:33:37 +0000 (00:33 +0100)]
ggml-cpu: replace NEON asm with intrinsics in ggml_gemv_q4_0_4x8_q8_0() (#10874)

* ggml-cpu: replace NEON asm with intrinsics in ggml_gemv_q4_0_4x8_q8_0()

Signed-off-by: Adrien Gallouët <redacted>
* ggml-cpu: format code

Signed-off-by: Adrien Gallouët <redacted>
---------

Signed-off-by: Adrien Gallouët <redacted>
6 months agoSYCL: Migrate away from deprecated ggml_tensor->backend (#10840)
Akarshan Biswas [Fri, 20 Dec 2024 15:31:28 +0000 (21:01 +0530)]
SYCL: Migrate away from deprecated ggml_tensor->backend (#10840)

* Migrate to tensor->buffer for checking backend buffer type: 1

* SYCL: common.cpp try to migrate away from tensor->backend

* SYCL: fix assertions and add proper comments

* SYCL: remove extra space

* SYCL: Add back static to ggml_backend_buffer_is_sycl_split function

* SYCL: Add pragma directive to suppress warning spam

* SYCL: Integrate debug logs with GGML_LOG and other fixes

* Revert "SYCL: Integrate debug logs with GGML_LOG and other fixes"

This reverts commit 2607b7de0f0d2f4f1f690226f86fa861aa39cb97.
Let's keep the current SYCL specific logging mechanism for now

* SYCL: Use GGML_SYCL_DEBUG after reverting

* SYCL: reg_get_proc_address func, update to the current func signature

* SYCL: Refactor SYCL buffer checks in ggml_sycl_cpy_tensor_2d

6 months agoserver : (UI) fix copy to clipboard function (#10916)
Xuan Son Nguyen [Fri, 20 Dec 2024 13:12:06 +0000 (14:12 +0100)]
server : (UI) fix copy to clipboard function (#10916)

6 months agoggml : add test for SVE and disable when it fails (#10906)
Diego Devesa [Fri, 20 Dec 2024 12:31:28 +0000 (13:31 +0100)]
ggml : add test for SVE and disable when it fails (#10906)

6 months agoconvert : fix RWKV v6 model conversion (#10913)
Molly Sophia [Fri, 20 Dec 2024 09:44:58 +0000 (17:44 +0800)]
convert : fix RWKV v6 model conversion (#10913)

* Enable --no-context-shift for llama-perplexity example

Signed-off-by: Molly Sophia <redacted>
* RWKV 6: Fix error in ggml_cuda_op_bin_bcast

Signed-off-by: Molly Sophia <redacted>
---------

Signed-off-by: Molly Sophia <redacted>
6 months agoclip : disable GPU support (#10896)
Georgi Gerganov [Thu, 19 Dec 2024 16:47:15 +0000 (18:47 +0200)]
clip : disable GPU support (#10896)

ggml-ci

6 months agollama : minor grammar refactor (#10897)
Georgi Gerganov [Thu, 19 Dec 2024 15:42:13 +0000 (17:42 +0200)]
llama : minor grammar refactor (#10897)

ggml-ci

6 months agotts : small QoL for easy model fetch (#10903)
Georgi Gerganov [Thu, 19 Dec 2024 15:35:15 +0000 (17:35 +0200)]
tts : small QoL for easy model fetch (#10903)

6 months agoserver : fix logprobs, make it OAI-compatible (#10783)
Xuan Son Nguyen [Thu, 19 Dec 2024 14:40:08 +0000 (15:40 +0100)]
server : fix logprobs, make it OAI-compatible (#10783)

* server : fix logprobs, make it openai-compatible

* update docs

* add std::log

* return pre-sampling p

* sort before apply softmax

* add comment

* fix test

* set p for sampled token

* update docs

* add --multi-token-probs

* update docs

* add `post_sampling_probs` option

* update docs [no ci]

* remove --multi-token-probs

* "top_probs" with "post_sampling_probs"

* resolve review comments

* rename struct token_prob to prob_info

* correct comment placement

* fix setting prob for sampled token

6 months agoggml: fix arm build with gcc (#10895)
Adrien Gallouët [Thu, 19 Dec 2024 13:20:41 +0000 (14:20 +0100)]
ggml: fix arm build with gcc (#10895)

Signed-off-by: Adrien Gallouët <redacted>
6 months agollama : fix Roberta embeddings (#10856)
Sukriti Sharma [Thu, 19 Dec 2024 13:04:51 +0000 (06:04 -0700)]
llama : fix Roberta embeddings (#10856)

* fix: Use gpt2 tokenizer for roberta and add eos/bos tokens

Branch: RobertaTokenizer

Signed-off-by: Gabe Goodhart <redacted>
* fixes to position embeddings

Signed-off-by: Sukriti-Sharma4 <redacted>
* map roberta-bpe to gpt-2

Signed-off-by: Sukriti-Sharma4 <redacted>
* fix linting

Signed-off-by: Sukriti-Sharma4 <redacted>
---------

Signed-off-by: Gabe Goodhart <redacted>
Signed-off-by: Sukriti-Sharma4 <redacted>
Co-authored-by: Gabe Goodhart <redacted>
6 months agoconvert : Add support for Microsoft Phi-4 model (#10817)
fairydreaming [Thu, 19 Dec 2024 09:37:12 +0000 (10:37 +0100)]
convert : Add support for Microsoft Phi-4 model  (#10817)

* convert : use GPT2 vocab for Phi-4 model

* convert : use null value of sliding_window to distinguish Phi-4 from other PHI3-based models

* llama : do not use sliding window attention mask for Phi-4 model

---------

Co-authored-by: Stanisław Szymczyk <redacted>
6 months agotests: disable GGUF test for bad value size (#10886)
Johannes Gäßler [Thu, 19 Dec 2024 07:53:58 +0000 (08:53 +0100)]
tests: disable GGUF test for bad value size (#10886)

6 months agollama-run : improve progress bar (#10821)
Eric Curtin [Thu, 19 Dec 2024 02:58:00 +0000 (02:58 +0000)]
llama-run : improve progress bar (#10821)

Set default width to whatever the terminal is. Also fixed a small bug around
default n_gpu_layers value.

Signed-off-by: Eric Curtin <redacted>
6 months agoggml : fix arm build (#10890)
Diego Devesa [Wed, 18 Dec 2024 22:21:42 +0000 (23:21 +0100)]
ggml : fix arm build (#10890)

* ggml: GGML_NATIVE uses -mcpu=native on ARM

Signed-off-by: Adrien Gallouët <redacted>
* ggml: Show detected features with GGML_NATIVE

Signed-off-by: Adrien Gallouët <redacted>
* remove msvc support, add GGML_CPU_ARM_ARCH option

* disable llamafile in android example

* march -> mcpu, skip adding feature macros

ggml-ci

---------

Signed-off-by: Adrien Gallouët <redacted>
Co-authored-by: Adrien Gallouët <redacted>
6 months agotts : add OuteTTS support (#10784)
Georgi Gerganov [Wed, 18 Dec 2024 17:27:21 +0000 (19:27 +0200)]
tts : add OuteTTS support (#10784)

* server : add "tokens" output

ggml-ci

* server : output embeddings for all tokens when pooling = none

ggml-ci

* server : be explicit about the pooling type in the tests

ggml-ci

* server : do not normalize embeddings when there is no pooling

ggml-ci

* llama : add OuteTTS support (wip)

* wip

* extract features

* first conv

* group norm

* resnet conv

* resnet

* attn

* pos net

* layer norm

* convnext

* head

* hann window

* fix n_embd + remove llama.cpp hacks

* compute hann window

* fft

* spectrum processing

* clean-up

* tts : receive input text and generate codes

* clip : fix new conv name

* tts : minor fix

* tts : add header + minor fixes

ggml-ci

* tts : add matchematical constant

ggml-ci

* tts : fix sampling + cut initial noise

* tts : fixes

* tts : update default samplers

ggml-ci

* tts : text pre-processing

* tts : outetts-voc -> wavtokenizer-dec

* tts : remove hardcoded constants

ggml-ci

* tts : fix tensor shapes

* llama : refactor wavtokenizer tensors

ggml-ci

* cont

ggml-ci

* cont [no ci]

* llama : update WavTokenizer to non-causal attn

* llama : handle no-vocab detokenization

* tts : add Python example for OuteTTS (wip)

* tts : extend python example to generate spectrogram

ggml-ci

* server : fix rebase artifacts

* tts : enable "return_tokens" in Python example

ggml-ci

* tts : minor fixes

* common : support HF download for vocoder

6 months agoserver: avoid overwriting Authorization header (#10878)
Gaetan Bisson [Wed, 18 Dec 2024 14:00:07 +0000 (04:00 -1000)]
server: avoid overwriting Authorization header (#10878)

* server: avoid overwriting Authorization header

If no API key is set, leave the Authorization header as is. It may be
used by another part of the Web stack, such as an authenticating proxy.

Fixes https://github.com/ggerganov/llama.cpp/issues/10854

* rebuild

---------

Co-authored-by: Xuan Son Nguyen <redacted>
6 months agoserver : output embeddings for all tokens when pooling = none (#10861)
Georgi Gerganov [Wed, 18 Dec 2024 11:01:41 +0000 (13:01 +0200)]
server : output embeddings for all tokens when pooling = none (#10861)

* server : add "tokens" output

ggml-ci

* server : output embeddings for all tokens when pooling = none

ggml-ci

* server : update readme [no ci]

* server : fix spacing [no ci]

Co-authored-by: Xuan Son Nguyen <redacted>
* server : be explicit about the pooling type in the tests

ggml-ci

* server : update /embeddings and /v1/embeddings endpoints

ggml-ci

* server : do not normalize embeddings when there is no pooling

ggml-ci

* server : update readme

ggml-ci

* server : fixes

* tests : update server tests

ggml-ci

* server : update readme [no ci]

* server : remove rebase artifact

---------

Co-authored-by: Xuan Son Nguyen <redacted>
6 months agoserver : add "tokens" output (#10853)
Georgi Gerganov [Wed, 18 Dec 2024 09:05:29 +0000 (11:05 +0200)]
server : add "tokens" output (#10853)

* server : add "tokens" output

ggml-ci

* server : update readme

ggml-ci

* server : return tokens ids only if requested

ggml-ci

* tests : improve "tokens" type check

Co-authored-by: Xuan Son Nguyen <redacted>
* server : remove "tokens" from the OAI endpoint

ggml-ci

---------

Co-authored-by: Xuan Son Nguyen <redacted>