简介

        模型量化是一种重要的模型压缩技术。其核心目标是在可控精度损失下,将大模型中浮点型权重(通常为 float32 等高精度格式)近似转换为低精度离散值表示(通常为 int8)。

        具体而言,该技术通过将模型的权重(Weights)和/或激活值(Activations)从 FP32、BF16、FP16 等高精度格式压缩至 INT8、INT4、FP8 等低精度格式,为实现三大目标:显著减小模型体积、提升推理速度、降低计算资源消耗,同时最大限度保留模型精度。

        工业实践中,INT8 是当前主流方案;低于 8 比特的量化称为低比特量化。其中 1 比特量化作为理论极限,可将 FP32 精度的模型体积压缩至约 1/32。

模型量化的核心对象

  • 权重(Weight):模型训练后学习到的固定参数。量化权重可有效减少模型大小、内存及存储空间。​

  • 激活值(Activation):模型前向传播时,各层依据输入数据实时计算出的中间结果。量化激活值不仅能大幅降低内存占用,更重要的是,与权重量化相结合,可充分借助整数计算提升性能。​

  • KV cache:Transformer 解码时缓存的历史 Key/Value 向量(用于避免重复计算)。量化 KV 缓存对提高长序列生成的吞吐量意义重大。​

  • 梯度(Gradient):反向传播中的参数更新量(仅在训练阶段需要量化)。梯度量化能够降低分布式训练的通信开销及显存占用,需结合量化感知训练(QAT)以保证精度。

对象量化收益技术难点典型方案
权重模型体积↓4-8倍,加载速度↑离群值处理GPTQ/AWQ(INT4)
激活值计算速度↑2-4倍,显存占用↓30-50%动态范围大,实时性要求SmoothQuant/FP8
KV缓存长序列内存↓50-75%,吞吐量↑2倍+累积误差控制分组量化+稀疏化
梯度训练通信开销↓50%,显存占用↓收敛稳定性QAT+FP8通信

模型量化的目的

  • 参数压缩: 减少模型所需的存储空间,降低模型加载时间。

  • 计算加速:降低计算复杂度,提高模型的推理速度。

  • 减少显存:减少显存占用,使大模型能在更小的设备上运行。

不同量化精度下的显存占用对比

精度数据类型大小总显存占用
全精度(FP32)4 字节 / 参数97GB
FP162 字节 / 参数49GB
FP81 字节 / 参数25GB
INT81 字节 / 参数16GB
INT40.5 字节 / 参数13GB

        随着量化精度降低(数据类型表示所需字节数减少 ),模型总显存占用呈现明显下降趋势 。比如从全精度 FP32(4 字节 / 参数 )到 FP16(2 字节 / 参数 ),显存占用近乎减半;进一步到 FP8、INT8(1 字节 / 参数 ),显存占用持续降低;INT4 精度下,数据类型大小仅 0.5 字节 / 参数 ,显存占用也相应降至 13GB 。

        模型量化在减少显存占用方面的显著效果,低精度量化能有效压缩模型对显存的需求,有助于大模型在资源受限环境下的部署与推理 ,不过实际应用中需在显存占用、计算效率和模型精度损失之间做好权衡。

Qwen-7B-Chat量化效果

分类

        根据量化技术实施的阶段和对训练过程的依赖程度,可以将模型量化分为量化感知训练(Quantization - Aware Training,QAT)和训练后量化(Post - Training Quantization,PTQ)。

量化感知训练(QAT)

        量化感知训练,即训练时量化,是一种在模型训练过程中就引入量化操作的方法。在传统的深度学习模型训练中,模型参数通常以高精度(如 FP32)进行存储和计算。而 QAT 则打破了这一常规模式,它在训练过程中模拟量化过程,使得模型在学习参数的同时,也能够适应量化带来的精度损失。

        具体来说,在 QAT 的训练过程中,前向传播时,模型的权重和激活值会被量化成低精度表示(如 INT8),以模拟实际部署时的量化情况;反向传播时,使用量化后的参数计算梯度,并更新原始的高精度参数。通过这种方式,模型能够在训练过程中逐渐学习到如何在低精度表示下保持良好的性能。

        QAT 的优势在于其量化效果较好。由于模型在训练阶段就对量化误差进行了适应,因此相较于训练后量化,在相同的低精度量化条件下,QAT 往往能够更好地保持模型的准确性,尤其适用于对模型性能要求较高且能够承受额外训练成本的场景,比如医疗影像诊断、金融风险评估等对预测精度要求苛刻的领域。然而,QAT 也存在一定的局限性,它需要额外的训练时间和计算资源,并且需要有充足的训练数据来保证模型能够学习到合适的参数,以应对量化带来的影响。

