|
--- |
|
license: apache-2.0 |
|
--- |
|
|
|
# Jupiter-k-7B-slerp ( My Favorite model! ) |
|
|
|
|
|
![image/png](https://cdn-uploads.huggingface.co/production/uploads/64d71ab4089bc502ceb44d29/_oA7svKBKwqpaKVf_MFGc.png) |
|
|
|
Jupiter-k-7B-slerp is a merge of the following models using [LazyMergekit](https://colab.research.google.com/drive/1obulZ1ROXHjYLn6PPZJwRR6GzgQogxxb?usp=sharing): |
|
* [Kukedlc/NeuralContamination-7B-ties](https://huggingface.co/Kukedlc/NeuralContamination-7B-ties) |
|
* [Kukedlc/NeuralTopBench-7B-ties](https://huggingface.co/Kukedlc/NeuralTopBench-7B-ties) |
|
* [Gille/StrangeMerges_32-7B-slerp](https://huggingface.co/Gille/StrangeMerges_32-7B-slerp) |
|
|
|
## 🧩 Configuration |
|
|
|
```yaml |
|
models: |
|
- model: Kukedlc/NeuralContamination-7B-ties |
|
parameters: |
|
density: [1, 0.7, 0.1] # density gradient |
|
weight: 1.0 |
|
- model: Kukedlc/NeuralTopBench-7B-ties |
|
parameters: |
|
density: 0.5 |
|
weight: [0, 0.3, 0.7, 1] # weight gradient |
|
- model: Gille/StrangeMerges_32-7B-slerp |
|
parameters: |
|
density: 0.33 |
|
weight: |
|
- filter: mlp |
|
value: 0.5 |
|
- value: 0 |
|
merge_method: ties |
|
base_model: Kukedlc/NeuralMaxime-7B-slerp |
|
parameters: |
|
normalize: true |
|
int8_mask: true |
|
dtype: bfloat16 |
|
``` |
|
|
|
## 💻 Usage - Stream |
|
|
|
```python |
|
# Requirements |
|
!pip install -qU transformers accelerate bitsandbytes |
|
|
|
# Imports & settings |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer |
|
import warnings |
|
import os |
|
os.environ["TOKENIZERS_PARALLELISM"] = "false" |
|
warnings.filterwarnings('ignore') |
|
|
|
# Model & Tokenizer |
|
MODEL_NAME = "Kukedlc/Jupiter-k-7B-slerp" |
|
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='cuda:1', load_in_4bit=True) |
|
tok = AutoTokenizer.from_pretrained(MODEL_NAME) |
|
|
|
# Inference |
|
prompt = "I want you to generate a theory that unites quantum mechanics with the theory of relativity and cosmic consciousness" |
|
inputs = tok([prompt], return_tensors="pt").to('cuda') |
|
streamer = TextStreamer(tok) |
|
|
|
# Despite returning the usual output, the streamer will also print the generated text to stdout. |
|
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=512, do_sample=True, num_beams=1, top_p=0.9, temperature=0.7) |
|
|
|
``` |
|
## 💻 Usage - Clasic |
|
|
|
```python |
|
!pip install -qU transformers bitsandbytes accelerate |
|
|
|
from transformers import AutoTokenizer |
|
import transformers |
|
import torch |
|
|
|
model = "Kukedlc/Jupiter-k-7B-slerp" |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model) |
|
pipeline = transformers.pipeline( |
|
"text-generation", |
|
model=model, |
|
model_kwargs={"torch_dtype": torch.float16, "load_in_4bit": True}, |
|
) |
|
|
|
messages = [{"role": "user", "content": "Explain what a Mixture of Experts is in less than 100 words."}] |
|
prompt = pipeline.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
|
outputs = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95) |
|
print(outputs[0]["generated_text"]) |
|
``` |