Downloads · 30 days
16
31% of all-time downloads
Batman55072/NanoChat-28M-V1
NanoChat-28M-V1 is a text generation model from Batman55072. Use it when you need the model to write or continue text. The card lists the license as cc-by-sa-4.0.
A ~27.8M parameter GPT-style decoder-only transformer, trained fully from scratch, that generates simulated live-stream chat comments -- both regular fast-paced "hype chat" and rarer, longer "superchat"-style paid mes…
Downloads · 30 days
16
31% of all-time downloads
All-time downloads
52
Public
Parameters
27.9M
112 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors112 MB · 99%
From the Hugging Face model README
A ~27.8M parameter GPT-style decoder-only transformer, trained fully from scratch, that generates simulated live-stream chat comments -- both regular fast-paced "hype chat" and rarer, longer "superchat"-style paid messages/questions. Built to run fast on CPU, as a lightweight audience-simulation layer for AI VTuber / livestream projects.
model.py in this repo for the class definition)model.py's
generate()) -- ~36 generations/sec, ~920 tokens/sec at batch_size=32 on a consumer
CPU (fp32; int8 dynamic quantization was tested and found to not help once
KV-caching is used, at this model scale -- fp32 is the recommended path)The model was trained with mode-marker tokens so it can be conditioned to generate either style:
<chat> -- short, high-volume, low-effort hype comments ("LMAOOO", "W stream", emote
spam), matching typical live chat cadence.<superchat> -- rarer, longer, more coherent messages: questions, personal questions,
playful roasts, jokes, and support messages, matching the style of paid
superchat/membership messages that streamers are expected to acknowledge.import torch
from tokenizers import Tokenizer
from safetensors.torch import load_model
from model import ChatGPTMini, ModelConfig # model.py included in this repo
tokenizer = Tokenizer.from_file("tokenizer.json")
cfg = ModelConfig(vocab_size=8000, pad_token_id=tokenizer.token_to_id("<pad>"))
model = ChatGPTMini(cfg)
load_model(model, "model.safetensors")
model.eval()
bos_id = tokenizer.token_to_id("<bos>")
chat_id = tokenizer.token_to_id("<chat>")
eos_id = tokenizer.token_to_id("<eos>")
prompt = torch.tensor([[bos_id, chat_id]])
out = model.generate(prompt, max_new_tokens=30, temperature=0.9, top_k=40, top_p=0.9, eos_token_id=eos_id)
print(tokenizer.decode(out[0].tolist(), skip_special_tokens=True))
See example.py in this repo for a complete runnable script, including batched
generation (recommended for real usage -- throughput scales far better than looping
one generation at a time).
lparkourer10/twitch_chat
dataset (CC-BY-SA-4.0, usernames stripped), supplemented with a small amount of
synthetic hype-phrase data.Generating background "audience chat" text for livestream/VTuber simulation projects, demos, or similar creative/entertainment use cases where large volumes of low-effort, stylistically plausible chat text are needed cheaply and quickly. Not intended as a factual, instruction-following, or general-purpose assistant model -- it has no knowledge base beyond chat-style text patterns.
Released under CC-BY-SA-4.0, matching the license of the primary training dataset.