shopify-api-ruby
ShopifyAPI는 Shopify 관리자 REST와 GraphQL 서비스를 간편하게 이용할 수 있는 경량 gem이다
무료 오픈소스 로컬 LLM, GPU 메모리 우선 채우고 나머지는 RAM에 자동 배치, 32GB 카드에 46GB 모델을 초당 36토큰으로 실행
A free, open-source local LLM engine that fills your GPU's memory first and puts the rest of the model in RAM, automatically. A 46 GB model on a 32 GB card at 36 tokens/second.
개발 도구C++ · HTMLGitHub @EHTi-Chad온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Fast local LLMs on any PC: puts every part of the model in the right memory (VRAM, RAM, soon SSD).
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A performance-first local LLM engine: it puts every part of a model in the preferred memory location. Big models run as fast as your PC allows, and your RAM, not your GPU, sets how big you can go.
tierlm is written from scratch in C++ by Claude (Anthropic's AI), with Chad Jameson (EHTi) directing the project, making the design calls, and testing and debugging it on real hardware. It uses ggml's math kernels, with a few small changes that are all listed and explained in docs/GGML_CHANGES.md; the tokenizer, model graph, KV cache, attention, memory planner, server and dashboard are all tierlm's own. It does not use llama.cpp.
It runs the common model families (Llama 2/3, Mistral, Mixtral, Qwen2/2.5, Qwen3, Qwen3 MoE, Qwen3.5/3.6/3.8 dense and MoE, Qwen3-Next, OLMoE) on the CPU, on any GPU with Vulkan (Intel, AMD, NVIDIA), or on NVIDIA with CUDA, on Windows (ready-to-run download) and Linux (build from source; a ready-made download is coming). Models bigger than the GPU's memory are split between VRAM and RAM automatically: on a laptop RTX 3070 (8 GB), the 17 GB Qwen3.6-35B-A3B runs at about 33 tokens/second (35 with speculative decoding), and on an RTX 5090 the 37 GB Qwen3.6-35B-A3B Q8_0 runs at about 94 tokens/second in a normal chat. A web page lets you pick a model and chat, with a live dashboard showing speed, where the model lives, and the router picking experts.
New user? Read the tierlm 0.5.0 guide (PDF): what tierlm is, step-by-step setup, every setting, how it works, and all test results, with diagrams.
Status: early. VRAM and RAM tiering works, down to individual experts; the SSD tier is next. Not every model family is supported yet. See Supported models and the roadmap.
Local AI apps are usually built around the graphics card: a model that fits in VRAM runs well, and anything bigger is cut wherever VRAM runs out. But not every part of a model is equal. Attention, the router and the context are used for every word; in a mixture-of-experts model, most experts sit idle most of the time. VRAM is fast but small, RAM is big but several times slower, and an SSD is bigger again. Speed comes from putting the busiest parts in the fastest memory, and that is what tierlm is built around (the tiering idea was inspired by Strata):
| Memory | What tierlm puts there | Why |
|---|---|---|
| VRAM (GPU) | Attention, the router and the context (KV cache) of every layer, then as many experts or layers as fit | Used for every word, and the GPU reads its memory fastest |
| System RAM (CPU) | The rest: experts of an MoE model, or whole layers of a dense one | Needed less often; the CPU works on them with the best instructions it has (AVX2, AVX-512) |
| SSD (soon) | Rarely used experts, streamed on demand | For models bigger than VRAM and RAM together |
It makes a large difference: the 17 GB Qwen3.6-35B-A3B on an 8 GB laptop GPU runs at 13 tok/s split by whole layers, 33 tok/s with attention and context in VRAM and only the experts in RAM, and 35 tok/s with speculative decoding.
How tierlm keeps it fast, at any size:
| Graphics card | System RAM | Largest model, roughly | For example |
|---|---|---|---|
| 8 GB | 32 GB | 30 GB | Qwen3.6-35B-A3B at 3 or 4 bits |
| 8 GB | 64 GB | 60 GB | Qwen3.6-35B-A3B at 8 bits |
| 16 GB | 64 GB | 70 GB | Qwen3-Coder-Next 80B-A3B at 4 to 5 bits |
| 24 GB | 64 GB | 75 GB | Llama 3.3 70B at 6 bits |
| 32 GB | 64 GB | 85 GB | Qwen3-Coder-Next 80B-A3B at 6 bits |
| 24 GB | 128 GB | 140 GB | Qwen3.5-122B-A10B at 8 bits |
Mixture-of-experts models (A3B, A10B...) stay fast with most of the model in RAM: Qwen3.6-35B-A3B (17 GB) runs at 33 tok/s on an 8 GB laptop RTX 3070. Dense models are slower once they spill into RAM, which is where speculative decoding helps most.
-00001-of-0000N.gguf files load as one model.RTX 5090 (32 GB) + Ryzen 9 9950X3D, 64 GB DDR5, Windows 11 (0.5.1): Qwen3.6-35B-A3B Q8_0 (lmstudio-community, 37 GB file, 34.4 GiB), 32K context, CUDA, attention in VRAM and experts split between VRAM and RAM:
| Speed | |
|---|---|
| A normal chat (an 813-token reply, temperature 0.7) | 93.7 tok/s |
| Benchmark (answers two questions the way a chat does) | 95.9 tok/s |
| Reading the prompt | 648.8 tok/s |
RTX 5080 (16 GB) + Ryzen 7 9800X3D, 32 GB DDR5-6000, Windows 11 (0.5.0): Qwen3.6-35B-A3B Q6_K (27 GB file), 32K context, measured by Find the fastest settings:
| Split mode | Generation |
|---|---|
| Whole layers | 37.0 tok/s |
| Experts in RAM | 65.2 tok/s |
| Experts in RAM, busiest experts in VRAM | 61.9 tok/s |
In a normal chat (a 900-token reply at temperature 0.7) it ran at 55.6 tok/s. This file has no draft layer, so speculative decoding wasn't used.
RTX 3070 Laptop (8 GB) + Ryzen 9 5900HX, Windows 11:
| Model | Where it runs | Generation |
|---|---|---|
| Llama 3.2 1B Q4_K_M | VRAM, Vulkan | 230.7 tok/s |
| Llama 3.2 1B Q4_K_M | VRAM, CUDA | 198.1 tok/s |
| Qwen3-30B-A3B Q3_K_M (14.7 GB) | CPU only | 19.3 tok/s |
| Qwen3-30B-A3B Q3_K_M (14.7 GB) | 22 of 48 layers in VRAM, rest in RAM (CUDA) | 27.1 tok/s |
Speculative decoding, same laptop. Qwen3.6-27B MTP Q4_K_M (Unsloth, dense, 17 GB), 16K context, 8-bit context memory, 23 of 64 layers in VRAM and the rest in RAM (CUDA):
| Guesses per check | Generation |
|---|---|
| Off | 3.0 tok/s |
| 2 | 3.9 tok/s |
| 3 (the default) | 5.3 tok/s (2.6 tokens per check, 53% of guesses kept) |
| 4 | 4.1 tok/s |
A dense model with most of its weights in RAM is limited by how fast RAM can be read; checking several guessed tokens per read makes it about 1.75× faster here, with the same answers. More guesses isn't always better: each extra guess is less likely to be kept but still has to be checked.
Mixture-of-experts on the same laptop. Qwen3.6-35B-A3B MTP UD-Q3_K_XL (Unsloth, 17 GB), 16K context (CUDA), measured by Find the fastest settings in 0.5.0 (short replies at temperature 0; since 0.5.1 it measures real chat replies, which on this laptop come out about 27 tok/s with speculative decoding at temperature 0.7):
| Setting | Without CUDA graphs | 0.5.0 |
|---|---|---|
| Whole layers | 13.2 tok/s | 13.0 tok/s |
| Experts in RAM | 21.7 tok/s | 33.3 tok/s |
| Experts in RAM, busiest experts in VRAM (hot experts) | 21.0 tok/s | 29.7 tok/s |
| Experts in RAM + speculative decoding, 1 guess per check | 27.5 tok/s | 35.3 tok/s |
| Experts in RAM + speculative decoding, 2 guesses | 28.3 tok/s | 35.1 tok/s |
Keeping attention on the GPU and only the experts in RAM means the CPU reads just the 8 experts each token picks. CUDA graphs cut the GPU's share of each token from about 22 ms, mostly spent launching small jobs, to a fraction of that. Short guesses suit MoE models: every guess the model checks brings in its own experts from RAM. Back-to-back runs on a laptop vary by 1–2 tok/s with temperature.
Intel Arc 140V (integrated), Intel Core Ultra 7 258V:
OLMoE-1B-7B-0924-Instruct, Q4_K_M (3.9 GiB), generation speed as context grows (tierlm-bench):
| Context | Intel Arc 140V, before | Intel Arc 140V, now | Gain |
|---|---|---|---|
| 64 tokens | 45.3 tok/s | 67.8 tok/s | 1.5× |
| 512 | 35.4 | 43.0 | 1.2× |
| 1,024 | 11.8 | 33.7 | 2.9× |
| 2,048 | 12.9 | 22.4 | 1.7× |
"Before" is the first version (f32 KV cache, plain attention); "now" adds the f16 KV cache, flash attention and reserved compute memory. Laptop: Intel Core Ultra 7 258V, 32 GB shared memory, Windows 11, Vulkan driver 101.8826. On the same laptop's CPU alone, tierlm generates about 40–46 tok/s at short context.
Long contexts get slower because every new token has to read the whole KV cache. OLMoE keeps separate keys and values for all 16 attention heads (about 128 KB per token of context at f16), so a quantized KV cache is the next lever for it.
On Linux? See Build from source (Linux) below: a few commands, and the same web page.
tierlm's point is running models bigger than your GPU. It fills GPU memory first, then puts the rest of the model in system RAM, automatically. On a laptop RTX 3070 with 8 GB, the 14.7 GB Qwen3-30B-A3B runs at about 27 tokens/second.
What you need
| GPU memory | RAM | Biggest model, roughly |
|---|---|---|
| 8 GB | 32 GB | about 30 GB |
| 8 GB | 64 GB | about 60 GB |
| 16 GB | 64 GB | about 70 GB |
| 32 GB | 64 GB | about 85 GB |
Mixture-of-experts models (names with A3B, A10B and so on, such as Qwen3-30B-A3B or Qwen3.6-35B-A3B) only use a small part of the model for each word, so they stay fast even when most of the model is in RAM. These are the best fit for tierlm. Ordinary (dense) models also work, but slow down a lot once most of the model is in RAM.
Steps
From Releases, download one of the two zips and extract it:
tierlm-<version>-windows.zip (about 550 MB): everything, including NVIDIA's CUDA engine, the fastest
option on NVIDIA GeForce RTX cards. Works on every PC. Get this one if you have an NVIDIA RTX card.tierlm-<version>-windows-lite.zip (about 20 MB): the same app without CUDA. Runs on Intel Arc, AMD
Radeon and NVIDIA cards through Vulkan (slower than CUDA on NVIDIA), or on the CPU.tierlm finds your graphics card and picks the fastest engine it has by itself. Nothing else to install: your normal graphics driver is enough.
Get a model. tierlm uses GGUF files, the same ones LM Studio uses; if you already have LM Studio models, tierlm can use that folder directly. To download one, pick a size for your computer:
Qwen3-30B-A3B Q3_K_M
(14.7 GB; needs 32 GB RAM with an 8 GB GPU)Qwen3.6-35B-A3B Q4_K_M (about 21 GB) or
Q8_0 (for 64 GB RAM). The Q8_0 runs at about 94 tokens/second on an RTX 5090 with 64 GB RAM.Llama-3.2-1B-Instruct Q4_K_M (0.8 GB)Put the file in tierlm's models folder, or leave it where it is and choose that folder in step 3.
Double-click start-tierlm.bat. Your browser opens at http://127.0.0.1:8040, where tierlm shows the
hardware it found and the models in your folder (the ⋯ menu changes the folder). Pick a model and chat.
Step-by-step guide: docs/GETTING_STARTED.md or the PDF guide · Problems: docs/FAQ.md
| Family | Tested on real weights |
|---|---|
| OLMoE | OLMoE-1B-7B-0924-Instruct |
| Qwen3, Qwen3 MoE | Qwen3-0.6B, Qwen3-30B-A3B |
| Llama 3.x | Llama-3.2-1B-Instruct |
| Llama 2 / Mistral 7B / TinyLlama (SentencePiece) | TinyLlama-1.1B-Chat |
| Mixtral, Qwen2/2.5 | model math verified, real weights not yet tested |
Qwen3.5 / 3.6 / 3.8 dense (qwen35, hybrid Gated DeltaNet) | Qwen3.6-27B (Unsloth MTP Q4_K_M) on an RTX 3070 laptop, with speculative decoding |
Qwen3.5 / 3.6 MoE (qwen35moe, e.g. Qwen3.6-35B-A3B) | Qwen3.6-35B-A3B Q8_0 on an RTX 5090 |
Qwen3-Next / Qwen3-Coder-Next (qwen3next, 80B-A3B) | model math verified, real weights not yet tested |
Not yet: Gemma, Phi, DeepSeek, gpt-oss and others. The setup screen says which of your files are supported. Full list: docs/GETTING_STARTED.md.
Full instructions, including Linux/WSL and common pitfalls, are in docs/BUILD.md.
git clone --recurse-submodules https://github.com/EHTi-Chad/tierlm.git C:\dev\tierlm
cd /d C:\dev\tierlm
cmake -S . -B build -G Ninja -DTIERLM_VULKAN=ON -DTIERLM_CUDA=ON
cmake --build build
build\tierlm-devices.exe
build\tierlm-server.exe --models C:\models --port 8040
Then open http://127.0.0.1:8040. Run these from a Visual Studio Developer Command Prompt with the Vulkan SDK
installed (and the CUDA Toolkit for -DTIERLM_CUDA=ON; leave it out for a Vulkan-only build).
tierlm builds and runs on Linux too (its tests run there). A ready-made Linux download is coming; until then, on Ubuntu or Debian:
sudo apt install -y build-essential cmake git ninja-build
sudo apt install -y libvulkan-dev glslc # for Vulkan (Intel, AMD, NVIDIA)
git clone --recurse-submodules https://github.com/EHTi-Chad/tierlm.git ~/tierlm
cd ~/tierlm
cmake -S . -B build -G Ninja -DTIERLM_VULKAN=ON # or -DTIERLM_CUDA=ON with the CUDA toolkit installed
cmake --build build
./build/tierlm-server --models ~/models --port 8040
Then open http://127.0.0.1:8040. Details, CUDA versions and WSL notes: docs/BUILD.md.
| Tool | What it does |
|---|---|
tierlm-server | Web chat and live dashboard, plus a local HTTP API |
tierlm-run | Generate text from a prompt on the command line |
tierlm-bench | Measure generation speed at several context lengths |
tierlm-devices | List the compute devices this build can use, and why a GPU is missing |
tierlm-inspect | Summarise a GGUF model: size by role, experts, per-layer size |
tierlm-plan | Dry-run the VRAM/RAM/SSD placement plan for a memory budget |
tierlm-kv | Dump a GGUF file's metadata |
tierlm-tok-test, tierlm-logits | Test harnesses used by tests/ |
Details and options: docs/TOOLS.md.
mtp-*.gguf next to the model): the model checks several guessed tokens in one pass, so
each read of its weights from RAM produces more than one token. Same answers, faster replies; most useful when the
model doesn't fit in VRAM. Plus 8-bit and 4-bit context memory (KV cache) to fit more of the model in VRAM./v1/models, /v1/chat/completions, streamed or not, with tool calling): Open WebUI,
Continue, LibreChat, coding agents such as opencode and Cline, and anything built on the OpenAI SDK can use tierlm.
An Allow other devices switch and an optional API key control who can connect. See docs/API.md and Connect other apps.