- 博客(35)
- 收藏
- 关注
原创 InternVL3-8B 量化
量化建议使用 hf 格式,因为笔者所使用的模型为基于 Github 格式微调过的,所以要先将其转为 hf 格式再量化。下面均以量化 InternVL3-8B-hf 为例,仅量化 LLM 模块,如需量化 LLM + VIT, 将。这里采用FP8 W8A8 + FP8 KV cache 的量化方案,注意这里的 ignore 的配置。InternVL 提供了两种模型权重的格式,包括和前几代权重格式一致的。下的文件拷贝过来,感觉脚本功能不完善。这里有个问题,转换后的。,修改 ds.map。
2025-11-05 09:34:27
710
原创 如何使用 VLMEvalKit评测VLM
VLMEvalKit 是专门用来评测大型视觉语言模型(LVLMs)的开源工具包。它对模型生成的结果有两种评测方式,一种是精确匹配,直接看模型答案和标准答案一样不一样;另一种是用另一个语言模型来提取答案,分析得更深入。本文以 Qwen2.5-VL-7B-Instruct 为例,介绍如何使用 VLMEvalKit。
2025-09-23 11:03:37
555
原创 火焰图初探
火焰图是由Brendan Gregg创建的层次数据可视化工具,用于分析软件的堆栈跟踪,以便快速准确地识别最频繁的代码路径。火焰图可以从许多不同的软件性能分析工具的输出生成,包括针对不同资源和事件类型的性能分析。本文从 CPU 性能分析开始,介绍如何生成、分析火焰图。
2025-08-11 09:22:00
772
原创 c++编译环境安装(gcc、cmake)
选择想要下载的版本,然后解压,查看 contrib/download_prerequisites 中的依赖。以我下载的 gcc-7.3.0 为例,
2025-08-07 19:25:11
375
原创 FlashAttention 公式推导
这就是每个块softmax结果的递推过程了。有了当前的公式基础,我们可以开始FlashAttention的公式推导了。不难发现是我们上面推导的。是向量,且其余块的值都为。
2025-06-07 15:21:20
891
1
原创 Sanitizers
官方文档对每个点都有很详细的demo,可针对参考。Asan默认不会进行use-after-return 检测,需要设置ASAN_OPTIONS=detect_stack_use_after_return=1UBSan。
2025-05-20 11:15:42
1283
原创 手搓一个Transformer
本文来自. 一直以来,笔者对 transformer 的注意力机制、qkv的理解都浮于表面,当然也不是说我看完后理解有多深入,但确实加深了我对相关概念的理解,故搬运此文章,部分表述基于笔者的理解加以修改。手动制做一个Transformer来预测一个简单的序列,权重没有通过训练,而是手动分配。要完成这个Transformer,基本步骤为:1、选择一个任务2、设计模型3、设计位置嵌入和词嵌入矩阵4、设计一个transformer block。
2025-05-19 18:07:18
950
原创 vllm量化05—FP8 W8A8
本系列基于Qwen2.5-7B,学习如何使用,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。本文是该系列第6篇——FP8 W8A8。
2025-05-16 08:51:36
673
原创 vllm量化04—INT8 W8A8
本系列基于Qwen2.5-7B,学习如何使用,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。本文是该系列第4篇——INT8 W8A8。
2025-05-16 08:46:04
839
2
原创 vllm量化03—INT4 W4A16
本系列基于Qwen2.5-7B,学习如何使用,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。本文是该系列第3篇——INT4 W4A16。
2025-05-15 18:56:20
516
原创 vllm量化02—AWQ
本系列基于Qwen2.5-7B,学习如何使用,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。本文是该系列第2篇——awq量化。
2025-05-14 09:22:03
879
原创 vllm量化01—Qwen2.5-7B
本系列基于Qwen2.5-7B,学习如何使用,并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。本文是该系列第1篇——初始模型。同时简单介绍如何编译 vllm 和如何使用 lm_eval。
2025-05-14 09:13:46
1205
原创 AWQ量化
[那么引出问题:如何挑选这些显著权重?这里激活值就是与权重矩阵作matmul运算的输入值。但随之而来的问题是,权重中既有fp16的数据,也有int4的数据,这种混合精度数据类型会使得系统实施变得困难,需要一种方式来保护重要的权重,而不实际地将它们保留为fp16。作者提出的方式是scaling。
2025-05-08 16:50:26
1048
原创 量化基础03—Weights Packing and Unpacking
本文主要参考课程,B站视频带中文字幕(),官方视频带jupyter。quantization-in-depth 系列视频主要分为三个部分:1、介绍量化的概念,实现对称量化、非对称量化,基于对称量化实现逐层、逐通道、逐组量化2、实现自己的量化器并量化开源模型3、介绍weights packing 和 unpacking本文主要涉及第三部分。
2025-04-18 14:12:32
356
原创 量化基础02—构建自己的量化器
本文主要参考课程,B站视频带中文字幕(),官方视频带jupyter。quantization-in-depth 系列视频主要分为三个部分:1、介绍量化的概念,实现对称量化、非对称量化,基于对称量化实现逐层、逐通道、逐组量化2、实现自己的量化器并量化开源模型3、介绍weights packing 和 unpacking本文主要涉及第二部分。
2025-04-17 19:01:16
495
原创 Gitlab CI/CD
Gitlab CI/CD是嵌入在Gitlab中的一套工具。CI:每次将代码改动push到仓库远程分支时,执行pipeline script来build, testCD:每次将代码改动push到仓库远程分支时,人工(delivery)或自动(deployment)将成果物发布到对应环境。
2025-04-15 11:12:23
400
原创 Docker内运行CICD
在Docker内运行CICD有两种方式:一是CICD运行和gitlab-runner在同一个docker内,这种方式适合不同的CICD任务环境配置相同。二是CICD运行和gitlab-runner不在同一个docker内。这种方式适合不同的CICD任务环境配置不同。这里介绍第二种方式。gitlab-runner执行在Docker内运行CICD的流程是:1、用指定的镜像创建容器2、拉取代码3、执行script。
2025-04-15 10:54:22
221
原创 code-server+nginx搭建
公司一批训练机器(N卡)不能连接外网,大家都是通过内部训练网站创建容器执行训练任务,但是由于跟本地开发网络不同,没法对容器进行操作,也没法对训练任务进行调试。如图:于是调研了支持vscode远程服务的工具,包括和。
2025-03-22 10:25:23
706
原创 Continue使用本地模型
公司一批训练机器(N卡)不能连接外网,在这些机器上使用 docker + code-server + nginx 的方案能够在个人PC上通过网页访问训练机器的code-server,从而实现类似于vs-code的功能。实现了基础的代码开发、调试后,想着在这批机器上部署个AI代码大模型,提高编程效率。调研了一通后,选择 code-server + Continue + llama.cpp + Qwen2.5-Coder-1.5B 的部署方案。
2025-03-18 19:22:34
1624
原创 记一次gitlab 500
显示很多 IOError (unmapped file),于是百度搜了一下,有回答说是 docker shm 不足导致,修改docker compose 文件,shm设为512MB 就解决该问题了。于是在容器中 df -h /dev/shm 显示64M确实用完了。进到gitlab 容器中。
2025-03-03 19:53:15
482
原创 memcpy和memmove
memcpy()和memmove()函数的区别是在于对内存重叠的情况的处理。memcpy()对内存重叠不做任何处理,而memmove()在内存重叠时采用从尾部复制。以上,是官方的解释,也是各个博客的解释。肯定没问题。先贴一下两个函数的实现。void* memcpy(void*dest, constvoid*src, size_tn){ char*dp = dest; ...
2019-09-10 21:12:36
308
原创 finally的执行
finally finally作为异常处理的一部分,只能在try/catch语句中,并且附带一个语句块,标识这段语句最终一定被执行,经常用在释放资源的情况下。 关于finally的执行顺序——JVM规范中有:如果try语句里面有return,那么先将值保存到局部变量中,然后执行finally...
2018-11-26 11:32:53
345
原创 final修饰符
final       用于声明属性不可变、方法不可重载、类不可被继承。  &
2018-11-25 11:27:56
200
原创 ReentrantReadWriteLock解析
通常我们用的 Synchronized 和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。然而在有些业务场景中,我们大多在读取数据,很少写入数据。这种情况下,如果仍使用独占锁,效率将及其低下。针对这种情况,Java提供了读写锁——ReentrantReadWriteLock。读写锁允许同一时刻被多个读线程访问,但是在写线程访问时,所有的读线程和其他的写线程都会被阻塞。...
2018-08-28 18:14:49
1735
原创 ReentrantLock源码分析
ReentrantLock比Synchronized提供了更加灵活的加锁方式,可中古段一个正则等待锁的线程,实现指定时间的获取锁,实现公平与非公平锁等。构造器及lock() //默认构造非公平同步器 public ReentrantLock() { sync = new NonfairSync(); } //可构造公平或非公平...
2018-08-18 21:45:05
403
原创 Java的Object类的源码分析
Object类是Java中所有类的父类,所以对其的认识是十分重要的。下面是我对Object类中个方法的认识(结合了代码中的注释以及看过的一些书)public class Object { //其主要作用是将C/C++中的方法映射到Java中的native方法,实现方法命名的解耦。函数的执行是在静态代码块中执行的,在类首次进行加载的时候执行。 private stati...
2018-08-07 11:40:40
3965
原创 String、StringBuilder、StringBuffer
StringBuilderStringBuilder的构造器,无论是默认的无参构造器,或是指定容量的,或是指定字符串的,最终都是继承自AbstractStringBuilder的构造方法。 AbstractStringBuilder(int capacity) { value = new char[capacity]; }主要看一下append()方法 ...
2018-08-06 10:47:32
164
翻译 RDMA介绍
这是对这篇文章的大致翻译:zcopy.wordpress.com/2010/10/08/quick-concepts-part-1-%E2%80%93-introduction-to-rdma/What is RDMARDMA is Remote Dynamic Memory Access which is a way of moving buffers between two app...
2018-07-27 17:58:48
3819
原创 和为S的连续正数序列 剑指offer
题目描述:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 /** * 思路1:针对序列起始数字。 * 从start=1开始循环,假设序列的起始数字为start,那么用S逐渐减去start,start+1,star+2.... * 最后S会为0。若S最后为0,则说明以该start开始的序列是和为S的连续序列...
2018-07-23 15:43:48
218
原创 HashMap的put操作及扩容函数的源码分析 1.8
put操作步骤: 1、检查桶数组,如果数组为空,初始化HashMap;否则,执行2 2、根据带插入的key的hash找到在数组中的索引,如果该位置为空,直接插入;否则,执行3 3、根据该位置下的结构是链表或者红黑树选择相应的插入方式。红黑树的插入涉及去了解红黑树就知道了。链表的插入是在尾部插入。PS:HashTable的链表插入是在头节点插入,这也是两者不同之处。 fin...
2018-07-23 09:11:10
716
原创 二叉树的遍历
package algorithms;import util.TreeNode;import java.util.*;public class BinaryTree { ArrayList<TreeNode> list = new ArrayList<>(); /** * 二叉树的递归前序遍历: * 如果根节点为空,什么...
2018-07-23 08:54:44
171
原创 KMP算法
参考文档: http://jakeboxer.com/blog/2009/12/13/the-knuth-morris-pratt-algorithm-in-my-own-words/ http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html字符串模式匹配 ...
2018-07-18 22:48:05
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