아이폰18 뉴럴엔진에서 Qwen3.8-27B가 1.5bpw로 초당 70토큰 디코딩

Hacker News14일 전

아이폰에서 270억 파라미터급 모델을 돌리는 작업이 실사용 범위에 들어왔다. 개발자 Anemll이 아이폰18의 애플 뉴럴엔진(A20) 위에서 Qwen3.8-27B를 구동한 결과를 공개했다. 핵심은 모델 가중치를 1.5비트 수준까지 압축한 상태에서 디코딩 속도가 최대 초당 70토큰까지 올라간다는 점이다.

구체적인 수치는 이렇다. 24K 길이의 컨텍스트를 아이폰에서 확인했고, 이때 키와 밸류 캐시는 모두 int8로 양자화했다. 반면 델타 넷(delta net) 부분은 FP16 정밀도를 그대로 유지했다. 디코딩 속도는 조건에 따라 초당 15~60토큰, 예측이 쉬운 컨텍스트에서는 최대 70토큰까지 나온다.

양자화 구성도 눈에 띈다. 기반이 된 모델은 PrismML의 Bonsai-2로, 원래 1.585bpw였던 것을 1.5bpw로 다시 양자화했다. 가중치 4개당 6비트를 쓰는 벡터 양자화(VQ) 방식이다. 여기에 dflash-2라는 드래프트 모델을 약 2.8bpw로 추가로 얹었다. 2~4비트를 섞는 혼합 벡터 양자화이며, 이 과정에서 드래프트 수용률(acceptance rate)이 소폭 떨어진다.

드래프트 모델을 붙이는 건 전형적인 추측 디코딩(speculative decoding) 구성이다. 작은 모델이 다음 토큰 후보를 먼저 제안하고 큰 모델이 이를 검증하는 방식으로, 같은 하드웨어에서 체감 속도를 끌어올린다. 여기에 더해 컨텍스트가 길어질수록 커지는 KV 캐시를 int8로 낮춘 것이 24K 컨텍스트를 가능하게 한 축이다. 정밀도 손실에 민감한 델타 넷만 FP16으로 남겨 품질을 방어했다.

온디바이스 추론에서 병목은 연산량보다 메모리 대역폭과 모델 크기인 경우가 많다. 그래서 최근 모바일 LLM 연구는 가중치 비트폭을 극단까지 낮추는 방향과, 캐시·상태 관리 비용을 줄이는 방향으로 나뉘어 진행돼 왔다. 이번 결과는 두 방향을 한 기기에서 동시에 밀어붙인 사례다.

개발자 입장에서 달라지는 지점은 명확하다. 1.5bpw급 양자화와 int8 KV 캐시 조합이 실제 기기에서 동작한다는 것은, 별도 서버 없이 코드 보조나 로컬 에이전트를 폰 안에서 돌릴 여지가 생긴다는 뜻이다. 특히 초당 15~60토큰은 짧은 응답을 주고받는 대화형 도구라면 체감 지연이 크지 않은 구간이다. 이 구성이 Local Code Mobile에서도 쓸 수 있게 될 것이라는 언급도 덧붙었다.

다만 속도 수치의 전제를 봐야 한다. 최대 70토큰은 예측이 쉬운 컨텍스트에서 나온 피크값이고, 일반적인 입력에서는 15~60토큰 구간에 머문다. 드래프트 모델을 얹으면서 수용률이 다소 떨어진 점도 속도 편차에 영향을 준다. 또 이번 공개는 개인 개발자의 실측 공유 형태로, 다양한 프롬프트와 기기 상태에서의 재현성은 별도로 확인이 필요하다.