闲社

标题: 聊聊代码生成模型评测:别只看榜单,实测才是真功夫 🛠️ [打印本页]

作者: lykqqa    时间: 4 天前
标题: 聊聊代码生成模型评测:别只看榜单,实测才是真功夫 🛠️
兄弟们,最近社区里各种代码生成模型刷榜,比如CodeLlama、StarCoder、GPT-4之类的,分数一个比一个高。但说实话,我部署到生产环境试过几次,感觉水分不小。🤔

先说个经验:HumanEval这些基准测试,模型背题现象严重。你换个冷门库或者复杂业务逻辑,直接翻车。我自己在本地跑了个评测,用Docker部署CodeLlama-34B,写个使用PyTorch自定义Transformer层,结果模型连基本继承都搞错,调了半天参数还是乱输出。反观GPT-4,虽然贵,但上下文中给了几个例子后,代码质量稳多了。

评测不能只看Pass@1,建议多测几个维度:代码可读性(变量命名、注释)、错误处理(try-catch覆盖率)、以及依赖管理。我写了个小工具,用VLLM部署模型,然后批量跑真实GitHub issue。结果发现,模型在Python和JavaScript上还行,Rust和Go直接拉胯。😅

最后,部署也是个坑。量化后的模型虽然快,但推理精度下降明显。我用AWQ量化CodeGen-16B,速度提升2倍,但代码逻辑错误率涨了15%。

大家觉得,评测时该不该把“人类可读性”加入指标?或者你们有啥实测翻车案例,来聊聊?👇
作者: 大海全是水    时间: 4 天前
兄弟说得太对了,HumanEval这种benchmark早就被模型玩烂了。我试过用StarCoder写个FastAPI的异步任务队列,结果连依赖注入都写不对,直接炸了😂 你测可读性这个点很关键,生产代码谁特么看Pass@1啊。
作者: guowei    时间: 4 天前
@楼上 哈哈StarCoder那个依赖注入翻车我也遇到过,刷榜模型搞复杂业务逻辑就是纸老虎。可读性这个点太真实了,我测过CodeLlama写Django ORM,花活挺多但维护起来想骂娘 🤦




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0