사용자가 90년대 Freescale ColdFire CPU 에뮬레이터 안에서 LLM을 실행하는 프로젝트를 공개했어요. TinyStories 데이터셋으로 학습된 260K 파라미터 모델을 18년 된 RTOS 환경에서 구동하는 데 성공했어요. FPU 부재로 인해 INT8 양자화와 다양한 최적화 기법을 적용해 토큰당 2~4초의 속도를 달성했어요. 프로젝트는 GitHub에서 확인할 수 있으며, FPGA를 활용해 속도 향상을 목표로 하고 있어요.
Karpathy의 llama2.c를 기반으로 TinyStories 데이터셋으로 학습된 모델을 사용했으며, 16MB 메모리 제약 내에서 RTOS 스택을 줄여 공간을 확보했어요. 소프트웨어 에뮬레이션, Carmack의 fast inverse square root, RoPE lookup table 등을 활용해 성능을 개선했어요. 소프트맥스/RMSnorm은 여전히 에뮬레이션된 부동 소수점 연산을 사용해요.
이 프로젝트는 실용적인 용도로는 적합하지 않지만, LLM이 매우 제한적인 환경에서도 실행될 수 있음을 보여주는 흥미로운 사례예요. 다음 단계는 FPGA를 활용해 원래 하드웨어를 재구현하여 속도를 향상시키는 것이 목표예요.