- 博客(149)
- 资源 (8)
- 收藏
- 关注
原创 Prompt compress 技术探究-LLMLingua2
LLMLingua2 https://arxiv.org/pdf/2403.12968是LLMLingua的改进版本。我们知道LLMLingua需要用小模型压缩,模型太小不一定能保证性能,模型太大耗费时间又太长。这个方法理论上可以,但实际上不是很方便用。很难选择到合适的小模型。小模型压缩后的prompt在不同系列的大模型不一定能识别的准。信息熵不一定是最好的压缩度量指标,比如胡乱的语句信息熵很高,但是确是无效错误的信息,通用模型压缩效果肯定不如专门训练的压缩模型效果好。
2025-05-04 18:31:04
1003
原创 Prompt compress 技术探究-LLMLingua
这里以微软的一篇发表在2023EMNLP 顶级期刊研究论文,介绍下prompt compress技术。就信息熵角度来说,困惑度 (PPL) 较低的标记对语言模型的整体熵增益贡献较小,删除困惑度较低的词条,对LLM理解上下文的影响相对较小, 基于这个理论指导,这篇论文进行了尝试。大型语言模型 (LLM) 因其强大的性能而被广泛应用于各种领域。随着思路链 (CoT) 提示和语境学习 (ICL) 等技术的进步,输入到 LLM 的提示越来越长,甚至超过数万个 token。
2025-05-04 18:23:30
1021
原创 在android 系统上qnn sdk转换,运行模型,精度调优示例总结
前面讲了如何配置qnn sdk的环境,这一篇总结下qnn 实际转换一个onnx 模型,并运行的实现步骤。设备:1. ubuntu22.04 的Linux 服务器。2. 一台android手机。
2025-04-28 17:24:11
1152
原创 基于medusa范式的大模型并行解码推理加速初探
树注意力机制:树注意力机制通过树状结构来组织所有候选的token。每个token只能看到自己当前路径上的prefix(前缀),确保每条路径互不干扰。掩码(Masking):通过掩码技术实现每个token只能看到自己当前路径上的prefix,从而确保每条路径互不干扰。Medusa模型:Medusa模型引入了树注意力机制,通过这种方式,Medusa只需要对这些候选进行一次forward pass(前向传播)就能对所有路径并行地实现验证(verify)。
2025-04-19 12:51:31
716
原创 Speculative decoding投机解码原理思考与解决
投机解码的核心动机是:在生成任务中,总有简单和复杂的子任务,对于一些较为简单的任务,解码过程存在可以节约资源的环节,使用大模型进行每轮一个token的自回归解码存在资源上的浪费;换句话说,简单的子任务只需要用参数量较小的模型来生成也能取得与使用大模型生成相当的效果,亦或是用大模型在每轮迭代进行多个token的并行解码也依然能保持生成质量。基于此,投机解码采用一种draft-then-verify(起草+验证)的机制来实现这一过程。
2025-04-19 12:42:59
928
原创 简要记录java 锁
线程执行到monitorenter指令时,将会尝试获取对象所对应的monitor的所有权,即尝试获得对象的锁。Java 1.6为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”,在Java SE 1.6中,锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。其是由一个同步状态+FIFO的同步队列组成,提供了同步队列、独占式同步状态获取与释放、共享式同步状态获取与释放以及超时获取同步状态等同步器的核心数据结构与模板方法。
2023-06-30 11:11:30
172
原创 android 系统rc添加 shell运行脚本
py-faster-rcnn在测试模型的时候,可以选择使用cpu mode或者gpu mode,但是如果使用该框架训练自己的模型,就只能使用gpu了。应该是作者考虑训练速度的原因,对roi_pooling_layer和smooth_L1_loss_layer只使用和提供了gpu版本的代码.这两个文件在py-fast-rcnn/caffe-fast-rcnn/src/caffe/layer
2022-11-09 11:58:57
1597
原创 android 新增一个服务编译,运行
在被使用中的任何一个mk文件中去加一条, 如果是已经编译好的,就放到一个目录下去,在mk文件中用PRODUCT_COPY_FILES += 存放目录:目标目录我在devices/qcom 下增加一个xxx bin程序,在整个系统一起编译时需要device/qcom/msm8953_64/msm8953_64.mk 里增加PRODUCT_PACKAGES += xxx 其中xxx为模块名字。
2022-10-31 19:54:49
450
原创 android 编译产物
Android.mk可以引用Android.bp中的模块,反之Android.bp不能引用Android.mk中的模块。,类似于Android.mk中的LOCAL_STATIC_LIBRARIES。,类似于Android.mk中的BUILD_SHARED_LIBRARY。,类似于Android.mk中的BUILD_EXECUTABLE。,类似于Android.mk中的LOCAL_SRC_FILES。,类似于Android.mk中的LOCAL_MODULE。name :编译出的。
2022-10-31 19:53:31
1041
原创 Android log 系统
在Android生态系统中有不同类型的日志:。主日志用于应用程序,events用于系统事件信息,radio用于电话相关信息,android system用于系统消息和调试。Android日志系统包括一个内核驱动程序和用于存储Android日志消息的内核缓冲区,用于创建日志条目和访问日志消息的C、c++和Java类,,以及查看和过滤来自主机的日志消息的能力(通过Android Studio或ddms)。Linux内核中有四个不同的日志缓冲区,它们为系统的不同部分提供日志记录。
2022-10-31 19:48:00
1831
原创 Android 系统的异常信息捕获
记录native进程crash 奔溃时, 系统的数据信息。TOMBSTONE 是 Android 用来记录的 core dump 日志, 系统服务在启动完成后会增加一个 Observer 来侦测 tombstone 日志文件的变化, 每当生成新的 tombstone 文件, 就会增加一条 SYSTEM_TOMBSTONE 记录到 DropBoxManager 中.What a Terrible Failure简称WTF,WTF是Android系统记录错误的一种方式,
2022-10-31 19:46:02
2098
原创 接口的意义,
1. java当中继承一个接口,要重写他的方法的话,那为什么还要多此一举的去实现一个接口呢?直接把方法写在类当中不就可以了?就是说去掉类名后面的Implements接口 ,可以不可以呢?统一访问:接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。如果我用接口,one.method1();那样我new a();就..
2021-02-28 12:37:58
270
原创 java 的基类,抽象类,接口
JAVA 继承基本类、抽象类、接口Java是一个面向对象的语言,java面向对象一般有三大特征:封装、继承、多态。封装:就是把一些属性和方法封装到一个类里。继承:就如子类继承父类的一些属性和方法。多态:就如一个父类有多个不同特色的子类。这里我就不多讲解,下面我主要说明一个继承。继承是OOP(面向对象)的一个特色,java只支持单继承(如果继承两个有同样方法的父类,那么就不知道继承到那个父类的,所以java只支持单继承)。继承是java的一个特色,我们用的所以类都继承Objict类,所以就
2021-02-28 12:15:04
886
原创 使用SSD检测训练自己的数据
上一篇博客讲到如何制作自己的训练数据集,这一篇博客讲讲如何使用SSD训练自己的数据.在训练数据做好后。训练程序为/examples/ssd/ssd_pascal.py,运行之前,我们需要修改相关路径代码,主要是训练路径的修改和关于自己数据集参数的一些修改.cd /examples/ssd先复制一份sd_pascal.py, 再打开,把里面的路径修改为自己的.具体有如下: tra
2017-12-03 22:39:16
1427
原创 把自己的数据制作成voc2007数据格式用于SSD训练
我们使用SSD训练自己的数据集,就要制作成voc2007的数据格式,然后才能转化数据格式进行训练.第一步:首先了解VOC2007数据集的内容1)JPEGImages文件夹文件夹里包含了训练图片和测试图片,混放在一起2)Annatations文件夹文件夹存放的是xml格式的标签文件,每个xml文件都对应于JPEGImages文件夹的一张图片3)ImageSets文件夹Ac
2017-11-30 21:02:31
4647
1
vc6.0的filetool.dll
2013-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人