前段时间想研究一下LLaMA-Factory的源码,结果对着项目文件看了半天也没看出来基于网页版做SFT微调的执行路径到底是个啥。经过在vscode中疯狂打断点以及调试,终于算是摸到了一点门道,大体就是从webui→cli→torchrun→launcher
的一个流程,下面我就记录一下详细的调试过程以及对应的源码分析。
webui篇
LLaMA-Factory启动网页微调的默认命令是llamafactory-cli webui
,直接这样我们肯定是无法调试项目的。查看项目中存在该文件src/webui.py
,猜测其应该是网页启动的代码入口,于是新建默认的调试文件launch.json
并调试webui.py