n0kovo's picture
Update README.md
fd1bccc verified
|
Raw
History Blame
1.92 kB
---
base_model:
- fancyfeast/llama-joycaption-beta-one-hf-llava
tags:
- captioning
- mlx
pipeline_tag: image-text-to-text
library_name: mlx
---
# Llama JoyCaption Beta One (MLX 8-bit)
MLX port of [fancyfeast/llama-joycaption-beta-one-hf-llava](https://huggingface.co/fancyfeast/llama-joycaption-beta-one-hf-llava), quantized to 8-bit for efficient inference on Apple Silicon.
[JoyCaption](https://github.com/fpgaminer/joycaption) is a free, open, and uncensored image captioning VLM built on Llama 3.1 8B and SigLIP2, designed for generating descriptive captions to train diffusion models.
## Model Details
| | |
|---|---|
| Architecture | LLaVA (SigLIP2 vision encoder + Llama 3.1 8B) |
| Quantization | 8-bit (`group_size=64`) |
| Vision encoder | google/siglip2-so400m-patch14-384 |
| Image resolution | 384x384 |
| Total size | ~9.1 GB |
## Usage with mlx-vlm
```bash
pip install mlx-vlm
```
```python
import mlx.core as mx
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config
MODEL = "n0kovo/llama-joycaption-beta-one-hf-llava-mlx-8Bit"
model, processor = load(MODEL)
config = load_config(MODEL)
prompt = apply_chat_template(
processor,
config,
"Write a long descriptive caption for this image in a formal tone.",
num_images=1,
)
output = generate(
model,
processor,
prompt,
image="image.jpg",
max_tokens=512,
temperature=0.6,
)
print(output)
```
## Conversion Notes
- Language model weights quantized to 8-bit via `mlx-lm`
- Vision encoder weights quantized to 8-bit where layer dimensions allow (`group_size=64`); 28 MLP layers with incompatible dimensions (4304, not divisible by 64) are kept in float16
- Projector weights quantized to 8-bit
## Credits
- Original model by [fancyfeast](https://huggingface.co/fancyfeast) — [JoyCaption GitHub](https://github.com/fpgaminer/joycaption)