Downloads · 30 days
26
5% of all-time downloads
potteryrage/nekGPT
nekGPT is a text generation model from potteryrage. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
nekGPT is a small character-voice model derived from GPT-2 and tuned on authored X posts from @nekstoer.
Downloads · 30 days
26
5% of all-time downloads
All-time downloads
527
Public
Parameters
124M
498 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors498 MB · 78%
From the Hugging Face model README
nekGPT is a small character-voice model derived from GPT-2 and tuned on authored X posts from @nekstoer.
This release intentionally uses the best validation checkpoint from training rather than the final checkpoint. Validation loss was lowest at epoch 2, then degraded with additional training:
0.79190.7898 <- selected checkpoint0.80610.81480.8266The goal was not generic assistant quality. The goal was to force a small model to latch onto a narrow posting voice strongly enough to survive open-ended prompts better than a larger, more stubborn base model.
The result is more voice-dominant than the larger Qwen experiments, but also less stable and less coherent over long conversations. It works best as a compact style model and experimental chat toy, not as a reliable assistant.
@nekstoer1526The original scrape was converted into higher-signal supervised examples:
write a tweet -> postreply to this post from @user: ... -> replyquote tweet this post: ... -> quote tweetTo make the voice distribution more pronounced, a subset of standout standalone posts was repeated in the training split.
Effective dataset sizes for the GPT-2 run:
17862020openai-community/gpt225655e-541Although the full run completed, this repo publishes the epoch-2 checkpoint because it had the best validation loss.
Strengths:
Weaknesses:
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = "potteryrage/nekGPT"
tokenizer = AutoTokenizer.from_pretrained(repo_id)
model = AutoModelForCausalLM.from_pretrained(repo_id)
prompt = "User: hi nek\nAssistant:"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
**inputs,
max_new_tokens=48,
do_sample=True,
temperature=0.9,
top_p=0.95,
pad_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=False))
Apache-2.0