新闻详情

新闻详情

首页 / 资讯中心 / 详情

Model Optimizer AutoQuantize 技术指南:基于敏感性评分的自动混合精度量化搜索

发布时间:2026/9/25 22:43:05来源:尧图网络
Model Optimizer AutoQuantize 技术指南:基于敏感性评分的自动混合精度量化搜索
【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载AutoQuantize 是 NVIDIA Model Optimizer 库中面向大语言模型LLM的自动混合精度量化工具它给定一个位宽预算用快速梯度启发式对每一层的量化敏感性打分再通过整数线性规划ILP求解出预算约束下的最优逐层格式分配从而把哪些层保留高精度从逐个模型的消融实验变成一次可复现的搜索。读完本文你将理解 AutoQuantize 的敏感性评分原理、有效比特effective bits成本模型与 ILP 求解流程、面向 TensorRT-LLM / vLLM / SGLang 的耦合算子分组约束并掌握mtq.auto_quantize与 recipe 驱动两种完整的使用方式。为什么需要 AutoQuantizeLLM 量化的敏感性并不均匀LLM 携带大量冗余但这种冗余分布并不均匀少数几层——例如注意力投影、网络的最后若干层——对量化异常敏感而大多数其他层如 MoE 的专家层则相当宽容。如果只把少数敏感层保留在较高精度FP8 或 BF16其余层全部量化到 FP4就能在几乎完整保留 FP4 内存节省与加速收益的同时维持精度。难点在于找出究竟保留哪些层——传统上这是一堆逐模型、逐层消融实验的慢活。AutoQuantize 将这一过程自动化给定成本预算它对每一层的量化敏感性用快速梯度启发式打分然后在预算约束下求出得分最低的混合精度分配无需针对每个模型反复做消融研究。AutoQuantize 的工作原理三步流水线AutoQuantize 是一种受神经架构搜索NAS启发的量化方法核心工作流分三步敏感性评分评估每个算子对量化的敏感程度成本建模为每种可用格式建模其性能成本ILP 求解在成本预算约束下解一个背包风格的整数线性规划得到总敏感性得分最低的格式分配。其中敏感性评分采用最优脑外科医生Optimal Brain SurgeonOBS思路的二阶泰勒近似而基于 ILP 的混合精度搜索则建立在 LLM-MQ 工作之上。AutoQuantize 梯度快速而准确的敏感性评分我们想要的敏感性得分可以这样表述单独量化某层时模型损失会变化多少。直接测量——每次只量化一层、再评估整个模型——需要对每个候选格式的每一层做一次完整模型评估代价极高后文 Table 1 会给出量化对比。AutoQuantize 需要一个更便宜的估计。两个观察提供了捷径第一对于训练好的模型围绕某层输出对损失做泰勒展开量化扰动引起的损失变化由 Hessian局部曲率主导第二为了计算可行用对角 Fisher 替代完整 Hessian将输出误差各坐标之间的相互作用视为可忽略。这与 SqueezeLLM 在权重空间使用对角 Fisher 近似的思路类似。结合起来敏感性就转化为梯度平方加权的输出误差无需显式构造 Hessian。具体地设 $Y_i$ 为算子 $i$ 的 BF16 输出$Y_i^{Q_{i,f}}$ 为它在量化格式 $f$ 下的输出$g_i \nabla_{Y_i}\mathcal{L}$ 是该输出处的梯度$H_i$ 为局部 Hessian$$ \mathcal{L}!\left(Y_i^{Q_{i,f}}\right) \mathcal{L}!\left(Y_i\right) - g_i^{\top}!\left(Y_i - Y_i^{Q_{i,f}}\right) \tfrac{1}{2}\left(Y_i - Y_i^{Q_{i,f}}\right)^{!\top} H_i \left(Y_i - Y_i^{Q_{i,f}}\right) $$对训练好的模型一阶项在期望上消失于是$$ \Delta\mathcal{L}!\left(Y_i^{Q_{i,f}}\right) \mathcal{L}!\left(Y_i^{Q_{i,f}}\right) - \mathcal{L}!\left(Y_i\right) \approx \tfrac{1}{2}\left(Y_i - Y_i^{Q_{i,f}}\right)^{!\top} H_i \left(Y_i - Y_i^{Q_{i,f}}\right) $$只保留 Hessian 对角元并用对角 Fisher梯度平方估计就得到敏感性得分$$ S(\mathrm{Op}i, Q{i,f}) \Delta\mathcal{L}!\left(Y_i^{Q_{i,f}}\right) \propto \sum_{k1}^{d} \left(g_{i,k}\right)^2 \left(Y_{i,k} - Y_{i,k}^{Q_{i,f}}\right)^2 $$其中 $d$ 是该层输出的特征维度。直观上量化扰动了模型扰动对损失的影响等于输出误差乘以梯度平方作为权重。误差既可以在算子紧邻输出处测量也可以在更下游处测量例如 block 输出对线性层AutoQuantize 使用线性层输出。与 LLM-MQ 的权重空间得分不同这种输出侧output-side表述可以评估权重与激活联合格式joint weight-and-activation formats。此外AutoQuantize 还通过部署限制感知的分组决策扩展搜索空间见下文。这两个成分都很廉价输出误差 $Y_{i,k} - Y_{i,k}^{Q_{i,f}}$ 来自将捕获到的算子输入逐一通过模拟量化回放replay各候选格式梯度 $g_{i,k}$ 来自每个评分 batch 的一次反向传播。从源码看auto_quantize的敏感性评分方法由method参数控制除了默认的gradient梯度法需要loss_func或forward_backward_step还支持kl_divKL 散度只需返回 logits 的forward_step不要求反向传播和aumann_shapley路径积分损伤归因无标签、额外报告所选 recipe 的predicted_damage估计见 model_quant.py 的参数说明。性能成本有效比特Effective BitsModelOpt 使用**有效比特effective bits**对 AutoQuantize 可量化权重的平均位成本建模当某个格式显式提供了 effective-bits 值时成本模型计入该格式自带的开销否则按该格式的num_bits估计成本。嵌入层embeddings、归一化层norms以及搜索范围之外的其他参数不计入预算。对目标值做扫描可以为不同分配提供一致的预算轴以便比较。汇总带约束的整数线性规划求解在 effective-bits 目标下AutoQuantize 求解如下约束优化问题$$ \min_{{f}} \sum_i S(\mathrm{Op}i, Q{i,f}) \quad \text{s.t.} \quad \sum_i N_{\mathrm{params}}(\mathrm{Op}i) \times \mathrm{bits}(Q{i,f}) \leq N_{\mathrm{total}} \times \bar{b} $$其中 $Q_{i,f}$ 是算子 $i$ 选定的格式$\mathrm{bits}(Q_{i,f})$ 是格式 $f$ 每个合格权重的建模位成本$N_{\mathrm{total}} \sum_i N_{\mathrm{params}}(\mathrm{Op}_i)$ 是合格可量化权重总数$\bar{b}$ 是用户指定的平均有效比特目标例如 $\bar{b} 4.8$。格式自带的 effective-bits 值包含其声明的开销没有该值的格式使用上述num_bits估计。对 $\bar{b}$ 做扫描即可为每个预算产出使敏感性得分总和最小作为模型精度损失代理的最优分配。AutoQuantize 把该优化表达为 ILP每个搜索决策中的每个候选格式对应一个二进制变量求解器在满足 effective-bits 预算的前提下为每个决策恰好选择一个格式。部署限制感知的搜索混合精度分配必须尊重目标运行时的耦合约束。AutoQuantize 将选定的约束直接折叠进搜索任何这一组算子必须采用同一联合格式决策的限制都会变成一个聚合了敏感性与成本的单一 ILP 决策。这会把分配收敛到耦合算子可共享的格式上运行时是否支持仍取决于模型、量化格式以及文档化的导出与部署流程。耦合算子的分组决策TensorRT-LLM、vLLM、SGLang 等部署运行时要求耦合算子使用同一量化格式。AutoQuantize 在搜索过程中施加同样的限制把这些算子合并为一次格式决策。例如 Q、K、V 投影组成一组密集 MLP 中的 gate 与 up 投影组成一组。它们的个体敏感性得分与成本直接求和$$ S(\mathrm{group}, f) \sum_{i \in \mathrm{group}} S(\mathrm{Op}i, Q{i,f}), \qquad C(\mathrm{group}, f) \sum_{i \in \mathrm{group}} C(\mathrm{Op}i, Q{i,f}) $$敏感性求和与对角 Hessian 近似是一致的——该近似忽略算子间量化误差的相互作用。对 QKV 来说这假设 Q、K、V 的误差互不干扰未来的一项改进方向是在自注意力 block 输出处联合量化并测量敏感性以捕获这些相互作用。类似地部署运行时可能要求 MoE 层中所有稀疏专家使用同一量化格式。AutoQuantize 通过把它们合并为一次格式决策来施加该限制专家组的敏感性在 MoE block 输出处联合测量而个体成本求和。MoE block 的其他组件——如 latent 投影和共享专家——不受此限制约束因此仍是独立的决策。从源码结构看分组规则定义在AutoQuantizeSearcher.quant_grouping_rulesalgorithms.py既有正则模式例如r^(.*?)\.(q_proj|k_proj|v_proj)$把同一 transformer 层的 Q/K/V 投影归组r^(.*?\.mlp\.experts)\.\d\.(gate_proj|up_proj|down_proj)$归组 Qwen3 风格 MoE 专家r^(.*?)\.(gate_proj|up_proj)$归组 Llama 风格 MLP 的 gate/up 投影也有可调用函数规则例如为 Qwen3.5/3.6 混合线性注意力将in_proj_qkvin_proj_z、in_proj_ain_proj_b各自配对归组因为 vLLM 会把它们融合为in_proj_qkvz与in_proj_ba并要求融合分片共享 quant_algo。规则支持正则或函数两种形式用户也可以按需追加自定义规则model_quant.py。这一设计的直接动机是TensorRT-LLM 会把 Q、K、V 三个线性层融合为单个线性层因此它们必须共享同一量化格式。实验结果MMLU 精度与有效比特的权衡图 1AutoQuantize 下 Qwen3.5-2B/9B 的 MMLU 精度 vs 有效比特。图 1 扫描 AutoQuantize 的有效比特预算并对每个分配结果在 MMLU 上评估预算越多精度越高因此这条曲线就是你可以选取的内存与精度权衡点。趋势总体向上但并非严格单调——这很可能是评测噪声与 ILP 求解器在相邻预算下选择不同分配共同作用的结果。图中虚线水平线是 BF16 参考值。有效比特按格式的参数量加权统计NVFP4: 4.5FP8: 8BF16: 16NVFP4 默认值超过 4.5因为lm_head保持 BF16。把 FP8 加入格式菜单对两个扫描都有帮助在每个绘制的预算点在 NVFP4、FP8、BF16 上搜索都匹配或优于仅用 NVFP4 BF16。敏感层不必一路回退到 BF16——FP8 是一个很好的中间档以一小部分成本保护中等敏感层。AutoQuantize 梯度评分很快直接敏感性测量需要为每个层-格式组合评估整个模型。例如基于 KL 散度的混合精度分配算法包括 AutoQuantize 的 KL 散度评分逐层量化并比较量化与未量化模型的输出分布。由于每层都需要一次完整模型前向评分成比例地扩展为 $O(N_{\mathrm{layers}}^2)$。相比之下AutoQuantize 梯度评分对每个评分 batch 只用一次反向传播并在每个被评分模块处本地回放所有候选格式因此评分工作量是 $O(N_{\mathrm{layers}} \times N_{\mathrm{formats}})$——在 Qwen3.6-35B-A3B 上带来约 52× 的加速Table 1。Table 1. 评分成本梯度 vs KL 散度越低越好。评分方法评分复杂度敏感性估计耗时峰值 GPU 内存梯度Gradient$O(N_{\mathrm{layers}} \times N_{\mathrm{formats}})$约 16 分钟29 GBKL 散度$O(N_{\mathrm{layers}}^2 \times N_{\mathrm{formats}})$约 14 小时23 GBModelOpt AutoQuantize 支持两种敏感性评分方法——梯度默认与 KL 散度。测量环境4× NVIDIA RTX 6000 Ada GPU128 个样本序列长度 512。耗时仅覆盖敏感性评分阶段不包含端到端 AutoQuantize 运行后者还包括每种格式的校准时间。内存方面默认情况下AutoQuantize 的梯度评分使用激活重计算activation recomputation避免保留前向传播的所有中间张量因此内存效率更高。如 Table 1 所示相对于仅前向传播评分带来的峰值内存开销很小。如何使用 Model Optimizer AutoQuantize一次性 API 调用AutoQuantize 是 Model Optimizer 中的单次调用 API——传入模型、位宽预算、要搜索的格式菜单和校准数据加载器即可import modelopt.torch.quantization as mtq model, search_state mtq.auto_quantize( model, constraints{effective_bits: 4.8}, quantization_formats[mtq.NVFP4_DEFAULT_CFG, mtq.FP8_DEFAULT_CFG], data_loadercalib_loader, forward_steplambda model, batch: model(**batch), loss_funclambda output, batch: output.loss, num_calib_steps512, num_score_steps128, )返回的model携带搜索得到的逐层格式分配可直接用于导出。结合 model_quant.py 的 API 文档关键参数说明如下constraints搜索约束字典。effective_bits指定量化模型的有效比特数默认 4.8cost_model选择成本度量支持weight默认、active_moe按激活专家比例记账如{effective_bits: 4.8, cost_model: active_moe, cost: {active_moe_expert_ratio: 0.25, excluded_module_name_patterns: [*visual*, *vision_tower*, *mtp*]}}和kv_cache配对 K/V 格式的隔离前向 KL 评分如{effective_bits: 5.4, cost_model: kv_cache}附加成本模型参数通过嵌套的cost字典提供。quantization_formats要搜索的量化格式配置字典或字符串名序列每种格式都应是quantize中合法config支持的格式名见modelopt.torch.quantization.config.choices。内部总是会附加不量化do not quantize选项因此某些层可能保持不量化。若不传默认在NVFP4_AWQ_LITE_CFG与FP8_DEFAULT_CFG之间搜索。也支持自定义格式字典如自定义 INT8 SmoothQuant 配置作为实验特性。注意格式按逐层匹配应用全局模型级名称匹配的 quantizer 属性设置会被忽略——例如FP8_DEFAULT_CFG中*lm_head*: {enable: False}全局禁用量化但在auto_quantize中lm_head层的格式仍会被搜索。forward_step/loss_func/forward_backward_stepforward_step必填接收模型与 batch 返回输出loss_func接收输出与 batch 返回标量损失在其上调用.backward()若不给loss_func则必须给forward_backward_step。method敏感性损失估计方法gradient默认需反向传播、kl_div无标签、不需反向传播、aumann_shapley或形如{method: aumann_shapley, num_path_nodes: 2}的配置字典。num_calib_steps/num_score_steps分别用于校准与评分估计的 batch 数建议值为 512 / 128。敏感性评分阶段通常主导auto_quantize的耗时所以减小num_score_steps是提速的首选手段对精度影响通常小于减小num_calib_steps。disabled_layers通配符字符串或字符串列表用于禁用某些层如*lm_head*。checkpoint搜索状态检查点路径若文件存在则恢复搜索状态跳过昂贵的评分估计阶段。module_search_spaces可选的模块级候选覆盖每个条目包含module_name_patterns一个或多个 glob 模式、quantization_formats与可选allow_no_quant默认 Trueallow_no_quantFalse时 BF16/不量化仅作为内部敏感性与成本基线不允许求解器选择它。单个候选配合allow_no_quantFalse可将匹配模块组固定到该格式同时其成本仍计入 effective-bits 约束。fixed_quantization_config可选的普通 PTQ 配置应用于未被module_search_spaces匹配的模块提供时须省略quantization_formats且至少需要一个显式模块搜索空间。这构成一次集成的 AutoQuantize 操作而非先 PTQ 再 AutoQuantize的两阶段流程。通过 Recipe 驱动Hugging Face 模型端到端实战AutoQuantize 在examples/hf_ptq中由AutoQuantize recipe驱动--recipe定义了候选格式、可选固定 PTQ 基线、effective_bits目标、成本模型、评分方法、搜索禁用层与成本排除层见 hf_ptq/README.md 与AutoQuantizeConfigrecipe/config.py。随仓库发布的通用 recipe 位于modelopt_recipes/general/auto_quantize/架构专属 recipe携带如 VL 视觉塔等结构相关的禁用层位于modelopt_recipes/model_type/model/auto_quantize/。一个典型 recipe 的结构如下nvfp4_fp8_at_5p4bits.yamlimports: base_disabled_layers: configs/auto_quantize/units/base_disabled_layers base_cost_excluded_layers: configs/auto_quantize/units/base_cost_excluded_layers nvfp4: configs/ptq/presets/model/nvfp4 fp8: configs/ptq/presets/model/fp8 auto_quantize: constraints: effective_bits: 5.4 candidate_formats: - $import: nvfp4 - $import: fp8 auto_quantize_method: gradient score_size: 128 disabled_layers: - $import: base_disabled_layers cost_excluded_layers: - $import: base_cost_excluded_layers通过脚本运行需要先下载好模型检查点export HF_PATHthe downloaded checkpoint from the Hugging Face hub, or simply the model card scripts/huggingface_example.sh --model $HF_PATH --recipe general/auto_quantize/nvfp4_fp8_at_5p4bits --calib_batch_size 4recipe 会把精度敏感度低的层用更激进的格式如 NVFP4量化敏感层保持更高精度或不量化从而满足 recipe 的effective_bits目标。要自定义 recipe可复制随仓库发布的 recipe 并调整candidate_formats、constraints.effective_bits、auto_quantize_methodgradient/kl_div、score_size、module_search_spaces可选逐模块候选覆盖、disabled_layers排除在搜索之外与cost_excluded_layers不计入比特预算如 VL 视觉塔。共享的基础disabled_layers集合可通过$import拼接见modelopt_recipes/configs/auto_quantize/units/base_disabled_layers。AutoQuantize recipe 支持两种互斥的搜索空间风格顶层设置auto_quantize.candidate_formats搜索每个未匹配的可量化模块可选module_search_spaces覆盖用普通顶层quantize配置作为固定 PTQ 基线省略顶层candidate_formats只用module_search_spaces列出需要搜索的模块——固定与搜索模块仍走一次集成的校准、评分、成本与导出流程。例如下面的配置让未匹配模块保持普通 W4A16 NVFP4 PTQ 设置只让注意力在 W4A16 与 FP8 之间搜索hf_ptq/README.mdimports: w4a16_nvfp4: configs/ptq/presets/model/w4a16_nvfp4 fp8: configs/ptq/presets/model/fp8 quantize: $import: w4a16_nvfp4 auto_quantize: constraints: effective_bits: 6.0 module_search_spaces: - module_name_patterns: [*self_attn*, *linear_attn*] candidate_formats: - $import: w4a16_nvfp4 - $import: fp8 allow_no_quant: false对顶层candidate_formats而言BF16不量化是隐式的逐层选项所以单一格式如[fp8]即构成{fp8, bf16}的逐层搜索module_search_spaces规则可通过allow_no_quant: false把 BF16 从求解器选择中剔除。对固定、不参与搜索的模块应使用顶层quantize基线而非单候选搜索规则。两个值得注意的实操要点无反向传播的模型如 Llama-4不能使用gradient方法请改用kl_div评分方法——见随仓库发布的general/auto_quantize/nvfp4_fp8_kl_div_at_5p4bitsrecipe。KV-cache AutoQuantize使用同一mtq.auto_quantizeAPI设置constraints.cost_model: kv_cache与effective_bits目标其candidate_formats是完整的 K/V 缓存配置。随仓库发布的general/auto_quantize/kv_fp8_nvfp4_cast_kl_div_at_5p4bitsrecipe 在 5.4 bits/scalar 下搜索 FP8-cast K/V8.0 bits/scalar与 NVFP4-cast K/V4.5 bits/scalar每个候选使用显式常量 scale。运行方式python hf_ptq.py \ --pyt_ckpt_path Qwen/Qwen3.8-27B \ --recipe general/auto_quantize/kv_fp8_nvfp4_cast_kl_div_at_5p4bits \ --auto_quantize_checkpoint /path/to/kv_autoquant.pth \ --export_path /path/to/qwen3.8-27b-mixed-kv恢复中断的搜索唯一的运行时标志是--auto_quantize_checkpoint——保存/恢复搜索状态以跳过重新评分scripts/huggingface_example.sh --model $HF_PATH --recipe general/auto_quantize/nvfp4_fp8_at_5p4bits \ --auto_quantize_checkpoint /path/to/auto_quantize.pth --calib_batch_size 4mtq.auto_quantize会在其搜索状态中返回敏感性得分与所选 recipe--auto_quantize_checkpoint保存该可恢复状态含回放所需的候选 quantizer 张量。除 Hugging Face 模型外AutoQuantize 同样支持 Megatron Core 模型Megatron-LM 仓库的 post-training/modelopt 示例中提供了 AutoQuantize 混合精度搜索示例。此外AutoQuantize 示例 notebook 演示了在 LLaMA-3-8B 上定义目标有效比特率如 8.0、提供格式搜索空间并可选包含 KV 缓存量化的完整流程。路线图AutoQuantize 的下一步硬件感知成本有效比特是部署成本的快速代理。改用硬件实测成本——例如目标 GPU 与推理运行时上每个算子的延迟——可以让求解器直接优化真正重要的事情端到端推理速度。量化的组合效应AutoQuantize 目前对每层按孤立量化评分但量化误差会相互作用——两层联合量化的损失影响并不总是各自得分之和。把这些组合效应纳入敏感性估计是在同一预算下逼近更高精度的下一步。结论AutoQuantize 把混合精度量化从试错变成有原则的搜索一次扫描完成梯度敏感性评分用 ILP 求解器在成本预算下优化并将选定的运行时耦合约束纳入分配。扫描比特预算即可找到模型的精度与压缩权衡最优点随后按目标模型、格式与运行时的文档化导出部署流程落地。从源码看该 API 目前在 model_quant.py 中标记为实验性接口与算法可能变更且搜索产出的模型未必能直接部署到 TensorRT-LLM——实际使用时请以当前仓库版本与文档化的导出部署工作流为准。参考文献B. Hassibi 和 D. G. Stork《Second Order Derivatives for Network Pruning: Optimal Brain Surgeon》NeurIPS, 1992。最优脑外科医生方法的原始出处AutoQuantize 敏感性评分二阶泰勒近似的思想来源。S. Li, X. Ning, K. Hong, T. Liu, L. Wang, X. Li, K. Zhong, G. Dai, H. Yang 和 Y. Wang《LLM-MQ: Mixed-Precision Quantization for Efficient LLM Deployment》NeurIPS Workshop on Efficient Natural Language and Speech Processing (ENLSP), 2023。ILP 混合精度搜索方法的基础。S. Kim, C. Hooper, A. Gholami, Z. Dong, X. Li, S. Shen, M. W. Mahoney 和 K. Keutzer《SqueezeLLM: Dense-and-Sparse Quantization》ICML, 2024。权重空间对角 Fisher 近似的类比来源。E. Alvarez, O. Almog, E. Chung, S. Layton, D. Stosic, R. Krashinsky 和 K. Aubrey《Introducing NVFP4 for Efficient and Accurate Low-Precision Inference》NVIDIA Technical Blog, 2025。NVFP4 格式有效比特 4.5的背景资料。赞分享【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载相关推荐Model-Optimizer 与 LLaMA-Factory 集成实战基于 NVFP4 的 QAT/QAD 量化感知训练指南Model Optimizer 与 LLaMA Factory 集成实战基于 NVFP4 的 QAT/QAD 量化感知训练指南 本指南以仓库中的 LLaMA揭秘deit_tiny_distilled_patch16_224.fb_in1k的核心优势蒸馏注意力机制如何提升1.3GMACs效率揭秘deit_tiny_distilled_patch16_224.fb_in1k的核心优势蒸馏注意力机制如何提升1.3GMACs效率 deit_tiny_d人工智能计算机视觉深度学习基础模型OnyxDanswer搜索质量回归评测指南基于 Ground Truth 的检索与回答自动评估OnyxDanswer搜索质量回归评测指南基于 Ground Truth 的检索与回答自动评估 导读 本文围绕 Onyx 开源仓库即原 DanswerAI 应用大模型RAGAI Agent后端前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Windows上Oracle 12c打补丁:Opatch命令详解与避坑指南 2026/9/25 23:25:10

