Instructions to use amkkk/AMKemma-3.1-Write with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use amkkk/AMKemma-3.1-Write with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf amkkk/AMKemma-3.1-Write:Q8_0 # Run inference directly in the terminal: llama cli -hf amkkk/AMKemma-3.1-Write:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf amkkk/AMKemma-3.1-Write:Q8_0 # Run inference directly in the terminal: llama cli -hf amkkk/AMKemma-3.1-Write:Q8_0
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf amkkk/AMKemma-3.1-Write:Q8_0 # Run inference directly in the terminal: ./build/bin/llama cli -hf amkkk/AMKemma-3.1-Write:Q8_0
Use Docker
docker model run hf.co/amkkk/AMKemma-3.1-Write:Q8_0
- Llama new
- LM Studio
- Jan
- vLLM
How to use amkkk/AMKemma-3.1-Write with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "amkkk/AMKemma-3.1-Write" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "amkkk/AMKemma-3.1-Write", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/amkkk/AMKemma-3.1-Write:Q8_0
- Ollama
How to use amkkk/AMKemma-3.1-Write with Ollama:
ollama run hf.co/amkkk/AMKemma-3.1-Write:Q8_0
- Unsloth Desktop
- Pi
How to use amkkk/AMKemma-3.1-Write with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf amkkk/AMKemma-3.1-Write:Q8_0
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "amkkk/AMKemma-3.1-Write:Q8_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use amkkk/AMKemma-3.1-Write with Docker Model Runner:
docker model run hf.co/amkkk/AMKemma-3.1-Write:Q8_0
- Lemonade
How to use amkkk/AMKemma-3.1-Write with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull amkkk/AMKemma-3.1-Write:Q8_0
Run and chat with the model
lemonade run user.AMKemma-3.1-Write-Q8_0
List all available models
lemonade list
- Hermes Agent
How to use amkkk/AMKemma-3.1-Write with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf amkkk/AMKemma-3.1-Write:Q8_0
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default amkkk/AMKemma-3.1-Write:Q8_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use amkkk/AMKemma-3.1-Write with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf amkkk/AMKemma-3.1-Write:Q8_0
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "amkkk/AMKemma-3.1-Write:Q8_0" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
AMKemma - 3.1 Write
Abstract
AMKemma - 3.1 Write is a writing fine-tune of Gemma 4 E2B IT, released as a standalone Q8_0 GGUF. Give it a brief, a voice and a target length, and it writes from those instructions.
Training
Trained on brief-to-human-page pairs from AMKwen-3.0-Write-Corpus, using human-response cross-entropy + token-level unlikelihood, weighted equally. Cross-entropy learns the human continuation; unlikelihood penalizes earlier context tokens when they compete with the correct next token. Prompts are masked from the training targets, and native end-of-turn tokens are preserved.
rsLoRA: rank 16, alpha 32, dropout 0.05, learning rate 2e-5, 4096-token windows with 256-token overlap, gradient accumulation 4, across 277 text linear layers. This release uses checkpoint 42,831, selected by held-out cross-entropy, with the adapter merged before Q8 conversion.
Files and usage
Download AMKemma-3.1-Write-Q8_0.gguf (5.38 GB) and load it in a llama.cpp-compatible runtime with Gemma 4 support. Use the embedded Gemma chat template and native stops <turn|> / <eos> (106 / 1), with thinking off.
Starting settings: temperature 0.8, top-p 1, top-k 0, min-p 0, repetition penalty 1. Start with 4096 context tokens and 1024 output tokens; increase the output budget for longer pieces. Include your desired word count in the brief.
llama-cli -m AMKemma-3.1-Write-Q8_0.gguf -c 4096 -n 1024 --single-turn --reasoning off --temp 0.8 --top-p 1 --top-k 0 --min-p 0 --repeat-penalty 1 -p "Write a warm, informal travel diary about a rainy train journey. Around 500 words."
Two evaluation rounds
Both rounds test the same CE-best checkpoint against its untouched Gemma parent, on different frozen sets of 2,000 prompts.
| Round 1 β H2 / training-free ablator | Round 2 β FineWeb / Write family | |
|---|---|---|
| Prompts | Original ablator TEST prompts | Muse briefs with style, content, outline and target length |
| Output budget | Fixed 1,024-token maximum | Per-document target-length budget |
| Sampling | Temperature 0.8, top-p 0.95, top-k 50 | Temperature 0.8, top-p 1, top-k off |
| Comparisons | Fresh Gemma parent and human references | Fresh Gemma parent, humans and archived Write models |
| JSD units | Nats | Bits |
Read each table within its own round. Dataset, prompting, budgets and sampling differ, so scores and lengths measure separate conditions. AMKemma writes shorter outputs than its parent in Round 1 and longer outputs in Round 2.
Evaluation β H2 TEST2000
Same 2000 frozen prompts for the untouched Gemma parent and AMKemma, alongside 2000 human reference texts. These measurements use the BF16 parent with the trained adapter, before GGUF quantization.
Sampler: temperature 0.8, top-p 0.95, top-k 50, repetition penalty 1, 1024-token cap, matched per-prompt seeds, native stops 106/1. All outputs are included.
Style β document means
| Metric | Human | Gemma parent | AMKemma |
|---|---|---|---|
| Lexical diversity (unique lowercase tokens / tokens) | 0.44899 | 0.41585 | 0.44999 |
| Lexical density (non-stop alphabetic tokens / tokens) | 0.44337 | 0.45670 | 0.43337 |
| Long words (>6 characters / tokens) | 0.19022 | 0.24708 | 0.18214 |
| Token entropy (bits) | 6.91822 | 6.89838 | 6.31738 |
| Token-frequency burstiness (SD / mean) | 1.71662 | 2.05725 | 1.37696 |
| Vowel characters / characters | 0.29663 | 0.30412 | 0.30332 |
| Consonant characters / characters | 0.47879 | 0.49033 | 0.48503 |
| Punctuation characters / characters | 0.03602 | 0.04567 | 0.03052 |
| Length (NLTK tokens, including punctuation) | 733.39250 | 637.51750 | 332.99650 |
| Sentences / document | 34.12800 | 30.41550 | 17.44400 |
| Tokens / sentence | 24.86669 | 23.64438 | 28.07701 |
| Maximum parse depth | 10.95950 | 10.30150 | 9.70050 |
| Gunning Fog grade | 12.98933 | 15.37583 | 12.21518 |
| Linsear Write grade | 11.59072 | 14.52612 | 11.01233 |
Lexical diversity, readability and long-word frequency move toward the human means. Outputs are shorter; entropy and burstiness also fall. Length-sensitive features reflect those different output lengths. NLTK length includes punctuation tokens. Full precision and paired 95% bootstrap intervals (1000 resamples) are in evaluation.json.
Corpus distance β lower means closer
| Metric | Gemma parent | AMKemma | Humanβhuman reference |
|---|---|---|---|
| L2-1 | 0.02906164 | 0.02214403 | 0.00807385 |
| L2-2 | 0.01241105 | 0.01479894 | 0.00500227 |
| L2-3 | 0.00661522 | 0.00430535 | 0.00394540 |
| JSD-nats | 0.10543271 | 0.05729762 | 0.08331861 |
L2 compares normalized corpus n-gram frequencies; JSD uses natural logs (nats). The humanβhuman reference uses the archived VAL2 split protocol. Unigram and trigram distances improve; bigram distance increases. Fresh MMD is unavailable. FineWeb Muse 2000 results follow below.
Evaluation β FineWeb Muse 2000
Same 2,000 frozen Muse briefs and human pages used for the Write-family evaluation. Results use the original custom macro BLEU/chrF (0β1), JSD in bits, and the trained model before Q8 quantization.
| Model | Scored n | BLEU β | chrF β | JSD bits β | Self-BLEU β | Repeat-start β |
|---|---|---|---|---|---|---|
| Gemma parent | 1989 | 0.3887 | 0.6748 | 0.06744 | 0.2790 | 0.1735 |
| AMKemma | 2000 | 0.5545 | 0.7765 | 0.01846 | 0.3142 | 0.1630 |
| Qwen baseline | 2000 | 0.3959 | 0.7126 | 0.05386 | 0.2940 | 0.1620 |
| FineWeb SFT | 2000 | 0.5920 | 0.7941 | 0.02632 | 0.3213 | 0.2340 |
| 13-LoRA merger | 2000 | 0.5750 | 0.7821 | 0.03194 | 0.3185 | 0.2530 |
| ResidualBoost-S1 | 2000 | 0.5711 | 0.7754 | 0.02506 | 0.3174 | 0.2290 |
AMKemma improves overlap and corpus distance versus its Gemma parent. FineWeb SFT has higher overlap with the reference pages; AMKemma has the lowest unigram JSD in this comparison. Historical Qwen results use a separate model family and runtime.
All 4,000 fresh outputs are retained. The original scorer excludes 11 empty parent answers; AMKemma has zero. On the same 1,989 nonempty pairs, the BLEU gain is +0.1660 [0.1592, 0.1727] and chrF gain +0.1018 [0.0974, 0.1065] (paired 95% bootstrap intervals).
Style β document means
| Feature | Human | Gemma parent | AMKemma |
|---|---|---|---|
| Lexical diversity | 0.54876 | 0.56806 | 0.55170 |
| Lexical density | 0.47018 | 0.49061 | 0.46870 |
| Long-word fraction (>6 characters) | 0.19828 | 0.23058 | 0.19773 |
| Token entropy (bits) | 6.59491 | 6.43464 | 6.54348 |
| Token-frequency burstiness (SD / mean) | 1.29246 | 1.41038 | 1.28600 |
| Vowel character fraction | 0.30186 | 0.29921 | 0.30210 |
| Consonant character fraction | 0.48758 | 0.48628 | 0.48774 |
| Punctuation character fraction | 0.02887 | 0.03652 | 0.02771 |
| Length (NLTK tokens, including punctuation) | 504.32550 | 410.04300 | 452.43100 |
| Sentences / document | 22.23550 | 22.28850 | 21.75050 |
| Tokens / sentence | 24.23881 | 27.72495 | 25.25973 |
| Maximum parse depth | 10.02400 | 8.87100 | 9.91850 |
| Gunning Fog grade | 12.79795 | 15.08025 | 13.25387 |
| Linsear Write grade | 12.01844 | 12.88388 | 11.64308 |
AMKemma is closer to the human mean on 13 of 14 style features. Here its outputs are longer than the parent: 390.28 versus 336.90 whitespace words, with humans at 436.02. All 2,000 outputs per arm contribute to these means; features are measured at their generated lengths.
Protocol: temperature 0.8, top-p 1, top-k off, thinking off, 3,072-token input cap, original numeric target-length budgets, native Gemma stops 106/1 and matched per-prompt seeds. Budget hits: parent 805/2,000; AMKemma 906/2,000. Historical Qwen baseline uses a 2,048-token cap; 74 targets exceed it.
Full-precision results, corpus distances, paired intervals and common-pair coverage are in evaluation-fineweb.json. MMD/FID/MAUVE are unavailable; JMQ was skipped.
Dataset and collection
License
Apache 2.0. Based on Google Gemma 4. Attribution and modification details are in NOTICE.txt.
- Downloads last month
- 85
8-bit