# Menggunakan MLX di Hugging Face

[MLX](https://github.com/ml-explore/mlx) adalah kerangka kerja pelatihan dan penyajian model untuk Apple silicon yang dibuat oleh Apple Machine Learning Research.

Termasuk berbagai contoh:

- [Generate teks dengan MLX-LM](https://github.com/ml-explore/mlx-lm/tree/main) dan [menghasilkan teks dengan MLX-LM untuk model dalam format GGUF](https://github.com/ml-explore/mlx-examples/tree/main/llms/gguf_llm).
- Generasi teks berskala besar dengan [LLaMA](https://github.com/ml-explore/mlx-examples/tree/main/llms/llama).
- Fine-tuning dengan [LoRA](https://github.com/ml-explore/mlx-examples/tree/main/lora).
- Membuat gambar dengan [Stable Diffusion](https://github.com/ml-explore/mlx-examples/tree/main/stable_diffusion).
- Pengakuan ucapan dengan [Whisper dari OpenAI](https://github.com/ml-explore/mlx-examples/tree/main/whisper).

## Menjelajahi MLX di Hub

Anda dapat menemukan model MLX dengan memfilter di bagian kiri [halaman model](https://huggingface.co/models?library=mlx&sort=trending). Ada juga [komunitas MLX](https://huggingface.co/mlx-community) terbuka yang terdiri dari kontributor yang mengonversi dan menerbitkan bobot untuk format MLX.

Berkat integrasi MLX Hugging Face Hub, Anda dapat memuat model MLX dengan beberapa baris kode.

## Instalasi

MLX hadir sebagai paket mandiri, dan ada subpaket bernama MLX-LM dengan integrasi Hugging Face untuk Large Language Models. Untuk menginstal MLX-LM, Anda dapat menggunakan instalasi satu baris berikut melalui `pip`:

```bash
pip install mlx-lm
```

Anda dapat memperoleh informasi lebih lanjut tentangnya [di sini](https://github.com/ml-explore/mlx-lm/tree/main).

Jika Anda menginstal `mlx-lm`, Anda tidak perlu menginstal `mlx`. Jika Anda tidak ingin menggunakan `mlx-lm` tetapi hanya MLX, Anda dapat menginstal MLX itu sendiri sebagai berikut.

Dengan `pip`:

```bash
pip install mlx
```

Dengan `conda`:

```bash
conda install -c conda-forge mlx
```

## Menggunakan Model yang Sudah Ada

MLX-LM memiliki utilitas yang berguna untuk menghasilkan teks. Baris berikut langsung mengunduh dan memuat model, lalu memulai proses penghasilannya.

```bash
python -m mlx_lm.generate --model mistralai/Mistral-7B-Instruct-v0.2 --prompt "hello"
```

Untuk daftar lengkap opsi generasi, jalankan

```bash
python -m mlx_lm.generate --help
```

Anda juga dapat memuat model dan mulai menghasilkan teks melalui Python seperti di bawah ini:

```python
from mlx_lm import load, generate

model, tokenizer = load("mistralai/Mistral-7B-Instruct-v0.2")

response = generate(model, tokenizer, prompt="hello", verbose=True)
```

MLX-LM mendukung arsitektur LLM populer termasuk LLaMA, Phi-2, Mistral, dan Qwen. Model selain yang didukung dapat dengan mudah diunduh sebagai berikut:

Menetapkan `HF_XET_HIGH_PERFORMANCE=1` meningkatkan batas konkurensi dan ukuran buffer untuk mesin dengan bandwidth tinggi dan minimal 64 GB RAM:

```bash
pip install -U huggingface_hub

export HF_XET_HIGH_PERFORMANCE=1
hf download --local-dir <LOCAL FOLDER PATH> <USER_ID>/<MODEL_NAME>
```

## Mengonversi dan Berbagi Model

Anda dapat mengonversi, dan secara opsional mengkuantisasi, LLM dari Hugging Face Hub sebagai berikut:

```bash
python -m mlx_lm.convert --hf-path mistralai/Mistral-7B-v0.1 -q 
```

Jika Anda ingin langsung mendorong model setelah konversi, Anda dapat melakukannya seperti di bawah ini.

```bash
python -m mlx_lm.convert \
    --hf-path mistralai/Mistral-7B-v0.1 \
    -q \
    --upload-repo <USER_ID>/<MODEL_NAME>
```

## Sumber Daya Tambahan

* [Repositori MLX](https://github.com/ml-explore/mlx)
* [Dokumentasi MLX](https://ml-explore.github.io/mlx/)
* [MLX-LM](https://github.com/ml-explore/mlx-lm/tree/main)
* [Contoh MLX](https://github.com/ml-explore/mlx-examples/tree/main)
* [Semua model MLX di Hub](https://huggingface.co/models?library=mlx&sort=trending)

