Examples in the MLX framework
mlx
Go to file
Zai Thottakath 4e01700816
Allow the entire model to be targed for LoRA and DoRA fine tuning: LoRA and DoRA embeddings with small DoRALinear bug fix (#914)
* feature: LoRA adapter for Embeddings

* feature: wire in LoRAEmbedding into the tuner. Allow the embedding and non model.layers Linear layers to be targeted for fine tuning

* feature: DoRA adapter for Embeddings

* feature: wire in DoRAEmbedding

* bugfix: ensure self.m is recalculated when the linear layer is changed in DoRALinear.from_linear

* refactor: prefer from_base over from_linear or from_embedding. prefer fuse over to_linear or to_embedding

* cleanup: remove unused imports in test_dora.py

* refactor: remove unnecessary non_layer_modules

* cleanup: remove wrong comments for lora embedding dropout. remove uncessary parens in dora embedding dropout

* nits

---------

Co-authored-by: Awni Hannun <awni@apple.com>
2024-08-16 07:38:36 -07:00
.circleci Configuration-based use of HF hub-hosted datasets for training (#701) 2024-06-26 10:20:50 -07:00
bert - Removed unused Python imports (#683) 2024-04-16 07:50:32 -07:00
cifar - Removed unused Python imports (#683) 2024-04-16 07:50:32 -07:00
clip refactor: add force_download parameter to get_model_path function (#800) 2024-07-23 13:10:20 -07:00
cvae Update a few examples to use compile (#420) 2024-02-08 13:00:41 -08:00
gcn - Removed unused Python imports (#683) 2024-04-16 07:50:32 -07:00
llava Add optional EOS token for llava example (#753) 2024-05-08 06:04:36 -07:00
llms 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
lora Validation with full data set, results in NaN validation score (#879) 2024-07-10 08:36:11 -07:00
mnist Use stable url for MNIST (#749) 2024-05-03 17:13:05 -07:00
normalizing_flow Update a few examples to use compile (#420) 2024-02-08 13:00:41 -08:00
segment_anything Segment Anything Model (#552) 2024-06-02 16:45:51 -07:00
speechcommands - Removed unused Python imports (#683) 2024-04-16 07:50:32 -07:00
stable_diffusion Quantize embedding / Update quantize API (#680) 2024-04-18 18:16:10 -07:00
t5 Switch to fast RMS/LN Norm (#603) 2024-03-23 07:13:51 -07:00
transformer_lm transformer_lm: add --dataset enwik8 (#838) 2024-06-26 11:59:01 -07:00
whisper Fix whipser conversion for safetensors models (#935) 2024-08-14 10:22:04 -07:00
.gitignore Align CLI args and some smaller fixes (#167) 2023-12-22 14:34:32 -08:00
.pre-commit-config.yaml feat: Update black-pre-commit-mirror to version 24.3.0 (#675) 2024-04-11 07:28:26 -07:00
ACKNOWLEDGMENTS.md Segment Anything Model (#552) 2024-06-02 16:45:51 -07:00
CODE_OF_CONDUCT.md contribution + code of conduct 2023-11-29 12:31:18 -08:00
CONTRIBUTING.md feat: add update_config functionality (#531) 2024-03-14 06:36:05 -07:00
LICENSE consistent copyright 2023-11-30 11:11:04 -08:00
README.md Whisper updates to allow HF models (#923) 2024-08-09 11:11:58 -07:00

MLX Examples

This repo contains a variety of standalone examples using the MLX framework.

The MNIST example is a good starting point to learn how to use MLX.

Some more useful examples are listed below.

Text Models

  • MLX LM a package for LLM text generation, fine-tuning, and more.
  • Transformer language model training.
  • Minimal examples of large scale text generation with LLaMA, Mistral, and more in the LLMs directory.
  • A mixture-of-experts (MoE) language model with Mixtral 8x7B.
  • Parameter efficient fine-tuning with LoRA or QLoRA.
  • Text-to-text multi-task Transformers with T5.
  • Bidirectional language understanding with BERT.

Image Models

Audio Models

Multimodal models

Other Models

  • Semi-supervised learning on graph-structured data with GCN.
  • Real NVP normalizing flow for density estimation and sampling.

Hugging Face

Note: You can now directly download a few converted checkpoints from the MLX Community organization on Hugging Face. We encourage you to join the community and contribute new models.

Contributing

We are grateful for all of our contributors. If you contribute to MLX Examples and wish to be acknowledged, please add your name to the list in your pull request.

Citing MLX Examples

The MLX software suite was initially developed with equal contribution by Awni Hannun, Jagrit Digani, Angelos Katharopoulos, and Ronan Collobert. If you find MLX Examples useful in your research and wish to cite it, please use the following BibTex entry:

@software{mlx2023,
  author = {Awni Hannun and Jagrit Digani and Angelos Katharopoulos and Ronan Collobert},
  title = {{MLX}: Efficient and flexible machine learning on Apple silicon},
  url = {https://github.com/ml-explore},
  version = {0.0},
  year = {2023},
}