본문으로 건너뛰기

ESP32‑P4에서 동작하는 180.9M LLM PFor

PFor는 MoE+PLE와 혼합 양자화를 결합해 WT9932P4-Tiny에서 9 tokens/s로 동작하는 180.9M 파라미터 LLM이다

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

PFor는 180.9M 파라미터를 가진 LLM으로 MoE와 PLE 구조를 결합해 ESP32-P4(예: WT9932P4-Tiny)에서 동작하도록 설계되었다. MoE 전문가 가중치는 PSRAM에, PLE 가중치는 Flash에 XIP로 배치하고 W1.58A8 혼합 양자화를 적용해 전체 모델을 약 44MiB에 수용하면서 약 9 tokens/s의 추론 속도를 보고한다. 설치는 GitHub 리포지토리에서 펌웨어와 모델 파일을 내려받아 제공 스크립트로 플래시하는 절차이며, 학습은 RTX 5060 Ti 단일 GPU로 대규모 데이터로 수행되었으나 출력은 아직 불안정하다.

섹션별 상세

PFor는 ESP32-P4에서 동작하도록 설계된 180.9M 파라미터 LLM으로, MoE와 PLE 구조를 조합해 장치의 PSRAM과 Flash 제약을 최대한 활용한다. 모델은 MoE 전문가 가중치를 PSRAM에 두고 PLE 가중치는 Flash에 XIP 방식으로 배치해 추론 시 필요한 부분만 접근한다. 이런 계층적 저장 전략과 혼합 양자화(W1.58A8)를 결합해 전체 모델을 약 44MiB에 수용하면서도 ESP32-P4에서 직접 토큰을 생성하도록 구현했다.
근거
  • 180.9M 파라미터 모델은 W1.58A8 혼합 양자화로 약 44 MiB를 차지한다. 모델 파라미터 테이블과 혼합 양자화 설명
하드웨어와 런타임은 WT9932P4-Tiny 보드(32MiB PSRAM, 16MiB Flash)와 Espressif의 XespV 가속을 중심으로 구성되어 있다. 초기 P4 리비전은 360MHz로 동작하고, P4 v3는 400MHz로 동작 가능해 세부 성능 차이가 존재한다. 개발 중 XespV는 특정 테스트에서 최대 30배까지 가속을 보였고, 이 가속이 실사용 성능 확보에 핵심 역할을 한다.
WT9932P4-Tiny 개발 보드 사진
Photo사진은 WT9932P4-Tiny 보드의 상단 전경을 보여주며 USB-C 커넥터, 칩 실드, 그리고 보드 양쪽의 핀헤더 배열을 확인할 수 있다. 보드 이름과 PSRAM/Flash 용량은 본문에서 언급된 하드웨어 제약과 직접 연결되며, 실제 물리적 인터페이스(USB 연결과 FPC 커넥터 등)가 호스트-오프라인 전환 및 외부 저장장치 사용 시나리오에 어떤 제약을 주는지 가늠하게 한다. 이 이미지는 하드웨어 실물과 README의 설명을 대조할 근거 자료로 유효하다.
근거
  • WT9932P4-Tiny 보드는 32 MB PSRAM과 16 MB Flash를 제공하며, 보드의 Flash는 가중치를 PSRAM에 로드할 수 없어서 USB로 전송한다. 하드웨어 설명 및 보드 구매 정보
성능과 용량 관점에서 PFor는 9 tokens/s 정도의 추론 속도를 보고하며, 토큰 생성당 발생하는 expert 활성화 전송이 모델 분산과 확장성에 직접적인 제약을 준다. 예컨대 Top-1 라우팅, hidden size 192, 12-layer 구성에서는 토큰당 약 4,608바이트의 expert 활성화 전송이 필요해 9 tokens/s일 때 이론상 양방향 합계 약 40.5 KiB/s의 대역폭을 요구한다. 이 수치는 다수 MCU에 MoE 전문가를 분산시켜 운영할 때 네트워크·버스 대역폭 계산의 근거가 된다.
근거
  • PFor의 추론 속도는 ESP32-P4에서 약 9 tokens/s이다. 본문 모델 사양 및 성능 단락
설치와 재현 절차는 GitHub 리포지토리에서 소스와 자산을 내려받아 제공 스크립트로 펌웨어와 모델을 보드에 플래시하는 흐름으로 구성된다. README는 SHA256 검증, esptool 설치, 제공된 flash.py 스크립트 실행을 단계적으로 안내하며, 배포용 펌웨어는 pre-v3 P4(360MHz)를 대상으로 빌드되었기 때문에 최신 P4에서는 재빌드가 필요할 수 있음을 명시한다. 또한 학습은 RTX 5060 Ti 한 장으로 약 12B 토큰 분량으로 수행되었고 데이터 부족으로 출력 품질이 불안정하다는 사실을 밝힌다.
bash
git clone https://github.com/cyfrit/p-for-llm.git
cd p-for-llm

