Text Generation
Transformers
Safetensors
olmo_hybrid
risc-v
compiled-weights
olmo-hybrid
gated-deltanet
tool-use
Instructions to use jgalego/olmputer-tiny with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jgalego/olmputer-tiny with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="jgalego/olmputer-tiny")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("jgalego/olmputer-tiny") model = AutoModelForCausalLM.from_pretrained("jgalego/olmputer-tiny", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use jgalego/olmputer-tiny with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jgalego/olmputer-tiny" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jgalego/olmputer-tiny", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/jgalego/olmputer-tiny
- SGLang
How to use jgalego/olmputer-tiny 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 "jgalego/olmputer-tiny" \ --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": "jgalego/olmputer-tiny", "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 "jgalego/olmputer-tiny" \ --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": "jgalego/olmputer-tiny", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use jgalego/olmputer-tiny with Docker Model Runner:
docker model run hf.co/jgalego/olmputer-tiny
Download example.py from jgalego/olmputer-tiny: direct link, hf CLI and curl.
- Browser
- Download file 1.61 kB
-
https://huggingface.co/jgalego/olmputer-tiny/resolve/main/example.py
- Command line
-
hf download hf://jgalego/olmputer-tiny/example.py
-
curl -L -o example.py https://huggingface.co/jgalego/olmputer-tiny/resolve/main/example.py
1.61 kB
| # /// script | |
| # requires-python = ">=3.12" | |
| # dependencies = [ | |
| # "chipformer @ https://github.com/JGalego/olmputer/archive/98639dff4c84a18542e3ca12a286a4df563b3a27.tar.gz#subdirectory=experimental/riscv", # pylint: disable=line-too-long | |
| # "huggingface_hub", | |
| # "torch==2.14.1", | |
| # "transformers==5.19.0", | |
| # ] | |
| # /// | |
| """Run fibonacci(25) on olmputer-tiny, the RISC-V computer in its weights. | |
| The program's code and registers are written into the model's Gated DeltaNet states, and greedy | |
| generate then runs the CPU: each token it generates is the next token of the execution trace. The | |
| program ends with mv a0, t0 (the result), li a7, 93 and the exit ecall, so the result is the | |
| second-to-last value record the model wrote. | |
| """ | |
| import torch | |
| from chipformer.q35.ir import OLMO | |
| from chipformer.rv import core, firmware, ref, spec | |
| from chipformer.rv.programs import program | |
| from transformers import OlmoHybridForCausalLM | |
| DEVICE = "cuda" if torch.cuda.is_available() else "cpu" | |
| MODEL = OlmoHybridForCausalLM.from_pretrained("jgalego/olmputer-tiny", dtype=torch.bfloat16) | |
| MODEL = MODEL.to(DEVICE).eval() | |
| CIRCUIT = core.build(OLMO) # the CPU as a circuit: it writes the program into the model's cache | |
| TRACE = firmware.run(MODEL, CIRCUIT, ref.Machine.from_program(program("fib"))) | |
| VALUES = [spec.decode_value(TRACE[:i + 1]) for i, t in enumerate(TRACE) | |
| if spec.family(t)[0] in ("F0", "F1", "F2")] | |
| print("fibonacci(25) =", VALUES[-2]) | |
| print(f"{len(TRACE)} trace tokens on {DEVICE}, identical to the reference machine:", | |
| TRACE == ref.Machine.from_program(program("fib")).run()[1:]) | |