跳到主要内容
AI教程

使用 PS5LM 在越狱 PlayStation 5 上运行 GGUF 语言模型

本教程将介绍如何在受支持的越狱 PS5 上安装 PS5LM,通过主机浏览器运行小型 GGUF 语言模型,通过网络访问兼容 OpenAI 的服务器,以及从源代码构建或部署 llama.cpp 工具。

使用 PS5LM 在越狱 PlayStation 5 上运行 GGUF 语言模型

什么是 PS5LM?

PS5LM 是针对已破解 PlayStation 5 移植的 llama.cpp。它可以让兼容的 GGUF 语言模型在主机本地运行,而不必通过远程推理服务运行。

0.1 版提供一个名为 ps5lm.elf 的 payload。加载后,它会在 PS5 浏览器中打开模型库。之后,你可以下载受支持的模型、启动模型,并打开使用 DualSense 操作的交互式聊天界面。

PS5LM 适用于你本人拥有的 PS5。当前版本支持运行 7.00 至 13.60 固件的已破解主机。

该项目的长远目标是将 llama.cpp 支持的架构和量化方式带到 PS5,初期使用其 Zen 2 CPU,最终扩展到 GPU。首个主要目标模型是 Qwen 3.8 27B,但当前 payload 的内存限制使 0.1 版只能运行小得多的模型。

主要功能

  • 主机本地推理:GGUF 模型在 PS5 本地运行。
  • 基于浏览器的模型库:通过主机浏览器下载、启动和管理受支持的模型。
  • 交互式聊天:打开聊天界面,并使用 DualSense 输入内容。
  • 网络访问:使用连接到同一网络的手机或电脑访问模型库。
  • 兼容 OpenAI 的服务:运行在 8081 端口上的聊天服务器支持 OpenAI API。
  • llama.cpp 兼容性:该移植版本旨在继承 llama.cpp 对 Qwen、Llama、Mistral 和 Gemma 等架构的支持,以及从 1 位到 8 位的量化方式。
  • 开发者工具:代码仓库包含内存和线程探针、SDK 设置脚本、交叉编译脚本及 payload 部署辅助工具。

要求

进行标准安装时,你需要:

  • 一台由你本人拥有的 PS5。
  • 7.00 至 13.60 的固件版本。
  • 可正常使用的越狱工具。
  • payload 加载器,例如 WebKit Autoloader 中的 Payload Manager,或监听 9021 端口的 ELF 加载器。
  • 网络连接,以便下载模型、接收更新,或从其他设备访问 PS5LM。

使用 Payload Manager 安装 PS5LM

Payload Manager 是最简单的安装方式,也可以提供 PS5LM 更新。

  1. 在已破解的主机上打开 Payload Manager。
  2. 进入 Settings。
  3. 启用 Multiple Payload Sources。
  4. 添加 https://ps5lm.cobanov.dev/payloads.json 作为 payload 源。
  5. 在随后显示的列表中找到 PS5LM。
  6. 安装并加载该 payload。

payload 启动后,PS5 浏览器应会自动打开 PS5LM 模型库。

手动安装 payload

如果你不想添加 Payload Manager 源,请从 最新 PS5LM 版本下载 ps5lm.elf。

按照加载其他 PS5 payload 的方式加载该文件。你可以通过 Payload Manager 上传它,或将其发送到监听 9021 端口的 ELF 加载器,例如 elfldr。

下载并运行模型

当 PS5LM 模型库出现在主机浏览器中后,基本流程如下:

  1. 选择模型并按下 Download。
  2. 等待模型下载到主机完成。
  3. 按下 Run 启动模型。
  4. 按下 Open chat。
  5. 使用 DualSense 输入提示词并提交。

下载的模型存储在 /data/PS5LM/models 下。

当前模型和内存限制

目前,一个 payload 只能将约 1.6 GB 的模型数据锁定在内存中,否则会导致 PS5 主屏幕内存不足。因此,内置目录主要提供小型模型:

  • Qwen3.5 0.8B:约每秒 13 至 21 个 token。
  • Qwen3.5 2B:约每秒 9 个 token。

更大的模型需要原生应用,而不是当前的 payload 架构。尤其是 27B Qwen 3.8 目标模型,目前尚未得到 0.1 版 payload 的支持。

从其他设备访问 PS5LM

你可以通过同一本地网络中的手机或电脑操作模型库。在浏览器中打开主机的 IP 地址,并使用 8082 端口。例如:

http://192.168.1.50:8082

将 192.168.1.50 替换为 PS5 的实际 IP 地址。

聊天服务运行在 8081 端口上,并支持 OpenAI API。这样,只要客户端和主机可以通过网络互相访问,兼容 OpenAI 的客户端就能将 PS5 用作服务器,与模型通信。

通过 FTP 添加 GGUF 模型

