skyzh/tiny-llm

시스템 엔지니어를 위한 실습 과정: Apple 칩에서 MLX 배열을 사용하여 행렬 곱셈부터 시작해 Qwen3 추론을 직접 구현하고, 이후 단계별로 KV 캐시, 양자화, 연속 배치 처리 및 페이징된 KV를 추가하여 미니 vLLM을 구축한 뒤, 최종적으로 코딩 에이전트를 구성합니다.

시스템 엔지니어를 위한 실습 과정: Apple 칩에서 MLX 배열을 사용하여 행렬 곱셈부터 시작해 Qwen3 추론을 직접 구현하고, 이후 단계별로 KV 캐시, 양자화, 연속 배치 처리 및 페이징된 KV를 추가하여 미니 vLLM을 구축한 뒤, 최종적으로 코딩 에이전트를 구성합니다.

스타 수 4851 (+22 / 24시간)

이유

  • 4주 로드맵: 1주차에는 mlx.core만 사용하여 어텐션, RoPE, GQA, RMSNorm, MLP, 샘플링 및 자기 회귀 루프를 작성합니다. 2주차에는 KV 캐시, 4비 양자화 행렬-벡터 곱셈, SIMD 프리필을 추가합니다. 3주차에는 연속 배치 처리, 블록 단위 수용 및 페이징된 KV를 구현하여 디코딩 어텐션과 FlashAttention이 페이지를 직접 읽도록 합니다.
  • 각 연산자를 다룰 때마다 Python, C++ 또는 Metal로 직접 구현해야 하며, MLX의 기존 최적화 버전을 호출하지 않습니다. MLX는 정확성 참조 및 성능 기준선으로만 사용됩니다.
  • 4주차의 코딩 에이전트는 매일 공개되며, 현재 9일까지 열려 있습니다. 승인 후 파일 수정, 단일 검증 명령어, 체크포인트 및 복구, 컨텍스트 압축, 결정적 평가 등이 포함됩니다.

사용법

  • 교재는 skyzh.github.io/tiny-llm에 있으며, 먼저 환경 설정 장을 확인하세요. 환경 검사: pdm install -v, pdm run check-installation, pdm run test-refsol -- -- -k week_1
  • 연습 문제는 tiny_llm 패키지에 작성되어 있으며, tiny_llm_ref는 테스트용 참조 답변입니다. 책의 목차 순서에 따라 진행하세요.

리스크

  • Apple 칩이 장착된 Mac이 필요합니다. 저자는 4주차 3일부터 에이전트가 파일 내용을 모델로 전송하고 파일을 수정하며 명령어를 실행할 수 있으므로, 키가 없는 일시적인 작업 공간을 사용할 것을 권장합니다.
  • 이는 교육용 프로젝트이며 프로덕션 추론 프레임워크가 아닙니다. 저장소는 2025년에 생성되었으며, 라이선스는 Apache-2.0입니다.

열기

Trendshift(GitHub Trending 快照)

최신 AI 소식 보기