跳转至

Artificial Intelligence

My Digital Worker : New Coding Way Part0 —— Building AI-Coding Env

导言

随着AI模型的能力越来越强,我们要做的就是像SE一样描述清楚需求边界,然后让AI去干就行了。

但是由于安全保密,或者不同公司开发软件的历史原因,如何搭建一个AI Coding的环境直接第一步就难住了:

  1. 问题场景:黄区开发,根本连不上外网;
    1. 解决方法:允许蓝区开发
  2. 问题场景:客户都是k8s集群调度机器,都是虚拟出来的机器,只提供一个web的terminal调试界面。代码是在跳板机上修改,然后挂载同步到实际申请到虚拟机上。

Tensor Metrics

导言

在AI训练流程中,明明一个tensor就是一个shape下的数值,但是竟然有一堆指标来处理和解释其含义:

  • l1 norm
  • entropy
  • log_prob
  • logistics

这些指标代表什么,用途为何?如何计算(标量?什么shape),计算前后值域/shape变化如何,在比较精度的场景下是否为合适的典型指标(有代表性,且能比较)

  • KL divergence
  • JS divergence
  • argmax agreement
  • top-k agreement

Model Migrate Accuracy

导言

之前将megatron GPU实现迁移到NPU时,对齐精度,通过打印hook+小算子,只是打印 hash、l1_norm、mean、sum实现,能实现tensor hash值一模一样。

但是后来为了性能不得不上融合算子,就不能实现hash值相同;

到现在RL训推一致性,需要对齐训练和推理的精度,有两个问题: 1. 由于激活值在通过attention,mlp moe等模块时,激活值的shape和值域都会变化,如何判断对比两者的在哪个模块有明显的变化。需要不同模块能通过norm类似的操作来统一误差标准,然后我能拉一个每个不同模块的误差曲线,能通过可视化发现误差陡增的位置就是问题所在。 2. 主要我不希望dump每个模块的输出来进行位数的对比,这样太耗时和消耗空间,但是统计值l1_norm、mean、sum、min和max好像已经不够了,是不是需要加上p95等分位值,或者对于tensor变量一些metrics:kl loss才能更好的对比两个比较两个tensor的差异,且是数值可比较的。

RL: Training Inference Mismatch

导言

  • 25年,RL训练崩溃归因于训推不一致;
  • 为此提出了很多方法,TIS,Router Replay,FP16训推,batch一致性...
  • 如何判断 模型当前训推不一致,并找到不一致实现处,是实践的要点。

My Digital Worker : New Coding Way

导言

AI浪潮下,一开始是代码补全,之后是Vibe Coding,现在是Agent(规范驱动开发(Spec-driven Development)),后续趋势是Agent Team/Swarm。核心LLM上层的 逻辑编排层 愈发的重要。Harness Coding等

作为一个程序员,应当以什么姿势拥抱AI时代的代码编程,是需要持续关注的问题。

My Digital Worker : AutoMoneyMaker - AutoTrader

导言

量化交易一直是最火的自动赚钱的途径:

  • 经过调研,个人量化从技术上是可行的。
  • 加上现在agent coding能力起来了。
  • 原本是自己在写AQTP仓,但是发现了 zvt 这个偏个人的研究策略仓,和更关注实盘高频模拟的 vnpy
  • 现在把精力转移到开源仓的使用
    • zvt 仓的使用和二次开发上;(思路、可视化、数据库、策略拓展性都感觉OK)
    • QUANTAXIS 通过 Rust 加速;
    • AI 向 Qbot 和 microsoft/qlib 方法尝试。Qbot还支持接入飞书。