PS5LM 会扫描 /data/PS5LM/models 中的模型。通过 FTP 复制到该目录的 GGUF 文件会出现在模型库中。

  1. 在 PS5 上启动 FTP 服务器 payload。
  2. 使用 FTP 客户端连接到主机。
  3. 将 GGUF 文件上传到 /data/PS5LM/models。
  4. 返回 PS5LM 模型库,或刷新该页面。
  5. 选择模型并运行。

请选择能够在当前内存限制内运行的模型。模型采用 GGUF 格式并不意味着它一定足够小,可以在 payload 约 1.6 GB 的锁定内存限制下运行。

从源代码构建 PS5LM 工具

想要检查、修改或部署该移植版本的开发者需要ps5-payload-dev SDK以及主机上的 LLVM 安装。

安装主机依赖

在 macOS 上,使用 Homebrew 安装所需软件包:

brew install llvm@21 lld socat cmake ninja

在 Debian 或 Ubuntu 上,使用:

sudo apt install clang-18 lld-18 socat cmake ninja-build

克隆并准备仓库

llama.cpp 依赖以 Git 子模块形式包含在项目中,因此请递归克隆仓库:

git clone --recursive https://github.com/cobanov/PS5LM
cd PS5LM
scripts/setup-sdk.sh
source scripts/env.sh

设置脚本会准备 SDK,而 scripts/env.sh 会为项目配置当前 Shell 环境。

构建探测工具和 llama.cpp 工具

make -C probes/memprobe
scripts/build-llama.sh

第一个命令会构建 Phase 0 内存探测工具。第二个命令会为 PS5 交叉构建 llama-cli、llama-server 和 llama-bench。

在主机上运行开发构建

在此工作流中,PS5 必须有一个监听 9021 端口的 ELF 加载器。仓库提供了用于托管漏洞利用页面、配置辅助 payload 以及发送 ELF 文件的脚本。

scripts/host-relapse.sh
export PS5_HOST=192.168.1.50
scripts/console-setup.sh
scripts/send.sh probes/memprobe/memprobe.elf

将 PS5_HOST 设置为主机的 IP 地址。内存探测工具会将结果流式传回主机,同时也会将结果写入主机上的 /data/PS5LM/memprobe.txt。

运行 llama.cpp 命令

在 2121 端口运行 ftpsrv 后,scripts/run.sh 可以上传已构建的 llama.cpp 工具,并使用指定参数启动它。

首先,使用 FTP 或 USB 将兼容的 GGUF 模型复制到 /data/PS5LM/models。然后使用 llama-cli 运行提示:

scripts/run.sh llama-cli -m /data/PS5LM/models/model.gguf -p "Hello from a PS5" -n 64

要在主机的所有网络接口上通过 8081 端口启动服务器,请运行:

scripts/run.sh llama-server -m /data/PS5LM/models/model.gguf --host 0.0.0.0 --port 8081

高级提示

确保模型不超过 payload 限制

模型架构支持与实际可用的模型大小是两个独立问题。llama.cpp 可能支持某种架构和量化方式,但生成的 GGUF 仍必须适配 payload 可用的内存。在传输大型文件前,请参考项目的模型文档和当前目录。

使用服务器连接远程客户端

对于集成场景,使用 --host 0.0.0.0 运行 llama-server,并通过 8081 端口连接。让 PS5 和客户端处于同一可信网络中,并确认本地网络设置没有阻止该端口。

区分最终用户和开发工作流

对于普通使用场景,浏览器库是最直接的选择。探测工具、FTP、交叉编译和 scripts/run.sh 工作流主要适用于测试构建、收集主机信息、执行基准测试,或试验 llama.cpp 工具。

了解仓库结构

  • third_party/llama.cpp 包含固定版本的上游 llama.cpp 子模块。
  • ps5/compat 实现了主机上缺少的少量 libc 函数。
  • patches/ 包含针对 PS5 的 llama.cpp 源代码修改。
  • probes/ 包含 memprobe 和 threadprobe。
  • scripts/ 包含 SDK、交叉构建、设置和部署辅助脚本。
  • docs/ 包含路线图、兼容模型指南、移植说明、主机操作指南和研究资料。

结语

PS5LM 让用户能够通过便捷的浏览器界面,在受支持且已越狱的 PS5 上本地运行小型 GGUF 语言模型。请先完成 Payload Manager 安装并浏览模型目录。如果需要更多控制,可以使用源代码构建、FTP、命令行工具、探测工具和 OpenAI 兼容服务器,在主机上探索 llama.cpp。

PS5LM 采用 GPL-3.0-or-later 许可证,而 llama.cpp 继续采用 MIT 许可证。该项目不包含 Sony SDK 文件、密钥、固件或模型权重,也不隶属于 Sony Interactive Entertainment 或 Alibaba。