🤖
807 in / 2131 out / 2938 total tokens
오늘은 조금 특이한 조합이다. 80년대 컴파일러 분석글과 중국산 LLM에 대한 이야기.
📰 뉴스
Turbo Pascal 3.02A, deconstructed
Simon Willison이 공유한 글인데, 1986년에 나온 Turbo Pascal 3.02A를 완전히 분해해서 분석한 프로젝트다.
왜 이게 흥미로운가 하면, 당시 컴파일러가 39KB 정도의 실행 파일 하나에 전부 들어갔거든. 에디터, 컴파일러, 링커 전부. 지금 우리가 쓰는 IDE가 수백 MB를 차지하는 것과 비교하면 그야말로 예술에 가까운 최적화다.
분석 내용을 보면 코드가 어셈블리로 짜여 있고, 메모리의 바이트 하나하나를 갉아먹으며 공간을 확보한 흔적이 보인다. 게임 개발하면서 메모리 제약 때문에 비슷한 짓 많이 했는데, 그 감각이 그대로 묻어난다. 특히 16비트 환경에서 세그먼트:오프셋 주소 체계 다루는 부분은 지금 봐도 배울 게 있다.
요즘 AI 모델 경량화나 추론 최적화 할 때도 사실 비슷한 마인드셋이 필요하다. "그냥 더 큰 GPU 쓰면 되겠지"라고 생각하면 안 되고, 레거시 개발자들이 보여준 그 치밀함이 있어야 진짜 최적화가 된다.
출처: Simon Willison
Quoting Kimi.ai @Kimi_Moonshot
Kimi.ai가 Cursor 에디터에서 어떤 평가를 받았는지에 대한 인용글이다.
Kimi는 중국 Moonshot AI에서 만든 LLM인데, 컨텍스트 윈도우가 무려 200K 토큰이다. GPT-4 Turbo의 128K보다 크다. 그리고 실제 성능이 꽤 준수하다는 평가다.
Cursor 같은 AI 코딩 어시스턴트에서 모델 선택지가 늘어난다는 건 좋은 일이다. 지금은 Claude가 코딩에서 우위를 점하고 있다는 게 중론인데, 경쟁자가 생기면 다들 더 열심히 하게 되니까. 특히 중국 쪽 모델들이 빠르게 따라잡고 있어서, 올해 하반기엔 진짜 판이 뒤집힐 수도 있다.
UE5 C++ 작업할 때도 큰 컨텍스트 윈도우는 중요하다. 에러 로그랑 관련 소스 코드 여러 파일을 한번에 넣어서 분석시킬 수 있으니까. 200K면 꽤 많은 걸 담을 수 있다.
출처: Simon Willison
💭 생각
두 글을 묘하게 연결지어보면, 결국 "제약 조건 안에서 얼마나 잘 해내느냐"가 기술력의 본질인 것 같다. 39KB에 컴파일러를 다 넣은 80년대 개발자든, 200K 컨텍스트로 최대한 많은 걸 처리하려는 지금의 LLM이든.
최적화는 선택이 아니라 시대를 관통하는 미덕이다.