Peter Lau Blog

「离开世界之前 一切都是过程」

Prefect intro

Python workflow

背景 最近经常需要使用python脚本处理数据,在目标场景中数据需要经过多个环节处理才能完成。最初,个人使用多个python脚本,每个脚本对应一个环节,最后再使用shell或者python将这些环节串起来。 后来发现,这些代码可用性较差、不方便维护且需要引入额外的处理比如日志监控和差错重试等。如果去重构也需要再花些时间去梳理,RoI并不高。有无可能从刚开始就按照工作流的形式规...

DeepSeek V3

Internals


The transformer's optimization

Optimization methods


The transformer's details

From math to code

数学表达 Q,K,V 假设目前输入为 $N$ 个token,经过embedding后,变为 $N \times d$ 矩阵,记为 $I$。($d=512$,下面的 $d_{model}$ 也是同样大小) 那么 $Q,K,V$ 可以通过如下计算得到: \[Q = I \times W^Q\] \[K = I \times W^K\] \[V = I \times W^V\...

DeepSeek R1

Internals

Model Architecture MoE Architecture The expert network activates only a subset of weight parameters at a time, improving GPU resource utilization. MLA Latent Vector Compression applies low-ra...

Matrix multiplication

Optimization methods

矩阵相乘 优化算法 Strassen Windograd 常用优化库 lapack openBlas cutluss eigen

Cursor实践总结

Cursor

本篇文章会持续更新,记录Cursor的实践总结。 代码生成 工作中经常需要使用脚本处理各种任务,比如日志分析、可视化数据、文本批量修改等。使用Python并借助Cursor的代码生成功能,可以大大提高工作效率。下面贴一张经常使用的Python代码Prompt生成示例。 Prompt示例 Please write a python script: Method: usin...

知道什么时候停止

程序员修炼之道

这是一个相当大的主题,可以在许多领域用到,今天主要在软件开发领域聊聊这个话题。 Elon Musk 和 OpenAI CEO Sam Altman 都推崇这样一个做法:你先迈出一步,再逐步精进。不要妄想等到万事俱备才开始,也不要期盼所需的前置学习都要掌握才开始,那样你永远都不会开始。 为什么会有这样的论调? 首先我们要承认没有绝对完美的计划,条件大差不差的时候,可以着手去做...

你有权选择

程序员修炼之道

这个标题不是为了鼓励在工作中遇到不顺就跳槽。 “你有权选择”是指人生是自己的,你要去主动选择适合自己的工作环境,工作方向以及任务内容。被动选择最大的坏处,是对自己职业生涯的不负责。 被动选择,那么通常情况下是遇事才做出选择。如果不提出自己的诉求,想做的工作方向,那么分配给到自己的不太可能是你一直心心念想要做的工作。因为外人不太可能很了解你擅长什么,你的职业目标。 所以,要放...

多种依赖形式下动态库和静态库使用的不同

编译与链接

若调用者代码使用A库,A库依赖静态库B和静态库C,当A分别编译生成动态库和静态库时。从调用者角度,编译链接使用的流程如下: 若A使用形式为动态库,那么调用者在进行编译链接以及运行时,可以忽略静态库B和C;若A使用形式为静态库,那么调用者在进行编译连接时,同时需要链接静态库B和C。