LLM - LlamaFactory 的大模型推理 踩坑记录

欢迎关注我的CSDN:https://spike.blog.csdn.net/

本文地址:https://spike.blog.csdn.net/article/details/148538165

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


在使用 LlamaFactory 大模型进行推理时,记录了遇到的诸多问题及解决过程,为后续应用提供经验参考。

下载地址 LLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory

也可使用代理下载,注意,下载之后,需要修改 remote 地址,即:

bash 复制代码
git clone https://ghfast.top/https://github.com/hiyouga/LLaMA-Factory.git
git remote set-url origin https://github.com/hiyouga/LLaMA-Factory.git

当前 Commit ID: e3d5e0fa28cdf5530ca7fae6feb04f88c1807de9

安装 Conda 环境,参考:使用 Docker 配置 PyTorch 研发环境

建议使用 Docker 环境,配置环境,安装 Python 依赖,以及 llama-factory 包:

bash 复制代码
cd LLaMA-Factory
pip install -r requirements.txt
# pip uninstall llamafactory
pip install -e ".[torch,metrics]"
# llamafactory-0.9.3.dev0

其他,相关环境:

bash 复制代码
pip install peft transformers datasets deepspeed sentencepiece
pip install vllm --timeout=120
pip install trl==0.9.6

注意:TRL 库 不是最新版本,使用 0.9.6 版本。

如果使用 webui 模式推理,需要修改源码的 IP 地址与 端口,同时,要重新安装 llama-factory 包,包括3处:

  • src/webui.py,1处
  • src/llamafactory/webui/interface.py,2处
python 复制代码
gradio_ipv6 = is_env_enabled("GRADIO_IPV6")
# gradio_share = is_env_enabled("GRADIO_SHARE")
# server_name = os.getenv("GRADIO_SERVER_NAME", "[::]" if gradio_ipv6 else "0.0.0.0")
print("Visit http://ip:port for Web UI, e.g., http://127.0.0.1:8090")
fix_proxy(ipv6_enabled=gradio_ipv6)
create_ui().queue().launch(share=False, server_name="0.0.0.0", server_port=8090, inbrowser=True)

启动WebUI界面:

bash 复制代码
export DISABLE_VERSION_CHECK=1
CUDA_VISIBLE_DEVICES="0,1" llamafactory-cli webui

多卡环境需要指定环境变量,否则显存溢出。

启动页面:

显存占用:

批量结束进程,即:

bash 复制代码
ps -ef | grep "python3.11" | grep -v grep | awk '{print $2}'
ps -ef | grep "python3.11" | grep -v grep | awk '{print $2}' | xargs kill -9

参考:

相关推荐
满怀冰雪1 小时前
24-PaddleClas 模型评估、导出与推理部署入门
大数据·人工智能·python·深度学习·paddle
Mid_search2 小时前
随机排列与Fisher-Yates算法
人工智能·深度学习·强化学习·随机排列·fisher-yates
ZGIAI7 小时前
ZGI Workflow:条件分支走错时先查哪一层
人工智能·架构
X54先生(人文科技)7 小时前
《元创力》纪实录 · 桥段 《窑变纪元:一份来自星历2227年的深空考古笔记》
人工智能·开源·ai写作·零知识证明
ZGIAI7 小时前
ZGI 文件产物:生成报告后怎样交付
人工智能·架构
东方-教育技术博主7 小时前
自动编码在教育场景中的重要性:一项基于多源证据的深度综述
大数据·人工智能
骥龙7 小时前
模块二:Ollama本地模型部署与OpenCode代理配置
人工智能
阡之尘埃7 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
Regentsoft丽晶软件7 小时前
品牌方新品上市促销政策无法实时同步经销商,有没有支持总部-经销商-终端一站式的分销解决方案?
人工智能·经验分享·数据库架构