当前位置: 首页 > news >正文

哪个淘宝客网站最好wordpress 分享 插件

哪个淘宝客网站最好,wordpress 分享 插件,中国农业建设网站,网络营销的特点与功能我们手动实现BitNet的编写#xff0c;并进行的一系列小实验证实#xff0c;看看1.58bit 模型是否与全精度的大型语言模型相媲美#xff01; 什么是量化以及为什么需要它#xff1f; 量化是用更少的比特数表示浮点数的过程。当两个数字使用不同的比特数进行量化时#xf…我们手动实现BitNet的编写并进行的一系列小实验证实看看1.58bit 模型是否与全精度的大型语言模型相媲美 什么是量化以及为什么需要它 量化是用更少的比特数表示浮点数的过程。当两个数字使用不同的比特数进行量化时浮点运算的计算成本几乎按照减少的比特数的比例降低理论上。这使我们能够提高速度并减少机器学习模型的内存消耗。但这通常会导致信息丢失从而降低准确性我们可以通过对量化模型进行更多的微调来一定程度上恢复这种损失。 现有的量化方法与 BitNet 1.58bit 对比 大多数量化算法都需要一个全精度的预训练模型。人们通常会应用后训练量化PTQ和量化感知训练QAT等技术以使这些算法有效运行。 PTQ 是一种量化技术模型在训练完成后进行量化。QAT 是对 PTQ 模型的进一步微调即在考虑量化的情况下进一步训练模型。 而BitNet 采用了一种截然不同的方法即从头开始训练模型时就进行量化 BitNet 的量化算法 上图中通过取绝对值的平均值的一半假设 n2来计算权重裁剪阈值 γ。然后权重矩阵 W 被相同的值除导致新的权重矩阵在原始权重值 ≥ γ 时的值 ≥ 1原始权重值 ≤ -γ 时的值 ≤ -1。对于 -γ 和 γ 之间的值它们被映射到 -0.99999… 到 0.9999… 当执行 roundclip 时 对于原始值 ≥ γ新值为 1.0原始值 ≤ -γ新值为 -1.0原始值在 -γ 和 γ 之间的新值为 0.0。 理论上结果值可以用信息编码理论表示为 1.58 位。由于位数不能是分数我们可以用 2 位来表示。 量化函数在Pytorch中的实现 阈值计算: def compute_adjustment_factor(self, input_tensor: torch.Tensor):absmean_weight torch.mean(torch.abs(input_tensor))adjustment_factor 1e-4 absmean_weight * 2 # 1e-4 to avoid zero divison errorreturn adjustment_factor这里没有把绝对值减半而是乘以了2。但是实验还是成功了! RoundClip (1.58~ 2bit) def compute_2bit_quantized_tensor(self, input_tensor: torch.Tensor):twobit_matrix torch.clip(inputtorch.round(input_tensor), min-1, max1)return twobit_matrixdef compute_1bit_quantized_tensor(self, input_tensor: torch.Tensor):return torch.sign(input_tensor)def compute_quantized_tensor(self, input_tensor: torch.Tensor):if self.quantization_mode QuantizationMode.two_bit:return self.compute_2bit_quantized_tensor(input_tensor)else:return self.compute_1bit_quantized_tensor(input_tensor)量化步骤 weight_adjustment_factor self.compute_adjustment_factor(self.weight)adjusted_weight self.weight / weight_adjustment_factorquantized_weight self.compute_quantized_tensor(adjusted_weight)线性层操作 F.linear(weight_adjustment_factor * x, quantized_weight, self.bias)将调整因子与输入相乘并将其除以量化权重 如果在将权重传递给线性层函数之前对其进行量化则对量化矩阵的更新不会通过量化函数(因为大多数更新将在1e-4到1e-2之间当通过量化步骤反向传播时将变为零)。因为原始的权重矩阵永远不会更新模型永远不会学习!! 但有一个巧妙的工程技巧可以做到这一点完整的前向传播是这样的 def forward(self, x):weight_adjustment_factor self.compute_adjustment_factor(self.weight)adjusted_weight self.weight / weight_adjustment_factorif self.training:quantized_weight (adjusted_weight (self.compute_quantized_tensor(adjusted_weight) - adjusted_weight).detach())else:quantized_weight self.compute_quantized_tensor(adjusted_weight)return F.linear(weight_adjustment_factor * x, quantized_weight, self.bias)量化权重块的值无论 self.training是否设置为 True都是相同的。但是当 self.training设置为 True时计算得到的梯度会被优雅地复制到调整后的权重中。这允许在训练过程中更新调整后的权重同时也更新原始的权重矩阵。 这是从谷歌 DeepMind 的 VQ VAE PyTorch 实现中借鉴的简单却实用的技巧 自定义Pytorch实现的实验结果 下面的实验选择了一个小型模型和一个相对于小型模型来假设足够大的数据集。此外为了创建目标模型的量化变体我简单地使用以下代码块将 nn.Linear模块替换为这个自定义实现 import copydef create_quantized_copy_of_model(input_model: nn.Module, quantization_mode: QuantizationMode):model_copy copy.deepcopy(input_model)hash_table {n: m for n, m in model_copy.named_modules()}for key in list(hash_table.keys()):if isinstance(hash_table[key], nn.Linear):new_module BitNetLinearLayer(in_featureshash_table[key].in_features,out_featureshash_table[key].out_features,biashash_table[key].bias is not None,quantization_modequantization_mode,)name_chain key.split(.)parent_module_attr_name ..join(name_chain[:-1])parent_module hash_table[parent_module_attr_name]setattr(parent_module, name_chain[-1], new_module)for n, m in model_copy.named_modules():assert not isinstance(m, nn.Linear)return model_copy结果如下 4层FFN的Mnist结果 128维6层VIT版本训练Fashion MNIST的结果 128维8层VIT在 CIFAR100上的结果 我们可以看到除了第一个实验外2位和1位版本的模型与全精度的常规版本的模型表现得一样好。在第一个实验中量化模型可能发生了灾难性遗忘。 这些实验并未使用大型语言模型LLMs进行但足以证明论文关于这样的系统能与全精度模型竞争的说法。 我们的实验与论文的唯一一个区别是这个实现并没有将量化权重存储在2位矩阵中计算仍以fp32执行的要真正看到计算速度的提升需要为此专门的计算内核我们目前没有能力编写所以实现仅验证了论文的潜在的论点。 以上实验的所有代码和模块代码都可以在github repo中找到 https://avoid.overfit.cn/post/131875e588ac4f4aa4f15d2dfa5b46db 作者:Chidhambararajan R
http://www.w-s-a.com/news/477089/

