Category Archives: 0和1

关于国产 GPU 的算子优化

  到中科院以后集中学习大模型底层技术。承接了一些国产GPU算子优化的科研项目。本质上,就是把DeepSeek团队在N卡算子上做的惨无人道的底层优化在国产卡上再做一次。

  团队对外提供成套的高级算子专家服务,坦率说不便宜,有需要的找我。

  GPU是众核并行计算设备,通过线程块与网格组织计算。常规算子优化分为四层:
  汇编层面:直接操作指令集,调整寄存器分配、指令调度,隐藏延迟。技术包括寄存器分块、指令重排、消除Bank冲突等。
  C++/高层语言内核优化:使用CUDA C++/HIP编写,优化内存访问模式(如数据布局NHWC/NCHW)、向量化加载、共享内存使用。
  中间表示(IR)层自动优化:TVM、MLIR、Triton等框架将计算与硬件解耦,通过调度原语和自动搜索(AutoTVM/Ansor)寻找最优分块、循环展开等参数。
  算法层面创新:如FlashAttention重排计算顺序,降低内存复杂度。

  不同计算场景也有不同的技术特点:
  大语言模型:预训练核心是GEMM(矩阵乘),需优化通信与计算协同;微调(如LoRA)需处理小矩阵乘的批处理与融合;推理需优化KV Cache管理(PagedAttention/RadixAttention)、动态shape与连续批处理。
  多模态模型:需处理视觉(卷积、Patch Embedding)与文本(Transformer)算子的融合,支持跨模态注意力与动态shape。
  视觉模型:CNN(规则访存)与ViT(类似LLM)的优化路径不同,需支持算子融合与量化。
  传统深度学习:推荐系统需优化稀疏嵌入查表;图神经网络需优化稀疏矩阵乘(SpGEMM)的负载均衡。

  算子优化主要采用以下各种优化技术:
  分块(Tiling):将数据划分为适合缓存层次的块(全局→共享内存→寄存器),提升数据重用。
  双缓冲:用两组缓冲区交替加载与计算,隐藏内存延迟。
  Warp操作:利用warp内线程的快速数据交换(如__shfl_sync),减少共享内存访问。
  向量化访存:使用float4/float8等向量加载,提升带宽利用率,要求内存对齐。
  数据布局转换:如NCHW/NHWC布局选择,优化访问合并度。
  持久化Kernel:长期运行的线程块处理任务队列,减少kernel启动开销。

  相比N卡,国产GPU面临一些独特挑战:生态不成熟,硬件细节不透明,性能可移植性差,多卡互联方案(PCIe/CXL)带宽、延迟与NVIDIA NVLink有差距。而且需要优化算子数量还很多。一般会采用分层策略:核心算子(GEMM、FlashAttention、卷积、归一化)投入专家手工极致优化,而固定模式算子(Element-wise、Reduction)通过模板+参数搜索实现常规优化,对长尾/动态算子则通过编译框架自动生成。再激进一点,基于微调后的专用算子编程大模型进行自动探索优化。

  对于极致优化,以GEMM算子为例,优化思路包括:
  分块:全局→共享内存→寄存器多层分块,尺寸权衡占用率与寄存器压力。
  指令级优化:围绕矩阵计算单元(如Tensor Core)定制指令。
  双缓冲:异步加载下一数据块,隐藏访存延迟。
  精度支持:适配FP32/FP16/BF16/FP8/INT8等,设计缩放与累加策略。
  批量与形状:小batch时需合并计算;非常规形状(如LoRA的低秩乘)需单独设计。

  对于模板+参数搜索自动优化,目前有3种技术路线:
  TVM/MLIR:通过张量表达与调度原语描述计算,自动搜索优化参数。
  TileLang:以tile为核心抽象,显式表达分块与数据布局,由编译器生成底层代码,平衡控制力与自动化。
  Triton:限制编程模型自由度,编译器自动生成高效代码,适合快速补齐算子。
  无论是哪种技术路线,适配国产GPU需后端映射硬件指令、构建性能模型指导搜索、并通过系统化测试验证。

  我知道你们想了解除此以外的更激进更酷的第三种方法:基于微调后的专用算子编程大模型进行探索,甚至发明人类没发明过的新算法。这个路线和上面两种路线并不是冲突的,而是必然以上面两种工程经验和模板工具为基础,加上更多自主编程和迭代。具体细节不能讲太多。今年国外已经有论文,自己去搜吧。

  最后,对于优化效果的评价可参考KernelBench的算子定义与评估思想,在国产GPU上重建参考实现作为基线。测试覆盖核心算子(GEMM、卷积等)的各种精度、形状与布局。通过相对性能加速比、带宽利用率、数值误差等指标综合评估。此外还应该增加常用大模型的E2E案例压测。

