Ahmad Osman 分享了一系列项目,每个项目专注一个核心概念,真实动手体验,深刻理解背后原理——从分词(词元化)到采样策略,从注意力机制到长上下文处理,再到微调、量化和推理优化,内容全面且系统。
主要项目亮点:
- Tokenization & Embeddings:自己动手做字节对编码(BPE),训练子词词汇,制作token可视化工具,比较one-hot和学习型embedding的差异。
- 位置编码:演示经典正弦函数编码、学习型、RoPE、ALiBi四种方式,动画展示位置编码的本质。
- 自注意力与多头注意力:从单token点积注意力写起,扩展到多头,验证因果遮罩效果。
- Transformer堆叠与QKV拆解:搭建单层和多层Transformer,拆解Q、K、V矩阵,实验不同组合的影响。
- 采样参数调优:交互式调整温度、top-k、top-p采样,观察输出多样性与熵的变化,揭示温度为0带来的重复现象。
- KV缓存加速推理:实现缓存机制,量化速度提升,制作缓存命中可视化,分析内存占用。
- 长上下文技巧:滑动窗口注意力、内存高效重计算,测量困惑度随上下文长度变化,找到“上下文崩溃”点。
- 专家混合(MoE):实现两专家路由层,动态路由tokens,统计专家利用率,模拟稀疏与密集计算节省FLOPs。
- Grouped Query Attention:改写多头注意力为分组查询结构,测评速度与延迟。
- 归一化与激活函数:手写LayerNorm、RMSNorm、SwiGLU、GELU,消融实验观察对训练/测试损失影响。
- 预训练目标对比:玩转掩码语言模型、因果语言模型、prefix语言模型,绘制损失曲线,比较学习速度与生成样本特性。
- 微调、指令调优与RLHF:小数据集微调;任务前缀指令调优;用PPO训练奖励模型,绘制奖励提升。
- 规模定律与模型容量:训练不同大小模型,绘制损失与模型规模关系,评估训练效率,推估极端小模型表现。
- 量化实操:实现PTQ和QAT,导出GGUF/AWQ格式,评估精度下降。
- 推理与训练框架迁移:HuggingFace模型移植到Deepspeed、vLLM、ExLlama,横向性能对比。
- 合成数据实验:生成玩具数据,加入噪声、去重,制作评估集,比较真实数据与合成数据的学习曲线。
数据恢复和数字取证往往需要用到复杂且分散的工具,操作起来既费时又容易出错。
Digler 是一款开源的取证级磁盘分析和文件恢复工具,集深度磁盘扫描、文件碎片重组与灵活插件扩展于一体,支持多种磁盘镜像和物理设备,能够恢复各种文件系统中的丢失数据。| #工具
它不仅提供了命令行界面满足专业脚本化需求,还有现代化的桌面应用适合日常操作,兼顾易用性和强大功能。
主要特点:
- 支持多种磁盘镜像格式及原始设备读取;
- 文件系统无关的深度扫描,支持NTFS、FAT32、ext4等;
- 插件架构支持自定义文件扫描器,方便扩展新格式;
- 生成符合数字取证XML标准的详细报告;
- 通过扫描报告精准恢复指定文件;
- 提供命令行和桌面双接口,灵活适配不同用户习惯。
适合数字取证专家、数据恢复工程师及技术爱好者使用。
Digler 是一款开源的取证级磁盘分析和文件恢复工具,集深度磁盘扫描、文件碎片重组与灵活插件扩展于一体,支持多种磁盘镜像和物理设备,能够恢复各种文件系统中的丢失数据。| #工具
它不仅提供了命令行界面满足专业脚本化需求,还有现代化的桌面应用适合日常操作,兼顾易用性和强大功能。
主要特点:
- 支持多种磁盘镜像格式及原始设备读取;
- 文件系统无关的深度扫描,支持NTFS、FAT32、ext4等;
- 插件架构支持自定义文件扫描器,方便扩展新格式;
- 生成符合数字取证XML标准的详细报告;
- 通过扫描报告精准恢复指定文件;
- 提供命令行和桌面双接口,灵活适配不同用户习惯。
适合数字取证专家、数据恢复工程师及技术爱好者使用。
- 管理层 → 子代理 → 工具集
一个总规划者负责分配任务到专注型子代理(发票、报表、预测等),每个子代理管理6-12个专用工具。
- 智能调度与动态切换
自研基于 Vercel AI SDK 的“编排者”智能判断何时交接对话,支持多轮、多代理无缝协作,传递上下文和切换原因,保持完整会话历史。
- 多代理协同的挑战与思考
当多个子代理需要同时提供上下文时,如何避免信息割裂导致的幻觉(hallucinations)?建议针对高频用例设计代理子集直接协作,提升准确性。
- 开源与落地
相关代码已部分开源,适配多场景,正在不断打磨中,期待更完善的多代理产品形态。
- 行业反馈
该架构已获得社区广泛认可,适合构建复杂多任务AI系统,但大规模用户时成本需考量。
这套多代理架构为复杂AI应用提供了系统化的解决方案,兼顾灵活性和可维护性,是推动AI产品实用化的重要一步。
这本书不是教你写代码,而是揭秘Google如何通过工程实践维护健康、可持续的代码库。干货满满,值得每位工程师细读。
核心启示:
1 软件工程 ≠ 只是编程
编程解决当下任务,软件工程关注代码的未来演变、可维护性、扩展性和规模化。
𝟮 Hyrum定律 & Beyoncé规则
- Hyrum定律:API用户多了,系统所有可观察行为都会被依赖,合同承诺不管用。
- Beyoncé规则:用户喜欢的bug就得写测试,修bug时测试会报错,你也得改他的代码。
𝟯 早发现,早修复(Shift Left)
- 静态分析、快速单元测试、集成测试、代码审查和QA都是降低成本的关键。
𝟰 自动化是团队扩展的核心
代码格式化、lint工具、CI流水线……自动化减轻重复劳动,保持效率。
𝟱 小心“虚假测试”
过度依赖stubs/mocks掩盖真实行为,Google推荐用fakes,更接近真实。
𝟲 小步快跑发布更稳健
小版本更易管理、回滚和理解。
𝟳 依赖升级要早、快、频繁
小幅更新风险低,方便及时调整。