6GB显存运行Qwen3.8-Flash-Next
如果你一直在等待一个可以标准化的开放权重模型——编码、代理、截图、长上下文,而不是单一领域的专家——Qwen3.8-Flash-Next就是那个出现的模型。
它是将支撑Qwen4的架构预览:一个125B混合专家骨干(每个令牌约6B活动参数),加上51B的n-gram嵌入、原生视觉、默认开启思考,以及262K上下文窗口。这是一个主力模型,而不是一个附带实验。
与Opus 4.6 Max相比,根据Qwen自己报告的数据:
它并不是在每个类别都获胜。HLE仍然属于封闭系统。这不是重点。重点是你实际上会选择的开放检查点——编写代码、操作计算机、阅读截图——现在在这些任务上击败了前沿API,而且你可以下载权重。
但下载它们只是容易的部分。以正常方式加载它们并不容易。
Hugging Face的转储在bfloat16格式下约为360GB。单个MoE层就是几GB。仅n-gram表就约102GB。以Hugging Face的方式加载它,你就是在购买机架,而不是显卡。
所以有趣的问题不是Flash-Next是否好。而是你是否可以在没有数据中心GPU的情况下运行它。
我们做到了。在一块RTX 4090上。使用5.95GB显存。
不是量化的4-bit分支。不是蒸馏的学生。来自Qwen/Qwen3.8-Flash-Next的完整检查点,生成真实的令牌。它回答了"Paris"。
以下是方法。
1、流式传输层。不要复制102GB表。
两年前我写过关于在4GB显卡上使用逐层推理运行70B模型的文章。变压器按顺序运行其层。你永远不需要同时将所有层加载到内存中。从磁盘加载一层,计算,释放它,继续。
上个月这个技巧对Kimi K3不够。一个K3层扩展后约56GB——比显卡还大。我们必须流式传输专家,而不是层。
Flash-Next是不同的形状。48个混合层(门控DeltaNet + Qwen稀疏注意力 + MoE)。整个MoE层是几GB的bf16。这确实适合。逐层流式传输再次是正确的技巧。
不适合的是n-gram嵌入——一个51B的查找表注入到一个解码器层中,在bf16格式下约102GB。Hugging Face在加载时将其连接。将其放入GPU你就输了。将其放入64GB机器的普通RAM中你也输了。
AirLLM将该表从其父层中剥离出来,并在主机上进行文件映射。建模代码已经将行收集到表所在的任何设备上。我们从不将102GB复制到显存中,我们也从不将102GB实现为匿名RAM。64GB的机器就足够了。
计算:
- 完整检查点在bf16格式下:约360GB
- 实际上必须驻留在GPU上的内容:视觉塔 + 当前解码器层 + 激活
- 102GB表:在磁盘上,映射,在CPU上收集
- 我们测量的端到端峰值:5.95GB
这是一块24GB显卡,板子大部分仍然空着。这也是一块8GB笔记本显卡,还有呼吸空间。
2、你不需要知道这些
Flash-Next是一个原生视觉语言模型:model.visual下的一个塔,model.language_model下的48层混合解码器,以及嵌套在一个层中的n-gram表。Hugging Face将其注册为Qwen4ExpForConditionalGeneration。架构在树中。没有远程代码需要固定。
AirLLM检测该类,在元设备上构建空模型,流式传输解码器,保持视觉塔驻留,并mmap n-gram表。文本-only的generate()是我们测量的路径;你传递的第一个pixel_values会碰到元张量并死亡。
你不需要关心任何这些来运行它。AutoModel.from_pretrained("Qwen/Qwen3.8-Flash-Next")就是整个接口。
3、重要的数字
在单块 RTX 4090 (24GB)上端到端测量——显卡很大;占用空间不大。完整的bf16检查点,贪婪解码,真实令牌:
它的优势在于你会实际交给主力模型的那类工作:编码代理、计算机使用、文档和截图——这个模型确实能看到——以及决定Flash-Next是否值得以后使用全尺寸GPU。你现在可以在6GB中进行Qwen4预览栈的微调实验。
更广泛的意义是: 5.95GB是消费级显卡。你会标准化的开放模型不需要H100。它需要一个SSD和一台64GB的机器。
4、自己运行
pip install -U "airllm>=3.3.0"
pip install git+https://github.com/huggingface/transformers.git
from airllm import AutoModel
model = AutoModel.from_pretrained("Qwen/Qwen3.8-Flash-Next", delete_original=True)
input_text = ['What is the capital of France? Answer in one word.']
input_tokens = model.tokenizer(
input_text,
return_tensors="pt",
return_attention_mask=False,
truncation=True,
max_length=128,
padding=False)
generation_output = model.generate(
input_tokens['input_ids'].cuda(),
max_new_tokens=8,
use_cache=True,
return_dict_in_generate=True)
print(model.tokenizer.decode(generation_output.sequences[0]))
这就是全部。AirLLM检测架构,在首次运行时拆分检查点,流式传输每个解码器层,mmap n-gram表,并保持视觉塔驻留,而无需被要求。
**Flash-Next特定的一个要求:**一个内置qwen4_exp的transformers构建。那是今天的GitHub main。AirLLM本身的pip版本保持保守;如上所述从git覆盖transformers。
你第一次运行时会需要数百GB的空闲空间(原始检查点加上每层拆分)。delete_original=True在拆分后回收原始文件。
5、这意味着什么
两年来,本地LLM的故事一直有两半从未真正相遇。开放模型变得更好。运行好的模型的硬件仍然是云账单。
Kimi K3让巨型MoE的那一半故事变得有趣。Qwen3.8–27B让密集的"我实际上会使用这个"那一半变得有趣。
Flash-Next是默认选择。一个125B MoE,带有51B内存表、视觉、长上下文,以及你在编码和计算机使用方面会选择超过封闭API的分数。全精度。5.95GB。
持有权重的人制定规则。离线运行。指向截图。微调。检查Qwen4预览层而不是阅读关于它们的论文。
这曾经意味着一个机架。今天它意味着一块8GB显卡、64GB内存和一个磁盘。
AirLLM是开源的,MIT许可证:https://github.com/lyogavin/airllm
pip install -U airllm获取3.3.0。如果有用,星标可以帮助更多人找到它。如果我们没有涵盖的模型,请提出问题——这正是这个模型构建的方式。
原文链接: You Can Run The New Default Open Weights Model — Qwen3.8-Flash-Next 125B— All in 6GB of VRAM
汇智网 翻译整理,仅供学习交流之用。