ModChemBERT-IR-BASE-dcu_flagos
收藏资源简介:
# flagOS 适配 本目录是基于 DTK 版本的 **flagOS 适配版**,相对 DTK 版仅两处改动: 1. 在 `import torch` **之前**新增 `import torch_fl` 2. 运行设备由 `cuda:0` 改为 `flagos:0` 模型核心代码(`model/`)**未做任何修改**。 ## 运行 ```bash bash script/run.sh ``` 启动日志中出现 `[flagos] loading backend config from .../backends_dcu_flaggems.conf`,表示已走 flagOS 后端。 ## 精度比对(DTK vs flagOS) 同一份数据(`c1ccccc1[MASK]`)、同一份权重,在 `cuda:0`(DTK)与 `flagos:0`(flagOS)各跑一次单样本推理,比对 logits(11 × 2362 = 25,982 个元素,dtype = bfloat16): | 指标 | 数值 | | --- | --- | | 最大绝对误差 | 1.25e-01 | | 平均绝对误差 | 4.61e-03 | | RMSE(均方根误差) | 9.06e-03 | | 完全一致元素占比 | 71.3% | 补充指标:argmax 一致 11/11、top-5 重叠 54/55、余弦相似度 1.0000087。 > bfloat16 有效精度约 3 位十进制,误差量级在 1e-2 ~ 1e-3 属正常。参考文档示例(float32)为 1e-7 量级,两者不可直接横向比较。 ## 性能说明(重要) | 指标 | DTK (`cuda:0`) | flagOS (`flagos:0`) | 倍数 | | --- | --- | --- | --- | | 模型加载 | 40.19 s | 47.02 s | 1.17× | | 单样本推理 | 4.518 s | **89.27 s** | **19.8×** | flagOS 路径明显更慢,原因有二: 1. FlagGems 算子为 Triton 实现,需 **JIT 现场编译**;DCU 后端又不提供 replay benchmarker,autotune 退化为逐次实测(首次调用累计约 1263 秒) 2. 单样本、序列长度仅 11 的小负载下,kernel 启动与调度开销占比被放大 因此 **flagOS 的价值在于算子可移植性,不在于单次推理性能**。 ## 运行日志 `logs/flagos_run.log` 为一次完整运行的实录,包含《魔搭模型的 flagOS 的运行》第三节列出的 5 类正常日志。



