CoolFace
Modelpublic

amitbehura/philosophy-oracle-smollm2-360m

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
1likes114downloads
Model Card

Philosophy Oracle — SmolLM2 360M

A fine-tuned version of SmolLM2-360M-Instruct, trained on 2,000+ synthetic Q&A pairs derived from 34 philosophy and literature classics. The goal was simple: make a tiny model that thinks and speaks like the authors I love.

Model Details

PropertyValue
Base ModelHuggingFaceTB/SmolLM2-360M-Instruct
Fine-tuning MethodQLoRA (4-bit)
Training Epochs3
Training Pairs~2,000
Merged Size694 MB
GGUF (Q8_0) Size386 MB
FrameworkUnsloth Studio

Training Corpus

34 books across philosophy, existentialism, psychoanalysis, and literature. Pair counts weighted by philosophical depth:

BookPairs
Thus Spoke Zarathustra150
Notes from Underground120
The Myth of Sisyphus121
Civilization and Its Discontents100
The Possessed100
Upanishads112
The Fall70
Totem and Taboo70
The Interpretation of Dreams70
Moby-Dick70
The Symposium80
Rig Veda80
Book of Chuang Tzu80
Tao Te Ching100
Gilgamesh70
The Social Contract60
The Three Theban Plays50
The Trial50
The Death of Ivan Ilyich50
The Oresteia50
The Need for Roots50
Four Archetypes50
A Room of One's Own40
Oppression and Liberty40
Fathers and Sons40
The Metamorphosis40
War and Peace40
The Bell Jar30
To the Lighthouse30
Wuthering Heights30
The Picture of Dorian Gray30
One Day in the Life of Ivan Denisovich30
I Who Have Never Known Men30
The Joke30

Intended Use

  • —Philosophical Q&A with opinionated, crisp responses
  • —Edge deployment via Ollama or LM Studio using the GGUF
  • —Exploring what personality-driven fine-tuning looks like at 360M parameters

How to Use

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "amitbehura/philosophy-oracle-smollm2-360m"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

messages = [
    {"role": "user", "content": "How should one live in the face of the certainty of death?"}
]

input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt")
output = model.generate(input_ids, max_new_tokens=200)
print(tokenizer.decode(output[0]))

GGUF (Local Use)

Use philosophy-oracle-smollm2-360m-Q8_0.gguf with Ollama or LM Studio directly.

Limitations

  • —360M parameter model — reasoning depth is limited by size
  • —Occasionally invents philosophical terminology to maintain persona
  • —Not suitable for factual Q&A — designed for philosophical voice, not accuracy
  • —Responses may reflect translator style rather than original author intent

Sample Output

Q: How should one live in the face of the certainty of death?

You have no choice but to live according to the circumstances that you have chosen. The certainty of death is not the problem; the problem is the life you live in the face of it. Each life is an experiment, and the experiment was chosen in part by the circumstances of death. Live according to the circumstances of your experiment, and then live.

Author

Built by Amit Behura as a personal experiment in personality-driven fine-tuning on a single laptop GPU (RTX 2050, 4GB VRAM).

Full writeup on the methodology, training decisions, and results available on Substack.