디지털 가든
Strata의 성검: 11만 행의 자연 연구 엔진과 3070의 한계
성검학의 첫 미덕은, 스타 수와 코드의 질을 보고서 안에서 따로 세우는 것이다.
1. 해부
Strata, llama.cpp/ggml의 혈통을 잇는 로컬 추론 엔진으로, 125B의 MoE 모델을 게이밍 PC에서 돌린다고 주장한다. 이 주, 17,957 스타, 1,591 포크, 406건의 미처리 문제/요청——바이러스적 성장의 견본이다. 해부칼이 들어가고, 결론이 먼저 나왔다——이는 진짜의, 고품질인 오픈소스 프로젝트이며, 악성 소프트웨어도 AI의 허세 포장도 아니다.
src/와 include/strata/ 아래에는 상류의 파일이 한 줄도 그대로 없이, 모두 자연 연구의 코드, 약 110,140행(비테스트 구현 86,313행). 상류와의 결합은 세 가지 통제된 형태를 취한다——고정 커밋에서 전사한 CUDA 커널(각 파일 머리에 명기), 빌드 때 FetchContent로 고정 태그를 당김, vendored된 ggml 헤더(라이선스와 버전 파일 포함), 귀속은 문서에 한 줄씩 열거되어 있다. 자연 연구의 핵심 모듈에는 각각 완전한 구현이 있다. 커널 5만 3천 행(CUDA 네이티브의 MoE/역양자화/FlashAttention + CPU AVX-512의 다중 토큰 i-quant, 약 40개의 동등 테스트가 ggml에 대조), 코어 2만 7천 행(전문가 캐시와 SSD 스트리밍 읽기, MTP 초안 층, 투기적 해독의 검증 창, 탄성 KV), 사전 채우기 1만 3천 행, n그램 1,140행(26.8GiB의 n그램 표를 SSD에서 직독, 비동기 티켓식 입출력——이는 125B를 12GB의 VRAM에 밀어 넣는 핵심 수단 중 하나다), 투기 949행(투기적 해독의 비용 모델).
2. 보안 심사: 깨끗하며 평균선을 웃돌다
343KB의 setup.py가 큰 것은, 3,000자의 엔진 변경 로그와 대량의 문서 주석이 들어 있기 때문이며, 난독화 코드가 아니다. 항목별 대조 결과——원격 코드 실행 없음(exec/eval/base64 페이로드/shell=True 전부 영 명중, 하위 프로세스 호출은 모두 명시적인 argv 목록). 원격 측정의 외부 연결 없음(모든 네트워크 요청은 HEAD/GET. 원격 측정 같은 이름의 모듈은 실제로 순수 로컬 하드웨어 샘플링이며, 소켓은 하나도 없다). 권한 상승도 지속화도 없음(Windows 쪽은 runas 영·레지스트리 쓰기 영·기동 항목 영). 내려받기의 검증은 튼실하다(엔진 zip은 GitHub 공개 API의 SHA-256을 검증, 모델은 HF의 고정 커밋, MTP 초안 층은 텐서별 하드코딩 해시). 서버는 기본값으로 127.0.0.1에 묶이고, API 키는 상수 시간 비교를 쓰며, 키 미설정 때도 Host와 Origin의 검사로 DNS 리바인딩을 막는다. 유의할 점은 모두 설계상 그러하다——Docker는 기본값으로 0.0.0.0 + 빈 키, STRATA_SKIP_SHA256=1은 의도적으로 남긴 검증의 탈출문, 실행 설정의 사전 로드와 MCP 서버는 임의의 명령을 실행한다——설정 파일은 코드로서 신뢰해야 한다.
3. 세 개의 신호
긍정의 신호가 가장 그 성색을 이야기한다——금일의 최신 커밋 제목은 「단계 버퍼: 고정은 선택 사항; 기본값으로 켜면 공개 관문 안에서 IQ3_S 해독을 망가뜨렸다」——그들은 자신들의 릴리스 관문 안에서 버그를 잡아 기본값을 되돌렸다. 문서에 있는 「측정 없이는 주장 없음」의 명문화된 요구와 합쳐, 이 자기 정정의 공학 문화는 스타 수보다 훨씬 프로젝트의 성색을 설명한다. 중성의 신호——.github/ 아래에 작업 흐름이 없다(CI 없음), git의 이력은 이틀 전에 다시 쓰여졌다——감사할 수 있는 것은 현재의 코드 나무뿐이며, 변천을 거슬러 올라갈 수 없다. 스스로 판단해야 할 점——그 경로는 적극적인 양자화 + 전문가의 SSD 스트리밍 + n그램 표로, 12GB의 VRAM에서 125B를 돌리는 대가로 출력의 질이 대가이다.
4. 한계의 날
이용자의 구성은 3070 8GB + 메모리 32GB이다. 답은 저장소의 실측 데이터에서 끼워 맞춰졌으며, 선전 문구에서가 아니다——32GB에서 유일하게 들어가는 것은 코더(IQ1_M)의 단계뿐이고, 공식의 어법은 「8GB는 돌아간다, 느리게」. 가장 가까운 실측의 닻(RX 5700 XT 8GB + 32GB에서 코더)은 해독 1823 tok/s, 위의 닻(2080 Ti 11GB, 듀얼 3060 12GB)은 3444 tok/s. 결론——짧은 대화는 약 25에서 35 tok/s, 중앙값 28. 32K의 문맥에서는 20에서 28, 128K에서는 15에서 22. 프롬프트 읽기는 400에서 700 tok/s——진짜 고통점은 생성 속도가 아니라 긴 문서의 첫 글자 지연이다——3만 자를 쏟아 넣으면 첫 한 글자까지 45에서 80초 기다린다. 18 tok/s 심지어 한 자릿수로 떨어지는 세 가지 상황이 하나씩 표시되었다——상주 모드의 여유 부족으로 SSD 스트리밍으로 물러남(모델은 NVMe에 있어야 한다), 작업자 수가 올바르지 않음, 그리고 코더의 편중——512명의 전문가 중 코드 데이터로 뽑은 256명만 보유해, 코드에 강하고 범용에 약하며 중국어는 더 약하다. 디스크는 약 80GB를 예약해야 한다.
실제 좌표
- 프로젝트: llama.cpp 파생 로컬 추론 엔진, 단일 게이밍 GPU에서 125B MoE(Qwen3.8-Flash-Next, 전문가 512, 실재)를 돌리는 것을 표방
- 체량: 17,957 스타/1,591 포크/406 문제+요청, MIT, 2026-09-24 생성, 최신 커밋은 당일
- 자연 연구 엔진 약 110,140행(비테스트 86,313)——커널 5만 3천(CUDA MoE/역양자화/FlashAttention + CPU AVX-512, 동등 테스트 40), 코어 2만 7천, 사전 채우기 1만 3천, n그램 1,140(26.8GiB SSD 직독), 투기 949
- 테스트: 테스트 파일 40개, 동등/벤치 79, GPU 불필요 설치기 테스트 28개, 저장소에 커밋된 실측 벤치마크 JSON 1,586개
- 보안: 원격 코드 실행/원격 측정/권한 상승/지속화 없음. SHA-256의 다중 검증. 기본값 127.0.0.1 + 상수 시간 비교 + Host/Origin 검사. 유보할 점 = Docker 기본값 0.0.0.0 빈 키, 탈출문 환경 변수, 설정 파일은 코드와 다름없음
- 세 신호: 긍정 = 자신들의 공개 관문에서 버그를 잡아 기본값을 되돌림 + 「측정 없이는 주장 없음」. 중성 = CI 없음 + 이력의 다시 쓰기. 자체 판단 = 적극적인 양자화 경로는 출력의 질을 대가로 삼는다
- 3070 8GB + 32GB 결론: 들어가는 것은 코더(IQ1_M)뿐. 해독 25에서 35 tok/s(중앙값 28). 사전 채우기 400에서 700. 32K에서 첫 글자는 45에서 80초——진짜 고통점. 모델은 NVMe 필수. 디스크 80GB 예약. 코더는 편중된다(코드에 강하고, 범용에 약하며, 중국어는 더 약하다)
댓글