Laya 显存需求:三个模型、全部文件与运行方式

Laya 是基于 ModernBERT 的决策编码器,不是对话 LLM:输入文本和类型化问题,一次前向返回校准概率。选择模型、文件和输入长度,查看峰值内存和哪些显卡装得下。

– 估算峰值内存

权重: – 即文件大小;其余是一次前向的激活值,再加 0.5 GB 运行时开销。

显存4 GB6 GB8 GB12 GB16 GB24 GB
结果––––––

没有 GPU 时,同样的量从系统内存中占用: –.

“勉强”表示只有运行时使用融合注意力内核(不保存完整注意力分数矩阵)时才装得下。

16 GB、24 GB 显卡或纯 CPU 能跑 Laya 吗?

都能。已发布的最大文件是 850 MB,按默认输入长度,每个文件的峰值都在 0.76 GB–1.40 GB,所以 16 GB 或 24 GB 显卡只用到不到十分之一,4 GB 显卡也够。没有 GPU 时模型从系统内存运行,空闲 3 GB 就足够,连需要加载两份模型的 llama.cpp 方式也够用。硬件决定的是速度而不是能否运行:GPU 上每次请求几十毫秒,CPU 上几百毫秒(见下方实测)。

全部 Laya 文件:大小与内存

每个模型按默认输入长度计算(English 为 512 token,typed-decisions 和 multilingual 为 1,024),每次前向 1 行。大小是 Hugging Face 列出的已发布文件,单位 MB;内存单位为 GB(GiB)。

模型运行方式格式 文件大小峰值内存 16 GB24 GB纯 CPU(内存)
Laya (English) PyTorch(laya 包) F16 model.safetensors 843 MB 1.30 GB–1.30 GB 可以 可以 1.30 GB
Laya (English) ggmlc laya 程序 F16 laya_english_f16.gguf 846 MB 1.31 GB–1.33 GB 可以 可以 1.33 GB
Laya (English) ggmlc laya 程序 Q8_0 laya_english_q8_0.gguf 452 MB 0.95 GB–0.96 GB 可以 可以 0.96 GB
Laya (English) ggmlc laya 程序 UD_Q4_K_M laya_english_ud_q4_k_m.gguf 420 MB 0.92 GB–0.93 GB 可以 可以 0.93 GB
Laya (English) llama.cpp + 决策头 F16 laya-F16.gguf 791 MB
另加决策头 106 MB
1.26 GB–1.28 GB 可以 可以 2.66 GB
Laya (English) llama.cpp + 决策头 Q8_0 laya-Q8_0.gguf 421 MB
另加决策头 106 MB
0.92 GB–0.93 GB 可以 可以 2.32 GB
Laya (English) llama.cpp + 决策头 Q6_K laya-Q6_K.gguf 344 MB
另加决策头 106 MB
0.85 GB–0.86 GB 可以 可以 2.24 GB
Laya (English) llama.cpp + 决策头 Q4_K_M laya-Q4_K_M.gguf 272 MB
另加决策头 106 MB
0.78 GB–0.79 GB 可以 可以 2.18 GB
Laya typed-decisions PyTorch(laya 包) F16 model.safetensors 843 MB 1.31 GB–1.34 GB 可以 可以 1.34 GB
Laya typed-decisions ggmlc laya 程序 F16 laya_typed_decisions_f16.gguf 850 MB 1.34 GB–1.40 GB 可以 可以 1.40 GB
Laya typed-decisions ggmlc laya 程序 Q8_0 laya_typed_decisions_q8_0.gguf 455 MB 0.97 GB–1.04 GB 可以 可以 1.04 GB
Laya typed-decisions ggmlc laya 程序 UD_Q4_K_M laya_typed_decisions_ud_q4_k_m.gguf 424 MB 0.94 GB–1.01 GB 可以 可以 1.01 GB
Laya typed-decisions llama.cpp + 决策头 F16 laya-typed-decisions-F16.gguf 791 MB
另加决策头 106 MB
1.29 GB–1.35 GB 可以 可以 2.73 GB
Laya typed-decisions llama.cpp + 决策头 Q8_0 laya-typed-decisions-Q8_0.gguf 421 MB
另加决策头 106 MB
0.94 GB–1.00 GB 可以 可以 2.39 GB
Laya typed-decisions llama.cpp + 决策头 Q6_K laya-typed-decisions-Q6_K.gguf 344 MB
另加决策头 106 MB
0.87 GB–0.93 GB 可以 可以 2.32 GB
Laya typed-decisions llama.cpp + 决策头 Q4_K_M laya-typed-decisions-Q4_K_M.gguf 272 MB
另加决策头 106 MB
0.80 GB–0.87 GB 可以 可以 2.25 GB
Laya multilingual PyTorch(laya 包) F16 model.safetensors 644 MB 1.11 GB–1.14 GB 可以 可以 1.14 GB
Laya multilingual ggmlc laya 程序 F16 laya_multilingual_f16.gguf 663 MB 1.15 GB–1.19 GB 可以 可以 1.19 GB
Laya multilingual ggmlc laya 程序 Q8_0 laya_multilingual_q8_0.gguf 362 MB 0.86 GB–0.91 GB 可以 可以 0.91 GB
Laya multilingual ggmlc laya 程序 UD_Q4_K_M laya_multilingual_ud_q4_k_m.gguf 524 MB 1.02 GB–1.06 GB 可以 可以 1.06 GB
Laya multilingual llama.cpp + 决策头 F16 laya-multilingual-F16.gguf 629 MB
另加决策头 60 MB
1.11 GB–1.16 GB 可以 可以 2.32 GB
Laya multilingual llama.cpp + 决策头 Q8_0 laya-multilingual-Q8_0.gguf 341 MB
另加决策头 60 MB
0.85 GB–0.89 GB 可以 可以 2.05 GB
Laya multilingual llama.cpp + 决策头 Q6_K laya-multilingual-Q6_K.gguf 271 MB
另加决策头 60 MB
0.78 GB–0.83 GB 可以 可以 1.98 GB
Laya multilingual llama.cpp + 决策头 Q4_K_M laya-multilingual-Q4_K_M.gguf 249 MB
另加决策头 60 MB
0.76 GB–0.81 GB 可以 可以 1.96 GB

