주요 콘텐츠로 건너뛰기
AI 튜토리얼

탈옥한 PlayStation 5에서 PS5LM으로 GGUF 언어 모델 실행하기

이 튜토리얼에서는 지원되는 탈옥 PS5에 PS5LM을 설치하고, 콘솔 브라우저를 통해 소형 GGUF 언어 모델을 실행하며, 네트워크를 통해 OpenAI 호환 서버에 액세스하고, 소스에서 llama.cpp 도구를 빌드하거나 배포하는 방법을 설명합니다.

탈옥한 PlayStation 5에서 PS5LM으로 GGUF 언어 모델 실행하기

PS5LM이란?

PS5LM은 탈옥한 PlayStation 5를 위한 llama.cpp 포트입니다. 호환되는 GGUF 언어 모델을 원격 추론 서비스가 아닌 콘솔에서 직접 실행할 수 있습니다.

버전 0.1은 ps5lm.elf라는 단일 페이로드를 제공합니다. 로드하면 PS5 브라우저에서 모델 라이브러리가 열립니다. 여기서 지원되는 모델을 다운로드하고 실행한 뒤 DualSense로 조작하는 대화형 채팅을 열 수 있습니다.

PS5LM은 본인이 소유한 PS5에서 사용하도록 설계되었습니다. 현재 릴리스는 펌웨어 7.00부터 13.60까지 실행되는 탈옥 콘솔을 지원합니다.

프로젝트의 장기적인 목표는 PS5에 llama.cpp의 아키텍처와 양자화를 제공하는 것이며, 초기에는 Zen 2 CPU를 사용하고 향후 GPU도 활용할 예정입니다. 첫 번째 주요 모델 목표는 Qwen 3.8 27B이지만, 현재 페이로드 메모리 제한으로 인해 버전 0.1에서는 훨씬 작은 모델만 사용할 수 있습니다.

주요 기능

  • 콘솔 내 추론: GGUF 모델을 PS5에서 직접 실행합니다.
  • 브라우저 기반 라이브러리: 콘솔 브라우저에서 지원되는 모델을 다운로드하고 실행하며 관리합니다.
  • 대화형 채팅: DualSense로 입력할 수 있는 채팅 인터페이스를 엽니다.
  • 네트워크 액세스: 같은 네트워크에 연결된 휴대폰이나 컴퓨터에서 모델 라이브러리를 사용할 수 있습니다.
  • OpenAI 호환 서비스: 8081 포트의 채팅 서버가 OpenAI API와 호환됩니다.
  • llama.cpp 호환성: 이 포트는 Qwen, Llama, Mistral, Gemma와 같은 아키텍처와 1비트부터 8비트까지의 양자화에 대한 llama.cpp 지원을 계승하도록 설계되었습니다.
  • 개발자 도구: 저장소에 메모리 및 스레드 프로브, SDK 설정 스크립트, 크로스 빌드 스크립트, 페이로드 배포 도우미가 포함되어 있습니다.

요구 사항

표준 설치에는 다음이 필요합니다.

  • 본인이 소유한 PS5
  • 펌웨어 버전 7.00부터 13.60까지
  • 작동하는 탈옥 환경
  • 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을 추가합니다.
  5. 표시된 목록에서 PS5LM을 찾습니다.
  6. 페이로드를 설치하고 로드합니다.

페이로드가 시작되면 PS5 브라우저에서 PS5LM 모델 라이브러리가 자동으로 열립니다.

페이로드 수동 설치

Payload Manager 소스를 추가하지 않으려면 최신 PS5LM 릴리스에서 ps5lm.elf를 다운로드합니다.

다른 PS5 페이로드를 로드하는 것과 같은 방식으로 파일을 로드합니다. Payload Manager를 통해 업로드하거나 9021 포트의 elfldr와 같은 ELF 로더로 전송할 수 있습니다.

모델 다운로드 및 실행

콘솔 브라우저에 PS5LM 라이브러리가 표시되면 기본 작업 순서는 다음과 같습니다.

  1. 모델을 선택하고 Download를 누릅니다.
  2. 모델이 콘솔에 다운로드될 때까지 기다립니다.
  3. Run을 눌러 모델을 시작합니다.
  4. Open chat을 누릅니다.
  5. DualSense로 프롬프트를 입력하고 제출합니다.

다운로드한 모델은 /data/PS5LM/models에 저장됩니다.

현재 모델 및 메모리 제한

현재 페이로드는 PS5 홈 화면의 메모리가 부족해지지 않도록 약 1.6GB의 모델 데이터만 메모리에 고정할 수 있습니다. 따라서 기본 카탈로그는 소형 모델에 집중합니다.

  • Qwen3.5 0.8B: 초당 약 13~21토큰
  • Qwen3.5 2B: 초당 약 9토큰

더 큰 모델을 사용하려면 현재의 페이로드 아키텍처가 아닌 네이티브 애플리케이션이 필요합니다. 특히 27B Qwen 3.8 목표 모델은 버전 0.1 페이로드에서 아직 지원되지 않습니다.

다른 기기에서 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 서버 페이로드를 시작합니다.
  2. FTP 클라이언트로 콘솔에 연결합니다.
  3. GGUF 파일을 /data/PS5LM/models에 업로드합니다.
  4. PS5LM 라이브러리로 돌아가거나 라이브러리를 새로 고칩니다.
  5. 모델을 선택하고 실행합니다.

현재 메모리 제한에 맞는 모델을 선택합니다. GGUF 형식이라는 사실만으로는 해당 모델이 페이로드의 약 1.6GB 고정 메모리 제한에서 실행될 만큼 작다는 보장이 없습니다.

소스에서 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는 현재 셸 환경을 프로젝트에 맞게 구성합니다.

probe 및 llama.cpp 도구 빌드

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

첫 번째 명령은 Phase 0 메모리 probe를 빌드합니다. 두 번째 명령은 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 주소로 설정합니다. 메모리 probe는 결과를 호스트로 스트리밍하며 콘솔의 /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와 클라이언트를 신뢰할 수 있는 동일 네트워크에 두고, 로컬 네트워크 설정이 해당 포트를 차단하지 않는지 확인하세요.

최종 사용자와 개발 작업 흐름 분리

일반적인 사용에는 브라우저 라이브러리가 가장 직접적인 선택입니다. probe, 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, 명령줄 도구, probe 및 OpenAI 호환 서버를 사용해 콘솔에서 llama.cpp를 탐색할 수 있습니다.

PS5LM은 GPL-3.0-or-later 라이선스로 제공되며, llama.cpp는 MIT 라이선스를 유지합니다. 이 프로젝트에는 Sony SDK 파일, 키, 펌웨어 또는 모델 가중치가 포함되어 있지 않으며 Sony Interactive Entertainment 또는 Alibaba와 제휴 관계가 없습니다.