ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

MAX v26.2 发布说明深度解析:FLUX 图像生成、DeepSeek 增强与 Blackwell 内核优化

MAX v26.2 发布说明深度解析:FLUX 图像生成、DeepSeek 增强与 Blackwell 内核优化 MAX v26.2 发布说明深度解析FLUX 图像生成、DeepSeek 增强与 Blackwell 内核优化【免费下载链接】mojoThe Modular Platform (includes MAX Mojo)项目地址: https://gitcode.com/GitHub_Trending/mo/mojoMAX v26.22026-03-19 发布是 Modular 平台的一次大规模版本更新覆盖图像生成服务、DeepSeek 模型系列增强、BlackwellSM100GPU 内核优化、推理服务器能力扩展、maxCLI 新参数、Python API 演进以及一批破坏性变更。本文以 docs/releases/v26.2.md 为主线结合仓库源码与 环境变量参考 等配套文档逐项解析每个版本要点及其使用方式帮助你判断升级影响并快速上手新功能。Highlights三大核心亮点v26.2 的版本亮点集中在以下三个方向FLUX 扩散模型图像生成MAX 正式支持基于 FLUX 扩散模型的图像生成FLUX.1-dev与FLUX.2-dev通过全新的/v1/responses端点对外服务该端点实现 OpenResponses。DeepSeek 系列显著增强新增 DeepSeekV3.2 架构支持含多潜变量注意力 multi-latent attention、融合 FP8 分页 KV cache为 DeepSeek-R1 增加 NVFP4 量化支持支持专家并行专家并行expert parallelism现在单节点部署支持超过 32 个本地专家且无需 NVSHMEM。BlackwellSM100内核大幅优化引入 SnapMLA 用于 MLA decodeFLUX VAE 使用 TMA im2col 硬件加速 conv2dBF16/FP8 matmul 内核融合 epilogue并为 MLA prefill 增加带 blockwise scaling 的 FP8 MMA 支持。图像生成新的/v1/responses端点v26.2 最大的功能亮点是图像生成支持。MAX 的v1/responses端点为图像生成等多样化 AI 任务提供统一接口基于 OpenResponses 这一开源、供应商无关的 API 规范构建。启用方式在服务端通过环境变量MAX_SERVE_API_TYPES启用responsesAPI 类型。例如同时启用 OpenAI 兼容 API 与 Responses APIexport MAX_SERVE_API_TYPES[openai,responses]在 max/python/max/serve/config.py 中可以看到OPENRESPONSES responses常量以及MAX_SERVE_API_TYPES作为该配置项的别名见max/python/max/serve/config.py第 37、118 行附近。环境变量参考 中对该变量的说明是接受 API 类型字符串的 JSON 数组例如[responses]用于启用图像生成等任务的 Responses API。文生图调用对于文生图text-to-image将input设为描述图像的普通字符串模型返回的图像以 base64 编码数据位于output[0].content[0].image_data中response client.responses.create( modelblack-forest-labs/FLUX.2-dev, inputYour text prompt here, extra_body{ provider_options: { image: {height: 1024, width: 1024, steps: 28} } } ) image_data response.output[0].content[0].image_data等价的 curl 请求curl -X POST http://localhost:8000/v1/responses \ -H Content-Type: application/json \ -d { model: black-forest-labs/FLUX.2-dev, input: Your text prompt here, provider_options: { image: {height: 1024, width: 1024, steps: 28} } }图生图调用对于图生图image-to-image将input设为结构化消息数组其中包含源图像 URL 与描述变换的文本提示通过type字段在同一消息内区分图像与文本内容response client.responses.create( modelblack-forest-labs/FLUX.2-dev, input[ { role: user, content: [ { type: input_image, image_url: https://example.com/input.png }, { type: input_text, text: Your transformation prompt } ] } ], extra_body{ provider_options: { image: {height: 1024, width: 1024, steps: 28} } } ) image_data response.output[0].content[0].image_data输出格式控制v26.2 为图像生成请求新增了output_format参数客户端可以在每次请求中自行选择 JPEG、PNG 或 WEBP 输出格式默认仍为 JPEG。新增模型支持与图像生成配套v26.2 新增了对以下 FLUX 图像生成模型的支持black-forest-labs/FLUX.1-devFLUX.2-dev支持的特性包括融合图编译fused graph compilation、批量 VAE 解码、GPU 端后处理以及针对重复提示的 first-block caching首个数据块缓存。DeepSeek 改进详解DeepSeek 是 v26.2 的另一个重点投入方向改进分布在架构支持、量化、专家并行与投机解码多个层面方向具体内容新架构支持 DeepSeekV3.2 架构含 multi-latent attention 与融合 FP8 分页 KV cacheNVFP4 量化DeepSeek-R1 支持 NVFP4 量化可配合专家并行使用改进 NVFP4 量化模型与 EP 通信缓冲区的内存估算专家并行单节点部署支持超过 32 个本地专家且不再要求 NVSHMEM投机解码DeepSeek MTP 投机解码模块新增 FP4 量化支持修复修复 decode-only 模式、缺失的rope_scaling配置、DeepSeek-V2-Lite gather-index 越界、重新启用 DeepSeek-V2-Lite-Chat 的多 GPU TP对应的内核层详见下文 MAX kernels 小节还包括BF16 MLA prefill/decode mega-kernel、MLA 图执行路径启用 BF16、潜变量注意力的融合 QKV 投影、将 RoPE 与 RMSNorm 融合进 MLA 自定义算子、DeepSeek BF16 matmul 内核融合 epilogue、专家并行专用融合 dispatch/combine 内核以及为 DeepSeek 形状启用 Mojo BF16 matmul 与 FP4 内核。推理服务器增强批调度策略MAX_SERVE_BATCH_PRIORITYv26.2 新增可配置的文本生成批调度策略通过环境变量MAX_SERVE_BATCH_PRIORITY控制。它定义调度器在构造批次时如何对 prefill上下文编码与 decodetoken 生成进行优先级排序取值行为prefill_first优先 prefill最小化首 token 延迟TTFTdecode_first优先 decode最小化 token 间延迟ITLbalanced基于全局队列状态自适应per_replica每个副本独立决策默认值该变量在 docs/max/environment-variables.mdx 中有完整记录默认值为per_replica其底层调度实现位于 max/python/max/serve/scheduler/text_generation_scheduler.py。KV Cache 卸载与 LMCache 集成v26.2 引入 KV cache offloading当 GPU 内存占满时KV cache 块可以从 GPU 溢出到 CPU 内存乃至磁盘从而获得更大的有效缓存容量并支持热重启warm restarts。同时集成了 LMCache可通过外部存储CPU、磁盘、Redis跨模型实例共享 KV cache并支持多 GPU 张量并行。CUDA Graph 捕获CUDA graph capture 在设置了max_batch_size时对 Llama 模型自动启用通过回放记录的 GPU kernel 启动来降低每 token 延迟。可通过--no-device-graph-capture --force选择退出。同时新增--debug-verify-replay标志用于在设备图回放前执行 eager 启动轨迹验证排查 CUDA graph 正确性问题。FP8 KV Cache新增 KV cache 的 FP8 量化支持降低 KV cache 内存占用。通过运行时标志配置--kv-cache-format float8_e4m3fn # 也支持 float32 和 bfloat16投机解码增强投机解码speculative decoding是本版本的密集改进区新增 typical-acceptance 拒绝采样。新增rejection-sampling-strategy选项greedy或residual。默认为residual对于传递 hidden states 的模型使用greedy。EAGLE 中应用了 repetition/frequency/presence penalty 采样。支持 MTP draft 模型与主模型间的权重共享以降低内存。新增 EAGLE 与 MTP 投机解码的 chunked prefill 支持。修复了 draft 模型的 batch context length 计算与 Eagle penalty 输入被无条件应用的问题。在源码 max/python/max/pipelines/speculative/config.py 中可以看到完整的策略枚举greedy仅当 draft token 与目标模型匹配时接受、residual从减去目标分布后的残差分布采样、typical-acceptance接受落在 typical set 内的 draft token以及logit-comparison并有uses_greedy_rejection()、uses_typical_acceptance()等辅助方法判断当前选用的策略。EAGLE 投机解码现在还会在调度器指标输出中报告 draft token 接受率acceptance rate。其他服务端改进重叠调度overlap scheduling对LlamaForCausalLM_Legacy等特定架构自动启用并与前缀缓存兼容通过将 Python 宿主代码与 GPU kernel 执行重叠来降低 CPU 开销。当前仍处于实验阶段与结构化输出、CPU 模型等功能不兼容可用--no-enable-overlap-scheduler --force关闭。扩散模型可为每种架构指定默认的num_inference_steps。新增--first-block-caching标志为 FLUX 等扩散模型启用 first-block cachingFBCache新增--residual-threshold用于 TaylorSeer 缓存策略。两者均可通过max serve与max generate配置。相关配置字段可在 max/python/max/pipelines/diffusion/config.pyfirst_block_caching与 max/python/max/pipelines/diffusion/taylorseer.py 中查看。聊天补全响应支持logprobs返回每个 token 的对数概率。非流式请求在客户端断开时会被取消防止僵尸请求占用 KV cache 内存。流式性能改进缓冲生成的 token 并批量 detokenize而非逐个处理降低 CPU 开销并提升 GPU 利用率。多 GPU AllReduce 性能改进按设备在并行异步任务中启动 kernel取代顺序启动。修复了模型 worker 进程在初始化完成前崩溃导致的服务器挂起、TopK/TopP 采样的每请求 seed 处理、离线文本生成generate()/generate_async()后 KV cache 块未释放、以及 disaggregated inference decode 调度器中的三个资源泄漏请求取消时 KV cache 块泄漏、副本负载均衡计数器漂移、取消后过期 prefill 响应导致的KeyError崩溃。maxCLI 新增标志v26.2 为maxCLI 带来一系列新标志其中多数与上述服务端能力一一对应标志说明--device-graph-capture为服务启用 CUDA graph capture回放已记录的 GPU kernel 启动以降低每 token 延迟。对 Llama 与 DeepSeek V3 自动启用可用--no-device-graph-capture --force退出--debug-verify-replay在设备图回放前运行 eager 启动轨迹验证用于调试 CUDA graph 正确性--kv-cache-format运行时设置 KV cache 数据类型接受float32、bfloat16或float8_e4m3fnFP8 量化缓存--lmcache-config-file启用基于 LMCache 的外部 KV cache 分层存储指向 LMCache YAML 配置即可通过 CPU、磁盘或远程存储跨模型实例共享 KV cache 块--reasoning-parser为max serve启用将模型思考/推理内容提取为 OpenAI API 响应中独立reasoning字段的能力。当前支持 Kimi K2.5kimi-k2并设有注册表可扩展更多解析器--rejection-sampling-strategy选择投机解码的拒绝采样方法。选项greedy、residual独立部署默认、typical-acceptanceEAGLE/MTP 默认。对传递 hidden states 的模型使用greedy此外max benchmark在未指定温度时改用模型默认温度且不再覆盖top_p除非用户显式提供值同时移除了--cache-strategy标志。环境变量与调试能力GPU 内存调试MODULAR_DEBUG_DEVICE_ALLOCATOR新增MODULAR_DEBUG_DEVICE_ALLOCATOR环境变量用于调试 GPU 内存问题接受逗号分隔的多个选项uninitialized-poison用哨兵值填充缓冲区浮点为 qNaN其他类型为0xCD用于检测未初始化数据的使用。out-of-bounds启用 redzone 检查检测缓冲区溢出。在 环境变量参考 中还记录了相关的MODULAR_DEVICE_CONTEXT_MEMORY_MANAGER_POISON_PATTERNpoison-all模式写入的字节模式默认内置 NaN 模式以及MODULAR_DEBUG中的uninitialized-read-check选项会自动启用uninitialized-poison。PTX 编译器与驱动兼容MODULAR_NVPTX_COMPILER_PATHv26.2 将内置的libnvptxcompiler从 CUDA 12.9 升级到 CUDA 13.1这要求 NVIDIA GPU 驱动为 580 或更高版本。升级带来 NVIDIA PTX 编译器的最新 bug 修复与性能改进并完整支持 DGX Spark、Jetson Thor 等新硬件。对于使用较旧 NVIDIA 驱动与硬件的用户可通过MODULAR_NVPTX_COMPILER_PATH环境变量指向系统ptxas二进制绕过内置libnvptxcompiler版本。该变量在 环境变量参考 中被描述为自定义 NVIDIAptxas二进制的路径在已安装驱动对内置编译器过旧时作为逃生通道同时在仓库 C 侧如 Support/lib/BinaryID.cpp也有对应处理。Mojo 的DeviceContext()构造函数现在会在创建时检查 NVIDIA 驱动兼容性并在驱动版本过旧时给出清晰的错误信息与 PythonAccelerator()API 的行为保持一致。运行时错误溯源运行时 GPU 错误现在包含 Python 源码回溯显示失败操作在构图代码中的定义位置。构建时设置MODULAR_MAX_DEBUGTrue以启用源码注释收集当源码注释不可用时错误信息会附带如何启用它们的提示。其他修复修复了 CUDA graph 执行中的内存泄漏此前回放之间未释放输出缓冲区导致持续推理时 GPU 内存随时间增长。修复了无 GPU 机器上交叉编译 GPTQ 与 LoRA 模型时的编译缓存未命中问题虚拟设备模式下权重 dtype 转换现在跳过实际数据转换因为只需要编译元数据。为 AMD HIP 多 GPU 配置启用 peer-to-peer 设备内存访问支持 AMD 硬件上的直接 GPU 间内存传输。修复了在安装了rdma-core但缺少 dev 包生产容器中常见的系统上多 GPU 通信静默回退到较慢传输层的问题。修复了因 peer-to-peer 设备访问初始化回归导致的多 GPU broadcast 失败Broadcast currently requires P2P access between GPUs。改进 Hugging Face 模型下载gated repo 错误现在清晰呈现不再显示误导性的check the repo name消息。Python API 更新新增与改进Tensor.constant()已弃用改用Tensor(data, dtype..., device...)构造函数与 PyTorch 的torch.tensor()语义一致。例如将Tensor.constant([1.0, 2.0])替换为Tensor([1.0, 2.0])。Tensor.constant()将在未来版本移除。DeviceEvent新增enable_timingTrue参数启用 GPU 事件计时用start.elapsed_time(end)测量两个计时事件间的 GPU 耗时毫秒。新增prod算子沿轴求元素乘积以max.graph.ops.prod、max.experimental.functional.prod、Tensor.prod()三种形式提供。Device.stats新增graph_mem_reserved与graph_mem_used字段提供设备图内存可观测性。Module.compile()在加载前校验权重名称、dtype 与形状将不匹配以 Python 错误形式呈现取代异步 host-to-device 传输期间的运行时崩溃。InferenceSession自动将 CPU 纳入设备列表无需在图中包含 host 侧值时手动添加。新增max.graph.ops.broadcast用于跨设备分布式广播signal_buffers为空时抛出ValueError。新增手动同步 APIDevicePinnedBuffer、DeviceEvent控制缓冲区就绪并降低流同步开销。Tensor.cast()对同 dtype 转换现在幂等。新增F.cond实验性函数式 API用于条件执行。Tensor.to(device)在 eager 模式新增快速路径。Module.compile()新增基于Dim的标量维度 APIModule通过to()支持设备感知的统一设备放置Module.load_state_dict()校验权重属性名。代数维度与图/自定义算子构造现在无需显式上下文管理器即可工作使用全局 MLIR contextthreadpool 支撑的 MAX 路径自动将 worker 线程的 MLIR 使用限定到默认 context。max.diagnostics.gpu.BackgroundRecorder的采样间隔现在可配置。量化 API 更名Float8Config更名为QuantConfig及相关类型/函数以反映该配置现在覆盖 FP8、NVFP4 与 MXFP4 多种量化格式。相关公开 Python 量化 API 也从Float8*更名为Quant*包括parse_float8_config()→parse_quant_config()以及max.nn与max.pipelines.lib中的公开quant模块。新增模型支持Kimi 视觉语言模型moonshotai/Kimi-K2.5与Kimi-VL-A3B-Instruct支持多 GPU 张量并行、自定义视觉处理器、可学习的 2D 位置嵌入与 tiktoken tokenizer。OLMo 3Olmo3ForCausalLM例如allenai/Olmo-3-7B-Instruct。Qwen3-MoEQwen3MoeForCausalLM例如Qwen/Qwen3-30B-A3B-Instruct支持多 GPU 张量并行与 FP8 量化。其他模型相关变更移除遗留的 Gemma 3 多模态实现及MODULAR_MAX_DISABLE_GEMMA3_VISION环境变量。修复 GPT-OSS MoE 模型的多 GPU 张量并行。Qwen 2.5 等常见 MAX 模型现在可在 AMD RDNA 消费级 GPU 上运行。改进 Mistral3 文本编码器性能编译 hidden-state 选择并消除冗余 GPU 传输。修复 Qwen2.5-VL 模型的 prompt 校验器、音频生成器 pipeline恢复音频生成支持、Llama3 的多 GPU NVFP4 推理、Idefics3 聊天模板图像占位符顺序。为 GPT-OSS 模型如openai/gpt-oss-20b新增 MXFP4 量化支持。破坏性变更升级前必读v26.2 包含多项破坏性变更升级现有代码时需要注意max.nn命名空间重组图式神经网络 API 恢复为默认的max.nn命名空间此前位于max.nn.legacyeager 模块 API 从max.nn移入max.nn.module_v3。同时max.tensor、max.functional、max.random移回max.experimental之下即max.experimental.tensor、max.experimental.functional、max.experimental.random。请相应更新导入。实验性 API 集中到max.experimental两个额外包移入max.experimental命名空间max.torch→max.experimental.torch将from max.torch import CustomOpLibrary, graph_op改为from max.experimental.torch import CustomOpLibrary, graph_op。max.nn.module_v3→max.experimental.nn去掉v3后缀将from max.nn.module_v3 import Module, Linear改为from max.experimental.nn import Module, Linear。配置参数迁移移除PipelineConfig.max_lengthmax_length参数迁移到模型配置层MAXModelConfig.max_length通过config.model.max_length访问。这一改动将该参数正确放置到模型层因为它描述的是模型容量模型能处理的最大序列长度而非 pipeline 运行时行为。所有配置与代码应改用model.max_length。PipelineModel不再接受encoding参数encoding已从PipelineModel.__init__及其所有子类移除现在从pipeline_config.model.quantization_encoding自动推断消除冗余传参并确保量化编码配置单一来源。设备图 API 需要显式图键调用从model.capture(*inputs)、model.replay(*inputs)、model.debug_verify_replay(*inputs)改为model.capture(graph_key, *inputs)、model.replay(graph_key, *inputs)、model.debug_verify_replay(graph_key, *inputs)。移除KVCacheParams的q_max_seq_len改由 graph capture 时接受。MAXBaseModel使用extraforbid与strictTrue包含未知字段的配置将被拒绝。disable_auto_sync/mark_as_ready被替换钉扎内存管理改用DevicePinnedBuffer与DeviceEvent。MAX kernels内核级优化BlackwellSM100GPU 性能优化 SM100 上的 Attention当行最大值变化较小时跳过不必要的 softmax 修正。将 epilogue 融合进 SM100 BF16 与 FP8 matmul 内核。改进小 M 形状M ≤ 128的 SM100 FP8 matmul 调度。修复 SM100 上的 matmul kernel 调度。新增 SM100 硬件加速 conv2dTMA im2col 融合残差 epilogue用于 FLUX VAE。新增 SM100 批量 BF16 matmul 支持。为 SM100 MLA decode 新增 SnapMLA 实现。为 SM100/B200 新增 FP8 tensorwise 与 block-scale MLA decode。为 MLA prefill 新增带 blockwise scaling 与 K RoPE 的 FP8 MMA 支持。为 SM100 GPU 启用 MLA attention为 B200 MLA decode长上下文启用 64x256 N split MMA。在 attention 内核中使用 TMA 加载 KV scaleSM100。AMD GPU 内核改进调优并优化 AMD GPU 的 GEMV split-K BF16 调度与内核。在 AMD GPU 上启用 FP8 GEMV 内核。通过 swizzle 减少 AMD MHA prefill 的 K buffer bank 冲突。集成 AMD pingpong 内核与 FP8 调度并修复 TP 1。修复 AMD RDNA GPU 上的越界掩码与 depths 256。启用带 TCP bootstrap 的 rocSHMEM GDA 后端支持多节点 AMD 专家并行。分组 matmulSM100为 1D1D block-scaled grouped matmul 新增 MMA_N64 支持。为结构化 1D1D grouped matmul 内核新增 2SM 支持。在 SM100 上为 block-scaled grouped matmul 与 block-scaled matmul 启用 swapAB。为 block-scaled 1D1D grouped matmul 新增 tensor scale factor。为 blockwise FP8 grouped matmul 新增 bf16 scales 支持。DeepSeek 内核优化新增 BF16 MLA prefill/decode mega-kernel。为 Multi-Latent Attention 启用 BF16 图执行路径。为带 RoPE 的 latent attention 启用融合 QKV 投影。将 RoPE 与 RMSNorm 融合进 MLA 自定义算子。在 DeepSeek BF16 matmul 内核中融合 epilogue 操作。为专家并行新增融合 dispatch 与 combine 内核。为 DeepSeek 形状启用 Mojo BF16 matmul 内核与 FP4 内核。修复非行主序布局的 blockwise FP8 batched matmul。多 GPU 分布式算子新增融合 allreduce RMSNorm FP8 内核带残差路径与两阶段 allreduce面向张量并行负载。为多 GPU DP1 推理新增分布式 scatter 图算子。修复并优化 GPU 上 BF16/FP16 的 multimem broadcast 内核。修复并优化多 GPU 的两阶段 broadcast 内核。FLUX 内核改进自动调优 cuDNN 卷积算法选择并缓存结果。新增 multi-block GroupNorm GPU 内核。为 FLUX.2 启用高性能 Mojo matmul 内核。修复分组 conv2d 在 GPU 上错误忽略num_groups参数的问题。其他内核改进kbench默认通过共享库.so运行基准测试复用持久 worker 与 CUDA context 而非生成子进程基准执行阶段约快 10 倍例如某调优负载从 4.25 小时降至 0.4 小时在 profiling 或使用自定义 exec 包装器时回退到子进程模式。新增 MXFP4 dequant 与 matmul 内核。优化 Llama 风格形状的 FP4 matmul 调度并为更多形状覆盖新增 FP4 GEMM 调度配置。使用异步 FP4 量化内核提升吞吐。通过 swapAB 优化 Hopper matmul 的 M256 与小 M 形状。改进 GEMV 内核性能集成 Flash Infer TopK 内核提升采样性能。改进 layer normalization 内核性能。为 FlashMLA decode 内核新增 FP8 支持。修复 matmul 中的 FP8 cast lambda epilogue、MLA decode split-K 内核在 causal masking 下的 NaN、可导致 DeepSeek 模型挂起的 MLA decode warpgroup 死锁、bitonic sort 合并方向 bug 导致的错误 MoE 专家路由、ARM64 上的 int8 matmul 调度以及 Apple Silicon 上 Metal 子缓冲区与张量切片的缓冲区跟踪问题。关联文档本文引用的仓库内文档与源码入口版本发布说明docs/releases/v26.2.md图像生成指南docs/max/serve/image-generation.mdx环境变量参考docs/max/environment-variables.mdx服务端配置实现max/python/max/serve/config.py批调度实现max/python/max/serve/scheduler/text_generation_scheduler.py投机解码策略max/python/max/pipelines/speculative/config.py扩散模型缓存配置max/python/max/pipelines/diffusion/config.py、max/python/max/pipelines/diffusion/taylorseer.pyPTX 编译器路径处理Support/lib/BinaryID.cppMojo 语言、标准库与工具包括全部 GPU 编程及Layout/LayoutTensor变更的更新请查阅仓库内 Mojo 文档 下的对应版本说明。【免费下载链接】mojoThe Modular Platform (includes MAX Mojo)项目地址: https://gitcode.com/GitHub_Trending/mo/mojo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表