Examples in the MLX framework
mlx
Go to file
Chime Ogbuji df6bc09d74
Configuration-based use of HF hub-hosted datasets for training (#701)
* Add hf_dataset configuration for using HF hub-hosted datasets for (Q)LoRA training

* Pre-commit formatting

* Fix YAML config example

* Print DS info

* Include name

* Add hf_dataset parameter default

* Remove TextHFDataset and CompletionsHFDataset and use Dataset and CompletionsDataset instead, adding a text_key constructor argument to the former (and changing it to work with a provided data structure instead of just from a JSON file), and prompt_key and completion_key arguments to the latter with defaults for backwards compatibility.

* nits

* update docs

---------

Co-authored-by: Awni Hannun <awni@apple.com>
2024-06-26 10:20:50 -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 - Removed unused Python imports (#683) 2024-04-16 07:50:32 -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 Configuration-based use of HF hub-hosted datasets for training (#701) 2024-06-26 10:20:50 -07:00
lora Support --add_eos_token argument within Lora training (#760) 2024-05-13 17:17:42 -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 Typo: SGD->AdamW (#471) 2024-02-20 15:47:17 -08:00
whisper gpu featurization (#824) 2024-06-07 08:59:44 -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 Port of phi3small (#794) 2024-05-31 12:54:14 -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

  • Joint text and image embeddings with CLIP.
  • Text generation from image and text inputs with LLaVA.

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},
}