whatisgithub

What is makemore?

karpathy/makemore — explained in plain English

Analysis updated 2026-06-26 · repo last pushed 2024-06-04

4,010PythonAudience · researcherComplexity · 2/5DormantSetup · easy

In one sentence

An educational tool that learns character patterns from any text list and generates new, plausible-sounding items, from baby names to product names, using progressively advanced neural network architectures up to a Transformer.

Mindmap

mindmap
  root((makemore))
    What it does
      Learn from text list
      Generate new items
      Educational tool
    Tech Stack
      Python
      PyTorch
      Single file
    Models
      Bigram lookup
      MLP network
      Transformer
    Use Cases
      Name generation
      Product naming
      Learning AI
    Audience
      Researchers
      AI learners
      Hobbyists
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate new baby names that sound plausible by training on the included 32,000-name dataset.

USE CASE 2

Brainstorm product or company name ideas by feeding your own list of examples and sampling from the trained model.

USE CASE 3

Learn how language models work by reading and modifying a single, hackable Python file that implements bigrams through Transformers.

USE CASE 4

Experiment with creative text generation on any list, Pokemon names, Minecraft blocks, or city names.

What is it built with?

PythonPyTorch

How does it compare?

karpathy/makemorefacebookresearch/jepafacebookresearch/videopose3d
Stars4,0103,9944,036
LanguagePythonPythonPython
Last pushed2024-06-042025-02-272022-12-10
MaintenanceDormantStaleDormant
Setup difficultyeasyhardmoderate
Complexity2/54/53/5
Audienceresearcherresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires PyTorch, runs on CPU (e.g. MacBook) but training is faster with a GPU.

No license information was stated in the explanation.

Copy-paste prompts

Prompt 1
I want to run makemore on my own list of brand names. Walk me through training the model, picking the right architecture (bigram vs MLP vs Transformer), and sampling 20 new names from it.
Prompt 2
Explain what happens inside makemore when it trains a bigram model on baby names, specifically how it builds the probability table and uses it to sample the next character.
Prompt 3
I want to modify makemore to generate two-word product names instead of single words. How would I change the data loading and sampling code in makemore.py?
Prompt 4
Using makemore, show me how to compare the loss curves of the bigram model vs the MLP model after training on the same names dataset to see which learns better patterns.
Prompt 5
I have a list of 500 Dungeons and Dragons spell names. Help me format them for makemore, train the Transformer variant, and sample 30 new spell names that sound fantasy-appropriate.

Frequently asked questions

What is makemore?

An educational tool that learns character patterns from any text list and generates new, plausible-sounding items, from baby names to product names, using progressively advanced neural network architectures up to a Transformer.

What language is makemore written in?

Mainly Python. The stack also includes Python, PyTorch.

Is makemore actively maintained?

Dormant — no commits in 2+ years (last push 2024-06-04).

What license does makemore use?

No license information was stated in the explanation.

How hard is makemore to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is makemore for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.