You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Resep Masakan Indonesia Gemma 4

A fine-tune of google/gemma-4-e2b-it that writes Indonesian recipes the way Indonesian home cooks actually write them — short, structured, and with the right bumbu.

What this model is for

Give it a dish title in Bahasa Indonesia, get back a recipe in the standard Indonesian home-cook format:

Bahan:
- 500 gr ikan kering
- 5 siung bawang merah
- 3 siung bawang putih
- 1 buah tomat
- ...

Langkah:
1. Goreng ikan kering hingga matang dan kering.
2. Tumis bumbu halus hingga harum...
6. Sajikan hangat.

What it does better than the base Gemma 4 E2B

I fine-tuned the base model on 66K real Indonesian recipes (mainly home cooking — ayam, sapi, ikan, kambing, tahu, tempe, telur, udang). Compared to the stock google/gemma-4-e2b-it:

Stock Gemma 4 E2B This model
Recipe format consistency Mostly OK Always Bahan + Langkah
Recipe length vs real recipes ~50% too long, rambles Matches real recipes — concise
Knows Indonesian recipe vocabulary (tumis, koreksi rasa, Sajikan) Sometimes uses unnatural phrasing Uses the natural words home cooks use
Common Indonesian dishes (Rendang, Pepes, Tumis, Sambal) Often misses key ingredients Better ingredient profiles for common dishes
Indonesian fluency Good (5/5) Good (~4.6/5 — small artifact rate)

Overall on a 50-recipe blind eval against real home-cook references: +12% quality vs the stock base.

What it does NOT do well

Be honest with yourself about what to expect:

  • Regional / less-common dishes (e.g. Tahu Thek, Sosis Solo, Tempe Mendoan, Cabe Gendot) — the model will give you a generic recipe that ignores the specific dish identity. The training data didn't have enough examples.
  • Special diet modifiers (MPASI baby food, DEBM low-carb diet, etc.) — it ignores these qualifiers and gives a normal recipe.
  • Defining secret ingredients — Padang dishes might be missing santan; "kuning" dishes might miss kunyit/asam jawa.

For these cases the base Gemma 4 isn't better either — they're hard problems that need either a much larger model or a curated specialty dataset.

How to use

This model needs one important inference setting to work properly: no_repeat_ngram_size=6. Without it, the model can get stuck repeating ingredient lines on long recipes. This setting is a single inference-time argument; everything else works like any standard Gemma chat model.

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "junwatu/gemma-4-e2b-resep-id"   # adjust to actual repo
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype=torch.bfloat16,
    device_map="auto",
)

messages = [{
    "role": "user",
    "content": (
        'Tulis resep masakan Indonesia berjudul: "Tumis Kangkung Tempe".\n'
        "Format jawaban:\n"
        "Bahan:\n- (daftar bahan, satu per baris)\n\n"
        "Langkah:\n1. (langkah pertama)\n2. (langkah kedua)\n...\n"
        "Gunakan Bahasa Indonesia."
    ),
}]
inputs = tok.apply_chat_template(
    messages, add_generation_prompt=True,
    return_tensors="pt", return_dict=True,
).to(model.device)

out = model.generate(
    **inputs,
    max_new_tokens=1024,
    do_sample=False,
    repetition_penalty=1.05,
    no_repeat_ngram_size=6,        # ← important
    pad_token_id=tok.eos_token_id,
)
print(tok.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))

Training summary (for the curious)

  • Base: google/gemma-4-e2b-it (4.6B effective params, vision/audio paths frozen during training)
  • Data: ~66K Indonesian home recipes (HF parquet)
  • Method: Supervised fine-tune, prompt + completion format, 1 epoch
  • Compute: AMD MI300X (192 GB HBM3), ~1.5 hours, bf16
  • Final eval loss: 1.26

Full technical details in the project repo.

Limitations & honest disclosures

  • This is a single-epoch run on a budget. Quality could be higher with more compute and better data curation.
  • Model occasionally produces odd fraction notation like 1/n sdt — these are minor inference-time glitches from the n-gram repetition guard. Easy to clean up if you're using the output programmatically.
  • Some recipes will be plausible but not authentic to a specific region. Use it as a starting point, not a definitive cookbook.
  • License: inherits the Gemma Terms of Use from the base model.

Acknowledgements

  • Base model: google/gemma-4-e2b-it
  • Dataset: Indonesian home recipe corpus (cleaned/curated)
  • Compute: AMD Instinct MI300X

If you find this useful or have suggestions, open an issue on the model page.

Downloads last month
-
Safetensors
Model size
5B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for junwatu/resep-ID-gemma-4-E2B-it

Quantizations
1 model

Dataset used to train junwatu/resep-ID-gemma-4-E2B-it

Space using junwatu/resep-ID-gemma-4-E2B-it 1