--- license: other datasets: - ehartford/WizardLM_alpaca_evol_instruct_70k_unfiltered inference: false --- # WizardLM - uncensored: An Instruction-following LLM Using Evol-Instruct These files are GGML format model files for [Eric Hartford's 'uncensored' version of WizardLM](ehartford/WizardLM-7B-Uncensored). GGML files are for CPU inference using [llama.cpp](https://github.com/ggerganov/llama.cpp). Eric did a fresh 7B training using the WizardLM method, on [a dataset edited to remove all the "I'm sorry.." type ChatGPT responses](https://huggingface.co/datasets/ehartford/WizardLM_alpaca_evol_instruct_70k_unfiltered). ## Other repositories available * [4bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/WizardLM-7B-uncensored-GPTQ) * [4bit and 5bit GGML models for CPU inference](https://huggingface.co/TheBloke/WizardLM-7B-uncensored-GGML) * [Eric's unquantised model in HF format](https://huggingface.co/ehartford/WizardLM-7B-Uncensored) ## REQUIRES LATEST LLAMA.CPP (May 12th 2023 - commit b9fd7ee)! llama.cpp recently made a breaking change to its quantisation methods. I have re-quantised the GGML files in this repo. Therefore you will require llama.cpp compiled on May 12th or later (commit `b9fd7ee` or later) to use them. The previous files, which will still work in older versions of llama.cpp, can be found in branch `previous_llama`. ## Provided files | Name | Quant method | Bits | Size | RAM required | Use case | | ---- | ---- | ---- | ---- | ---- | ----- | `WizardLM-7B-uncensored.q4_0.bin` | q4_0 | 4bit | 4.2GB | 6GB | 4-bit. | `WizardLM-7B-uncensored.q5_0.bin` | q5_0 | 5bit | 4.63GB | 7GB | 5-bit. Higher accuracy, higher resource usage and slower inference. | `WizardLM-7B-uncensored.q5_1.bin` | q5_1 | 5bit | 5.0GB | 7GB | 5-bit. Even higher accuracy, resource usage and slower inference.| ## How to run in `llama.cpp` I use the following command line; adjust for your tastes and needs: ``` ./main -t 12 -m WizardLM-7B-uncensored.ggml.q4_0.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: Write a story about llamas ### Response:" ``` Change `-t 12` to the number of physical CPU cores you have. For example if your system has 8 cores/16 threads, use `-t 8`. If you want to have a chat-style conversation, replace the `-p ` argument with `-i -ins` ## How to run in `text-generation-webui` Further instructions here: [text-generation-webui/docs/llama.cpp-models.md](https://github.com/oobabooga/text-generation-webui/blob/main/docs/llama.cpp-models.md). Note: at this time text-generation-webui will likely not support the updated llama.cpp quantisation methods. **Thireus** has written a [great guide on how to update it to the latest llama.cpp code](https://huggingface.co/TheBloke/wizardLM-7B-GGML/discussions/5) which may help you to update text-gen-ui so it can use the more recent quantisation methods. # Eric's original model card This is WizardLM trained with a subset of the dataset - responses that contained alignment / moralizing were removed. The intent is to train a WizardLM that doesn't have alignment built-in, so that alignment (of any sort) can be added separately with for example with a RLHF LoRA. Shout out to the open source AI/ML community, and everyone who helped me out, including Rohan, TheBloke, and Caseus # WizardLM's original model card Overview of Evol-Instruct Evol-Instruct is a novel method using LLMs instead of humans to automatically mass-produce open-domain instructions of various difficulty levels and skills range, to improve the performance of LLMs. ![info](https://github.com/nlpxucan/WizardLM/raw/main/imgs/git_overall.png) ![info](https://github.com/nlpxucan/WizardLM/raw/main/imgs/git_running.png)