Downloads · 30 days
94
1% of all-time downloads
RichardErkhov/state-spaces_-_mamba-2.8b-hf-gguf
state-spaces_-_mamba-2.8b-hf-gguf is a machine learning model from RichardErkhov. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Downloads · 30 days
94
1% of all-time downloads
All-time downloads
8.3K
Public
Repo size
35.8 GB
Likes
0
Public
Click a slice to open those files.
.gguf41.8 GB · 100%
From the Hugging Face model README
Quantization made by Richard Erkhov.
mamba-2.8b-hf - GGUF
| Name | Quant method | Size |
|---|---|---|
| mamba-2.8b-hf.Q2_K.gguf | Q2_K | 1.33GB |
| mamba-2.8b-hf.IQ3_XS.gguf | IQ3_XS | 1.57GB |
| mamba-2.8b-hf.IQ3_S.gguf | IQ3_S | 1.57GB |
| mamba-2.8b-hf.Q3_K_S.gguf | Q3_K_S | 1.57GB |
| mamba-2.8b-hf.IQ3_M.gguf | IQ3_M | 1.57GB |
| mamba-2.8b-hf.Q3_K.gguf | Q3_K | 1.57GB |
| mamba-2.8b-hf.Q3_K_M.gguf | Q3_K_M | 1.57GB |
| mamba-2.8b-hf.Q3_K_L.gguf | Q3_K_L | 1.57GB |
| mamba-2.8b-hf.IQ4_XS.gguf | IQ4_XS | 1.8GB |
| mamba-2.8b-hf.Q4_0.gguf | Q4_0 | 1.88GB |
| mamba-2.8b-hf.IQ4_NL.gguf | IQ4_NL | 1.88GB |
| mamba-2.8b-hf.Q4_K_S.gguf | Q4_K_S | 1.88GB |
| mamba-2.8b-hf.Q4_K.gguf | Q4_K | 1.88GB |
| mamba-2.8b-hf.Q4_K_M.gguf | Q4_K_M | 1.88GB |
| mamba-2.8b-hf.Q4_1.gguf | Q4_1 | 2.02GB |
| mamba-2.8b-hf.Q5_0.gguf | Q5_0 | 2.17GB |
| mamba-2.8b-hf.Q5_K_S.gguf | Q5_K_S | 2.17GB |
| mamba-2.8b-hf.Q5_K.gguf | Q5_K | 2.17GB |
| mamba-2.8b-hf.Q5_K_M.gguf | Q5_K_M | 2.17GB |
| mamba-2.8b-hf.Q5_1.gguf | Q5_1 | 2.32GB |
| mamba-2.8b-hf.Q6_K.gguf | Q6_K | 2.48GB |
This repository contains the transfromers compatible mamba-2.8b. The checkpoints are untouched, but the full config.json and tokenizer are pushed to this repo.
You need to install transformers from main until transformers=4.39.0 is released.
pip install git+https://github.com/huggingface/transformers@main
We also recommend you to install both causal_conv_1d and mamba-ssm using:
pip install causal-conv1d>=1.2.0
pip install mamba-ssm
If any of these two is not installed, the "eager" implementation will be used. Otherwise the more optimised cuda kernels will be used.
You can use the classic generate API:
>>> from transformers import MambaConfig, MambaForCausalLM, AutoTokenizer
>>> import torch
>>> tokenizer = AutoTokenizer.from_pretrained("state-spaces/mamba-2.8b-hf")
>>> model = MambaForCausalLM.from_pretrained("state-spaces/mamba-2.8b-hf")
>>> input_ids = tokenizer("Hey how are you doing?", return_tensors="pt")["input_ids"]
>>> out = model.generate(input_ids, max_new_tokens=10)
>>> print(tokenizer.batch_decode(out))
["Hey how are you doing?\n\nI'm doing great.\n\nI"]
In order to finetune using the peft library, we recommend keeping the model in float32!
from datasets import load_dataset
from trl import SFTTrainer
from peft import LoraConfig
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments
tokenizer = AutoTokenizer.from_pretrained("state-spaces/mamba-2.8b-hf")
model = AutoModelForCausalLM.from_pretrained("state-spaces/mamba-2.8b-hf")
dataset = load_dataset("Abirate/english_quotes", split="train")
training_args = TrainingArguments(
output_dir="./results",
num_train_epochs=3,
per_device_train_batch_size=4,
logging_dir='./logs',
logging_steps=10,
learning_rate=2e-3
)
lora_config = LoraConfig(
r=8,
target_modules=["x_proj", "embeddings", "in_proj", "out_proj"],
task_type="CAUSAL_LM",
bias="none"
)
trainer = SFTTrainer(
model=model,
tokenizer=tokenizer,
args=training_args,
peft_config=lora_config,
train_dataset=dataset,
dataset_text_field="quote",
)
trainer.train()