相关文章:

  • 湖北响应式网站建设企业做漫画网站 漫画哪找
  • 东莞建设通网站中小企业网站的建设实践报告
  • 合肥网站建设电话wordpress 点击量
  • 公司网站制作注意什么wordpress如何邀请人看
  • 做渲染的网站太原做网站兼职
  • 网站开发实施方案怎么设置wordpress底栏文字
  • 网站建设朝阳学前端有必要找培训机构吗
  • 自适应网站好处wordpress ftp验证
  • 网站建设的时间免费ppt模板的网站
  • 建个人网站一般多少钱ppt下载网站哪个好
  • 网站建设比赛网站建设合同标的怎么写
  • 中国做的儿童编程网站网站建设模板网站
  • 电脑做系统网站微信开店
  • site之后网站在首页说明说明网络舆情分析师怎么考
  • 本溪网站建设兼职wordpress lapa
  • 官网网站设计费用vue大型网站怎么做路由
  • 青海省安建设管理部门网站厦门网站快照优化公司
  • 张家港建网站公司网站开发 认证
  • 网站建设方式优化兰州医院网站制作
  • 怎么创造网站wordpress伪静态规则怎么写
  • 自己怎么做一元购物网站信誉好的合肥网站推广
  • 做网站的骗术有什么好的网站设计思想的博客
  • 网站建设工作 方案企查查企业信息查询在线
  • 上海外贸建站商城定制软件安卓
  • 成都网站建设_创新互联wordpress 相邻文章
  • 电子商务网站制作步骤免费建网站知乎
  • 龙岩有什么招聘本地网站团购网站 方案
  • 服务器运行一段时间网站打不开注册公司名字核名查询系统
  • 企业网站改版的意义响应式网站建设新闻
  • 大连金州新区规划建设局网站金坛市建设局网站