122 lines
4.7 KiB
Markdown
122 lines
4.7 KiB
Markdown
---
|
|
base_model: NousResearch/Hermes-2-Pro-Llama-3-8B
|
|
library_name: transformers
|
|
tags:
|
|
- 4-bit
|
|
- AWQ
|
|
- text-generation
|
|
- autotrain_compatible
|
|
- endpoints_compatible
|
|
- Llama-3
|
|
- instruct
|
|
- finetune
|
|
- chatml
|
|
- DPO
|
|
- RLHF
|
|
- gpt4
|
|
- synthetic data
|
|
- distillation
|
|
- function calling
|
|
- json mode
|
|
- axolotl
|
|
model-index:
|
|
- name: Hermes-2-Pro-Llama-3-8B
|
|
results: []
|
|
license: apache-2.0
|
|
language:
|
|
- en
|
|
datasets:
|
|
- teknium/OpenHermes-2.5
|
|
widget:
|
|
- example_title: Hermes 2 Pro
|
|
messages:
|
|
- role: system
|
|
content: You are a sentient, superintelligent artificial general intelligence, here to teach and assist me.
|
|
- role: user
|
|
content: Write a short story about Goku discovering kirby has teamed up with Majin Buu to destroy the world.
|
|
pipeline_tag: text-generation
|
|
inference: false
|
|
quantized_by: Suparious
|
|
---
|
|
# NousResearch/Hermes-2-Pro-Llama-3-8B AWQ
|
|
|
|
- Model creator: [NousResearch](https://huggingface.co/NousResearch)
|
|
- Original model: [Hermes-2-Pro-Llama-3-8B](https://huggingface.co/NousResearch/Hermes-2-Pro-Llama-3-8B)
|
|
|
|

|
|
|
|
## Model Description
|
|
|
|
Hermes 2 Pro is an upgraded, retrained version of Nous Hermes 2, consisting of an updated and cleaned version of the OpenHermes 2.5 Dataset, as well as a newly introduced Function Calling and JSON Mode dataset developed in-house.
|
|
|
|
This new version of Hermes maintains its excellent general task and conversation capabilities - but also excels at Function Calling, JSON Structured Outputs, and has improved on several other metrics as well, scoring a 90% on our function calling evaluation built in partnership with Fireworks.AI, and an 84% on our structured JSON Output evaluation.
|
|
|
|
Hermes Pro takes advantage of a special system prompt and multi-turn function calling structure with a new chatml role in order to make function calling reliable and easy to parse. Learn more about prompting below.
|
|
|
|
This version of Hermes 2 Pro adds several tokens to assist with agentic capabilities in parsing while streaming tokens - `<tools>`, `<tool_call>`, `<tool_response>` and their closing tags are single tokens now.
|
|
|
|
This work was a collaboration between Nous Research, @interstellarninja, and Fireworks.AI
|
|
|
|
Learn more about the function calling system for this model on our github repo here: https://github.com/NousResearch/Hermes-Function-Calling
|
|
|
|
## How to use
|
|
|
|
### Install the necessary packages
|
|
|
|
```bash
|
|
pip install --upgrade autoawq autoawq-kernels
|
|
```
|
|
|
|
### Example Python code
|
|
|
|
```python
|
|
from awq import AutoAWQForCausalLM
|
|
from transformers import AutoTokenizer, TextStreamer
|
|
|
|
model_path = "solidrust/Hermes-2-Pro-Llama-3-8B-AWQ"
|
|
system_message = "You are Hermes-2-Pro-Llama-3-8B, incarnated as a powerful AI. You were created by NousResearch."
|
|
|
|
# Load model
|
|
model = AutoAWQForCausalLM.from_quantized(model_path,
|
|
fuse_layers=True)
|
|
tokenizer = AutoTokenizer.from_pretrained(model_path,
|
|
trust_remote_code=True)
|
|
streamer = TextStreamer(tokenizer,
|
|
skip_prompt=True,
|
|
skip_special_tokens=True)
|
|
|
|
# Convert prompt to tokens
|
|
prompt_template = """\
|
|
<|im_start|>system
|
|
{system_message}<|im_end|>
|
|
<|im_start|>user
|
|
{prompt}<|im_end|>
|
|
<|im_start|>assistant"""
|
|
|
|
prompt = "You're standing on the surface of the Earth. "\
|
|
"You walk one mile south, one mile west and one mile north. "\
|
|
"You end up exactly where you started. Where are you?"
|
|
|
|
tokens = tokenizer(prompt_template.format(system_message=system_message,prompt=prompt),
|
|
return_tensors='pt').input_ids.cuda()
|
|
|
|
# Generate output
|
|
generation_output = model.generate(tokens,
|
|
streamer=streamer,
|
|
max_new_tokens=512)
|
|
```
|
|
|
|
### About AWQ
|
|
|
|
AWQ is an efficient, accurate and blazing-fast low-bit weight quantization method, currently supporting 4-bit quantization. Compared to GPTQ, it offers faster Transformers-based inference with equivalent or better quality compared to the most commonly used GPTQ settings.
|
|
|
|
AWQ models are currently supported on Linux and Windows, with NVidia GPUs only. macOS users: please use GGUF models instead.
|
|
|
|
It is supported by:
|
|
|
|
- [Text Generation Webui](https://github.com/oobabooga/text-generation-webui) - using Loader: AutoAWQ
|
|
- [vLLM](https://github.com/vllm-project/vllm) - version 0.2.2 or later for support for all model types.
|
|
- [Hugging Face Text Generation Inference (TGI)](https://github.com/huggingface/text-generation-inference)
|
|
- [Transformers](https://huggingface.co/docs/transformers) version 4.35.0 and later, from any code or client that supports Transformers
|
|
- [AutoAWQ](https://github.com/casper-hansen/AutoAWQ) - for use from Python code
|