ModelScope 魔搭社区的免费 Notebook,有一个坑,关闭浏览器就停实例

你用的是 ModelScope 魔搭社区的免费 Notebook,不是阿里云的 PAI-DSW(虽然界面长得像)。这是两个完全不同的东西:
在这里插入图片描述

关键区别

ModelScope Notebook (你现在用的)阿里云 PAI-DSW
关闭策略关闭浏览器/断网后自动释放实例可以后台运行,支持定时关机
持久化实例释放后数据丢失(除非存到数据集/OSS)有持久化存储,实例停止数据保留
tmux 效果❌ 没用,因为整个容器被销毁了✅ tmux/screen 有效
费用免费(有算力额度限制)按量付费/包年包月

为什么 tmux 没用?

ModelScope 的免费 Notebook 是无状态容器:

  • 关闭浏览器 tab → 检测到 WebSocket 断开 → 一段时间后自动销毁容器
  • tmux 是进程级工具,容器都没了,里面的进程自然全死

解决方案

哎,这就非常坑了!看来 ModelScope 的免费 Notebook 是底层硬件级别的强制回收——它检测到你的浏览器 WebSocket 断开,就直接把整个容器(包括 tmux 所在的 Linux 环境)给挂起或销毁了。这种情况下,任何命令行技巧(tmux、nohup)都无能为力。
既然你今晚就想关机睡觉,但又不得不让网页开着,这里有几个**“保命”大招和长期解决方案**:

今晚怎么办?(让网页强行保持连接)

你遇到的情况很常见——很多浏览器扩展插件名称可能不同,或者已被下架、更新,导致在应用市场搜不到。别急,我会帮你分析原因,并提供切实可行的解决方案。

🔍 先了解为什么找不到插件

浏览器扩展(尤其是名称简单、通用的)经常遇到以下情况:

  • 名称变更或下架:开发者可能更新了名称,或者插件已被下架。
  • 浏览器兼容性问题:你使用的浏览器(如Edge)与Chrome扩展商店的兼容性设置问题。
  • 搜索关键词误差:插件名称可能有细微差别(如"KeepAlive" vs “Keep Alive”)。

🛠️ 实用解决方案:让网页保持活跃

以下方法按推荐度排序,你可以逐一尝试。

方法一:使用浏览器控制台代码(最简单、免安装)

这是最直接有效的方法,原理是通过JavaScript模拟用户活动,防止网页因“无操作”而被判定为休眠。
操作步骤:

  1. 在你打开ModelScope Notebook的网页标签页上,按下 F12 键打开开发者工具。
  2. 点击顶部标签栏的 Console(控制台)。
  3. 将以下代码复制并粘贴到控制台最下方的输入框中,然后按回车键执行:
function keepAlive() {
    // 模拟鼠标移动事件
    document.dispatchEvent(new MouseEvent('mousemove', {
        'bubbles': true,
        'cancelable': true,
        'view': window,
        'detail': 0,
        'clientX': Math.random() * 100,
        'clientY': Math.random() * 100
    }));
    // 模拟极微小的滚动
    window.scrollBy(0, (Math.random() > 0.5 ? 1 : -1));
    // 输出日志,方便确认运行
    console.log('保活心跳:', new Date().toLocaleTimeString());
}
// 每30秒执行一次
setInterval(keepAlive, 30000);
  1. 保持这个网页标签页打开,并且不要关闭开发者工具面板(可以将其最小化)。你只需确保电脑本身不休眠即可。

💡 小贴士:执行后,你会在控制台看到每隔30秒打印一条“保活心跳”日志,这表示代码正在运行。关闭浏览器或电脑休眠会中断。

方法二:安装确实存在的替代扩展

以下是一些确实存在且功能相近的扩展,你可以直接在浏览器扩展商店中搜索它们的全称:

Browser Mouse Jiggler MT Auto Clicker Stay Awake Pro在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

方法三:调整浏览器和系统设置防止睡眠

