--- license: other tags: - mlx extra_gated_heading: You need to share contact information with Databricks to access this model extra_gated_prompt: ' ### DBRX Terms of Use Use of DBRX is governed by the [Databricks Open Model License](https://www.databricks.com/legal/open-model-license) and the [Databricks Open Model Acceptable Use Policy](https://www.databricks.com/legal/acceptable-use-policy-open-model).' extra_gated_fields: First Name: text Last Name: text Organization: text ? By clicking 'Submit' below, I accept the terms of the license and acknowledge that the information I provide will be collected, stored, processed, and shared in accordance with Databricks' Privacy Notice and I understand I can update my preferences at any time : checkbox extra_gated_description: The information you provide will be collected, stored, processed, and shared in accordance with Databricks [Privacy Notice](https://www.databricks.com/legal/privacynotice). extra_gated_button_content: Submit inference: false license_name: databricks-open-model-license license_link: https://www.databricks.com/legal/open-model-license --- # mlx-community/dbrx-instruct-4bit This model was converted to MLX format from [`databricks/dbrx-instruct`]() using mlx-lm version [b80adbc ](https://github.com/ml-explore/mlx-examples/commit/b80adbcc3ee5b00ad43432faede408b983f152c2) after DBRX support was added by [Awni Hannun](https://github.com/awni). Refer to the [original model card](https://huggingface.co/databricks/dbrx-instruct) for more details on the model. ## Conversion Conversion was done with: ```bash python -m mlx_lm.convert --hf-path databricks/dbrx-instruct -q --upload-repo mlx-community/dbrx-instruct-4bit ``` ## Use with mlx Make you you first upgrade mlx-lm and mlx to the latest. ```bash pip install mlx --upgrade pip install mlx-lm --upgrade python -m mlx_lm.generate --model mlx-community/dbrx-instruct-4bit --prompt "Hello" --trust-remote-code --use-default-chat-template --max-tokens 500 ``` Remember, this is an Instruct model, so you will need to use the instruct prompt template by appending `--use-default-chat-template` ## Example: ```bash python -m mlx_lm.generate --model dbrx-instruct-4bit --prompt "What's the difference between PCA vs UMAP vs t-SNE?" --trust-remote-code --use-default-chat-template --max-tokens 1000 ``` Output: ![image/png](https://cdn-uploads.huggingface.co/production/uploads/630f2745982455e61cc5fb1d/AW-tHeKBOAVEfqP1zNH0j.png) On my Macbook Pro M2 with 96GB of Unified Memory, DBRX Instruct in 4-bit for the above prompt it eats 70.2GB of RAM. if the mlx-lm package was updated it can also be installed from pip: ```bash pip install mlx-lm ``` To use it from Python you can do the following: ```python from mlx_lm import load, generate model, tokenizer = load( "mlx-community/dbrx-instruct-4bit", tokenizer_config={"trust_remote_code": True} ) chat = [ {"role": "user", "content": "What's the difference between PCA vs UMAP vs t-SNE?"}, # We need to add the Assistant role as well, otherwise mlx_lm will error on generation. {"role": "assistant", "content": "The "}, ] prompt = tokenizer.apply_chat_template(chat, add_generation_prompt=True, tokenize=False) response = generate(model, tokenizer, prompt=prompt, verbose=True, temp=0.6, max_tokens=1500) ``` Converted and uploaded by [eek](https://huggingface.co/eek)