下载前核对路径
先确认模型文件大小、授权与剩余磁盘空间。需要反复使用的权重和数据集建议放在已加购的附加盘;附加盘的实际挂载路径应在 Finder 或磁盘工具中确认。
增加 SSD 容量不会增加 16GB 统一内存。没有加购附加盘时,使用主盘目录并控制缓存体积,不要直接照抄一个不存在的卷名。
支付确认后当天开通,交付以控制台中出现节点与连接凭据为准。付款完成但尚未看到凭据时,先检查对应订单,不要重复购买。
使用下单邮箱登录控制台,进入实例或订阅详情,核对订单号、节点名称与到期时间。节点名称应与购买时的选择一致;连接地址、用户名与端口均以该实例详情为准。
在对应节点卡或详情中点击「打开远程桌面」,使用控制台交付的凭据进入 macOS。浏览器应允许连接页面正常运行;不要把公开帮助页当作远程桌面入口。
首次进入系统后,在系统设置的用户与群组中修改所用账户的初始密码,并保存到自己的密码管理工具。先验证新密码可用,再结束原连接;不要在工单中发送初始密码或新密码。
一台物理 Mac 在租期内只分配给一位租户,非虚拟机。浏览器关闭只会结束当前查看,不等于停止租期;需要持续运行的任务应按下文方法放入独立会话。
下面命令在远程 Mac 的「终端」中执行,不是在你自己的电脑上执行。使用独立虚拟环境可以把本次实验的 Python 包与其他任务分开;不要对系统 Python 执行全局安装。
uname -m
command -v brew
brew --version
预期架构为 arm64,后两条应返回 Homebrew 路径与版本。如果没有找到 brew,先按 Homebrew 官方安装说明完成安装;不要把来源不明的安装脚本粘贴到终端。
brew install python@3.11
mkdir -p "$HOME/experiments/mlx-first"
cd "$HOME/experiments/mlx-first"
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install mlx mlx-lm
python -c 'import platform; import mlx.core as mx; from importlib.metadata import version; print(platform.machine()); print("mlx", version("mlx")); print("mlx-lm", version("mlx-lm")); print(mx.array([1, 2, 3]) + 1)'
安装成功后,检查命令应打印 arm64、两个包的实际版本,以及值为 [2, 3, 4] 的数组。版本号随安装时间变化,不把某个版本字符串作为唯一成功条件。
python --version
python -m pip freeze > requirements.txt
python -m pip check
依赖无冲突时,最后一条通常返回 No broken requirements found.。重新打开终端后,先进入实验目录并执行 source .venv/bin/activate,再运行推理。不要只迁移虚拟环境目录;同时保存依赖清单和自己的脚本。
16GB 是 CPU、GPU 与系统共同使用的统一内存,不是模型可全部占用的预算。权重之外还有上下文缓存、运行时与其他应用;参数规模相同,也可能因量化格式和上下文长度出现不同峰值。
先确认模型文件大小、授权与剩余磁盘空间。需要反复使用的权重和数据集建议放在已加购的附加盘;附加盘的实际挂载路径应在 Finder 或磁盘工具中确认。
增加 SSD 容量不会增加 16GB 统一内存。没有加购附加盘时,使用主盘目录并控制缓存体积,不要直接照抄一个不存在的卷名。
打开「活动监视器 → 内存」,同时查看内存压力与交换使用。先关闭不用的 GUI 应用,限制输出长度,再逐步扩大上下文;记录模型名称、量化位宽和命令参数。
压力变黄时停止增加并发,缩短上下文或换更小的量化模型。持续换页或进程被终止时,不要重复原样加载同一任务。
cd "$HOME/experiments/mlx-first"
source .venv/bin/activate
export HF_HOME="$HOME/model-cache"
mkdir -p "$HF_HOME"
df -h "$HF_HOME"
python -m mlx_lm.generate \
--model mlx-community/Qwen2.5-3B-Instruct-4bit \
--prompt "用三句话解释统一内存。" \
--max-tokens 128
命令首次运行会下载指定模型,成功时会输出生成文本,部分版本还会显示生成统计。示例不承诺下载时长或 tokens/s。使用附加盘时,将 HF_HOME 改为确认存在且可写的盘内目录,并在后续会话中保持同一路径。
先从 3B 4-bit 或短上下文的 7B 4-bit 推理验证,再考虑扩大任务。13B 及以上的 8-bit 模型不建议在本站 16GB 档运行。LoRA 微调还需预留训练状态与激活占用,不能用推理成功来推断训练可行。
SSH 适合运行命令,scp 适合单次复制,rsync 适合重复同步与中断后的继续传输。先在控制台确认 SSH 是否已启用及其连接参数;浏览器桌面可用,不代表 SSH 已经配置完成。
read -r -p "SSH user: " REMOTE_USER
read -r -p "SSH host: " REMOTE_HOST
read -r -p "SSH port: " SSH_PORT
ssh -p "$SSH_PORT" "$REMOTE_USER@$REMOTE_HOST" \
'mkdir -p ~/experiments/data ~/experiments/results'
scp -P "$SSH_PORT" ./dataset.jsonl \
"$REMOTE_USER@$REMOTE_HOST:~/experiments/data/"
rsync -avP -e "ssh -p $SSH_PORT" ./data/ \
"$REMOTE_USER@$REMOTE_HOST:~/experiments/data/"
rsync -avP -e "ssh -p $SSH_PORT" \
"$REMOTE_USER@$REMOTE_HOST:~/experiments/results/" ./results/
这组命令按 Bash 语法编写,在本地 Bash 中执行。主机、用户和端口填写实例详情中的实际值。首次连接先核对主机指纹;不要用关闭指纹检查的方式绕过异常。rsync 示例没有启用删除选项,源目录末尾的斜杠表示同步目录内容。
网络不稳定时,可将单个大归档分为 1024MB 的卷,逐卷上传。分卷只是传输组织方式,不会压缩原文件,也不会减少最终所需磁盘空间。
shasum -a 256 dataset.tar
split -b 1024m dataset.tar dataset.part-
cat dataset.part-* > dataset-restored.tar
shasum -a 256 dataset-restored.tar
分卷在源端执行,合并在目标端执行;比较两次 SHA-256 值一致后再解包。归档与所有分卷并存时,应为两份数据预留空间。
在远程 Mac 上安装 tmux 并建立会话,将推理命令放入会话运行。按 Ctrl+B 后再按 D 可脱离会话,随后重新接入。
brew install tmux
tmux new -s mlx
tmux attach -t mlx
先在新会话中启动任务;重新连接后再执行 attach。tmux 可应对 SSH 断线,但不能让任务跨过实例停机、重启或租期结束继续运行。
Mac短租按天、周、月、季预付,到期不续即自动停机,不产生后续费用。控制台中的到期时间是安排任务与备份的依据,不要依赖浏览器是否仍显示桌面判断租期状态。
到期前进入控制台对应订阅,查看可用续期操作并完成付款,再确认新的到期时间。支付方式仅 USDT-TRC20 与经 Stripe 的 Visa / Mastercard / Amex,均以美元结算,实际可用网关以控制台返回为准。
在到期前导出数据集、实验脚本、依赖清单、日志与结果文件,确认本地可以打开;重要归档核对校验值。退出远程桌面不等于结果已经同步,本地看不到的文件不算完成备份。
到期后服务停止;节点回收后进入磁盘擦除与系统重装流程,在重新分配给下一位租户前完成清理。不承诺停机后有可访问的数据保留期,也不承诺擦除后的恢复。若订单另有明确数据处理安排,以该订单和工单确认内容为准。
本站未提供统一的「停机后保留若干小时」保证。无法确定备份是否完成时,应在租期内通过工单确认,不要把到期后的重新租用当作找回原盘数据的方法。
容量、连接方式与计费周期是不同的维度。先分清它们,才能判断问题来自模型规模、接入网络,还是租期状态。
先保存错误文本与发生时间,再做调整。不要连续重启碰运气;重启可能中断尚未保存的实验,也会丢失用于判断原因的现场信息。
可能是浏览器连接未建立完整、桌面会话状态异常,或节点当前不可访问。黑屏本身不足以证明机器已停机。
本地输入法、远程 macOS 输入源和客户端按键映射不一致,都可能造成符号错位。这通常不需要重新开通实例。
内存不足是可能原因之一,但也要检查磁盘空间、模型文件完整性与依赖错误。单独一行退出信息不能替代完整日志。
df -h 检查缓存所在磁盘,确认下载没有因空间不足中断。python -m pip check。如小模型也失败,把错误与环境版本一起提交工单。已开通实例的问题优先从登录后的控制台提交工单,便于关联订单。售前选型或无法登录时,可通过联系我们页面查看邮件路径;对外支持邮箱为 support@osxnode.com。
填写订单号、节点名称及当前实例状态。涉及续期或付款时补充支付方式与支付状态;不要提供完整卡号、登录密码或 SSH 私钥。
写明问题开始时间、是否持续及使用的时区。不要只写「刚才」;如涉及可用性申请,在当期内提交停机时段与节点名称。
说明执行前提、复现步骤、预期结果和实际结果。MLX 问题附模型标识、量化位宽、运行命令及依赖版本,去除路径中的敏感信息。
列出浏览器重连、SSH 连通性、内存压力与磁盘空间等检查结果。明确是否有正在运行或尚未备份的任务,避免不必要的中断。