mlx-examples/llms/mlx_lm
Gökdeniz Gülmez 76710f61af
Adding support for mamba (#940)
* initial commit

* initial commit

* Adding first lines

* adding x, and dt projection layers

* adding the clamping mechanism

* First succesful inference

* last commit for today - added custom geenrate function and it works as expected, will try training and then with loading a model from the hub

* clean up

* save up

* almost

* update

* update

* fixed cache handeling

* fixed loading

* added seperate generat_step method in the model and also in the utils to automaticaly use the generate step mthod in the model class

* quick update

* still not working

* save

* still not working

* initial commit

* utils.py logits = logits[:, -1, :] TypeError: tuple indices must be integers or slices, not tuple

* update

* update

* Fixing the Batching Depfwise Comnvolution and multi token input

* fixing generate and logits outputs

* Done!

* Fixing the cache handling, generating works now trying training

* update ACKNOWLEDGEMENTS

* removing the model_type if stuff in the _step loop in generate_step and adding MambaCache in base.py for training easier generations and removing mamba in tuner/utils.

* quick clean up

* update trainer/utils for right initialisation of the layers for LoRA, but not working.

* clean up

* Forther update to trainer/utils for correct layer selection. Successfull training

* removing extra mamba-infer.py file

* clean up, reformating will come later

* reformat and big clean up, final commit

* some speedups and cleanups

* fix test

* nits

* nits

---------

Co-authored-by: Awni Hannun <awni@apple.com>
2024-09-28 07:02:53 -07:00
..
examples Example of response generation with optional arguments (#853) 2024-07-09 06:49:59 -07:00
models Adding support for mamba (#940) 2024-09-28 07:02:53 -07:00
tuner Adding support for mamba (#940) 2024-09-28 07:02:53 -07:00
__init__.py Make sure to import the correct "version" module when installing mlx_whisper and mlx_lm from local source code. (#969) 2024-09-03 13:16:21 -07:00
_version.py Update LLM generation docs to use chat template (#973) 2024-09-07 06:06:15 -07:00
cache_prompt.py Fix the cache_prompt (#979) 2024-09-06 20:19:27 -07:00
convert.py Create executables for generate, lora, server, merge, convert (#682) 2024-04-16 16:08:49 -07:00
fuse.py Allow the entire model to be targed for LoRA and DoRA fine tuning: LoRA and DoRA embeddings with small DoRALinear bug fix (#914) 2024-08-16 07:38:36 -07:00
generate.py Add prompt piping (#962) 2024-09-03 13:29:10 -07:00
gguf.py Fix export to gguf (#993) 2024-09-20 13:33:45 -07:00
LORA.md Fix bug in upload + docs nit (#981) 2024-09-07 14:46:57 -07:00
lora.py Pass use_dora parameter to linear_to_lora_layers (#885) 2024-07-11 14:34:34 -07:00
MANAGE.md Add model management functionality for local caches (#736) 2024-05-03 12:20:13 -07:00
manage.py Add model management functionality for local caches (#736) 2024-05-03 12:20:13 -07:00
MERGE.md Create executables for generate, lora, server, merge, convert (#682) 2024-04-16 16:08:49 -07:00
merge.py Create executables for generate, lora, server, merge, convert (#682) 2024-04-16 16:08:49 -07:00
py.typed Add py.typed to support PEP-561 (type-hinting) (#389) 2024-01-30 21:17:38 -08:00
README.md feat: move lora into mlx-lm (#337) 2024-01-23 08:44:37 -08:00
requirements.txt Use fast rope (#945) 2024-08-23 13:18:51 -07:00
sample_utils.py Min P implementation (#926) 2024-08-15 15:45:02 -07:00
SERVER.md Adapters loading (#902) 2024-08-01 16:18:18 -07:00
server.py Predict stop sequence matches during streaming (#541) 2024-08-06 15:24:15 -07:00
tokenizer_utils.py Fix setattr for the TokenizerWrapper (#961) 2024-08-28 14:47:33 -07:00
UPLOAD.md Mlx llm package (#301) 2024-01-12 10:25:56 -08:00
utils.py don't use internal exception (#990) 2024-09-17 16:22:48 -07:00

Generate Text with MLX and 🤗 Hugging Face

This an example of large language model text generation that can pull models from the Hugging Face Hub.

For more information on this example, see the README in the parent directory.

This package also supports fine tuning with LoRA or QLoRA. For more information see the LoRA documentation.