训练后量化(PTQ)

        训练后量化,顾名思义,是在模型已经完成训练之后,对训练好的模型进行量化处理的方法。与 QAT 不同,PTQ 不需要重新进行训练过程,而是通过对训练好的模型进行分析和处理,将模型参数从高精度转换为低精度表示。

        通常,PTQ 会先利用少量的校准数据来统计模型中权重和激活值的分布情况,然后根据这些统计信息确定量化参数,如缩放因子和零点,进而将模型参数量化为低精度格式。这种方法的优点是量化资源需求较小,操作相对简单且耗时短。它不需要像 QAT 那样重新进行训练,大大节省了时间和计算资源,能够快速地将训练好的模型转换为低精度版本,适用于对部署速度要求较高的场景,比如在移动设备、嵌入式设备上快速部署深度学习模型。

        不过,由于 PTQ 没有在训练过程中对量化误差进行适应,在一些情况下,尤其是采用较低的量化精度时,模型的性能可能会出现较为明显的下降。为了尽可能减少这种性能损失,研究人员提出了各种改进的 PTQ 算法,如基于统计信息的量化、基于优化的量化等,以提高训练后量化模型的性能。

QAT与PTQ的关键对比

维度QATPTQ
实施阶段训练中训练完成后
计算成本高(需反向传播)极低(仅前向校准)
数据依赖需完整训练数据集仅需小批量校准数据
精度表现最优(尤其INT4以下)中等(INT8可达近无损)
部署速度慢(需迭代训练)快(分钟级完成)
典型应用低比特压缩、高精度要求场景快速部署、资源受限环境

量化训练方法概览

分类方法名称论文链接简介
训练时量化LLM-QATLLM-QAT: Data-Free Quantization Aware Training for Large Language Models利用预训练模型生成结果实现无数据蒸馏,量化权重、激活和KV缓存,支持4比特量化,增强长序列处理能力
参数高效微调PEQAMemory-Efficient Fine-Tuning of Compressed LLMs via Sub-4-bit Integer Quantization双阶段量化感知PEFT技术:先量化全连接层为低比特整数+标量向量,再微调标量向量,实现快速任务切换和高效部署
高效微调QLORAQLORA: Efficient Finetuning of Quantized LLMs引入NF4数据类型、双重量化和分页优化器,使65B模型微调仅需48GB显存,基本保持原始性能
计算优化LUT-GEMMnuqmm: Quantized Matmul for Efficient Inference通过BCQ格式优化矩阵乘法,仅量化权重,显著提升计算效率降低延迟
混合精度LLM.int8()LLM.int8(): 8-bit Matrix Multiplication混合精度分解:对多数权重/激活8bit量化,对离群特征保留16bit高精度计算
训练后量化ZeroQuantZeroQuant: Efficient Post-Training Quantization权重group-wise + 激活token-wise量化,通过逐层知识蒸馏缓解精度损失,支持4bit权重量化
训练后量化GPTQGPTQ: Accurate Post-Training Quantization

块内参数顺序量化+剩余参数调整补偿误差,需校准数据集,实现高精度生成模型量化。

专用于大语言模型的量化技术。通过分析并选择性地优化数据,来减少关键部分的损失。

逐层量化,在模型的每一层中找到对结果影响不太大的权重,并对其量化。然后,对该层因量化产生的误差进行补偿,来防止误差积累,保持模型的计算精度。

比特精度研究k-bit InferenceThe Case for 4-bit Precision通过推理缩放定律分析,证明4比特在模型大小与精度间达到最佳平衡
激活感知AWQAWQ: Activation-aware Weight Quantization保留1%显著权重减少误差,采用激活感知的逐通道缩放技术确定最优因子
混合精度OWQOWQ: Lessons from Activation Outliers分析激活异常放大误差机制,对受影响权重采用更高精度量化
稀疏量化SpQRSpQR: Sparse-Quantized Representation隔离异常权重高精度存储,其余压缩为3-4比特
激活量化SmoothQuantSmoothQuant: Accurate Activation Quantization

