能不能微调一个大语言模型,让它能自动重写C/C++代码为rust?
2023-11-20 阅读 10
可以做到,但不简单。关键是要有大规模的 C/C++→Rust 平行语料(手工翻译、现有转译器输出、从开源仓库配对并带测试用例),用监督微调或 PEFT(如 LoRA)在开源大模型上训练,并把能否编译、通过单元测试和模糊测试作为主要评估/筛选标准。要特别注意 C 的未定义行为、指针和 FFI、unsafe 区域与性能差异,自动化输出必须配合编译器、rustfmt、MIRI、ASan/UBSan 和 fuzz 测试,还需人工审核关键路径。成本随模型大小和数据质量显著变化:轻量微调代价可控,高质量全自动迁移则需要较大工程投入。
更新于 2025年12月30日