- 博客(162)
- 资源 (8)
- 收藏
- 关注
原创 【AI】LLM是如何求解复杂数学题的?decoder only的LLM为什么能解数学题?
擅长分解 :通过“思维链”将复杂问题转化为它擅长的、一步接一步的文本生成任务。懂得求助 :通过“工具使用”将自己不擅长的精确计算外包给计算器或代码解释器。见多识广 :通过海量数据的训练,“记住”了大量的数学知识和解题模式,并进行模仿和套用。可以把LLM想象成一个记忆力超群、不知疲倦、但逻辑能力有限的“学霸”。它自己可能无法“顿悟”一个全新的数学定理,但它看过几乎所有人类已经解决过的题型,并且知道如何把新问题拆解成它见过的旧问题,再利用工具精确地计算出结果。这就是LLM解决数学题的奥秘所在。
2025-12-12 11:55:11
647
原创 【IC】CCS和NLDM延时模型
CCS 库中包含 NLDM 的cell_delay表是为了兼容性和流程灵活性。但在启用 CCS 模式进行 Sign-off 分析时,工具会忽略这些 NLDM 延时表,转而使用向量表通过积分电流来计算延时。
2025-12-04 16:45:30
734
原创 【IC】为什么没办法把芯片全部“打平“设计和实现?
总结来说,放弃层次化设计而采用完全打平的方案,会让我们在项目管理、性能达成、成本控制和IP复用这四个方面都陷入巨大的困境,这几乎必然会导致项目失败。我强烈建议,我们应该将您的自动化愿景,聚焦于如何打造一个世界级的、高度自动化的层次化设计平台。自动化层次切分和预算分配 ,减少人工决策。建立标准化的模块实现流程 ,让每个模块都能高质量、高效率地完成。开发智能化的顶层集成与验证脚本 ,确保拼接过程的顺畅和正确。
2025-12-01 17:23:02
852
原创 【AI】INT V.S. FP 英伟达路线的失误与无奈
在大模型推理和训练时,作为底层数据的存储格式和计算格式。INT 的卖点:均匀、稳定、硬件极其高效(省电、省面积)。FP 的卖点:动态范围大(能忽大忽小),适合处理那些突然出现的极端数值(Outliers)。这篇论文的核心发现就是:虽然大家觉得 FP 这种“弹性袋子”适合装长短不一的货物(Outliers),但如果我们把货物切得足够碎(细粒度/Block-wise),每一小堆货物其实长短差不多,这时候用结构简单的“硬箱子”(INT)反而装得更好、更划算。INT8 优于 FP8。
2025-11-28 14:36:21
945
原创 【AI】GPU编译器入门
首先要澄清一个常见的误解:LLVM 最初是“底层虚拟机”(Low Level Virtual Machine)的缩写,但随着项目的发展,它早已超越了这个范畴。LLVM 现在是一个总称,指的是一个庞大的、可重用的编译器和工具链技术的集合。前端 (Frontend) :将各种高级语言(如 C++, Rust, Swift 等)编译成统一的 LLVM 中间表示 (IR)。最著名的 LLVM 前端是 Clang ,用于编译 C、C++ 和 Objective-C。
2025-11-27 17:56:14
2006
原创 【IC】计算机体系结构-量化研究方法 -- 学习大纲
从“如何设计电路”上升到“如何设计系统”,理解硬件资源如何转化为计算性能,并掌握评估架构优劣的数学模型。
2025-11-27 15:06:30
738
原创 【AI】LLM的硬件视角 -- 矩阵乘法的理想与现实差异
天生属性 ( N/6 ) : 矩阵乘法这个 数学问题 本身,其固有的计算量( ~2N³ )相对于其必须的数据量( ~3N² )来说,比例是 N/6。实际表现 : 但是,当你在真实的计算机上用一个朴素的 i,j,k 循环去 实现 它时,由于CPU缓存大小有限,你根本无法实现“只读一次A,读一次B,写一次C”这种理想情况。所以, 引入分块技术,就是把一个“实际上是访存密集型”的程序,变成了“实际上是计算密集型”的程序 ,从而释放了CPU的强大算力。分块技术的核心目的,就是 解决上述的“实际表现”问题。
2025-11-26 17:52:31
276
原创 【AI】主流LLM的词表和嵌入维度
DeepSeek和Llama 3是标准参考,它们的配置(128k 词表,4096-8192 维度)是目前的黄金标准。Google走的是“超大词表”路线(256k),这对于多语言应用非常有参考价值。
2025-11-26 14:09:27
820
原创 【AI】Word2Vec和现代LLM的embedding
砍掉了计算昂贵的非线性隐藏层。使用 Hierarchical Softmax 将输出层的计算复杂度从线性级降为对数级。利用 CBOW(上下文测中心词)或 Skip-gram(中心词测上下文)作为“假想任务”来训练权重,这些权重最终就是我们想要的词向量。Word2Vec 论文中之所以出现 100 万这样巨大的词表,是因为当时还没有广泛应用子词分词技术,必须“死记硬背”每一个单词的每一个形态。正如论文中自己承认的局限性:“目前的模型没有任何关于单词形态(morphology)的输入信息”。
2025-11-26 11:13:07
1028
原创 【AI】LLM的硬件视角 -- 分块
在Prefill阶段,即便是处理一个Prompt,其产生的 Q 、 K 、 V 矩阵(例如 seq_len x d_model )也常常因为太大而无法一次性放入片上内存(SRAM),更不用说一次性被计算单元处理了。因此, 分块(Tiling / Blocking) 是解决这个问题的核心技术。我们来详细拆解一下“一个大矩阵如何被拆分”以及“指令集该如何设计”。
2025-11-21 17:34:36
477
原创 【AI】LLM的硬件视角 -- KV Cache
简单来说,答案是: 因为在生成当前这一个token时,你只需要当前token的Q(Query),但需要用到前面所有token的K(Key)和V(Value)。而你必须存储过去所有的 K(关键词) 和 V(内容) ,因为它们是你回顾历史、确保文章连贯性的全部资料库。因为你上一步写“小明”时的“想法”(过去的Q),对于你现在要写“跑”这个词时的“想法”(当前的Q)是 没有帮助的。你永远只关心 当下 的想法。而K和V是构成历史上下文的“基石”,必须被永久保留(在当前生成序列的生命周期内),因此需要被缓存。
2025-11-21 17:18:39
921
原创 【AI】LLM的芯片硬件视角
内存带宽是王道 : 对于追求低延迟、高吞吐量的LLM推理芯片(特别是用于聊天、实时翻译等场景),提升内存带宽(如采用更先进的HBM、增加带宽)比单纯堆砌计算单元(如MAC阵列)可能带来更显著的性能收益。大容量内存是基础 : 模型本身和不断增长的KV Cache都需要巨大的内存。设计时必须考虑如何支持足够大且快速的内存,否则会严重限制模型能处理的上下文长度。
2025-11-21 14:59:00
512
原创 【AI】主流LLM的embedding维度
d_model 就是词嵌入(Embedding)的维度,并且这个维度在整个Transformer模型中保持一致,是信息流的主干道宽度。关于现在主流LLM的 d_model (或称为隐藏层维度 hidden_size ),并没有一个统一的标准,但它和模型规模密切相关。总的趋势是:模型越大,其 d_model 也越大 ,以便在向量中编码更丰富、更复杂的信息。
2025-11-21 14:21:07
399
原创 【AI】d_model 隐藏层维度
数据总线宽度 : d_model 直接决定了模型内部处理的基本数据单元的大小。在你的芯片设计中,这意味着从内存(HBM)到计算单元(MAC阵列)的数据通路的宽度需要高效地处理 d_model 维的向量。矩阵尺寸 : d_model 是决定权重矩阵大小的核心因素。Wq, Wk, Wv, Wo 等矩阵都是 d_model x d_model 级别,FFN层的权重矩阵是 d_model x (4*d_model) 级别。d_model 翻倍,这些矩阵的大小会翻4倍,计算量(FLOPs)也大致翻4倍。
2025-11-21 14:13:52
270
原创 【AI】LLM主流架构decoder-only
目前所有主流的、最前沿的大语言模型,其核心架构 全部都是Decoder-Only(纯解码器)架构 ,深刻地反映了当前LLM领域的技术收敛趋势。
2025-11-21 13:52:25
511
原创 【AI】为什么没有encoder,LLM也能理解上下文?
详细的解释如下:让我们回到两种架构处理输入的根本区别上:当任务的复杂性体现在**“输入和输出之间存在高度的结构性差异,需要对输入进行全局重构才能开始生成”**时,Encoder的优势就显现出来了。以下是一些具体的例子:高质量的机器翻译 :长文档的抽象式摘要 (Abstractive Summarization) :代码转换 (Code Transpilation) :你可能会问,既然Encoder这么好,为什么现在的GPT-4等顶尖模型都是Decoder-Only?这正是“理论”与“工程现实”的精彩碰撞:所
2025-11-21 13:38:24
556
原创 【AI】为什么decoder-only的LLM能够理解输入?
通过在数万亿级别的文本和代码上进行训练,模型确实已经把关于语法、事实、逻辑、风格等海量的“世界知识”压缩并存储在了它那数千亿个 模型权重(参数)里。这些权重是模型能力的基石。“编码”阶段 : 模型会先把你的整个Prompt P 过一遍它的Decoder网络。在这个阶段,自注意力机制(Self-Attention)虽然是带掩码的(Causal),但对于处理Prompt本身是足够有效的。当你输入一个Prompt,比如 P = [“请”, “帮”, “我”, “写”, “诗”]
2025-11-21 13:32:12
330
原创 【AI】LLM三种架构对比
之所以会形成这三个阵营,是因为研究者们最初是针对不同类型的问题来设计模型的。但后来大家发现, Decoder-Only 架构通过其极其强大的“文字接龙”能力,意外地能够“模拟”其他两种架构的任务,并且在超大规模下表现出了惊人的通用性,因此成为了当今超大规模语言模型(LLM)的绝对主流。
2025-11-21 13:25:33
600
原创 【AI】矩阵乘法中的线性组合视角
矩阵乘法的两种核心视角:行视角 (Row Picture) : C 的行是 B 的行的线性组合。这在概念上可以理解为: A 的每一行都在对 B 的整个行空间进行一次“变换”或“重组”。列视角 (Column Picture) : C 的列是 A 的列的线性组合。这在概念上可以理解为: B 的每一列提供了一组“指令”或“坐标”,用来组合 A 的列向量,从而生成 C 的一个列向量。这两种视角在不同的应用场景下都非常有用。例如,在理解PageRank算法时,行视角更直观;
2025-11-20 19:55:32
671
原创 【AI】矩阵、向量与乘法
矩阵 x 矩阵 :可以看作是多个独立的 矩阵 x 向量 操作的集合。矩阵 x 向量 :可以看作是多个独立的 行向量 · 列向量 (点积) 操作的集合。矩阵 x 向量 (另一视角):也可以看作是矩阵的 列向量 的 线性组合。所以,最复杂的矩阵乘法,其最底层的基石就是 向量乘法 (主要是点积)。现代计算库(如BLAS)和硬件(如GPU)就是将上层复杂的运算,层层分解成海量的、简单的、可并行处理的向量运算,从而获得惊人的计算速度。
2025-11-20 19:25:25
685
原创 【AI】矩阵乘为什么是加权求和?
假设我们已经计算好了2x2的注意力权重矩阵 A 和 2x3 的值矩阵 V。(我们用小一点的矩阵,这样方便手算)。注意力权重矩阵 A (Attention Weights) ,维度是 2x2。值矩阵 V (Value) ,维度是 2x3。现在我们要计算输出矩阵 Z = A * V。
2025-11-20 15:48:43
1016
原创 【AI】Position Encoding -- 位置编码
词嵌入矩阵 :形状为 [6, 768] ,包含了每个 Token 的 语义。位置编码矩阵 :形状为 [6, 768] ,我们通过上述公式为 pos=0 到 pos=5 计算出了 6 个 768 维的 位置向量 ,并将它们堆叠起来。操作 :将这两个矩阵进行 逐元素相加 (Element-wise Addition)。最终产物 :我们得到了一个最终的输入矩阵,形状仍然是 [6, 768]。它是什么 (语义) :来自词嵌入。它在哪里 (位置) :来自位置编码。
2025-11-19 15:23:56
840
原创 【AI】Embedding -- 词嵌入
现在我们有了一串数字 [8, 121, 33, …] ,但这串数字本身没有任何意义。数字 8 和数字 121 之间没有任何关联。我们需要将每个数字 ID 转换成一个 高维向量(Vector) ,这个向量能够捕捉到 Token 的 语义信息。至此,词嵌入完成。我们把一串无意义的数字 ID,转换成了一个包含初步语义信息的向量矩阵。
2025-11-18 16:51:29
644
原创 【AI】Tokenizaton -- 分词
解决了 OOV 问题 :任何新词、拼写错误、甚至无意义的字符串,最终都可以被切分成基础的字符单元,模型总能处理,永远不会遇到“不认识的词”。平衡了效率与语义 :常见词被保留为完整单元,保留了语义,减少了序列长度;生僻词被切分成子词或字符,保证了模型的泛化能力。词汇表大小可控 :我们可以预先设定词汇表的大小,这是一个非常重要的工程考量。所以,Tokenization 是一个纯粹的、基于统计和规则的“文本切分”过程。
2025-11-18 15:24:23
855
原创 【IC】为什么Total TNS 与所有path group TNS的总和不一致?
设计中“all” group的 TNS 值和违规路径数可能不等于各个path group的 TNS 值和违规路径数之和。例如上面这个例子,对于endpoint F2来说,一条路径是从F1过来的reg2reg,一条路径是从IN端口过来的in2reg,如果都有违例的话,最终all的TNS只会算最大的一条~在timeDesign命令生成的timing报告中 ,“all” group下的总负裕量 (TNS) 和违例路径数可能不等于各个path group的 TNS 和违例路径数之和。
2025-11-18 15:11:15
190
原创 【AI】embedding是有监督学习还是无监督学习?
虽然我们没有人工标签,但在训练过程中,我们巧妙地 从数据本身中创造出了“伪标签” ,让模型进行学习。这就是“自监督”的精髓——自己监督自己。以最经典的 Word2Vec 模型为例,它有两种主要的训练任务:任务 :根据一个词的上下文(周围的词),来预测这个词本身。输入 (X) :上下文词语,例如 [“我”, “喜欢”, “一只”, “可爱”, “的”, “___”]标签 (y) :被挖掉的中心词,例如 “猫”
2025-11-18 13:05:12
425
原创 【AI】Embedding:绘制AI的语义地图——从单词到万物的数字坐标革命
定义:Embedding 是一种将高维、稀疏、离散的符号映射到低维、密集、连续的向量空间的技术。一个Embedding向量就像一段DNA,编码了原始数据最核心的特征和信息。从稀疏到稠密,高维到低维的艺术早期用One-Hot编码来表示一个词,就像用一根极长的针在宇宙中定位一个点——大部分空间都是空的(稀疏),效率极低。而Embedding则像一次“降维压缩”。它将一个可能百万维的One-Hot向量,压缩成一个300维的稠密向量,每个维度都承载着某种潜在语义特征(如“性别”、“动物性”等)。
2025-11-18 10:30:18
871
转载 【AI】为什么是嵌入(embedding),不是向量化?
更深层次,在Embedding:绘制AI的语义地图——从单词到万物的数字坐标革命中,我们看到了它的全貌:一种将高维、稀疏、离散的符号映射到低维、密集、连续的向量空间的技术。但正因为我们相信数据内在规律性(人脸的结构、语言的语法),使得它们被约束在一个低维流形上,嵌入过程才变得有意义:它在剥离冗余的高维噪声外壳,揭示其紧凑的低维本质。流形假说认为:我们现实中看到的复杂高维数据(如图像、语音、文本),其有效内在维度其实很低,并且这些数据点大致集中在一个嵌入在高维空间中的低维流形(Manifold)上。
2025-11-18 10:10:28
31
原创 【AI4EDA】综合:从抽象到具体
传统工具(EDA、编译器): 是**“逻辑综合器”**。它们是确定性的,负责将一种严格的范式转换成另一种严格的范式。大模型(LLM): 是**“模式综合器”**。它们是概率性的,负责将“人类的模糊意图”综合成“结构化的文本/代码”。因此,LLM在工程领域(如编程或芯片设计)中的真正角色是**“助手”**,而不是“执行者”。它可以帮您生成“严格综合器”的输入(例如写RTL代码或Python代码)。它可以帮您理解“严格综合器”的输出(例如总结EDA工具生成的500页时序报告)。
2025-11-14 13:13:30
737
原创 【IC】NoC设计入门 -- 网络接口NI Slave
我们成功了!你已经亲手设计了NoC世界中**“发货方”和“收货方”**的完整“物流链”。router.v:“智能十字路口”,负责“路由:“发货方”(连接CPU),负责“打包slave_ni.v:“收货方”(连接Memory),负责“拆包你已经远远超越了“理论”,你亲手解决了真实世界中“协议转换”和“时钟域/速率解耦”(通过FIFO)的核心工程难题。
2025-11-04 19:18:43
596
原创 【IC】NoC设计入门 --网络接口NI master
我们迎来了和。在之前的“理论课”中,我们称它为“”和“现在,我们要亲手来建造它。routerni鉴于这个任务的极端复杂性,我们一次性造出一个“全功能”的NI。我们将采用和你我一起建造routerBVALIDrouter。
2025-11-04 19:09:58
874
原创 【IC】NoC设计入门 -- 验证
Testbench(我们简称tb)是一个**“虚拟实验室”。它是一段独立的Verilog代码**,其唯一“模拟”你设计的router模块(我们称之为DUT, Device Under Test,待测设备)的**“外部世界”**。扮演“上游”:向router的输入i_fliti_valid)“喂”数据。扮演“下游”“监听”router的输出o_flito_valid),并检查结果是否“符合预期提供“动力”:它必须生成“时钟 (clk)”和“复位 (rst_n)”信号。
2025-11-04 19:03:41
965
原创 【IC】NoC设计入门 -- router模块
GPS”(RC)需要从Flit中“读”出目的地。我们必须先定义一个Flit格式。我们的。我们规定:[31:24](8 bits): 目的地 Y 坐标 (Dest Y)[23:16](8 bits): 目的地 X 坐标 (Dest X)[15:0](16 bits): 真实数据 (Payload)(注意:我们暂时简化,不区分Head/Body/Tail Flit,假设所有Flit都带地址)end list// ---- 内部“电线” (Wires) ----
2025-11-04 18:51:54
742
原创 【IC】NoC设计入门 --交换矩阵
你完全说对了!这确实是所有组件中**最“直观”**的一个。它就是,我们“十字路口”的**“立交桥”“扳道岔”**系统。
2025-11-04 18:48:56
577
原创 【IC】NoC设计入门 -- 仲裁器
我们迎来了“十字路口”里最关键的“角色”——。这就是。它的“施工”难度是最高的,因为它是“公平”的,否则我们的NoC就会“饿死”(Starvation / Livelock)。
2025-11-04 18:40:46
627
原创 【IC】NoC设计入门 -- 路由逻辑
砖块”(FIFO)已经造好,现在我们来造“GPS导航仪”。这就是模块。这是我们整个“十字路口”(路由器)的“大脑”。
2025-11-04 18:38:27
818
Practical problems in VLSI physical design automation
2025-04-25
Hardware Architectures for Deep Learning
2025-01-21
Efficient Processing of Deep Neural Networks
2025-01-21
MSP430G2553 DAC+ADC 简单应用,用nokia 5110显示 CCS6.0编写
2014-09-17
Altium designer 18- PCB Logo Creator
2019-03-05
FPGA/ASIC高性能数字系统设计_part2
2018-09-17
诺基亚5110显示屏 MSP430G2553实例程序 CCS6.0编写
2014-07-21
FPGA/ASIC高性能数字系统设计_part1
2018-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