在用PTQ、QAT等方法量化之前,先对参数范围做调整,让模型更容易被量化。

引入逐通道缩放变换平滑激活幅度,解决激活值离群点问题;即重新分配参数的范围,使其在量化时更加均衡,从而减少信息损失。

通道优化RPTQRPTQ: Reorder-based PTQ for LLMs通道分组量化+重排集成,缓解通道范围差异和离群值影响
硬件友好OliVeOliVe: Hardware-friendly OVP Quantization采用outlier-victim对(OVP)量化,局部处理异常值实现低开销高性能
异常抑制Outlier Suppression+Outlier Suppression+通道级平移缩放操作纠正激活异常不对称分布,定量分析最优值
浮点量化ZeroQuant-FPZeroQuant-FP: W4A8 Quantization Using FP探索FP8/FP4浮点量化,FP8激活优于INT8,FP4权重优于INT4,采用2幂次缩放因子和LoRC策略增强效果
  • 技术演进趋势

    • 从基础PTQ(如GPTQ)→ 激活感知(AWQ)→ 异常处理(SmoothQuant)→ 硬件友好(OliVe)

    • 比特精度:8bit → 4bit(QLORA/SpQR)→ 混合精度(LLM.int8/OWQ)

  • 核心突破

    • 4bit实用化:LLM-QAT/QLORA/SpQR实现无损4bit量化

    • 异常值处理:>50%方法专注解决激活/权重离群值问题

    • 硬件协同:LUT-GEMM/OliVe等专为硬件加速设计

  • 精度-效率平衡

    • 训练时方案(QAT/PEQA)精度更高但成本大

    • 训练后方案(GPTQ/AWQ)部署快但需校准

    • 浮点量化(ZeroQuant-FP)在精度和硬件支持间取得新平衡

量化推理框架

BitsAndBytes

        BitsAndBytes 以 “减少大模型显存占用” 为核心目标,深度适配低资源设备推理与微调场景。通过创新量化技术,在保证模型功能的前提下,压缩参数存储与计算需求,让大模型能在消费级硬件、资源受限环境中稳定运行,填补高端算力与实际应用间的鸿沟 。

适用场景
  • 消费级显卡加载大模型:对于想在 RTX 4080/4090 等消费级显卡运行大模型的用户,BitsAndBytes 是 “破局钥匙”。传统大模型因参数精度高、显存占用大,难在消费级硬件加载,而它通过量化压缩,将模型显存需求大幅降低,让玩家、个人开发者无需顶级算力,也能体验大模型推理,拓宽技术触达范围。

  • 模型微调场景(以 LoRA 微调为例):进行 LoRA 等模型微调时,BitsAndBytes 可协同增效。微调需加载模型并更新部分参数,显存压力仍存。它通过量化优化基础模型,释放更多显存空间,支持更大批次数据训练、更复杂微调任务,同时减少算力消耗,让微调更高效、更易执行,助力开发者快速迭代模型 。

  • 快速测试与研究 LLMs:在大模型测试、研究场景,效率与便捷性至关重要。BitsAndBytes 支持快速部署量化模型,无需繁琐配置高端算力,就能快速验证模型思路、测试算法效果。无论是学术研究探索模型潜力,还是企业快速试错验证需求,它都能缩短从想法到实践的路径,加速大模型创新进程 。

