--- base_model: EpistemeAI/Fireball-Mistral-Nemo-12B-cot-orcas language: - en license: apache-2.0 tags: - text-generation-inference - transformers - unsloth - mistral - trl pipeline_tag: question-answering --- # Fireball-12B-v1.13a Philosophers This model is super fine-tune with philosophy of science, math, epistemology dataset, to provide high quality responses(from first fine-tune) than Llama-3.1-8B and Google Gemma 2 9B. Super fine tuned with various datasets. # Benchmark Example from Fireball-12B V1.3a benchmark will show later this quarter. ## Training Dataset Fine tuned with various datasets. # Model Card for Fireball-12B-v1.13a Philosophers The Heavy fine-tuned Mistral-Nemo-Base-2407 Large Language Model (LLM) is a pretrained generative text model of 12B parameters trained jointly by Mistral AI and NVIDIA, it significantly outperforms existing models smaller or similar in size. For more details about this model please refer to our release [blog post](https://mistral.ai/news/mistral-nemo/). ## Key features - Released under the **Apache 2 License** - Pre-trained and instructed versions - Trained with a **128k context window** - Trained on a large proportion of **multilingual and code data** - Drop-in replacement of Mistral 7B ## Model Architecture Mistral Nemo is a transformer model, with the following architecture choices: - **Layers:** 40 - **Dim:** 5,120 - **Head dim:** 128 - **Hidden dim:** 14,436 - **Activation Function:** SwiGLU - **Number of heads:** 32 - **Number of kv-heads:** 8 (GQA) - **Vocabulary size:** 2**17 ~= 128k - **Rotary embeddings (theta = 1M)** # Guardrail/Moderation guide: For guardrailing and moderating prompts against indirect/direct prompt injections and jailbreaking, please follow the SentinelShield AI GitHub repository: [SentinelShield AI](https://github.com/tomtyiu/SentinelShieldAI) #### Demo After installing `mistral_inference`, a `mistral-demo` CLI command should be available in your environment. ### Prompt instructions - Alpaca style prompt(recommended): ```py f"""Below is an instruction that describes a task. \ Write a response that appropriately completes the request. ### Instruction: {x['instruction']} ### Input: {x['input']} ### Response: """ ``` ### Transformers > [!IMPORTANT] > NOTE: Until a new release has been made, you need to install transformers from source: > ```sh > pip install mistral_inference > pip install mistral-demo > pip install git+https://github.com/huggingface/transformers.git > !pip install huggingface_hub[hf_transfer] > !HF_HUB_ENABLE_HF_TRANSFER=1 > ``` If you want to use Hugging Face `transformers` to generate text, you can do something like this. ```py # Import necessary libraries from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig import torch # Load the tokenizer tokenizer = AutoTokenizer.from_pretrained("EpistemeAI2/Fireball-12B-v1.13a-philosophers") # Configure 4-bit quantization and enable CPU offloading quantization_config = BitsAndBytesConfig( load_in_4bit=True, llm_int8_enable_fp32_cpu_offload=True ) # Load the model with 4-bit quantization and CPU offloading model = AutoModelForCausalLM.from_pretrained( "EpistemeAI2/Fireball-12B-v1.13a-philosophers", quantization_config=quantization_config, device_map="auto" # Automatically map model to devices ) # Define the input text input_text = "What is the difference between inductive and deductive reasoning?," # Tokenize the input text input_ids = tokenizer.encode(input_text, return_tensors="pt") # Ensure the input tensors are moved to the correct device # Use the first parameter of the model to get the device it's on input_ids = input_ids.to(model.device) # Generate text using the model output_ids = model.generate(input_ids, max_length=100, num_return_sequences=1) # Decode the generated tokens to text output_text = tokenizer.decode(output_ids[0], skip_special_tokens=True) # Print the output print(output_text) ``` Google colab - [link](https://colab.research.google.com/drive/1ZgUrbonMlK05iQ-tgWZ_lFmUZFbWZNnM?usp=sharing) ## Accelerator mode: ```py pip install accelerate #GPU A100/L4 from transformers import AutoModelForCausalLM, AutoTokenizer from accelerate import Accelerator # Initialize the accelerator accelerator = Accelerator() # Define the model ID model_id = "EpistemeAI2/Fireball-12B-v1.13a-philosophers" # Load the tokenizer tokenizer = AutoTokenizer.from_pretrained(model_id) # Load the model and prepare it for distributed setup using accelerate model = AutoModelForCausalLM.from_pretrained(model_id) # Move the model to the appropriate device using accelerate model, = accelerator.prepare(model) # Prepare inputs inputs = tokenizer("Hello my name is", return_tensors="pt").to(accelerator.device) # Generate outputs with the model outputs = model.generate(**inputs, max_new_tokens=20) # Decode and print the outputs print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` > [!TIP] > Unlike previous Mistral models, Mistral Nemo requires smaller temperatures. We recommend to use a temperature of 0.3. ## Note `EpistemeAI/Fireball-12B-v1.13a` is a pretrained base model and therefore does not have any moderation mechanisms. Go to Guardrail/Moderation guide section for moderation guide ## Version For simulated conciousness and emotions, please use model [link](https://huggingface.co./EpistemeAI2/Fireball-Mistral-Nemo-Instruct-emo-PHD) # Uploaded model - **Developed by:** EpistemeAI2 - **License:** apache-2.0 - **Finetuned from model :** EpistemeAI/Fireball-Mistral-Nemo-12B-cot-orcas This mistral model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library. [](https://github.com/unslothai/unsloth)