ARLoop
Collection
4 items β’ Updated
How to use osunlp/ARLoop-0.6B with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="osunlp/ARLoop-0.6B", trust_remote_code=True) # pip install -U transformers accelerate
# Load model directly
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("osunlp/ARLoop-0.6B", trust_remote_code=True, device_map="auto")How to use osunlp/ARLoop-0.6B with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "osunlp/ARLoop-0.6B"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "osunlp/ARLoop-0.6B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker model run hf.co/osunlp/ARLoop-0.6B
How to use osunlp/ARLoop-0.6B with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "osunlp/ARLoop-0.6B" \
--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": "osunlp/ARLoop-0.6B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'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 "osunlp/ARLoop-0.6B" \
--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": "osunlp/ARLoop-0.6B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'How to use osunlp/ARLoop-0.6B with Docker Model Runner:
docker model run hf.co/osunlp/ARLoop-0.6B
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("osunlp/ARLoop-0.6B", trust_remote_code=True, device_map="auto")ARLoop is a fully-open pretrained looped transformer with attention residuals. This release contains the final checkpoint of the 0.6B, 180B-token training run. It is a base pretrained model, intended for text completion, which can be used for mid-training and post-training.
pip install 'transformers==5.22.0' safetensors
# Install a PyTorch build suitable for your CPU or CUDA environment separately.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "osunlp/ARLoop-0.6B"
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id, trust_remote_code=True, dtype=torch.bfloat16,
).to(device).eval()
inputs = tokenizer("The capital of France is", return_tensors="pt").to(device)
with torch.inference_mode():
output = model.generate(**inputs, max_new_tokens=64, do_sample=False)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Weights load in BF16 for inference. The stored checkpoint retains the original FP32 weights; routing and normalization statistics use FP32 internally.
| Property | Value |
|---|---|
| Physical transformer layers | 18, shared across 3 recurrent passes |
| Effective transformer depth | 54 |
| Hidden / MLP intermediate width | 1536 / 4608 |
| Attention / KV heads | 16 / 4 |
| Context length | 4096 |
| RoPE base | 50000 |
| Attention-residual block size | 18 sublayers |
| Recent residual blocks | 3, with input embedding retained |
| Value embeddings | Shared across alternating physical layers |
| Tokenizer vocabulary | 49152, SmolLM2 tokenizer used in training |
| Output head | Tied to token embeddings |
Model release: Apache License 2.0.
main contains the final checkpoint.
| Optimizer step | Training tokens | Revision |
|---|---|---|
| 171,660 (final) | 179,998,556,160 | main |
@misc{yao2026arloop,
title={{ARLoop}: Fully-Open Pre-trained Looped Transformers with Attention Residuals},
author={Yuekun Yao and Yupei Du and Dawei Zhu and Huan Sun},
year={2026},
eprint={2611.05234},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2611.05234}
}
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="osunlp/ARLoop-0.6B", trust_remote_code=True)