리포지토리 복제 명령은 로컬에서 빌드와 플래시 절차를 시작하기 위한 첫 단계이다. 원저자는 이 명령으로 저장소를 내려받아 제공된 펌웨어와 모델 파일을 루트에 배치할 것을 안내한다. 개발 환경에서 소스 재빌드가 필요할 때 이 복제된 저장소가 작업의 출발점이 된다.

bash
sha256sum --check SHA256SUMS
python3 -m pip install esptool

다운로드한 펌웨어와 모델 파일의 무결성을 확인하고 플래시 도구를 준비하는 단계다. SHA256SUMS 검증은 파일 손상이나 위변조 위험을 낮추며 esptool 설치는 ESP32 계열 장치에 펌웨어를 쓰기 위한 표준 도구를 확보한다. 이 과정을 통해 이후 플래시 단계에서 예상치 못한 실패를 줄일 수 있다.

python
python3 runtime/host/flash.py \
  --firmware pfor-esp32p4.zip \
  --model pfor-180m.llmcraft \
  --port

공급된 플래시 스크립트는 호스트에서 보드로 펌웨어와 모델을 전송하는 자동화된 절차를 수행한다. README는 이 커맨드를 통해 펌웨어와 모델 파일을 지정해 보드에 기록하도록 안내하며 포트 인자에 실제 연결된 직렬 포트를 넣어 실행하도록 요구한다. 사전 검증과 esptool 설치가 완료되어야 해당 스크립트가 정상 동작한다.

용어 해설

전문가 혼합(MoE)(MoE)
MoE는 각 레이어에서 여러 'expert' FFN을 두고 입력마다 상응하는 소수의 expert만 활성화하는 구조이다. PFor는 레이어당 29개의 expert와 Top-1 라우팅을 사용하여 파라미터를 분산 보관하고 계산 시점에 필요한 expert만 불러온다. 이런 구조는 장치 메모리 제약 속에서 모델 용량을 늘리면서 추론 중 메모리·대역폭 비용을 제어하는 수단으로 활용된다.
Progressive Layered Extraction(PLE)
PLE는 여러 전문가를 층층이 배치해 서로 다른 기능을 분리하는 구조로, PFor에서는 PLE 계층 일부를 Flash에 저장하고 XIP로 직접 접근하도록 구성했다. PLE의 계층적 분리는 모델 내부에서 역할을 분담해 PSRAM과 Flash의 저장 계층을 효율적으로 활용하게 한다. Flash에 상주하는 PLE 가중치는 디스크-유사 접근 방식으로 불러와 메모리 예산을 줄이는 데 기여한다.
혼합 양자화 스킴 W1.58A8(W1.58A8)
W1.58A8은 혼합된 ternary, Q8, FP16 저장을 결합한 양자화 방식으로, PFor의 180.9M 파라미터를 약 44MiB에 배치한다. 이 저장 방식은 PSRAM과 Flash에 가중치를 분산해 보관하고 추론 시 필요한 부분을 빠르게 불러 오는 데 초점을 맞춘다. 낮은 비트폭 저장과 일부 FP16 혼용은 모델의 용량 대 성능 균형을 맞추는 역할을 한다.
eXecute In Place(XIP)
XIP는 Flash에 있는 코드나 데이터를 메모리로 복사하지 않고 직접 실행·접근하는 기법이다. PFor는 PLE 가중치를 Flash에 두고 XIP로 접근해 PSRAM 용량을 아끼는 구성으로 구현되어 있다. 이 방식은 메모리 한계가 있는 MCU 환경에서 대형 모델 구성 요소를 유지하는 현실적인 대안이 된다.
Pseudo-SRAM(PSRAM)
PSRAM은 외부 확장 메모리로 ESP32-P4 보드에서 모델의 큰 가중치와 임시 버퍼를 담는 주 저장소 역할을 한다. WT9932P4-Tiny 보드는 32MiB PSRAM을 제공하며, PFor는 MoE expert 가중치 대부분을 PSRAM에 두어 고속 접근을 확보한다. PSRAM 용량 한계는 모델 아키텍처와 양자화 전략을 설계할 때 핵심 제약 조건이 된다.

기술

  • Espressif XespV
  • ESP32-P4
  • WT9932P4-Tiny
  • W1.58A8 양자화
  • Qwen3.5(어휘 pruning 출처)

활용 사례

  • 온디바이스 지시문 분석
  • 정보 추출
  • 의도 분류
  • 구조화된 명령 라우팅
  • 제한적 에이전트 워크플로 테스트
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 05.수집 2026. 08. 06.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.