1. 13 Mar, 2025 6 commits
  2. 11 Mar, 2025 2 commits
  3. 04 Mar, 2025 1 commit
    • Daniel Hiltgen's avatar
      New engine: vision models and auto-fallback (#9113) · 1fdb351c
      Daniel Hiltgen authored
      * Include unified vision layers in memory prediction
      
      For newer vision models with a single gguf, include
      the projection estimates.
      
      * Adjust CLI to handle both styles of vision model metadata
      
      * Wire up new tokenizers for new engine
      
      If we're loading the new engine, utilize the new model
      text processor instead of calling into cgo wrappers for
      llama.cpp.  This also cleans up some tech debt from the
      older tokenization flow for the C++ server which was
      no longer used.
      
      This also adjusts the grammar handling logic to pass
      through to the new engine instead of utilizing the cgo
      schema to grammar call.
      
      * Lay foundation for auto selection of new engine
      1fdb351c
  4. 27 Feb, 2025 1 commit
  5. 25 Feb, 2025 1 commit
  6. 14 Feb, 2025 1 commit
    • Michael Yang's avatar
      next ollama runner (#7913) · 58245413
      Michael Yang authored
      
      
      feat: add new Ollama engine using ggml through cgo
      
      This change introduces a new way to run pretrained models. It introduces 3 high level interfaces and a bunch of smaller helper interfaces to facilitate this.
      
      - `model.Model` defines the interface for a model architecture. Models such as `llama` and `mllama`, which are provided as examples, can implement the model's forward propagation in the `Forward` method. This method will be called to generate completions. This interface can be found in `model/model.go`
      - `ml.Backend` defines the interface for a backend tensor library, in this case `ggml`. Among other things, a Backend is responsible for loading a pretrained model into hardware (GPU, CPU, etc) and providing an interface for Models to access loaded tensors. This interface can be found in `ml/backend.go`
      - `ml.Tensor` defines the interface for a tensor and tensor operations
      
      This is the first implementation of the new engine. Follow up PRs will implement more features:
      
      - non-greedy sampling (#8410)
      - integration with Ollama and KV caching (#8301)
      - more model support (#9080) with more coming soon
      Co-authored-by: default avatarBruce MacDonald <brucewmacdonald@gmail.com>
      58245413
  7. 03 Dec, 2024 1 commit
  8. 01 Nov, 2024 2 commits
  9. 18 Oct, 2024 1 commit
  10. 15 Oct, 2024 1 commit
  11. 23 Aug, 2024 1 commit
  12. 12 Aug, 2024 1 commit
  13. 08 Aug, 2024 1 commit
  14. 31 Jul, 2024 1 commit
  15. 10 Jul, 2024 1 commit
  16. 27 Jun, 2024 1 commit
  17. 25 Jun, 2024 1 commit
    • Blake Mizerany's avatar
      llm: speed up gguf decoding by a lot (#5246) · cb42e607
      Blake Mizerany authored
      Previously, some costly things were causing the loading of GGUF files
      and their metadata and tensor information to be VERY slow:
      
        * Too many allocations when decoding strings
        * Hitting disk for each read of each key and value, resulting in a
          not-okay amount of syscalls/disk I/O.
      
      The show API is now down to 33ms from 800ms+ for llama3 on a macbook pro
      m3.
      
      This commit also prevents collecting large arrays of values when
      decoding GGUFs (if desired). When such keys are encountered, their
      values are null, and are encoded as such in JSON.
      
      Also, this fixes a broken test that was not encoding valid GGUF.
      cb42e607
  18. 20 Jun, 2024 1 commit
  19. 18 Jun, 2024 1 commit
  20. 14 Jun, 2024 1 commit
    • Daniel Hiltgen's avatar
      Improve multi-gpu handling at the limit · 6fd04ca9
      Daniel Hiltgen authored
      Still not complete, needs some refinement to our prediction to understand the
      discrete GPUs available space so we can see how many layers fit in each one
      since we can't split one layer across multiple GPUs we can't treat free space
      as one logical block
      6fd04ca9
  21. 11 Jun, 2024 1 commit
  22. 08 Jun, 2024 1 commit
  23. 06 Jun, 2024 1 commit
  24. 24 May, 2024 2 commits
  25. 23 May, 2024 1 commit
  26. 21 May, 2024 1 commit
  27. 10 May, 2024 1 commit
  28. 08 May, 2024 1 commit
  29. 06 May, 2024 2 commits
  30. 23 Apr, 2024 1 commit
  31. 17 Apr, 2024 1 commit