代码示例
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torchmodel_name = "/ai/data/DeepSeek-R1-Distill-Qwen-1.5B"use_4bit = True
bnb_4bit_compute_dtype = "float16"
bnb_4bit_quant_type = "nf4"
use_nested_quant = False
compute_dtype = getattr(torch, bnb_4bit_compute_dtype)bnb_config = BitsAndBytesConfig(load_in_4bit=use_4bit,bnb_4bit_quant_type=bnb_4bit_quant_type,bnb_4bit_compute_dtype=compute_dtype,bnb_4bit_use_double_quant=use_nested_quant,
)model = AutoModelForCausalLM.from_pretrained(model_name,torch_dtype="auto",device_map="auto",quantization_config=bnb_config
)
tokenizer = AutoTokenizer.from_pretrained(model_name)history, response = [], ""query = input("请输入内容:")
messages = [{"role": "system", "content": "你是一个智能助手,擅长用中文回答用户的提问。"}]
while query:for query_h, response_h in history:messages.append({"role": "user", "content": query_h})messages.append({"role": "assistant", "content": response_h})messages.append({"role": "user", "content": query})text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(model.device)generated_ids = model.generate(**model_inputs,max_new_tokens=1024,temperature = 0.7,top_p = 0.8,repetition_penalty=1.1)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)history.append([query, response])query = input("请输入内容:")

        这段代码主要实现了基于BitsAndBytes量化技术加载大模型并进行交互式对话的功能。通过transformers库加载指定的因果语言模型(这里是DeepSeek-R1-Distill-Qwen-1.5B),利用BitsAndBytes进行量化优化,降低显存占用,最终实现用户与模型的实时对话交互。

        代码中量化配置是核心,通过BitsAndBytesConfig实现 4-bit 量化,关键参数及作用如下:

  • load_in_4bit=use_4bit:启用 4-bit 量化模式,将模型权重从原始高精度(如 FP16/FP32)压缩为 4-bit 存储,大幅降低显存占用(仅为原始的 1/4~1/8)。

  • bnb_4bit_quant_type=bnb_4bit_quant_type:指定量化类型为nf4(Normalized Float 4),这是专为大模型设计的 4-bit 数据类型,相比普通 INT4 能更好地保留模型精度,尤其适合低比特量化场景。

  • bnb_4bit_compute_dtype=compute_dtype:设置计算时的精度为float16,即量化后的权重在参与计算(如矩阵乘法)时会临时转换为 16-bit 浮点数,平衡计算效率与精度损失。

  • bnb_4bit_use_double_quant=use_nested_quant:关闭 “双重量化”(嵌套量化),该技术会对量化参数本身再进行一次量化以进一步节省内存,此处因use_nested_quant=False未启用。

TensorRT-LLM

        TensorRT-LLM 是 NVIDIA 推出的专为深度学习大模型打造的推理优化工具,核心定位是通过深度技术优化,实现大模型推理性能的极致提升,为生产级部署提供低延迟、高吞吐量的解决方案。

        在 TensorRT-LLM 中,量化方法的选择需综合考量权重精度格式、激活精度格式和校准算法三大核心组成部分。不同推理场景下的性能瓶颈存在差异,因此需针对性选择量化策略,以实现性能与精度的平衡。

适用场景

        根据推理批量大小的不同,性能瓶颈存在差异,需匹配差异化量化策略:

  • 小批量推理场景(批量大小≤4)
    • 瓶颈特征:推理受 “内存限制”,吞吐量取决于权重从 GPU 内存到缓存的加载效率(受内存带宽约束)。

    • 推荐策略:优先选择仅权重量化方法,通过减少权重显存占用提升加载效率,如 INT4 AWQ、INT4-FP8 AWQ 或微软 FP6-LLM 方案,可显著提升性能。

  • 大批量推理场景(批量大小≥16)

    • 瓶颈特征:内存带宽与计算密度共同成为关键限制,需同时优化存储与计算效率。

    • 推荐策略:选择权重与激活联合量化 + 低精度计算 Kernel 的方案,具体可按以下优先级选择:

      1. FP8 量化:精度损失极小,性能强劲,优先推荐;

      2. INT4-FP8 AWQ:若 FP8 性能未达预期,可尝试此方案;

      3. INT4 AWQ 或 INT8 SQ:针对 Ampere 及更早版本 GPU,兼容性更佳。

