Instructions to use ericflo/Llama-3.2-3B-COTv3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ericflo/Llama-3.2-3B-COTv3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ericflo/Llama-3.2-3B-COTv3") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ericflo/Llama-3.2-3B-COTv3") model = AutoModelForCausalLM.from_pretrained("ericflo/Llama-3.2-3B-COTv3") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - llama-cpp-python
How to use ericflo/Llama-3.2-3B-COTv3 with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="ericflo/Llama-3.2-3B-COTv3", filename="Llama-3.2-3B-COTv3-BF16.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ericflo/Llama-3.2-3B-COTv3 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M # Run inference directly in the terminal: llama cli -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M # Run inference directly in the terminal: llama cli -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Use Docker
docker model run hf.co/ericflo/Llama-3.2-3B-COTv3:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use ericflo/Llama-3.2-3B-COTv3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ericflo/Llama-3.2-3B-COTv3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ericflo/Llama-3.2-3B-COTv3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ericflo/Llama-3.2-3B-COTv3:Q4_K_M
- SGLang
How to use ericflo/Llama-3.2-3B-COTv3 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "ericflo/Llama-3.2-3B-COTv3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ericflo/Llama-3.2-3B-COTv3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "ericflo/Llama-3.2-3B-COTv3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ericflo/Llama-3.2-3B-COTv3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use ericflo/Llama-3.2-3B-COTv3 with Ollama:
ollama run hf.co/ericflo/Llama-3.2-3B-COTv3:Q4_K_M
- Unsloth Studio
How to use ericflo/Llama-3.2-3B-COTv3 with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ericflo/Llama-3.2-3B-COTv3 to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ericflo/Llama-3.2-3B-COTv3 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for ericflo/Llama-3.2-3B-COTv3 to start chatting
- Pi
How to use ericflo/Llama-3.2-3B-COTv3 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "ericflo/Llama-3.2-3B-COTv3:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use ericflo/Llama-3.2-3B-COTv3 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use ericflo/Llama-3.2-3B-COTv3 with Docker Model Runner:
docker model run hf.co/ericflo/Llama-3.2-3B-COTv3:Q4_K_M
- Lemonade
How to use ericflo/Llama-3.2-3B-COTv3 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ericflo/Llama-3.2-3B-COTv3:Q4_K_M
Run and chat with the model
lemonade run user.Llama-3.2-3B-COTv3-Q4_K_M
List all available models
lemonade list
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,133 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: apache-2.0
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model:
|
| 4 |
+
- meta-llama/Llama-3.2-3B-Instruct
|
| 5 |
+
library_name: transformers
|
| 6 |
+
datasets:
|
| 7 |
+
- ericflo/Llama-3.2-3B-COT
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# Thought-Ranked Llama 3.2 3B v3.0
|
| 11 |
+
|
| 12 |
+
## What's New in v3?
|
| 13 |
+
|
| 14 |
+
The major advancement in v3 is the integration of reinforcement learning to refine the model's outputs. Using OpenRLHF with REINFORCE and Gemini 1.5 Flash 8B as a judge, we've optimized the model to produce higher quality responses across various criteria including relevance, accuracy, clarity, style, and completeness.
|
| 15 |
+
|
| 16 |
+
This RL fine-tuning process used a sophisticated reward model that evaluates responses on a 0-99 scale, considering factors such as:
|
| 17 |
+
- Intent fulfillment and practical utility
|
| 18 |
+
- Factual accuracy and logical consistency
|
| 19 |
+
- Clarity and understandability
|
| 20 |
+
- Style and tone appropriateness
|
| 21 |
+
- Completeness and detail sufficiency
|
| 22 |
+
|
| 23 |
+
## How It Works
|
| 24 |
+
|
| 25 |
+
The model maintains the same powerful thought chain capabilities from v2.2, but with enhanced output quality. Here's an example:
|
| 26 |
+
|
| 27 |
+
```
|
| 28 |
+
<thoughts>
|
| 29 |
+
<thought>First, I should consider the moon's main effects on Earth</thought>
|
| 30 |
+
<thought>The moon controls our tides, so ocean patterns would change dramatically</thought>
|
| 31 |
+
<thought>Without the moon's gravitational pull, Earth's rotation would become unstable</thought>
|
| 32 |
+
<thought>This would lead to extreme climate changes and disrupted ecosystems</thought>
|
| 33 |
+
<thought>The loss of moonlight would affect nocturnal animals and human culture</thought>
|
| 34 |
+
<thought>Combining all these effects, we'd see a cascade of environmental changes</thought>
|
| 35 |
+
</thoughts>
|
| 36 |
+
|
| 37 |
+
The disappearance of the moon would have far-reaching consequences for Earth...
|
| 38 |
+
[detailed answer follows]
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
### System Messages
|
| 42 |
+
|
| 43 |
+
The model continues to support various system prompts:
|
| 44 |
+
|
| 45 |
+
1. Basic prompt:
|
| 46 |
+
```
|
| 47 |
+
{"role": "system", "content": "You are a helpful assistant. Think before responding."}
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
2. Specific thought count:
|
| 51 |
+
```
|
| 52 |
+
{"role": "system", "content": "You are a helpful assistant. Think 3 thoughts before responding."}
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
3. Standard helper:
|
| 56 |
+
```
|
| 57 |
+
{"role": "system", "content": "You are a helpful assistant."}
|
| 58 |
+
```
|
| 59 |
+
|
| 60 |
+
## Technical Details
|
| 61 |
+
|
| 62 |
+
### Base Architecture
|
| 63 |
+
- **Base Model**: Llama 3.2 3B
|
| 64 |
+
- **Initial Training**: 2,500 carefully selected examples with up to 6 levels of thought chains
|
| 65 |
+
- **Thought Selection**: Multi-level thought generation with external ranking system
|
| 66 |
+
|
| 67 |
+
### RL Fine-tuning
|
| 68 |
+
- **Framework**: OpenRLHF
|
| 69 |
+
- **Algorithm**: REINFORCE
|
| 70 |
+
- **Judge Model**: Gemini 1.5 Flash 8B
|
| 71 |
+
- **Training Parameters**:
|
| 72 |
+
- Actor Learning Rate: 5e-7
|
| 73 |
+
- Critic Learning Rate: 9e-6
|
| 74 |
+
- Initial KL Coefficient: 0.01
|
| 75 |
+
- Batch Size: 128
|
| 76 |
+
- Max Epochs: 1
|
| 77 |
+
- Prompt/Generation Max Length: 1024
|
| 78 |
+
- BF16 Precision
|
| 79 |
+
- Flash Attention enabled
|
| 80 |
+
- Gradient Checkpointing
|
| 81 |
+
- **Training Data**: OpenRLHF/prompt-collection-v0.1
|
| 82 |
+
- **Infrastructure**: Ray distributed training with VLLM acceleration
|
| 83 |
+
|
| 84 |
+
## What's It Good For?
|
| 85 |
+
|
| 86 |
+
The model excels at tasks requiring careful thinking and high-quality outputs:
|
| 87 |
+
|
| 88 |
+
✅ Breaking down complex problems with logical progression
|
| 89 |
+
✅ Step-by-step mathematical solutions with clear explanations
|
| 90 |
+
✅ Detailed analysis with well-structured arguments
|
| 91 |
+
✅ Clear and appropriate explanations of complicated concepts
|
| 92 |
+
✅ Well-reasoned decision-making with supporting evidence
|
| 93 |
+
|
| 94 |
+
## Limitations
|
| 95 |
+
|
| 96 |
+
- May still occasionally overthink simple problems
|
| 97 |
+
- Bounded by base Llama 3.2 3B model capabilities
|
| 98 |
+
- Not suitable for critical decisions without human oversight
|
| 99 |
+
- Could generate irrelevant thought chains in edge cases
|
| 100 |
+
- RL training might lead to occasional reward hacking behaviors
|
| 101 |
+
|
| 102 |
+
## Example Usage
|
| 103 |
+
|
| 104 |
+
```python
|
| 105 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 106 |
+
|
| 107 |
+
model = AutoModelForCausalLM.from_pretrained("ericflo/Llama-3.2-3B-COT-v3.0")
|
| 108 |
+
tokenizer = AutoTokenizer.from_pretrained("ericflo/Llama-3.2-3B-COT-v3.0")
|
| 109 |
+
|
| 110 |
+
messages = [
|
| 111 |
+
{"role": "system", "content": "You are a helpful assistant. Think 3 thoughts before responding."},
|
| 112 |
+
{"role": "user", "content": "How would you teach a child to ride a bike?"}
|
| 113 |
+
]
|
| 114 |
+
|
| 115 |
+
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt")
|
| 116 |
+
output = model.generate(input_ids, temperature=1.0)
|
| 117 |
+
response = tokenizer.decode(output[0])
|
| 118 |
+
```
|
| 119 |
+
|
| 120 |
+
## Citation
|
| 121 |
+
|
| 122 |
+
```bibtex
|
| 123 |
+
@misc{thought-ranked-llama-v3,
|
| 124 |
+
title={Thought-Ranked Llama 3.2 v3: RL-Optimized Hierarchical Chain-of-Thought Generation},
|
| 125 |
+
author={[Eric Florenzano]},
|
| 126 |
+
year={2024},
|
| 127 |
+
howpublished={\url{https://huggingface.co/ericflo/Llama-3.2-3B-COT-v3}}
|
| 128 |
+
}
|
| 129 |
+
```
|
| 130 |
+
|
| 131 |
+
## Acknowledgments
|
| 132 |
+
|
| 133 |
+
This model builds on the Llama 3.2 3B base model from Meta and incorporates RL training using Google's Gemini 1.5 Flash 8B as a judge. Special thanks to the open-source AI community for their contributions to chain-of-thought prompting techniques and reinforcement learning frameworks.
|