将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM(基础篇)
📘

将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM(基础篇)

第 1/2 篇

「把私有LLM塞进EA前先看清硬件门槛」

想在 MT5 的 EA 里跑自己训练的 LLM,第一步不是写代码,而是确认你手上的算力够不够。原文作者在 2025 年 4 月公开的实验里,整套流程依赖本地 GPU 训练,而非云端 API 调用,这意味着显存和散热直接决定模型能不能落地到实盘策略。 根据原文披露的目录结构,该系列第 4 部分明确划分了「硬件配置」与「开发环境」两个独立环节,说明从零训一个轻量语言模型至少要经过裸机准备和依赖安装两道关,不是装个库就能开训。 外汇与贵金属交易本身杠杆高、滑点随机,把未充分验证的本地 LLM 信号接进 EA,可能放大误判概率。建议先在本机用历史数据离线回测,确认推理延迟在 tick 级可接受后再谈集成。

用 AMD 显卡给金融语言模型训练提速

上一篇文章里我们只用 CPU 跑通了一个语言模型的预训练,没做测试,因为那只是个预训练骨架。本篇接着讲训练,重点换到 GPU 加速,并且补上之前没细说的 AMD 显卡环境配置。 系列第二部分已经写过 NVIDIA 的 CUDA 环境搭建,那套现在相对省事。AMD 卡这边坑更多,本文会列一些常见报错的绕法,让你能把自己做的小金融语料模型真正在 AMD 上跑起来。 如果你手上是 NVIDIA 卡也不用跳文,训练代码和流程完全一致,只要 CUDA 装好,直接照训练步骤走,跳过 AMD 专属配置段就行。 需要提醒的是,这套示例模型容量很小,本篇仍不涉测试环节,验证留到后面文章。外汇与贵金属相关的语言模型训练数据含高波动行情,使用衍生模型做决策属高风险行为,结果仅具概率倾向。

◍ AMD 显卡跑大模型的系统前置

想用 AMD 显卡加速大语言模型训练,目前 Windows 原生和 WSL 都靠不住:截至 ROCm 6.1.2,Windows 上没有支持 ROCm 的 PyTorch 构建,WSL 也不支持 ROCm。可行的落地路径只有 Linux(实测 Ubuntu 最稳),要么在本机做 Windows+Ubuntu 双引导,要么把 AMD 设备当远程 Ubuntu 主机,从 Windows 走 SSH 连过去开发。 硬件供电是最容易踩的坑。我自己的 7900XTX 反复驱动崩溃,原以为 850W 单卡绰绰有余,试遍软件办法无效后,朋友让换 1250W 电源,问题立刻消失。给 AMD 用户的硬建议就一句:电源余量必须留够,别按标称功耗算。 环境部署嫌麻烦可直接拉 AMD 官方 Docker 镜像,ROCm 和 HIP 的大部分配置镜像里已备好,比手动装省事得多。 Ubuntu 下 AMDGPU 驱动优化偏弱,7900XTX 能输出 350W 却被默认限到 303W;满负荷风扇不到 45%,核心长期贴着 100°C。大模型一训几小时到几天,这温度对卡是实打实的风险,后面还有更折腾的硬件设置要说。

「Ubuntu 下压住 AMD 显卡的发热与功耗」

在 Ubuntu 跑 MT5 云代理或本地 GPU 计算时,amdgpu 驱动把调节接口直接挂到 sysfs。路径通常是 /sys/class/drm/card0/device/hwmon/hwmon2/,但 hwmon 序号会随内核和设备变化,动手前先用 ls 确认自己机器上是 hwmon1 还是 hwmon2。 改风扇和功率限制都要 root,普通用户写这些文件会直接报权限错。以 7900XTX 为例,默认功耗墙是 303W,设备上限 350W;若想提到 330W,就向 power1_cap 写入 330000000(单位是微瓦),再 echo "c" 应用。风扇用 pwm1 控制,0–255 对应停转到全速,写 128 大约是半速风。 [CODE] echo "1" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable echo "c" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable echo "128" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1 echo "c" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1 echo "330000000" > /sys/class/drm/card0/device/hwmon/hwmon2/power1_cap echo "c" > /sys/class/drm/card0/device/hwmon/hwmon2/power1_cap [/CODE] 上面六行依次做了:开 pwm1 手动模式、锁定生效、设半速风扇、锁定风扇值、写 330W 功耗上限、应用功耗。恢复时把 "c" 换成 "r" 即可回退到驱动默认。 别同时碰 pwm1 和 fan[1-*]_target,后者优先级更高会无声覆盖前者,调了半天发现转速没变就是踩了这个坑。 rocm-smi 仍是最顺手的命令行工具,--setfan 直接给百分比或级别,--setpoweroverdrive 接瓦数设上限,--resetfans 一键交还驱动自动控速。ROCm 主线现在在推 amd-smi,后续版本里它有可能顶替 rocm-smi,新装机器建议两条命令都试一下哪个能认出你的卡。

MQL5 / C++
echo "class="num">1" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo "c" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo "class="num">128" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1
echo "c" > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1
echo "class="num">330000000" > /sys/class/drm/card0/device/hwmon/hwmon2/power1_cap
echo "c" > /sys/class/drm/card0/device/hwmon/hwmon2/power1_cap

常见问题

先看显存,7B 级别模型微调至少 8G 显存,13B 建议 16G 以上;老卡跑不动就别硬上,先量化再训。
ROCm 环境下同价位 AMD 性价比偏高,吞吐可能接近甚至略超,但驱动坑多;能接受排错就值得。
可以,小布能按你给的品种和时段抽取快讯、做去重与标签,直接导出成微调文本,省掉手工洗数。
装对应版本的 ROCm 与 amdgpu 驱动,关掉内核自检,电源设高性能模式;别用太新内核。
限功耗墙到 70%~80%,机箱前进风拉满,用 amdgpu-fan 定曲线;温度压住后吞吐反而更稳。