csvkit
wireservice/csvkit ↗计时单位:对一个 55 万行的 CSV 跑一次 csvstat(端到端)
$ python csvkit/utilities/csvstat.py big.csv逐位一致:每一项统计值都与原版 csvkit 相同
实测结果
我们把 AutoOptm 指向这些公开的 PyTorch / Python 仓库,和对待任何一个用户提交一样:运行的是项目自己的命令(纯库项目没有入口命令,就用一段调用其公开 API 的基准脚本),端到端计时,优化前后的输出逐项比对。下面是全部结果,加速大的、小的都在。
计时单位:对一个 55 万行的 CSV 跑一次 csvstat(端到端)
$ python csvkit/utilities/csvstat.py big.csv逐位一致:每一项统计值都与原版 csvkit 相同
计时单位:一张随机图跑完六项分析(介数中心性、PageRank、聚类系数等)
纯库项目,没有入口命令:计时的是一段调用其公开 API 的基准脚本。
$ python ao_bench.py10 张校验图上每个输出字段完全一致
计时单位:一周气候数据的汇总链(coarsen → rolling → groupby_bins → 距平 → 日最大值 → 写 NetCDF)
纯库项目,没有入口命令:计时的是一段调用其公开 API 的基准脚本。
$ python ao_bench.py统计量与原链路的绝对误差在 1.1e-5 以内
计时单位:一张测试图:JPEG 解码 → 变换 → 生成器 → 写出 PNG
$ python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout最差像素相差 2 个 uint8 级(PSNR 64.9 dB),小于原程序两次运行之间的差异
计时单位:生成一个样本(200 个 token,pythia-410m,bf16)
$ python litgpt/__main__.py generate checkpoints/EleutherAI/pythia-410m --max_new_tokens 200 --num_samples 8逐位一致:与冻结的 bf16 参考输出最大绝对误差为 0
计时单位:一批时间序列的拟合与预测
纯库项目,没有入口命令:计时的是一段调用其公开 API 的基准脚本。
$ python ao_bench.py预测结果逐位一致
计时单位:端到端合成一句话(音素化 → Tacotron2-DDC → 声码器 → 波形)
$ python TTS/bin/synthesize.py --text "The quick brown fox jumps over the lazy dog, again and again." --model_name tts_models/en/ljspeech/tacotron2-DDC --out_path out.wav --use_cuda波形逐位一致(PSNR 124 dB)
计时单位:一张输入图:解码 → 4 倍 RRDBNet(fp16)→ 后处理 → 编码写盘
$ python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs与原输出相比 PSNR 59.8 dB,误差不到一个 8 位码值
计时单位:一次 encode() 请求(一组文本 → 单位范数向量)
$ python examples/sentence_transformer/applications/computing-embeddings/computing_embeddings.py与 fp32 输出的余弦相似度 0.99999
计时单位:官方 10 分钟教程的预告片,端到端渲染一帧(解码 → 特效 → 合成 → ffmpeg 编码)
$ python docs/_static/code/getting_started/moviepy_10_minutes/trailer.py像素差异不超过 1 个码值(PSNR 51.7 dB)
计时单位:detect.py 处理一张图:读取 → letterbox → yolov5s 前向 → NMS → 写出标注图
$ python detect.py --source data/images --weights yolov5s.pt逐位一致
计时单位:一段流式音频走完服务端路径(新客户端 → 分段 → 回收)
纯库项目,没有入口命令:计时的是一段调用其公开 API 的基准脚本。
$ python ao_bench.py转写文本逐位一致
计时单位:一段视频用 detect-adaptive 端到端打分(解码 → 逐帧评分 → 切点判定 → 场景列表)
$ python scenedetect/__main__.py -i demo.mp4 detect-adaptive list-scenes -n评分逐位一致,切点列表与原版相同
计时单位:一张图加一条提示词走完官方推理脚本(SwinT 主干、BERT、可变形解码器 → 检测框)
$ python demo/inference_on_a_image.py -c groundingdino/config/GroundingDINO_SwinT_OGC.py -p weights/groundingdino_swint_ogc.pth -i .asset/cat_dog.jpeg -o out -t "cat ear."检测框位移小于 0.1 像素
计时单位:一段短视频 2 倍插帧:解码 → SSIM 检查 → IFNet → 编码
$ python inference_video.py --video=demo.mp4 --exp=1最差像素相差 1 个码值(PSNR 57.7 dB)
计时单位:train.py 的一次训练迭代(shakespeare_char)
$ python train.py config/train_shakespeare_char.py --compile=False --max_iters=400 --eval_interval=200 --log_interval=10loss 轨迹相对误差 8e-5 以内,梯度余弦 ≥ 0.99999
计时单位:VibeVoice-ASR 在示例数据集上的一步 LoRA 微调(解码 → 分词 → 组 batch → 前向/反向)
$ python finetuning-asr/lora_finetune.py --model_path microsoft/VibeVoice-ASR --data_dir finetuning-asr/toy_dataset --output_dir out --num_train_epochs 3 --per_device_train_batch_size 1 --learning_rate 1e-4 --bf16 --report_to noneloss 相对误差 6.5e-2 以内,梯度余弦 0.885;提供恢复原路径的开关,由使用者取舍
计时单位:train.py 的一个训练步(16 张 coco128 图:H2D → fp16 前向 → loss → 反向 → 优化器)
$ python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 3 --batch-size 16loss 相对误差 2e-3 以内,梯度余弦 ≥ 0.996
计时单位:转写一个音频文件(--model small,float16,不做对齐)
$ python whisperx/__main__.py audio.wav --model small --compute_type float16 --no_align --output_dir out特征与原实现相差不超过 0.016
计时单位:一条序列走完:TimeSeries → Scaler → 构建 NBEATSModel → 训练 3 轮 → 预测
纯库项目,没有入口命令:计时的是一段调用其公开 API 的基准脚本。
$ python ao_bench.pyloss 相对误差 2e-3 以内,MAPE 不变
这些数字怎么来的
计的是项目自己那条命令跑完一个工作单位的墙钟时间,包括数据读取、预处理和写盘,不是只测模型的前向。
优化开始前先固定输入集、生成参考输出、测出主机噪声。之后每个改动都和这份冻结的基线比,多次采样取中位数。
推理类项目比对输出本身(逐位一致、PSNR 或余弦相似度),训练类项目比对 loss 轨迹和梯度。超出容差的改动直接回滚,不计入结果。
交付的是一个标准补丁:同一个文件、同样的参数、同样的输出,优化默认开启,每处改动旁边都留有恢复原路径的开关。
这些是我们自己提交公开仓库得到的结果,测量所用的显卡和命令都写在每张卡片上。同一段代码换一张卡、换一份输入,结果会不同,所以你的仓库先有一次免费估算,再由你决定要不要继续。