Devotd Github
새 소식추론/서빙

yamz-labs/kyojin 1.8.5 — 세션 복귀와 Strix Halo iGPU 디코딩

yamz-labs/kyojin 1.8.5가 순환 캐시 앵커 정책으로 세션 복귀를 개선하고 Strix Halo iGPU 디코딩 커널을 손봤다.

저장소 정보yamz-labs/kyojin ↗

yamz-labs/kyojin 1.8.5가 순환 캐시 앵커 정책으로 세션 복귀를 개선하고 Strix Halo iGPU 디코딩 커널을 손봤다.

GitHub 설명: Kyojin: the Yamz inference engine for AMD Strix Halo (ROCm, gfx1151), built on ExLlamaV3. Runs 300B-class MoE models on one 128 GB mini PC.

스타
★ 174
포크
23
언어
Python
라이선스
MIT
최신 릴리스
v1.5.8
원문 보기 ↗GitHub에서 보기 ↗

yamz-labs/kyojin은 AMD Strix Halo(ROCm, gfx1151)를 겨냥한 추론 엔진이다. ExLlamaV3 위에 만들어져 300B급 MoE 모델을 128GB 미니 PC 한 대에서 돌리는 것을 목표로 한다. 2026년 11월 1일에 병합된 1.8.5는 'returning sessions, Strix Halo iGPU decode'를 표방했고, 2341줄을 추가하고 145줄을 지웠다. 이번 버전의 축은 세션 복귀와 iGPU 디코딩 둘이다.

세션 복귀 쪽 핵심은 순환 캐시(recurrent cache)의 삭제 정책이다. 새 환경변수 EXL3_RC_ANCHOR_MAX의 기본값은 16384로, 2048부터 16384까지 2의 거듭제곱 위치(2K·4K·8K·16K)의 체크포인트를 다른 체크포인트가 남아 있는 동안 LRU(최근에 덜 쓴 항목부터 교체) 대상에서 뒤로 미룬다. 코드 주석은 이 장치가 긴 세션이 프롬프트 끝 체크포인트를 밀어내면서, 같은 시스템 프롬프트를 공유하는 압축·신규 세션이 K/V 페이지가 캐시에 남아 있어도 0부터 재개되던 문제를 막는다고 설명한다. 앞부분(prefix) 복구에는 EXL3_PD_BULK가 들어갔고 기본값은 CUDA에서 1, ROCm에서 0이다. 페이지를 하나씩 복사하는 대신 고정(pinned) 벌크 복사 한 번으로 접두어를 디스크에서 되읽는 방식인데, ROCm 통합 메모리에서는 벌크 복사가 오히려 느리다는 설명이 함께 붙었다. 서버가 유지하는 n-gram follower 수를 정하는 QWSPEC_NG_POOL의 기본값은 4이며, 1로 낮추면 단일 follower만 남는다.

디코딩 쪽은 커널과 실행 경로 조정이 대부분이다. gdn.cu는 일반 GDN 연산의 상태 접근 형태가 KDA와 같다는 점을 이용해 EXL3_GDN_VSPLIT_GDN으로 v_split을 1 또는 4로 고르게 했고, 주석은 두 설정의 출력이 bit-identical이라고 밝힌다. 같은 주석은 iGPU 측정값으로 48 x 512 B 상태 행에서 대역폭이 95 → 172 GB/s(1 row), 107 → 197 GB/s(히스토리 5 rows)로 올랐고 커널은 -45%, 4K decode는 -2.5%, 5-row verify는 -3.7%라고 적는다. 여기에 skinny_set_w2 바인딩 추가, skinny partials 커널의 컬럼 2개 묶기(CPL=2), HIP 전용 glue 모듈 hip_glue.py, 환경변수 정리 모듈 util/knobs.py, 그리고 anchor·knobs·prefix cache·HIP glue·Triton dequant 관련 테스트 파일들이 함께 들어갔다.

다만 그 수치는 커널 주석에 남은 개발자 측 iGPU 측정치이고, 독립 벤치마크나 README 표는 주어지지 않는다. CUDA와 ROCm의 기본값이 갈리는 항목이 여럿이라 다른 GPU 구성에 그대로 옮겨 읽을 숫자는 아니다. 1.8.5는 1.8.4 내용을 함께 담은 병합 릴리스이고, 지원 모델이나 라이선스 변경 내역은 이번 커밋 정보로 확인할 수 없다. AMD APU 한 대로 거대 MoE를 굴리면서 세션을 오래 붙잡아야 하는 환경이라면 확인할 만한 판이지만, 지원 범위는 Strix Halo(gfx1151)로 좁혀져 있다.