更长的输入和更大的批量

内存随“行数 × token 数”增长,注意力分数随长度的平方增长。即使是这里最重的情况,laya-multilingual 读取一篇 8,192 token 的文档,也不到 5 GB。

负载峰值内存4 GB6 GB8 GB16 GB24 GB
Laya English,PyTorch,32 行 × 512 token1.68 GB–1.93 GB可以可以可以可以可以
Laya English,PyTorch,64 行 × 512 token2.08 GB–2.58 GB可以可以可以可以可以
multilingual,PyTorch,1 篇文档 × 8,192 token1.21 GB–2.71 GB可以可以可以可以可以
multilingual,ggmlc F16,1 篇文档 × 8,192 token1.34 GB–4.34 GB勉强可以可以可以可以

在本地运行 Laya 的三种方式

1. PyTorch:laya Python 包

官方参考方式,也是唯一能运行全部三个模型并把每个请求自动路由到合适模型的方式。首次使用时下载 safetensors 文件,可在 CUDA、Apple GPU 或 CPU 上运行。PyPI、GitHub。

pip install laya
from laya import Router

router = Router()  # Router(preload=True) loads all three checkpoints up front
result = router.predict(
    "We were billed twice for March. Please refund the duplicate.",
    {"churn_risk": {"type": "noul", "instructions": "Does the user threaten to leave?"}},
)
print(result["answers"]["churn_risk"]["noul"])  # probability of yes

2. ggmlc:独立的 laya 程序

从 ggmlc 发布页下载一个程序即可运行 mys/laya-*-GGUF 文件,无需 Python:有 CUDA 或 Metal 时使用 GPU,否则用 CPU。它提供命令行、带网页的 HTTP 服务和 JSON-RPC 守护进程。这些 GGUF 是 ggmlc 自己的格式,llama.cpp 无法加载。

huggingface-cli download mys/laya-GGUF laya_english_f16.gguf --local-dir .
laya decide laya_english_f16.gguf --preset email --device auto

3. llama.cpp:编码器用 llama-server,决策头用 Python