这是从根源上防止浏览器标签页被休眠的方法。
1. 禁用Edge浏览器的“睡眠标签页”功能(关键步骤):
* 进入 设置 > 系统和性能。
* 找到 使用效率模式 或 睡眠标签页 选项,将其关闭。
* 在下方 始终保持这些网站活跃 中,点击 添加网站,输入 www.modelscope.cn 并添加。
2. 调整Windows电源设置(防止电脑休眠):
* 按 Win + R,输入 control 打开控制面板。
* 进入 电源选项 > 更改计划设置。
* 将 关闭显示器 和 使计算机进入睡眠状态 都设置为 从不。
* 点击 更改高级电源设置,展开 睡眠,将 允许混合睡眠 设置为 关闭,在此时间后睡眠 设置为 从不。

方法四:使用油猴脚本(Tampermonkey)

如果你安装了油猴扩展,可以编写一个用户脚本实现保活,功能更强大。

  1. 安装 Tampermonkey 扩展。
  2. 点击油猴图标,选择 添加新脚本。
  3. 将以下代码粘贴进去并保存:
// ==UserScript==
// @name         ModelScope Keep Alive
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  防止ModelScope Notebook因无操作而断开
// @author       You
// @match        *://*.modelscope.cn/*
// @grant        none
// ==/UserScript==
(function() {
    'use strict';
    function keepAlive() {
        document.dispatchEvent(new MouseEvent('mousemove', {
            bubbles: true,
            cancelable: true,
            view: window,
            detail: 0,
            clientX: Math.random() * 100,
            clientY: Math.random() * 100
        }));
        console.log('Tampermonkey保活心跳:', new Date().toLocaleTimeString());
    }
    setInterval(keepAlive, 30000);
})();

📋 方案总结与建议

为了让你更清晰地选择,我总结了各种方案的优缺点:

简单免安装

持久一劳永逸

是

否

是

否

是

否

网页保活方案选择

方案偏好

方法一: 控制台代码
⭐⭐⭐⭐⭐
优点: 最直接, 无需安装
缺点: 需手动操作, 开发者工具需保持打开

方法三: 调整设置
⭐⭐⭐⭐
优点: 从根源解决, 影响全局
缺点: 需调整系统设置, 可能影响其他应用

推荐优先尝试

是否成功?

🎉 问题解决

尝试方法二: 安装替代扩展
⭐⭐⭐
优点: 自动化, 可视化
缺点: 需寻找可用插件

是否成功?

尝试方法四: 油猴脚本
⭐⭐⭐⭐
优点: 功能强大, 可定制
缺点: 需安装Tampermonkey

是否成功?

考虑更换平台
(如Kaggle, AutoDL)

⚠️ 重要提醒

  • 组合使用:为确保万无一失,建议方法一(控制台代码)+ 方法三(调整设置) 同时使用。这是最保险的组合。
  • 网络稳定性:除了网页保活,也要确保你的网络连接稳定。如果网络本身不稳定,断开的风险很高。
  • 最终方案:如果以上所有方法都无法解决你当前的问题,并且你需要长时间稳定运行任务,那么强烈建议你考虑将任务迁移到其他更适合长时间运行的平台,如:
    • Kaggle Notebooks:关闭网页后仍可后台运行约9-12小时。
    • AutoDL/恒源云:按量付费的云GPU平台,关机不扣费,实例可长期保留,随时重连,最适合跑过夜任务。
      希望这些方案能帮你解决问题!如果你在尝试过程中遇到任何疑问,或者想了解某个平台的更详细使用方法,随时可以再问我。
2. 浏览器开发者工具“挂机脚本”(免安装)

如果你不想装插件,可以在当前网页按下 F12 打开开发者工具,切换到 Console(控制台) 标签页,粘贴以下代码并回车:

function keepAlive() {
    console.log("防断网心跳:", new Date().toLocaleTimeString());
    document.title = "运行中 - " + Math.random(); // 改变标题模拟操作
}
setInterval(keepAlive, 30000); // 每30秒执行一次

只要不关闭这个浏览器标签页,电脑不休眠,这个脚本就会一直运行,防止网页因超时断开。

3. 电脑设置:坚决不休眠

