Model reference · open weights
openchat_8192 is an open-weight language model from openchat. openchat_8192 (BF16) weighs 26.0 GB; the smallest configuration that runs it is L40S 48 GB.
Summary of the openchat/openchat_8192 model card, 2026-10-01
What it is
| Released by | openchat |
|---|---|
| Released | 2023-06-22 |
| VRAM | 26.0 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 8K each | |||
| RTX 3060 12 GB … RTX 4090 24 GB 4 smaller cards | — | — | |
| RTX 5090 32 GB | — | 5K | 31.0 GB |
| L40S 48 GB | 2 | all 8K | 44.0 GB |
| A100 80 GB | 7 | all 8K | 78.2 GB |
| H100 80 GB | 7 | all 8K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 9 | all 8K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 11 | all 8K | 107 GB |
| H200 141 GB | 16 | all 8K | 138 GB |
| B200 180 GB | 21 | all 8K | 176 GB |
| 2× L40S 48 GB tensor parallel | 9 | all 8K | 44.0 GB a card |
| 4× RTX 4090 24 GB tensor parallel | 9 | all 8K | 23.4 GB a card |
| 4× RTX 3090 24 GB tensor parallel | 9 | all 8K | 23.4 GB a card |
| 4× RTX 5090 32 GB tensor parallel | 14 | all 8K | 31.0 GB a card |
| 2× H100 80 GB tensor parallel | 18 | all 8K | 78.1 GB a card |
| 2× A100 80 GB tensor parallel | 19 | all 8K | 78.2 GB a card |
| Requests at once | 8K tokens each |
|---|---|
| 1 | 33.4 GB |
| 5 | 60.2 GB |
| 8 | 80.4 GB |
| 16 | 134 GB |
| 32 | 241 GB |
| 64 | 456 GB |
One card, with vLLM's small-card settings.
From the model card
OpenChat is a series of open-source language models fine-tuned on a diverse and high-quality dataset of multi-round conversations. With only ~6K GPT-4 conversations filtered from the ~90K ShareGPT conversations, OpenChat is designed to achieve high performance with limited data.
Generic models:
Code models:
Note: Please load the pretrained models using bfloat16
We provide the full source code, including an inference server compatible with the "ChatCompletions" API, in the OpenChat GitHub repository.
OpenChat also includes a web UI for a better user experience. See the GitHub repository for instructions.
The conversation template involves concatenating tokens.
Besides base model vocabulary, an end-of-turn token `` is added, with id eot_token_id.
# OpenChat
[bos_token_id] + tokenize("Human: ") + tokenize(user_question) + [eot_token_id] + tokenize("Assistant: ")
# OpenCoder
tokenize("User:") + tokenize(user_question) + [eot_token_id] + tokenize("Assistant:")
Hint: In BPE, tokenize(A) + tokenize(B) does not always equals to tokenize(A + B)
Following is the code for generating the conversation templates:
@dataclass
class ModelConfig:
# Prompt
system: Optional[str]
role_prefix: dict
ai_role: str
eot_token: str
bos_token: Optional[str] = None
# Get template
def generate_conversation_template(self, tokenize_fn, tokenize_special_fn, message_list):
tokens = []
masks = []
# begin of sentence (bos)
if self.bos_token:
t = tokenize_special_fn(self.bos_token)
tokens.append(t)
masks.append(False)
# System
if self.system:
t = tokenize_fn(self.system) + [tokenize_special_fn(self.eot_token)]
tokens.extend(t)
masks.extend([False] * len(t))
# Messages
for idx, message in enumerate(message_list):
# Prefix
t = tokenize_fn(self.role_prefix[message["from"]])
tokens.extend(t)
masks.extend([False] * len(t))
# Message
if "value" in message:
t = tokenize_fn(message["value"]) + [tokenize_special_fn(self.eot_token)]
tokens.extend(t)
masks.extend([message["from"] == self.ai_role] * len(t))
else:
assert idx == len(message_list) - 1, "Empty message for completion must be on the last."
return tokens, masks
MODEL_CONFIG_MAP = {
# OpenChat / OpenChat-8192
"openchat": ModelConfig(
# Prompt
system=None,
role_prefix={
"human": "Human: ",
"gpt": "Assistant: "
},
ai_role="gpt",
eot_token="",
bos_token="",
),
# OpenCoder / OpenCoderPlus
"opencoder": ModelConfig(
# Prompt
system=None,
role_prefix={
"human": "User:",
"gpt": "Assistant:"
},
ai_role="gpt",
eot_token="",
bos_token=None,
)
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.