Downloads · 30 days
9
13% of all-time downloads
harsh-jos/gemma-3-1b-it-linkedin-natural
gemma-3-1b-it-linkedin-natural is a text generation model from harsh-jos. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as gemma.
Fine-tuned from google/gemma-3-1b-it to write simple, conversational, twitter-like LinkedIn posts — short sentences, 1-2 line paragraphs, no cringe drama.
Downloads · 30 days
9
13% of all-time downloads
All-time downloads
70
Public
Repo size
90.3 MB
Likes
0
Public
Click a slice to open those files.
.safetensors104 MB · 57%
From the Hugging Face model README
Fine-tuned from google/gemma-3-1b-it to write simple, conversational, twitter-like LinkedIn posts — short sentences, 1-2 line paragraphs, no cringe drama.
No: Thrilled to announce, Humbled to share, Game changer, rocket spam 🚀🔥, 10 hashtags, or Let's dive in 👇.
Yes: 60–120 words, one idea per post, bracket asides (like this), ends casual That's it. / Peace ✌🏻, sounds like talking to a friend.
Built as a learning project for dataset curation → QLoRA → HF publish on a T4.
harsh-jos/linkedin-natural-150 — 150 curated examples (138 train / 12 val), avg 60.7w.
Format per line (JSONL):
{"prompt": "Write a LinkedIn post about: Why readability beats drama", "response": "Readability beats drama. Always..."}
HF splits are already Gemma 3 chat-formatted with text (<start_of_turn>user/model).
google/gemma-3-1b-it via unsloth/gemma-3-1b-it-bnb-4bit (4-bit NF4 storage, float32 compute — Gemma3 doesn't support float16 on T4)q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj, 4-bit, gradient checkpointing unslothml-exp/notebooks/train_colab_self_contained.ipynb (self-contained, no GitHub needed)<start_of_turn>user
Write a LinkedIn post about: Why readability beats drama
<end_of_turn>
<start_of_turn>model
The adapter was trained on this exact template. Omitting <start_of_turn> will degrade style.
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_id = "google/gemma-3-1b-it"
adapter_id = "harsh-jos/gemma-3-1b-it-linkedin-natural"
tokenizer = AutoTokenizer.from_pretrained(base_id)
base = AutoModelForCausalLM.from_pretrained(base_id, device_map="auto")
model = PeftModel.from_pretrained(base, adapter_id)
prompt = "Write a LinkedIn post about: Why readability beats drama"
template = "<start_of_turn>user\n{prompt}<end_of_turn>\n<start_of_turn>model\n"
inputs = tokenizer(template.format(prompt=prompt), return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=200, temperature=0.7, top_p=0.9, repetition_penalty=1.05, do_sample=True)
text = tokenizer.decode(out[0], skip_special_tokens=True).split("<start_of_turn>model")[-1].replace("<end_of_turn>", "").strip()
print(text)
# After merging outside 4-bit:
# model_fp16, tok = FastLanguageModel.from_pretrained("google/gemma-3-1b-it", load_in_4bit=False)
# model_fp16 = PeftModel.from_pretrained(model_fp16, adapter_id).merge_and_unload()
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(adapter_id, device_map="auto") # if merged repo
Prompt: Why readability beats drama
Base Gemma (cringe): 🚀 Thrilled to announce... In today's fast-paced world, let's dive into the tapestry of readability! Unlock the power... #AI #Leadership 👇
This adapter: Readability beats drama. Always.
Dramatic posts get views. Readable posts get replies.
I used to write long, emotional stories. People scrolled. Now I write short sentences. One idea. Line breaks where you need to breathe.
Same story, but now people feel I'm talking to them, not performing.
Prompt: How I cut a 300 word draft to 120 words
My first draft is always 300 words. Final is 120.
How I cut: first pass, delete every sentence that doesn't support the one idea. Second pass, shorten every remaining sentence by 30%. Third pass, read aloud — if I stumble, rewrite.
Most posts have one good paragraph hidden in three okay ones. Find it, keep it, delete the rest.
Prompt: Boring tech wins
Boring tech wins.
Postgres, Next.js, Vercel. Nothing exciting. Everything works.
Exciting tech is for conference talks. Boring tech is for shipping.
google/gemma-3-1b-it terms.@misc{linkedin-natural-150,
title={LinkedIn Natural 150 — Twitter-like LinkedIn style tuning for Gemma 3 1B},
author={Harsh Joshi},
year={2026},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co/datasets/harsh-jos/linkedin-natural-150}}
}
Dataset built from 3 gold posts + 147 synthetic rewrites in the author's voice, Unsloth QLoRA, TRL. Inspired by the rulebook in CLAUDE.md for agentic coding.