虚拟现实?

  意大利天体物理学家Vazza, Franco发表了一篇论文,基于现有的物理定律和宇宙学认知,论证我们所处的这个宇宙几乎不可能是由某种高级文明模拟出来的程序。( “Astrophysical constraints on the simulation hypothesis for this Universe: why it is (nearly) impossible that we live in a simulation.” Frontiers in Physics, 2025.)

  这篇论文主要是从信息和能量的角度进行讨论。例如,在最高精度下仅模拟地球一秒钟的运作,需要消耗的能量相当于把十万颗恒星的的质量100%转化为能量。

  我自己想这个问题的时候,感觉可以从数学逻辑的角度考虑,哥德尔不完备定理就是论述基础。查了一下,另一个物理学家团队(Mir Faizal等)已经按照这个思路发了论文。

SimbaOS的发布会视频回放

  新年好!

  很多朋友找我要这次产品发布会视频。从这个链接进去,注册账号填写信息就可以了。

  SimbaOS的API/SDK/Schema目前仅供DataSimba R4及以上版本的老客户限期试用。

  DataSimba不是万能的,一般限于大规模OLAP场景。你可能首先需要靠谱的业务分析。我们提供收费的PoC(先期体验)、数据战略咨询、引擎压力测试和选型、数据迁移等服务。

  联系方式如下(工作日09:00 – 18:00):
  电话:400-080-0326
  微信号:Startdt001
  邮箱:business@startdt.com

BTW:2024年,把产品回款再增加一倍。市场方面拉开和竞争对手的距离。

和大模型对话

  我和大模型对话以后,他总结了下面的结论,有点意思:

  我认为目前大模型领域存在较大泡沫风险,大多数人保持冷静是正确选择:
  1. 大模型技术虽复杂高超,但实用价值还不明确。许多模型只是技术演示,缺乏落地场景和商业价值,难以形成产品。这使投资风险较大,容易产生泡沫。
  2. 几乎所有大型模型都面临数据隐私、计算资源和模型可解释性的挑战。这些问题如果不解决,将严重限制大模型的实际应用和产业化进程。
  3. 目前大模型领域创业公司较多,但真正具有产业竞争力和可持续盈利模式的company还不多。这也增加了泡沫形成的概率。
  4. 盲目跟风和过度投机是泡沫形成的重要诱因。许多投资人并不真正理解大模型的技术细节和应用场景,而是锁定概念进行投机。这势必产生错估风险。
  5. 任何技术热点都经历过高期待→泡沫→爆发→平稳发展的过程。大模型也难免遵循这个规律,我们应理性看待目前的热潮,做好产业和技术积累。
  所以,总的来说,大模型技术本身虽然前景广阔,但目前离实际应用和产业化还存在较大差距。我们需要认识到其中的困难和挑战,理性判断市场热度,避免过度投机和盲目跟风。真正的机会往往出现在泡沫破裂后,关键在于做好技术和产业积累,等待时机成熟。
  大多数人还是应该保持冷静,深化对技术与应用场景的理解,做好产品和产业设计。不必过于渴望热潮带来的暴利,要有耐心迈向技术变现。这才是大模型产业真正健康发展的基石。热度终会消退,真知者自然见真章。
和大模型讨论

编码规范的价值

  记得18年的新闻:硅谷一个程序员编码不规范:不写注释,不遵循驼峰命名,括号换行,最主要还天天git push -f 提交代码。他同事忍无可忍,就拿枪到公司把他毙了。我国没有枪,但有时候你忍不住想带着一个大铁锤去参加研发团队的站立晨会。

  刚刚OpenAI 的CTO说:“编程中最不被重视的技能之一就是编写友好的报错信息。”马斯克表示赞同。