Windows上Oracle 12c打补丁:Opatch命令详解与避坑指南

简介:针对Windows平台的Oracle 12c补丁工具OPatch资源包,面向数据库管理员与系统运维人员,解决Windows环境下应用Oracle补丁时OPatch工具缺失或版本不匹配的问题,涵盖补丁检测、安装、回滚等常见维护场景。压缩包共454个文件&…

阅读更多 →
百度转化追踪联调踩坑记:newType 字段与线索 API 配置的 7 次重试复盘 2026/9/25 23:25:10

百度转化追踪联调踩坑记:newType 字段与线索 API 配置的 7 次重试复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Erlang卡牌游戏服务器源码解析:从OTP架构到部署避坑指南 2026/9/25 23:25:10

Erlang卡牌游戏服务器源码解析:从OTP架构到部署避坑指南

简介:一份完整的卡牌游戏《萌兽堂》Erlang服务器源码包,面向Erlang学习者、游戏后端开发者及分布式系统爱好者,直观呈现基于OTP框架构建高并发、可热更新在线游戏服务端的工程实践。压缩包共170个文件,主体为111个erl源代码文件&a…

阅读更多 →
Android TextView 自定义选中弹出菜单记笔记:TaoToken 统一 Key 接入与 config.toml 骨架 2026/9/25 23:25:10

Android TextView 自定义选中弹出菜单记笔记:TaoToken 统一 Key 接入与 config.toml 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI代码生成赛道为何持续升温?从 TaoToken 统一 Key 配置看开发者接入成本变化 2026/9/25 23:25:03

AI代码生成赛道为何持续升温?从 TaoToken 统一 Key 配置看开发者接入成本变化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GR00T-WholeBodyControl C++推理栈深度解析:从TensorRT ONNX推理到50Hz实时控制的完整流水线 2026/9/25 23:25:02

GR00T-WholeBodyControl C++推理栈深度解析:从TensorRT ONNX推理到50Hz实时控制的完整流水线

GR00T-WholeBodyControl C推理栈深度解析:从TensorRT ONNX推理到50Hz实时控制的完整流水线 【免费下载链接】GR00T-WholeBodyControl Welcome to GR00T Whole-Body Control (WBC)! This is a unified platform for developing and deploying advanced humanoid cont…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