量化方法小批量性能大批量性能精度下降详情
FP8非常低- 采用 min-max 校准进行 FP8 逐张量权重和激活量化;
- 将 FP16/BF16 模型压缩至原始大小的 50%;
- 校准时间:分钟级;
- 部署依赖:TensorRT、TensorRT-LLM,支持 GPU 架构:Ada、Hopper 及更高版本。
INT8 SmoothQuant- 基于 SmoothQuant 校准变体的 8 位整数量化;
- 采用逐通道权重量化、逐张量激活量化;
- 将 FP16/BF16 模型压缩至原始大小的 50%;
- 校准时间:分钟级;
- 部署依赖:TensorRT、TensorRT-LLM,支持大多数 GPU 架构。
INT4 Weights only AWQ(W4A16)- 通过 AWQ 校准实现 4 位整数仅权重量化(group-wise/block-wise);
- 将 FP16/BF16 模型压缩至原始大小的 25%;
- 校准时间:数十分钟级;
- 部署依赖:TensorRT-LLM,支持 GPU 架构:Ampere 及更高版本。
INT4-FP8 AWQ(W4A8)- 采用 AWQ 校准进行 4 位整数权重量化(group-wise/block-wise)+ FP8 逐张量激活量化;
- 将 FP16/BF16 模型压缩至原始大小的 25%;
- 校准时间:数十分钟级;
- 部署依赖:TensorRT-LLM,支持 GPU 架构:Ada、Hopper 及更高版本。
代码示例
from tensorrt_llm.builder import Builder, BuilderConfig
from tensorrt_llm.models import PretrainedModel
from tensorrt_llm.quantization import QuantMode
from tensorrt_llm.runtime import ModelRunner
import tensorrt_llm
import torch
from transformers import AutoTokenizer# 模型路径与量化配置
model_name = "/ai/data/DeepSeek-R1-Distill-Qwen-1.5B"
quant_mode = QuantMode.INT4_WEIGHTS  # 4位权重量化(可切换为INT8、FP8等)
batch_size = 4  # 批量大小,影响量化策略选择
max_seq_len = 1024  # 最大序列长度# 1. 加载Tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name)
if tokenizer.pad_token is None:tokenizer.pad_token = tokenizer.eos_token# 2. 配置TensorRT-LLM量化参数
builder = Builder()
builder_config = BuilderConfig(precision_mode="float16",  # 基础计算精度(与量化协同工作)tensor_parallel=1,  # 单卡部署,多卡可调整quant_mode=quant_mode,  # 核心量化模式max_batch_size=batch_size,max_input_len=max_seq_len,max_output_len=max_seq_len,
)# 针对INT4量化的额外配置(以AWQ为例)
if quant_mode == QuantMode.INT4_WEIGHTS:builder_config.quantization.awq=True  # 启用AWQ量化算法builder_config.quantization.group_size=128  # 分组量化大小,平衡精度与效率builder_config.quantization.bits=4  # 明确量化位数# 3. 加载并转换模型为TensorRT-LLM格式(含量化)
model = PretrainedModel(model_name)
# 构建量化引擎(耗时步骤,需校准数据时会自动进行校准)
engine = builder.build_engine(model, builder_config)# 4. 创建推理运行器
runner = ModelRunner(engine)# 5. 交互式对话
history = []
print("开始对话(输入空内容退出):")
while True:query = input("用户:")if not query:break# 构建对话历史messages = [{"role": "system", "content": "你是一个智能助手,用中文回答问题。"}]for q, a in history:messages.append({"role": "user", "content": q})messages.append({"role": "assistant", "content": a})messages.append({"role": "user", "content": query})# 编码输入input_ids = tokenizer.apply_chat_template(messages,return_tensors="pt",padding=True,truncation=True,max_length=max_seq_len)# 推理outputs = runner.generate(input_ids=input_ids,max_new_tokens=1024,temperature=0.7,top_p=0.8,repetition_penalty=1.1)# 解码输出response = tokenizer.decode(outputs[0][len(input_ids[0]):], skip_special_tokens=True)print(f"助手:{response}")history.append((query, response))
  • 核心量化配置:通过 BuilderConfig 的 quant_mode 指定量化模式,示例中使用 INT4_WEIGHTS(仅权重量化),也可根据场景选择 INT8(权重 + 激活量化)、FP8 等。

  • AWQ 量化支持:当启用 INT4 量化时,awq=True 表示使用 AWQ 算法(激活感知权重量化),通过 group_size=128 进行分组量化,在压缩模型至原始大小 25% 的同时,最大限度保留精度。

  • 精度协同precision_mode="float16" 表示量化后的权重在计算时会临时转换为 16 位浮点数,避免低精度计算导致的误差累积,平衡效率与性能。

  • 自动校准:构建引擎时,TensorRT-LLM 会根据量化模式自动进行校准(如收集权重 / 激活分布),无需手动编写校准逻辑,简化量化流程。

  • 场景适配:若需优化大批量推理(如 batch_size≥16),可将 quant_mode 改为 INT4_WEIGHTS | QuantMode.INT8_ACTIVATIONS(权重 4 位 + 激活 8 位),并配合 FP8 计算精度进一步提升吞吐量。

