Sign inSign up

farbodatdocker/scalarlm

By farbodatdocker

•Updated about 13 hours ago

OTel: one container for agnostic training and vLLM serving on AMD, NVIDIA and AWS chips.

Image
Machine learning & AI
Data science
1

2.5K

farbodatdocker/scalarlm repository overview

⁠ScalarLM for OTel (AMD MI355X, NVIDIA H100, AWS Trainium2)

One container that serves an OpenAI compatible vLLM endpoint and runs Megatron training through Slurm. Supports SFT, LoRA, full parameter training and GRPO with ddp, fsdp and pytorch_fsdp.

⁠Tags

TagHardwareStack
mi355-v1.8AMD Instinct MI355X (gfx950)ROCm 7.2, GRPO
h100-v2.1NVIDIA H100 (sm_90)CUDA 12.9, vLLM 0.32, GRPO, EFA
trainium2-v1.0AWS Trainium2Neuron, LoRA training, no GRPO

There is no latest tag. Always pull a hardware tag.

⁠Quick start (NVIDIA H100)

docker run -d --name scalarlm --gpus all --ipc host --shm-size=64g \
  -e SCALARLM_MODEL=Qwen/Qwen3-0.6B -p 8000:8000 -p 8001:8001 \
  -v $HOME/.cache/huggingface:/root/.cache/huggingface \
  farbodatdocker/scalarlm:h100-v2.1
curl http://localhost:8000/v1/health

⁠Quick start (AMD MI355X)

docker run -d --name scalarlm --init --shm-size=64g --ulimit memlock=-1 \
  --device=/dev/kfd --device=/dev/dri --group-add video \
  --security-opt seccomp=unconfined -p 8000:8000 -p 8001:8001 \
  -e SCALARLM_MODEL=Qwen/Qwen3-0.6B -e SCALARLM_MAX_GPUS_PER_NODE=8 \
  farbodatdocker/scalarlm:mi355-v1.8

--shm-size=64g is required. SCALARLM_MAX_GPUS_PER_NODE defaults to 1.

⁠Quick start (AWS Trainium2)

Runs on 8 Trainium2 devices: vLLM uses the first 4 and training uses the rest.

docker run -d --name scalarlm \
  --device=/dev/neuron0 --device=/dev/neuron1 --device=/dev/neuron2 --device=/dev/neuron3 \
  --device=/dev/neuron4 --device=/dev/neuron5 --device=/dev/neuron6 --device=/dev/neuron7 \
  --shm-size=64g --ulimit memlock=-1 -p 8000:8000 -p 8001:8001 \
  -e SCALARLM_MODEL=/root/models/<serving-model> \
  -e SCALARLM_TENSOR_PARALLEL_SIZE=16 -e SCALARLM_MAX_GPUS_PER_NODE=16 \
  -e SCALARLM_VLLM_ARGS="<vLLM Neuron flags matching the compiled graphs>" \
  -v /path/to/models:/root/models:ro -v /path/to/hf-cache:/root/.cache/huggingface \
  farbodatdocker/scalarlm:trainium2-v1.0
curl http://localhost:8000/v1/health

Tested with Gemma 4 31B LoRA. The first start compiles for several minutes. Adapters cannot be loaded at run time, so merge them and restart with the merged model. See the Trainium2 guide for the vLLM flags.

⁠Documentation

⁠About OTel

Open Telco (OTel) AI is an open ecosystem of telecom datasets, benchmarks, models, and reproducible training and inference recipes. OTel’s mission is to give telecom operators the freedom to choose their models, software, hardware, and infrastructure. With contributions from across the industry, OTel has built a shared, open-source AI foundation that enables operators to build, adapt, and deploy AI on their own terms.

OTel has expanded beyond open telecom datasets and specialized embedding, reranking, language, decision, classification, and safety models to include a reproducible training and inference ecosystem. The ecosystem supports multiple software stacks across hardware from AMD, NVIDIA, AWS, Apple, Tenstorrent, and Intel.

OTel research includes a NeurIPS 2026 Spotlight paper⁠ in the Evaluations & Datasets Track and a Breakthrough Impact paper accepted to the ACM AI Leadership Summit 2026⁠. See selected blog and media coverage⁠ of OTel.

GitHub⁠ · Hugging Face⁠ · Paper⁠

Maintainer: Farbod Tavakkoli. License: Apache 2.0.

Tag summary

Content type

Image

Digest

sha256:c78d6e9d6…

Size

12.5 GB

Last updated

about 13 hours ago

docker pull farbodatdocker/scalarlm:h100-v2.2