Text Generation
Transformers
Safetensors
GGUF
English
falcon_h1
palmer
text-editing
rewriting
paraphrasing
grammar-correction
edge
small-language-model
Instructions to use appvoid/palmer-006 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use appvoid/palmer-006 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="appvoid/palmer-006")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("appvoid/palmer-006") model = AutoModelForCausalLM.from_pretrained("appvoid/palmer-006", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use appvoid/palmer-006 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 appvoid/palmer-006 # Run inference directly in the terminal: llama cli -hf appvoid/palmer-006
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf appvoid/palmer-006 # Run inference directly in the terminal: llama cli -hf appvoid/palmer-006
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf appvoid/palmer-006 # Run inference directly in the terminal: ./llama-cli -hf appvoid/palmer-006
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf appvoid/palmer-006 # Run inference directly in the terminal: ./build/bin/llama-cli -hf appvoid/palmer-006
Use Docker
docker model run hf.co/appvoid/palmer-006
- LM Studio
- Jan
- vLLM
How to use appvoid/palmer-006 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "appvoid/palmer-006" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "appvoid/palmer-006", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/appvoid/palmer-006
- SGLang
How to use appvoid/palmer-006 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "appvoid/palmer-006" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "appvoid/palmer-006", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "appvoid/palmer-006" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "appvoid/palmer-006", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Ollama
How to use appvoid/palmer-006 with Ollama:
ollama run hf.co/appvoid/palmer-006
- Unsloth Studio
How to use appvoid/palmer-006 with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for appvoid/palmer-006 to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for appvoid/palmer-006 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for appvoid/palmer-006 to start chatting
- Atomic Chat new
- Docker Model Runner
How to use appvoid/palmer-006 with Docker Model Runner:
docker model run hf.co/appvoid/palmer-006
- Lemonade
How to use appvoid/palmer-006 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull appvoid/palmer-006
Run and chat with the model
lemonade run user.palmer-006-{{QUANT_TAG}}List all available models
lemonade list
| library_name: transformers | |
| pipeline_tag: text-generation | |
| language: | |
| - en | |
| license: other | |
| license_name: appvoid-noncommercial-model-license-1.0 | |
| license_link: LICENSE | |
| tags: | |
| - palmer | |
| - text-editing | |
| - rewriting | |
| - paraphrasing | |
| - grammar-correction | |
| - edge | |
| - small-language-model | |
| widget: | |
| - text: Make this more concise. | |
| output: | |
| url: images/4.png | |
| - text: Make this friendlier. | |
| output: | |
| url: images/1.png | |
| - text: Improve clarity without changing the meaning. | |
| output: | |
| url: images/2.png | |
| - text: Improve clarity without changing the meaning. | |
| output: | |
| url: images/3.png | |
| extra_gated_prompt: >- | |
| You agree to use this model in good faith, respect the LICENSE in this | |
| repository, comply with the applicable Falcon upstream terms, and not use the | |
| model to harm any person or group. Commercial use requires a separate license. | |
| <style> | |
| @import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500;600&display=swap"); | |
| *, | |
| html, | |
| body, | |
| div { | |
| box-sizing: border-box; | |
| color: #fff; | |
| background: #000 !important; | |
| border: none; | |
| font-family: "Roboto Mono", monospace !important; | |
| font-weight: 300; | |
| font-style: normal; | |
| } | |
| ::selection { | |
| color: #000; | |
| background: #fff; | |
| } | |
| ::-moz-selection { | |
| color: #000; | |
| background: #fff; | |
| } | |
| body { | |
| margin: 0; | |
| padding: 2rem 2rem 5rem; | |
| background: #070707 !important; | |
| } | |
| .model-card { | |
| max-width: 1100px; | |
| margin: 0 auto 2rem; | |
| padding: 3rem; | |
| text-align: justify; | |
| border: 1px solid #1d1d1d; | |
| border-radius: 1.25rem; | |
| overflow: visible; | |
| box-shadow: 0 18px 60px rgba(0, 0, 0, 0.45); | |
| } | |
| /* Logo area */ | |
| .logo-stage { | |
| position: relative; | |
| isolation: isolate; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-height: 360px; | |
| margin: 0 auto 1.5rem; | |
| overflow: visible; | |
| cursor: default; | |
| user-select: none; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| } | |
| /* | |
| The stage remains full-size while the logo collapses, so shrinking does not | |
| accidentally end the hover state. Every visible property has an explicit | |
| neutral value and transition, preventing effects from snapping on or off. | |
| */ | |
| .logo-vortex { | |
| position: relative; | |
| display: grid; | |
| place-items: center; | |
| width: fit-content; | |
| margin: 0 auto; | |
| border-radius: 0.75rem; | |
| outline: 2px solid rgba(255, 255, 255, 0); | |
| outline-offset: 0; | |
| transform: | |
| perspective(1000px) | |
| translateZ(0) | |
| scale(1) | |
| rotate(0deg); | |
| transform-origin: center; | |
| will-change: transform, border-radius, box-shadow, outline-color, outline-offset; | |
| box-shadow: | |
| 0 0 0 0 rgba(0, 0, 0, 0), | |
| 0 0 0 0 rgba(255, 255, 255, 0), | |
| 0 0 0 0 rgba(0, 0, 0, 0), | |
| 0 0 0 0 rgba(255, 255, 255, 0), | |
| 0 0 0 0 rgba(255, 255, 255, 0), | |
| 0 0 0 0 rgba(255, 255, 255, 0); | |
| transition: | |
| transform 680ms cubic-bezier(0.16, 1, 0.3, 1), | |
| border-radius 560ms ease, | |
| box-shadow 620ms ease, | |
| outline-color 520ms ease, | |
| outline-offset 620ms cubic-bezier(0.16, 1, 0.3, 1); | |
| } | |
| /* | |
| Both rings rotate at all times, even while invisible. Hover only fades and | |
| brightens them, so there is no animation restart, pause, or discontinuity. | |
| */ | |
| .logo-vortex::before, | |
| .logo-vortex::after { | |
| content: ""; | |
| position: absolute; | |
| z-index: -1; | |
| pointer-events: none; | |
| border-radius: 50%; | |
| opacity: 0; | |
| transition: | |
| opacity 420ms ease, | |
| border-color 420ms ease, | |
| filter 520ms ease; | |
| } | |
| .logo-vortex::before { | |
| inset: -30px; | |
| border: 3px solid rgba(255, 255, 255, 0); | |
| border-left-color: rgba(255, 255, 255, 0); | |
| border-right-color: rgba(255, 255, 255, 0); | |
| filter: | |
| drop-shadow(0 0 0 rgba(255, 255, 255, 0)) | |
| drop-shadow(0 0 0 rgba(255, 255, 255, 0)); | |
| animation: singularity-orbit 880ms linear infinite; | |
| } | |
| .logo-vortex::after { | |
| inset: -52px; | |
| border: 2px dashed rgba(255, 255, 255, 0); | |
| filter: | |
| drop-shadow(0 0 0 rgba(255, 255, 255, 0)); | |
| animation: singularity-orbit-reverse 1.28s linear infinite; | |
| } | |
| .logo-image { | |
| position: relative; | |
| z-index: 1; | |
| display: block; | |
| width: auto; | |
| height: 256px; | |
| max-width: 100%; | |
| margin: 0 auto; | |
| object-fit: contain; | |
| border-radius: 0.75rem; | |
| filter: | |
| grayscale(0%) | |
| contrast(115%) | |
| brightness(100%) | |
| blur(0) | |
| drop-shadow(0 0 0 rgba(255, 255, 255, 0)) | |
| drop-shadow(0 0 0 rgba(255, 255, 255, 0)) | |
| drop-shadow(0 0 0 rgba(255, 255, 255, 0)); | |
| transform: | |
| translateZ(0) | |
| scale(1) | |
| rotate(0deg); | |
| transform-origin: center; | |
| will-change: transform, filter, border-radius; | |
| transition: | |
| transform 680ms cubic-bezier(0.16, 1, 0.3, 1), | |
| filter 620ms cubic-bezier(0.16, 1, 0.3, 1), | |
| border-radius 560ms ease; | |
| user-select: none; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -webkit-user-drag: none; | |
| pointer-events: none; | |
| cursor: default; | |
| } | |
| .logo-stage:hover .logo-vortex { | |
| border-radius: 50%; | |
| outline-color: rgba(255, 255, 255, 0.9); | |
| outline-offset: 16px; | |
| transform: | |
| perspective(1000px) | |
| translateZ(0) | |
| scale(0.32) | |
| rotate(540deg); | |
| box-shadow: | |
| 0 0 0 5px #000, | |
| 0 0 0 7px rgba(255, 255, 255, 0.92), | |
| 0 0 0 14px #000, | |
| 0 0 0 16px rgba(255, 255, 255, 0.34), | |
| 0 0 38px 18px rgba(255, 255, 255, 0.3), | |
| 0 0 96px 34px rgba(255, 255, 255, 0.14); | |
| } | |
| .logo-stage:hover .logo-image { | |
| border-radius: 50%; | |
| transform: | |
| translateZ(0) | |
| scale(0.84) | |
| rotate(-360deg); | |
| filter: | |
| grayscale(100%) | |
| contrast(240%) | |
| brightness(14%) | |
| blur(4px) | |
| drop-shadow(0 0 5px rgba(255, 255, 255, 1)) | |
| drop-shadow(0 0 18px rgba(255, 255, 255, 0.74)) | |
| drop-shadow(0 0 42px rgba(255, 255, 255, 0.38)); | |
| } | |
| .logo-stage:hover .logo-vortex::before { | |
| opacity: 1; | |
| border-color: rgba(255, 255, 255, 0.88); | |
| border-left-color: rgba(255, 255, 255, 0.06); | |
| border-right-color: rgba(255, 255, 255, 0.24); | |
| filter: | |
| drop-shadow(0 0 9px rgba(255, 255, 255, 0.86)) | |
| drop-shadow(0 0 26px rgba(255, 255, 255, 0.44)); | |
| } | |
| .logo-stage:hover .logo-vortex::after { | |
| opacity: 0.72; | |
| border-color: rgba(255, 255, 255, 0.42); | |
| filter: | |
| drop-shadow(0 0 13px rgba(255, 255, 255, 0.3)); | |
| } | |
| @keyframes singularity-orbit { | |
| 0% { | |
| transform: rotate(0deg) scale(0.96); | |
| } | |
| 50% { | |
| transform: rotate(180deg) scale(1.04); | |
| } | |
| 100% { | |
| transform: rotate(360deg) scale(0.96); | |
| } | |
| } | |
| @keyframes singularity-orbit-reverse { | |
| 0% { | |
| transform: rotate(360deg) scale(1.04); | |
| } | |
| 50% { | |
| transform: rotate(180deg) scale(0.97); | |
| } | |
| 100% { | |
| transform: rotate(0deg) scale(1.04); | |
| } | |
| } | |
| /* Benchmark remains centered and enlarges substantially on hover. */ | |
| .benchmark-image { | |
| display: block; | |
| position: static; | |
| padding: 2rem; | |
| width: min(76%, 760px); | |
| height: auto; | |
| max-width: 100%; | |
| margin: 3rem auto 2.5rem; | |
| object-fit: contain; | |
| border: 2px solid rgba(255, 255, 255, 0.16); | |
| border-radius: 1rem; | |
| outline: none; | |
| user-select: none; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -webkit-user-drag: none; | |
| filter: none !important; | |
| transform: scale(1) !important; | |
| animation: none !important; | |
| box-shadow: none !important; | |
| position: relative; | |
| z-index: 1; | |
| transform-origin: center; | |
| transition: | |
| transform 440ms cubic-bezier(0.16, 1, 0.3, 1), | |
| border-color 360ms ease, | |
| box-shadow 440ms ease, | |
| filter 440ms ease !important; | |
| } | |
| .benchmark-image:hover { | |
| border-color: rgba(255, 255, 255, 0.96); | |
| border-radius: 2rem; | |
| outline: none; | |
| outline-offset: 0; | |
| border: 3px solid rgba(255, 255, 255, 0.16); | |
| z-index: 8; | |
| transform: scale(1.55) !important; | |
| animation: none !important; | |
| filter: contrast(1.08) brightness(1.05) !important; | |
| box-shadow: | |
| 0 28px 90px rgba(0, 0, 0, 0.62), | |
| 0 0 0 1px rgba(255, 255, 255, 0.08), | |
| 0 0 58px rgba(255, 255, 255, 0.12) !important; | |
| } | |
| p, | |
| li, | |
| td { | |
| color: #d0d0d0; | |
| line-height: 1.7; | |
| } | |
| p { | |
| font-size: 0.98rem; | |
| } | |
| h1 { | |
| margin-top: 1rem; | |
| text-align: center; | |
| } | |
| h1, | |
| h2, | |
| h3, | |
| h4, | |
| h5, | |
| h6 { | |
| color: #fff; | |
| font-weight: 500; | |
| letter-spacing: 0.04em; | |
| } | |
| table { | |
| width: 100%; | |
| } | |
| @media (max-width: 700px) { | |
| body { | |
| padding: 0.75rem 0.75rem 3rem; | |
| } | |
| .model-card { | |
| margin-bottom: 1.5rem; | |
| padding: 1.5rem; | |
| border-radius: 0.9rem; | |
| } | |
| .benchmark-image { | |
| width: 92%; | |
| } | |
| .logo-stage { | |
| min-height: 270px; | |
| } | |
| .logo-image { | |
| height: 190px; | |
| } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| .logo-vortex, | |
| .logo-vortex::before, | |
| .logo-vortex::after, | |
| .logo-image, | |
| .benchmark-image { | |
| animation: none !important; | |
| transition: none !important; | |
| } | |
| } | |
| </style> | |
| <body> | |
| <div class="model-card"> | |
| <div class="logo-stage"> | |
| <div class="logo-vortex"> | |
| <img | |
| class="logo-image" | |
| src="https://huggingface.co/appvoid/palmer-006/resolve/main/images/006.png" | |
| alt="Palmer 006 logo" | |
| /> | |
| </div> | |
| </div> | |
| # a small model is all you need | |
| We celebrate three years of experiments with the release of `palmer-006`, our flagship and extremely small language model for local experimentation, edge hardware, small SBCs, and low-power devices. Note that this model serves primarily as a language model and has not been validated nor finetuned as a general-purpose chat assistant. Thus further finetuning is required to properly work as an instruction-tuned model. | |
| ## updates | |
| - [๐ฆโ๐ฅ A wild palmer appeared, go catch it!](https://huggingface.co/CEAMFA/palmer-007-preview-GGUF) | |
| - No longer promoting arithmark, after doing proper evals, palmer-006 is barely better than the base model used to train. Model is [#5 on open slm leaderboard](https://huggingface.co/spaces/AxiomicLabs/Open_SLM_Leaderboard) | |
| - Second spot on [BananaMindBench Leaderboard](https://huggingface.co/spaces/BananaMind/BananaMindBench-Leaderboard)!!๐๐ | |
| ## โ details | |
| <img | |
| class="benchmark-image" | |
| src="https://cdn-uploads.huggingface.co/production/uploads/62a813dedbb9e28866a91b27/WLY14UxFOKUVR9UZ2H5RK.png" | |
| alt="Palmer 006 benchmark comparison" | |
| /> | |
| We first lightly fine-tuned the base model on a diverse set of highly curated data points. We then โpalmerizedโ it by merging models, followed by another light fine-tuning round. Finally, we adjusted Mamba for maximum token speed. With only 90M parameters, this turned the model into a competitive baseline against models above 125M parameters. | |
| > As seen in the benchmark, we are getting closer to the performance of bigger models with our current technique, even on models of this size. Note: We used `acc_norm` whenever available. | |
| ## โ quick test | |
| You can load `model.gguf` model into a llama-server, then run the script inside this repo as follows: | |
| ```python | |
| python completion.py prompt.txt | |
| ``` | |
| ## โ license | |
| Open research, education, hobby use, modification, and redistribution are permitted. Commercial deployment, internal business use, paid products, hosted APIs, and client work require a separate commercial license from appvoid. For commercial licensing: [nosoyhackercodigo@gmail.com](mailto:nosoyhackercodigo@gmail.com) | |
| ๐ But hey! If you already have a [donation subscription](https://ko-fi.com/appvoid), you can claim access to a free commercial license through the email above. You will keep the rights as long as the subscription is active. | |
| ## โ upstream attribution | |
| **palmer-006 is built using artificial intelligence technology from the Technology Innovation Institute.** | |
| ## โ fun facts | |
| - the new logo represents palmer's eye, pointing how small this new model is | |
| - palmer models still exists to some extent due to inspiration from Karpathy's idea of a self-contained "cognitive core". | |
| - we just like light finetuning because we prefer starting "real" experiments with the strongest baseline possible | |
| - [we have an org with early access checkpoints](https://huggingface.co/CEAMFA) | |
| </div> | |
| </body> | |