fr0stbit3/laya-*-gguf 文件只包含 ModernBERT 编码器,由 llama-server 以逐 token 向量的形式提供。决策头在同目录的 -head.safetensors 文件中,需要用 laya 包在 Python 里运行,而 laya 包仍会下载一次原始权重。模型卡说明这些文件只做过少量测试,建议用 F16 或 Q8_0。

llama-server -m laya-F16.gguf --embeddings --pooling none -c 2048 -ub 2048 -b 2048 --port 8080

Ollama

Ollama 官方库里没有 Laya。社区上传的 s1gnature/laya 是一个嵌入模型:ollama embed 返回的是编码器向量,而不是 Laya 的答案,因为其中不包含决策头。ollama run 也无法和它对话:Laya 不生成文本。

Laya 不是 LLaVA

名字相近,模型完全不同。LLaVA 是视觉语言对话模型(7B–34B 的 LLM 加图像编码器),会针对图片生成文字,Ollama 默认下载就有 4.7–20 GB。Laya 是 0.3–0.4B 的文本编码器加决策头:输入一段文本或 JSON“状态”和类型化问题(选择、打分、是/否),一次前向就返回校准过的概率。它从不生成 token,不读图片,也没有 KV 缓存,所以本站的 LLM 计算器都不适用于它。

已发布的速度实测

硬件运行方式负载耗时来源
Tesla T4(16 GB)PyTorch (laya package)Laya English,一次 1 个问题 / 一次 10 个问题39.5 ms / 158.6 ms convaiinnovations/laya
Tesla T4(16 GB)PyTorch (laya package)Laya multilingual,一次 1 个问题 / 一次 10 个问题32.8 ms / 72.3 ms convaiinnovations/laya
CPUPyTorch, Router(preload=True)一次请求,模型已预加载193–464 ms convaiinnovations/laya
RTX 4050 笔记本(6 GB)ggmlc laya, F16, --cuda-graph1 个是/否问题 / 7 个问题的 email 预设,一次 B=7 前向25 ms / 143 ms mys/laya-GGUF
Apple GPUPyTorch (laya package)Laya multilingual,一篇 4,000 token 文档,max_len=8192about 1.7 s convaiinnovations/laya

文件大小于 从 Hugging Face API 读取;层数来自各模型的 encoder/config.json。权重大小是精确值;激活内存根据结构估算(每次只保留一层编码器的张量,PyTorch 为 BF16,ggml 为 F32),另加固定 0.5 GB 运行时开销。 仓库: convaiinnovations/laya、mys/laya-GGUF、fr0stbit3/laya-gguf、convaiinnovations/laya-typed-decisions、mys/laya-typed-decisions-GGUF、fr0stbit3/laya-typed-decisions-gguf、convaiinnovations/laya-multilingual、mys/laya-multilingual-GGUF、fr0stbit3/laya-multilingual-gguf

对话类 LLM 请用 LLM 显存计算器。

常见问题

Laya 需要多少显存?

不到 1.5 GB。最大的文件是 850 MB(typed-decisions 的 ggmlc F16),按默认输入长度一次前向的峰值为 0.76–1.40 GB,含 0.5 GB 运行时开销。批量 64 行 × 512 token 也只需约 2.1–2.6 GB。

没有 GPU 能跑 Laya 吗?

能。laya Python 包和 ggmlc 的 laya 程序都支持纯 CPU,内存占用与上表相同(约 1–1.5 GB)。官方模型卡给出的 CPU 耗时为每次请求 193–464 ms(模型已预加载)。

Laya 和 LLaVA 是同一个模型吗?

不是。LLaVA 是 7B–34B 的视觉语言对话模型;Laya 是 0.3–0.4B 的文本分类/决策编码器,不生成文字,也不读图片。

Ollama 能运行 Laya 吗?

Ollama 官方库没有 Laya。社区上传的 s1gnature/laya 只能用 ollama embed 输出编码器向量,不包含决策头,得不到 Laya 的答案。要完整运行,请用 laya Python 包或 ggmlc 的 laya 程序。

三个 Laya 模型有什么区别?

Laya English 和 typed-decisions 基于 ModernBERT-large(4.21 亿参数,28 层);multilingual 基于 mmBERT-base(3.22 亿参数,22 层),支持 100 多种语言,可读 8,192 token 的长文档。

更多计算器

更新于