skyzh/tiny-llm

출처
GitHub
처음 오른 날
분야
모델 추론
GitHub 별 수
4,893
주 언어
Python
웹사이트
skyzh.github.io/tiny-llm (새 탭에서 열림)

외부 오픈소스 저장소를 소개하는 글입니다. HDATF 제품이 아닙니다.

skyzh/tiny-llm

무엇을 하나

tiny-llm은 로컬 언어 모델 추론의 내부를 이해하려는 시스템 엔지니어를 위한 실습 과정입니다. Qwen3 모델 가중치와 토큰으로 바꾼 대화를 입력받아 어텐션, 샘플링, 반복 생성을 거쳐 텍스트를 만듭니다. 학습자는 MLX 배열, Python, C++, Metal로 연산을 구현하고 MLX를 정확도 확인 기준과 성능 비교 대상으로 사용합니다. 이후 과정에서는 과거 어텐션의 키와 값을 보관하는 KV 캐시를 연속 배치와 페이지 단위 메모리 관리에 연결합니다. 4주차에는 JSON 행동을 검사하고 변경 전에 승인을 받으며 관찰 가능한 결과를 기록하는 교육용 코딩 에이전트를 다룹니다. 학습자 패키지에는 미완성 실습이 있으며 완성된 참조 구현과 구분됩니다. 지원하는 기본 실행 환경은 지정된 Python 의존성, Xcode, 네이티브 확장 빌드 도구를 갖춘 Apple Silicon Mac입니다. 운영용 격리 환경이나 영속적인 트랜잭션 시스템은 아니며 실제 모델용 에이전트 명령이 뒤쪽의 모든 재개 및 분기 기능을 함께 실행하는 것도 아닙니다.

라이선스

Apache-2.0 허용 범위가 넓고 특허 사용 허락이 포함됩니다. 상업적 이용이 가능하며 고지 문구를 유지하고 변경 사실을 밝혀야 합니다.