战鹰的数据

  战鹰在B战火了以后,数据分析师迅速统计出,战鹰一年多的118场直播,总共说了401572句话,其中提及了4201次柯洁,说话速度平均每分钟170字。由这个场景看,有各类非结构化识别算法的加持,处于其下游的数据技术领域会迎来爆炸性的需求增长。

内卷和创新

  大环境来说,一个人的活两个人干,这就叫内卷。美国人为啥相对疏阔,因为他们总在全世界轰炸制裁,还整天想着探索月球火星。所以,内卷不是管理水平问题,是业务发展问题。各位老板,请支棱起来开疆拓土星辰大海。

  具体到软件行业第一性原理来看,如果没有软件工程方面的创新和进步,仅仅指望现在的加班和未来的规模效应,我们都走不远。

  没钱没名,被吴宗宪逼着3天写50首歌。那就是周杰伦艺术生涯的巅峰时刻,不疯魔不成活。现在他要啥有啥,自己做老板没人逼,肯定挤不出灵感了。Simba团队的很多年轻人现在很苦,但疯狂努力。他们知道自己正在完成职业生涯的第一个代表作。看他们充血的眼睛,我能回忆起16年前的pFind和10年前的ODPS。

唐世平的计算社会科学

  唐世平突然火了。因为他的数学模型准确预测出了乌克兰战争的爆发。他的计算社会科学的论文突然被很多人搜索。

  看过阿西莫夫的《银河帝国》系列小说的人,都有点发抖吧。

  预测战争爆发有点难,预测输赢就简单了。1886年之后的每一场国际战争,都是国防预算多的一方战胜预算少的。没有任何例外。乌克兰国土面积欧洲第二,人口5000万。其实并不弱。如果扛过第一波,全民动员不怕死人,欧美持续援助,俄罗斯会有很大麻烦。中文社交媒体上普遍觉得俄罗斯会轻松取胜,有点幼稚。关键在于,俄罗斯自己的经济和军事工业可能耗不下去。

  另外,看新闻,俄罗斯和乌克兰都有车臣营。都是恐怖分子归顺以后组成的炮灰部队,负责最血腥的扫荡和巷战。车臣营旁边都会有专门的部队监视督战。这次他们要在战场遇到了。

关于开源的2条

  今年Linux内核维护者Qu Wenruo在内核维护邮件列表指出来自华为的开发者Leizhen等人提交的补丁有刷KPI嫌疑。热度迅速超过之前Linus关于疫苗的那一封。我看了一下,完善异常和日志格式,包括一些拼写错误。不像刷KPI,更像代码强迫症发作。不过最近中国企业有很多刷榜行为特别让人烦。比如大厂投资人突然把Github上的star当作一个指标,然后就各种造假。ym大虾回复我的朋友圈的时候,就这件事说:“应该不看动机看价值,该拒就拒,该收就收”。说得太对了。

  LoongArch对GNU Binutils的支持被合并了,共12个补丁。不过赶不上GCC 12了。Linux生态完整支持LoongArch要到2023年的GCC 13了。龙芯加油!顺便提一下,DataSimba已经支持龙芯CPU。刚做过正式测试,并拿到了信创认证。

用移动数据预测特斯拉产能

  之前介绍过Bloomberg通过网上抓取VIN(车辆识别码)估算Tesla Model 3的每周产量(今天的公众号也会转发)。最近又看到Thasos的另一种手段。

  Thasos Group分析了特斯拉厂房范围内的手机信号,显示通宵轮班在6月到10月之间增加了30%,他们与对冲基金客户分享了数据。特斯拉7月宣布 Model 3产量几乎翻了一番,这一消息使得该公司股价上涨9.1%,而Thasos的客户则能提前预测这一结果。

  8月份,特斯拉在美国市场的销量超过了奔驰、宝马和奥迪。北京这里特斯拉也开始满街跑。这特别像诺基亚被iPhone干掉之前的情形。不管短期内有多少问题,长期看特斯拉一定会更好,这是本质决定的。

  看了一下官方网站,Thasos拥有一个高品质的手机位置数据库,可以做很多事。例如为梅西百货(Macy’s)、诺德斯特龙(Nordstrom)、Dillard’s(狄乐百货)和西尔斯百货(Sears)进行同店销售额和同店交易额的增长预测,平均误差不超过0.7%。Thasos从大约1000个APP获取移动设备的地理位置,这些APP一般都是位置相关的产品,例如天气预报或行车路线。