基于moonlight+sunshine的串流方案

基于moonlight+sunshine的串流方案
Wang YinXi用灵耀 14 Air 实时监控宿舍 4090 训练 AlphaZero:我最终搭建的远程科研工作流
我宿舍里有一台主力机器:拯救者 Y9000 2024(i9-14900HX + RTX 4090),主要用于深度学习实验,比如自己改的 AlphaZero 模型来训练Amazon棋。
但我并不总是在宿舍,更常在 图书馆、自习室,携带的是轻薄的 灵耀 14 Air。
轻薄本本身没法跑 AlphaZero 的训练,所以我需要做到:
- 即使人不在宿舍,也能实时看到训练情况
- 能查看 GPU/CPU 占用
- 能打开 TensorBoard
- 能修改代码后立刻重新运行训练
- 远程查看训练生成的棋局、日志
- 偶尔传输模型权重、训练数据
于是我搭建了一套完整的、非常稳定的远程科研工作流。
🧩 方案总览:Sunshine + Moonlight + Tailscale
这三者组合之后,就变成一整套优雅的系统:
| 工具 | 用途 |
|---|---|
| Sunshine | 宿舍笔记本的远程桌面 Host,编码高清画面 |
| Moonlight | 灵耀 14 Air(或 iPad)用来访问宿舍电脑 |
| Tailscale | 在校园网内保持稳定连接,让我随时连上宿舍电脑。主要是PKU/PKU Secure疑似都有AP隔离,所以不得不… |
因为我不是从校外连,只是在同一校园内移动,所以 Tailscale 的使用只是为了 稳定、不掉线、自动穿透校园 NAT,并不强调“远程外网访问”。
🚀 搭建过程(极简版)
1. 宿舍 4090 电脑——安装 Sunshine + Tailscale
Sunshine 用来把整个桌面“串流”,让灵耀 14 Air 完全像在本地控制一样。
Tailscale 则确保:
- 在图书馆 / 教室
- 甚至换了 Wi-Fi
- 或通过 4G 热点
都能保持稳定连接宿舍的电脑。
注意:
Sunshine 的编码器不要乱指定 GPU,保持 自动选择 是最稳的。
2. 灵耀 14 Air —— Moonlight + Tailscale
Moonlight 是可视化操作的主界面:
- 用它进入宿舍 Windows 桌面
- 打开 VSCode
- 运行训练脚本
- 查看日志和 GPU 占用
- 启动 TensorBoard
操作延迟基本和本地没区别。
📈 我实际的深度学习远程工作流
下面讲讲我最终形成的“顺手工作流”。
① 用 Moonlight 登录宿舍电脑桌面
延迟低、画面清晰,像坐在宿舍一样。
无论是在:
- 图书馆
- 教室
- 实验室
我都能打开完整的 Windows 桌面。
② VSCode 直接编辑 AlphaZero 项目
我一般步骤:
- 远程打开 VSCode
- 修改 MCTS 配置、网络结构、Self-play 策略、train_config.py
- 保存
- 命令行启动训练
这部分和本地使用完全一致。
③ 实时监控 GPU 占用(nvidia-smi)
我会习惯性开:
1 | watch -n 1 nvidia-smi |
看到:
- 显存占用
- GPU 使用率
- 温度
- num_process 是否在跑 self-play
Moonlight 刷新非常快,几乎无卡顿。
④ 查看训练日志 / Curve / Self-play 结果
训练 AlphaZero 时我会:
- TensorBoard 看 loss / policy loss / value loss 曲线
- 可视化最近对局的棋面
- WandB 看训练曲线和 config
这些界面都可以直接在 Moonlight 上打开。
因为我是在 校内,带宽都很高,刷新极快。
⑤ 传输文件(checkpoint、棋局数据)
Tailscale 自带的 Send File 功能好用到不行:
- 宿舍的 4090 → 灵耀 14 Air
- 灵耀 14 Air → 宿舍的 4090
我主要用它传:
- 最新的网络参数(权重)
- 自己手写的棋局可视化脚本
- Self-play 生成的
.npy数据 - 模型 checkpoint
比 SCP / SMB / U 盘都省事。
🎯 最终体验:随时随地看训练,非常爽
因为我不需要出校区,整个体验比外网更流畅:
- 延迟小到忽略
- 随时可以改代码重跑
- 训练跑 10+ 小时我也不用回宿舍检查
- 灵耀 14 Air 作为“监控终端”完全够用
- 实测一下午也不断线
- TensorBoard 刷新毫无延迟
- GPU 温度、速度一目了然
一句话:
这套系统让 AlphaZero 的长时间训练变得可控、轻松、稳定。
不用待在宿舍盯着电脑,人在哪都能看到训练情况。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果