简要对比

对比维度BitsAndBytesTensorRT-LLM
主要目的在有限显存下部署大模型追求推理的高速度、低延迟
使用门槛相对更低,简单了解该训练框架即可要理解 NVIDIA 硬件优化方式、TensorRT 部署流程等
对硬件要求普通消费级 GPU 即可仅限 NVIDIA GPU,最好是支持 Tensor Core 的系列
量化精度8-bit、4-bit 等低比特数支持 FP16、INT8,结合硬件加速实现更高推理效率
部署场景- 本地环境快速验证或小规模部署
- 小显存服务器或工作站
- 需要处理大量请求的生产环境
- 追求极致性能的大规模部署

参考文献

https://zhuanlan.zhihu.com/p/11886909512

https://www.zhihu.com/question/627484732/answer/3261671478

深入大模型量化技术,大模型端侧落地已Ready? - 智源社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/88809.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/88809.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/88809.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言网络编程】HTTP 客户端请求(域名解析过程)

在做 C 语言网络编程或模拟 HTTP 客户端时,第一步就离不开“把域名解析为 IP 地址”这一步。很多人可能直接复制粘贴一段 gethostbyname 的代码,但未必真正理解它的原理。 本篇博客将围绕一个经典函数: char *host_to_ip(const char *hostna…

Node.js特训专栏-实战进阶:16. RBAC权限模型设计

🔥 欢迎来到 Node.js 实战专栏!在这里,每一行代码都是解锁高性能应用的钥匙,让我们一起开启 Node.js 的奇妙开发之旅! Node.js 特训专栏主页 专栏内容规划详情 我将从RBAC权限模型的基础概念、核心组件讲起,详细阐述其设计原则、数据库模型设计,还会结合代码示例展示在…

mac上BRPC的CMakeLists.txt优化:解决Protobuf路径问题

问题背景与挑战 在构建高性能RPC框架BRPC时,​Protobuf依赖路径的配置往往是开发者面临的主要挑战之一。原始CMake配置在寻找Protobuf库时存在以下痛点: ​路径搜索不精确​:默认find_library无法定位自定义安装路径下的Protobuf​版本兼容…

Go 性能分析利器:pprof 工具实战指南

在 Go 语言开发中,性能问题往往是项目上线后最棘手的挑战之一。无论是 CPU 占用过高、内存泄漏,还是 goroutine 失控,都可能导致服务响应缓慢甚至崩溃。而pprof作为 Go 官方提供的性能分析工具,就像一把精准的手术刀,能…

fio测试SSD直接I/O(Direct IO)性能仅有100MB/s的问题解决

针对您使用fio测试SSD直接I/O(Direct IO)性能仅有100MB/s的问题,结合SSD特性和fio测试原理 fio测试SSD直接I/O(Direct IO)性能仅有100MB/s的问题 - LinuxGuideLinuxGuide 以下是可能的原因及优化方案: &a…

EVO-0:具有隐空间理解的视觉-语言-动作模型

25年6月来自上海交大、EvoMind Tech 和上海算法创新研究院(IAAR-Shanghai)的论文“EVO-0: Vision-Language-Action Model with Implicit Spatial Understanding”。 视觉-语言-动作 (VLA) 模型已成为一种有前途的框架,可使通用机器人能够在现…

文心大模型4.5开源测评:轻量化部署实践与多维度能力验证

前言:开源浪潮下的轻量化革命 2025年百度文心大模型4.5系列的开源,标志着国产大模型从“参数竞赛”转向“实用落地”的关键转折。当行业仍在追逐千亿参数模型时,文心4.5以0.3B轻量级模型撕开一条新赛道——单卡部署、低成本运维、中文场景高…

LeetCode 2401.最长优雅子数组

给你一个由 正 整数组成的数组 nums 。 如果 nums 的子数组中位于 不同 位置的每对元素按位 与(AND)运算的结果等于 0 ,则称该子数组为 优雅 子数组。 返回 最长 的优雅子数组的长度。 子数组 是数组中的一个 连续 部分。 注意:长…

中华心法问答系统的解读(1)

中华心法问答系统一、研究背景1. 研究意义2. 研究目的3. 信息检索技术二、主要研究内容三、相关技术介绍1. Flask框架技术2. BERT模型(1)基本概念(2)BERT解决的问题(3)BERT的核心结构a. 模型结构b. 预训练任…

Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频摘要快速生成与检索优化(345)

Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频摘要快速生成与检索优化(345)引言:正文:一、Java 构建的全场景视频处理系统(含校园 / 工厂 / 矿区适配)1.1 校园宿舍区夜间检索方案(…

信号量机制,互斥的避免自旋锁的实现方法(操作系统)

这次的比喻场景要升级了,因为它既能解决互斥问题,也能解决同步问题。我们用一个更综合的场景:一个拥有多辆共享单车的站点。共享单车 (资源):站点里有多辆共享单车,数量是有限的。你 (进程):想借一辆车去办…

零基础 “入坑” Java--- 十、继承

文章目录一、何为继承二、继承语法三、父类成员访问1.成员变量2.成员方法四、super关键字五、子类构造方法六、super和this辨析七、再谈初始化八、protected关键字九、继承方式十、final关键字十一、继承与组合根据我们学过的类的知识,我们来定义两个类:…

JS进阶-day1 作用域解构箭头函数

作用域全局作用域——>尽量少使用,避免变量污染局部作用域——>函数作用域、块级作用域作用域链——>底层变量查找机制(先在当前函数作用域查找,如果找不到,就沿着作用域链向上级作用域查找,直到全局作用域&a…

Arduino 无线通信实战:使用 RadioHead实现 315MHz 433M模块数据传输

本文将介绍如何使用 Arduino 和 RadioHead 库实现 315MHz(或 433MHz)ASK 无线通信。通过两个 Arduino 控制板,一个作为发射端,一个作为接收端,实现“按键控制 → 无线发送 → LED 控制”的基础通信功能,非常…

012_PDF处理与文档分析

PDF处理与文档分析 目录 PDF支持概述支持的功能文档限制上传方式分析能力应用场景最佳实践 PDF支持概述 核心能力 Claude现在可以直接处理PDF文档,提供全面的文档分析能力。这项功能支持: 文本内容分析:提取和理解PDF中的文本图像识别&…

系规备考论文:论IT服务知识管理

论IT服务知识管理 摘要 2022年7月,我公司中标某市化工厂网络视频监控管理系统综合平台运维服务项目,并任命我为系统规划与管理师。该项目组织结构为项目型,合同金额为115.5万元(含税),工期为1年。本运维服务项目的主要工作包括系统软件和网络设备的日常监控与维护,定期…

2025.7.12总结

最近又两三天没写总结了,如今必须要写一稿,毕竟事关赚钱认知的一次颠覆。在我原有的认知里,赚钱,就是通过出卖自己的劳动时间,精力,给他人提供价值输出。但是,赚钱,只能通过出卖体力…

把 DNA 当 PCIe:一条 365 nt 链实现 64 Gbps 片上光互连——基于链式 Förster 共振的分子级波分复用链路

作者 | Blossom.118 2025-07-13 关键词:DNA 光子学、FRET 波分复用、分子 PCIe、零能耗光链路、CMOS 兼容、开源版图 ---- 1. 为什么用 DNA 做光互连? • 带宽密度:硅光 1 m 波导最高 0.4 Tbps/mm;一条 2 nm 直径的 DNA 双链&am…

[论文阅读]Text Compression for Efficient Language Generation

Text Compression for Efficient Language Generation [2503.11426] Text Compression for Efficient Language Generation NAACL 2025 提出了“Generative Pretrained Thoughtformer”(GPTHF),这是一个分层 transformer 语言模型&#xf…

SwiftUI 7 新 WebView:金蛇出洞,网页江湖换新天

概述 崇祯年间,华山派武学虽盛,却在应对江湖新局时渐显颓势;如今 SwiftUI 江湖亦是如此 ——WWDC 25 之前,若要在 SwiftUI 中显示网页,开发者恰似袁承志初闯江湖,纵有一身本领,却苦无称手兵刃。…