같은 분야 저장소

  • SheepSeb/tinyworldformer
    tinyworldformer는 Raspberry Pi Pico 2 W에서 두 신경망으로 작은 게임을 생성하고 플레이하는 실험입니다. 환경 예측 모델은 토큰 격자 형태의 현재 화면과 행동을 받아 다음 화면과 보상을 예측합니다. 별도의 행동 모델은 생성된 화면에서 뽑은 특징을 읽고 다음 행동을 고르며 보드에서 일반 게임 엔진을 조작하는 방식이 아닙니다. 환경 예측 모델은 하나의 트랜스포머 블록을 여러 번 재사용하고 공이나 플레이어를 하나만 놓는 등의 출력 규칙을 더합니다. Python과 PyTorch로 학습하며 양자화 오차를 반영한 학습과 내보내기를 거쳐 마이크로컨트롤러, 호스트, WebAssembly용 int8 Rust 추론 엔진을 만듭니다. 학습은 제공된 작은 게임에서 기록한 상태 전이로 시작하며 보드에서는 새 강화학습 행동 모델을 한 전이씩 학습하는 기능을 선택할 수 있습니다. 행동 모델이 예측 환경의 오류를 이용할 수 있으므로 평가 코드는 생성된 전이를 원래 게임 규칙과 대조합니다. 범용 영상 환경 예측 모델이나 산업 시뮬레이터가 아니며 README는 실제 Pico의 초당 화면 수를 측정하지 않았다고 밝히고 확인한 파일 목록과 패키지 설정에서도 저장소 라이선스를 찾지 못했습니다.
  • Fractal-Compute-Orchestrations/FractalWorkspace
    FractalWorkspace는 Python 서버와 Android 단말 계산 클라이언트를 묶는 상위 작업 공간과 구조 자료집입니다. README는 학습 작업을 나누고 돌아온 체크포인트를 합치는 흐름과 모델 계층을 여러 단말에 나누어 추론하는 흐름을 설명합니다. 입력은 모델과 데이터 조각, 단말 등록 정보, 자원 예산이며 결과로 통합된 모델 갱신과 추론 출력을 제시합니다. 확인한 서브모듈 설정은 FractalCore와 FractalAndroid를 분리하므로 상위 저장소만 내려받았다고 계산 서비스가 바로 동작하지는 않습니다. 문서상 Python과 Android 빌드 도구, 호환 단말, Firestore를 켠 Firebase 프로젝트, 서버와 클라이언트 설정이 필요합니다. 배터리와 온도 제한, 작업 식별자, 고객별 격리는 시스템 규약으로 설명하지만 이번 조사에서 구성 요소 코드의 종단간 구현을 검증하지는 않았습니다. 개인정보 설명은 모델과 데이터 조각을 내려받는 도식보다 넓게 쓰여 있어 원본 데이터가 절대 이동하지 않는다고 가정하지 말고 실제 경로를 확인해야 합니다. 라이선스는 상용 제한이 있는 소스 공개 형태이며 별도 허락 없는 기업 내부 사용도 제한하므로 자유롭게 도입할 수 있는 오픈소스 프레임워크는 아닙니다.
  • Generated-Computers/Locals
    여러 에이전트의 요청을 Apple Silicon Mac에서 처리하도록 만든 로컬 언어 모델 실행 서버입니다. 모델 가중치 자체가 아니라 MLX 계열 모델을 불러와 배치 처리와 프롬프트 캐시를 제공하는 실행 계층입니다. 대화와 도구 정의를 API 입력으로 받고 응답 텍스트, 도구 호출과 구조화된 JSON을 반환합니다. OpenAI 호환 요청뿐 아니라 Anthropic Messages와 Ollama 형식의 일부 요청도 변환해 처리합니다. 시작하려면 Apple Silicon M1 이상과 macOS 14 이상, 선택한 모델이 들어갈 메모리와 최초 모델 다운로드가 필요합니다. 기존 앱을 쓰려면 서버 주소와 모델 설정 또는 제공되는 실행 연결을 별도로 지정해야 합니다. 모델은 한 번에 하나를 실행하며 GGUF 파일을 그대로 사용하는 서버는 아닙니다. 제작자가 제시한 가속 수치는 특정 기기와 동시 요청 조건의 결과이며 단일 요청, 긴 입력이나 다른 양자화 형식에서는 효과가 달라집니다. 기본은 인증 없는 로컬 연결이므로 외부 공개에 주의해야 하고 Ollama 임베딩 API나 이미지 이해 등 모든 원래 서비스 기능을 대체하지는 않습니다.
  • deepseek-ai/DeepInfer
    DeepSeek 모델의 대규모 추론을 위한 실행 프레임워크이며, 공개판은 완성된 온라인 서비스가 아니라 오프라인 추론용입니다. 모델 운영자가 프롬프트와 모델 체크포인트를 넣으면 생성 토큰과 텍스트를 얻습니다. 공개 지원 모델은 DeepSeek-V4.1-Flash이며, 예제에는 텍스트와 이미지 입력이 있습니다. 최적화 커널, 데이터 및 전문가 병렬 처리, 초안 토큰 검증, 비동기 스케줄링으로 추론 작업을 구성합니다. 정규식과 JSON 스키마 및 문법 기반 출력 제약도 제공합니다. Linux, Python 3.12, GCC 13 이상과 NVIDIA SM100 또는 Huawei Ascend 950이 필요하며, 장치에 따라 CUDA 13 또는 CANN 9.2를 요구합니다. 시작 예제는 Hugging Face에서 가중치를 받거나 로컬 체크포인트를 사용합니다. 완전한 서비스에는 KV 캐시 체계, 단계 분리와 복제본 간 부하 분산을 별도로 갖춰야 하며, 공개 성능 수치를 일반 PC의 결과로 해석하면 안 됩니다.
  • deepseek-ai/deepseek-recipe
    deepseek-recipe는 여러 AI API 형식과 DeepSeek 추론 백엔드 사이를 연결하는 Rust 라이브러리와 Python 바인딩 모음입니다. Messages, Chat Completions와 Responses 요청을 공통 대화 형식으로 바꾸고 모델용 프롬프트 및 토큰 입력으로 변환합니다. 백엔드 출력을 다시 해당 프로토콜의 완성 응답이나 스트리밍 이벤트로 바꾸는 처리도 제공합니다. 도구 정의, 추론 설정과 구조화 출력 정보를 다루지만 실제 모델 추론, 도구 실행과 HTTP 전송은 호출자가 제공해야 합니다. Python은 3.10 이상을 지원하며, 이미지 처리에는 OpenCV 구성과 모델별 지원 여부를 고려해야 합니다. DeepSeek V4는 이미지를 받지 않으며 V4.1용 이미지 입력 경로와 구분됩니다. FastAPI 예제는 실제 모델 대신 고정 답변을 만드는 모의 추론을 사용합니다. 예제에는 인증과 사설망 이미지 주소 차단이 없으므로 설치만으로 공개 운영 서비스를 완성했다고 볼 수 없고, 출력 제약의 실제 강제 여부도 백엔드가 결정합니다.

Trendshift 순위 목록에 오른 저장소만 담았고, 목록은 후보를 찾는 데만 썼습니다. 순위 숫자는 옮기지 않았습니다. 설명과 라이선스, 별 수는 각 GitHub 저장소에서 확인했습니다. 해설은 우리의 판단입니다. 이 프로젝트들을 직접 시험한 것은 아니며, 상승 목록에 올랐다고 품질이 증명되지는 않습니다.

GitHub에서 보기 (새 탭에서 열림)