File size: 3,439 Bytes
34371d8 77f5b01 34371d8 77f5b01 34371d8 77f5b01 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
---
language:
- en
license: llama3.2
tags:
- text-generation-inference
- transformers
- llama
- trl
- sft
- reasoning
- llama-3
base_model: CreitinGameplays/Llama-3.2-3b-Instruct-uncensored-refinetune
datasets:
- KingNish/reasoning-base-20k
pipeline_tag: text-generation
library_name: transformers
---
# Model Description
An uncensored reasoning Llama 3.2 3B model trained on reasoning data.
It has been trained using improved training code, and gives an improved performance.
This is a Thea 3B Update 1 model. The new features are:
- Trained on more examples than the original Thea model.
- Based off a different base model, with some of the lost accuracy points (hopefully) restored.
This model has not been tested in a GGUF setting yet. Try it in a GGUF setting yourself by using the [GGUF My Repo space](https://huggingface.co/spaces/ggml-org/gguf-my-repo).
Here is what inference code you should use:
```py
from transformers import AutoModelForCausalLM, AutoTokenizer
MAX_REASONING_TOKENS = 1024
MAX_RESPONSE_TOKENS = 512
model_name = "lunahr/thea-3b-50r-u1"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Which is greater 9.9 or 9.11 ??"
messages = [
{"role": "user", "content": prompt}
]
# Generate reasoning
reasoning_template = tokenizer.apply_chat_template(messages, tokenize=False, add_reasoning_prompt=True)
reasoning_inputs = tokenizer(reasoning_template, return_tensors="pt").to(model.device)
reasoning_ids = model.generate(**reasoning_inputs, max_new_tokens=MAX_REASONING_TOKENS)
reasoning_output = tokenizer.decode(reasoning_ids[0, reasoning_inputs.input_ids.shape[1]:], skip_special_tokens=True)
print("REASONING: " + reasoning_output)
# Generate answer
messages.append({"role": "reasoning", "content": reasoning_output})
response_template = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
response_inputs = tokenizer(response_template, return_tensors="pt").to(model.device)
response_ids = model.generate(**response_inputs, max_new_tokens=MAX_RESPONSE_TOKENS)
response_output = tokenizer.decode(response_ids[0, response_inputs.input_ids.shape[1]:], skip_special_tokens=True)
print("ANSWER: " + response_output)
```
# Intended Use
This model is intended as an OpenAI o1 replacement for weaker hardware, mimicking o1 in the response formatting.
# Limitations
- There may be a higher chance of getting hallucinations with this model due to its small size.
- Some questions may be answered incorrectly.
- This model is uncensored, exercise caution when generating sensitive content.
- **Trained by:** [Piotr Zalewski](https://huggingface.co/lunahr)
- **License:** llama3.2
- **Architecture:**: llama3.2
- **Finetuned from model:** [CreitinGameplays/Llama-3.2-3b-Instruct-uncensored-refinetune](https://huggingface.co/CreitinGameplays/Llama-3.2-3b-Instruct-uncensored-refinetune)
- **Dataset used:** [KingNish/reasoning-base-20k](https://huggingface.co/datasets/KingNish/reasoning-base-20k)
This Llama model was trained faster than [Unsloth](https://github.com/unslothai/unsloth) using [custom training code](https://www.kaggle.com/code/piotr25691/distributed-llama-training-with-2xt4).
Visit https://www.kaggle.com/code/piotr25691/distributed-llama-training-with-2xt4 to find out how you can finetune your models using BOTH of the Kaggle provided GPUs. |