Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hal0-profiles

Community model/runner profiles for hal0 — one TOML file per profile, schema-validated, PR-reviewed.

What's a profile?

A profile is a versioned, named recipe: which model, which runner, which lane, which flags — the exact configuration someone ran to get a given result. hal0-profiles is the registry: versioned profile files (llama.cpp args, slot configs, quant choices) with JSON schema CI, reviewed through the same PR flow as benchmark submissions. Each profile card on the gallery links to the bench runs that used it (joined on profile slug), so "this config produced these numbers" ties the profile registry to the benchmark pipeline.

Profile format

One TOML file per profile at profiles/<slug>.toml. Field names are load-bearing — hal0-web's gallery and the future hal0 profile install read them directly. Schema version 1, exactly this shape:

schema = 1

[profile]
slug = "strix-mtp-max"            # ^[a-z0-9][a-z0-9-]{2,63}$ ; must equal filename stem
title = "Speculative decode, everything on"
summary = "draft-mtp with an f16 KV cache. The fastest tokens this box produces, at the cost of 19 GB resident and no room for a second big slot."
intent = "chat"                   # chat | coding | agent | vision | draft | moe | embedding
author = "hal0-ci"                # github handle, no leading @
first_party = true                # optional, default false

[runner]
kind = "llama-server"             # llama-server | flm | onnx | vllm
lane = "rocm"                     # rocm | vulkan_radv | default | npu
min_build = "b9219"               # optional
image = "ghcr.io/hal0ai/amd-strix-halo-toolboxes:rocm-7.2.4-rocmfp4-server"  # optional

[model]
id = "chadrock3-6-35b-uncensored-mtp-strix-lean"   # primary model id (roster id form)
quant = "q4_k_xl"                                  # optional
compatible = ["chadrock-35b-ace-saber", "qwen3.6-35b-a3b-crown-halo-mtp-dynamic"]  # optional

[args]
raw = "-ngl 99 -c 2048 -fa 1 -ctk f16 -ctv f16 --parallel 1 -b 512 --draft-max 4 --draft-min 1 --mtp on"

[requires]                        # optional table
gtt_gb = 24
exclusive = false

[[history]]                       # newest first; history[0].v is the current version
v = 4
date = 2026-06-19
note = "pin build b9219 — draft-mtp accept regressed on b9101"

Bench numbers are a join, not a field

Profile files never carry throughput, TTFT, or memory numbers. Those live in first-party bench data and get joined to a profile by slug at hal0-web build time. A profile describes how to run something; the numbers describing how well it ran are a separate, independently-submitted dataset. This keeps a profile's history clean (config changes only) and lets multiple bench runs accumulate against the same profile without rewriting it.

Repo layout

hal0-profiles/
  README.md                     # this file
  CONTRIBUTING.md                # submission guide
  LICENSE                        # Apache-2.0
  package.json                   # smol-toml, ajv, ajv-formats; "test", "validate"
  schema/profile.schema.json     # JSON Schema (draft 2020-12) for the parsed TOML
  lib/validate.mjs               # parse + schema + cross-checks
  scripts/validate.mjs           # CLI: validate file args, or all profiles with none
  scripts/test/                  # validator test suite + fixtures
  profiles/<slug>.toml           # one file per profile
  .github/workflows/validate.yml # CI: validates changed profiles on PRs, all on push to main
  .github/pull_request_template.md

Seed profiles

Eight seed profiles ship in profiles/, carried over verbatim from real sweep-derived data: agent-27b-tools, coder-next-40b, kv-q8-longctx, lean-9b-daily, strix-mtp-max, tiny-draft-0-8b, vision-27b, vulkan-fallback.

Validating

npm install
npm test               # validator's own test suite
npm run validate        # validates every profile in profiles/
npm run validate -- profiles/strix-mtp-max.toml   # validate specific files

Using profiles

Browse and filter the full gallery at hal0.dev/profiles (coming soon). Installing a profile straight from the CLI — hal0 profile install <slug> — is planned and may trail the gallery slightly. Until then, this repo is the source of truth: read the TOML, copy the args.

License

Apache-2.0.

About

Community model/runner profiles for hal0 — versioned TOML, PR-reviewed

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages