--- license: apache-2.0 tags: - moe - frankenmoe - merge - mergekit - lazymergekit - cognitivecomputations/dolphin-2_6-phi-2 - rhysjones/phi-2-orange base_model: - cognitivecomputations/dolphin-2_6-phi-2 - rhysjones/phi-2-orange --- # PhiMiX-2x2B ## Code is work in progress PhiMiX-2x2B is a Mixure of Experts (MoE) made with the following models using mergekit: * [cognitivecomputations/dolphin-2_6-phi-2](https://huggingface.co/cognitivecomputations/dolphin-2_6-phi-2) * [rhysjones/phi-2-orange](https://huggingface.co/rhysjones/phi-2-orange) ## ©️ Credits * [mlabonne's phixtral](https://huggingface.co/mlabonne/phixtral-4x2_8) for the PhiConfig and inference code. * [mergekit](https://github.com/cg123/mergekit) code which I tweaked (you can find the PhiConfig [here](https://github.com/cg123/mergekit/blob/508348ae34be17ea0a95d0a288a6e34491a2558a/mergekit/architecture.py#L289)) by mainly adding the config in the `moe_mixtral.py` script from `mixtral` branch. * artwork by ## 🧩 Configuration ```yaml base_model: rhysjones/phi-2-orange gate_mode: random dtype: float16 experts: - source_model: cognitivecomputations/dolphin-2_6-phi-2 positive_prompts: [""] - source_model: rhysjones/phi-2-orange positive_prompts: [""] ``` ## 💻 Usage ```python !pip install -qU transformers bitsandbytes accelerate from transformers import AutoTokenizer import transformers import torch model = "paulilioaica/PhiMiX-2x2B" 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"]) ```