确保你的电脑(尤其是笔记本)设置成:

  • 关闭屏幕时间:从不(或者设为1小时后关屏幕,但系统不能睡)
  • 系统休眠时间:从不
  • (Mac 用户:系统设置 -> 电池 -> 选项 -> 勾选“防止自动进入睡眠”)

其他参考插件
扩展名称 (全称)功能描述适用浏览器
Keep Browser Alive防止浏览器进入睡眠状态,保持后台运行。Chrome, Edge
Page Keep-Alive(存疑)防止页面因后台不活跃而被冻结或休眠。Chrome , Edge(没有)
Auto Refresh自动刷新网页,间隔可设,适合防止超时断开。Chrome, Edge
安装方法(以Edge为例):
  1. 点击浏览器右上角 ... > 扩展。
  2. 在打开的扩展页面左下角,打开 开发人员模式 和 允许来自其他应用商店的扩展。
  3. 在搜索框中输入上述扩展的全称,找到后点击 获取 或 添加至 Chrome 进行安装。

彻底解决:以后别在 Notebook 里跑长任务

既然摸清了 ModelScope Notebook 的尿性,以后千万别用它跑需要过夜的任务。你有两个更好的选择:

方案一:使用 ModelScope 的“模型训练”功能(官方正解)

ModelScope 其实提供了脱离 Notebook 的云端训练任务。你把代码和数据准备好,提交一个 “训练任务”。
这个任务一旦提交,就是在阿里云后台独立运行的,不需要你开着网页,跑完了会通知你。这才是正确使用 ModelScope 算力的方式。

方案二:转战 Kaggle(免费且支持后台)

如果你只是需要免费的 GPU 跑过夜任务,Kaggle 是目前体验最好的。

  • 每周免费 30 小时 GPU。
  • 关键点:Kaggle 的 Notebook 关闭网页后,代码会继续在后台运行(最长可达 12 小时左右)。你完全可以提交后安心去睡觉,第二天早上来看结果。
方案三:花几毛钱用 AutoDL

如果模型大、时间长,建议直接花点小钱用 AutoDL 或恒源云。租个机器,关掉网页、甚至关机都没事,实例给你保留,随时重连,一小时也就一两块钱,省心省力。
总结建议:今晚先用 F12 控制台脚本 + 电脑不休眠 顶着。等这次跑完,赶紧把代码迁移到 Kaggle 或者直接提交 ModelScope 的训练任务去跑吧!

方案 1:用 ModelScope 的「后台任务」功能

ModelScope 支持提交离线训练任务(不是交互式 Notebook):

  • 代码写到 .py 文件 → 提交为训练任务 → 在后台跑完
  • 结果可以保存到数据集或 OSS
  • 路径:模型库 → 选模型 → 训练 → 创建训练任务

方案 2:换用阿里云 PAI-DSW(付费)

如果你需要长时间训练:

  • 阿里云 PAI-DSW 实例停止后数据保留,支持后台运行
  • 可以配 NAS/OSS 持久化存储
  • 价格:GPU 实例约几毛到几块/小时

方案 3:代码自动保存 + 断点续训

在 Notebook 里加保存逻辑:

# 定期保存 checkpoint 到 ModelScope 数据集
from modelscope.hub.api import HubApi
api = HubApi()
# 或者简单点:把模型权重 push 到 HuggingFace/ModelScope Hub

方案 4:用本地机器 / 其他云服务器

如果你有其他 GPU 资源,SSH 上去用 tmux 就正常了。


总结:免费午餐有代价,ModelScope Notebook 就是给你临时调试代码用的,不适合跑长时间任务。要后台跑,要么用它的离线训练任务,要么上付费的 PAI-DSW。

方案 1:用 ModelScope 的「后台任务」功能
ModelScope 支持提交离线训练任务(不是交互式 Notebook):
代码写到 .py 文件 → 提交为训练任务 → 在后台跑完
结果可以保存到数据集或 OSS
路径:模型库 → 选模型 → 训练 → 创建训练任务 可以自己上传模型吗

更多推荐