NumKong: 모두를 위한 2,000개의 혼합 정밀도 커널

SimSIMD 프로젝트가 7개 언어와 2,000개 이상의 혼합 정밀도 커널을 지원하는 'NumKong'으로 재탄생했으며, Int8 연산에서 MKL 대비 약 25배 빠른 1,279 gso/s의 압도적 성능을 기록했습니다. 20만 줄의 코드 규모에도 불구하고 바이너리 크기는 5MB에 불과해, 2026년 차세대 AI 인프라의 핵심 수치 연산 라이브러리로 주목받고 있습니다.

AI 요약

기존의 SimSIMD 프로젝트가 3년여의 개발 기간을 거쳐 'NumKong'이라는 새로운 이름으로 대규모 업데이트되었습니다. 이 프로젝트는 20만 줄의 코드와 문서로 구성된 2,000개 이상의 SIMD 커널을 포함하고 있으며, 이는 업계 표준인 OpenBLAS와 맞먹는 방대한 규모입니다. NumKong은 RISC-V, Intel AMX, Arm SME와 같은 최신 하드웨어 가속 기술을 활용하여 BFloat16부터 극저정밀도인 Float6 및 Int4/UInt4 연산까지 CPU에서 효율적으로 처리할 수 있도록 설계되었습니다. 2024년 시작된 풀 리퀘스트(#220)가 약 1,100개의 커밋을 거쳐 2026년 최종 머지되었으며, 개발 과정에서 수치적 안정성을 확보하기 위해 118비트 부동 소수점 테스트를 통과했습니다. 이 라이브러리는 이미 ClickHouse, DuckDB, ScyllaDB 등 주요 데이터베이스 시스템의 벡터 검색 엔진인 USearch를 가속화하는 핵심 요소로 자리 잡았습니다. 성능 최적화뿐만 아니라 바이너리 크기를 혁신적으로 줄여, 고성능 AI 서버부터 웹브라우저 및 엣지 장치까지 광범위하게 적용 가능한 범용성을 확보한 것이 이번 릴리즈의 핵심입니다.

핵심 인사이트

  • 거대 규모와 범용성: 200,000줄 이상의 코드 및 문서, 2,000개 이상의 SIMD 커널을 통해 7개 프로그래밍 언어(C, C++, Rust, Swift, JS, Go, Python) 지원.
  • 혁신적인 바이너리 다이어트: Intel MKL의 705 MB, OpenBLAS의 30 MB 대비 현저히 작은 5 MB의 바이너리 크기로 동일 수준 이상의 기능 제공.
  • 압도적 연산 속도: Int8 연산 성능은 1,279 gso/s로, PyTorch + MKL 조합(50 gso/s) 대비 약 25배 이상의 속도 향상 달성.
  • 최신 하드웨어 지원: Intel Xeon4(Sapphire Rapids) 기반의 AMX 및 Arm SME 타일 가속을 완벽 지원하여 2025-2026년형 DGX-H100 서버 환경에 최적화.

주요 디테일

  • 특화 연산 성능: 지리 공간 연산(Haversine)에서 GeoPy 대비 5,300배, 메쉬 정렬(Kabsch)에서 BioPython 대비 200배 빠른 속도 기록.
  • 정밀도 제어: Ozaki Scheme을 활용하여 Float32 타일 하드웨어에서 Float64 GEMM 연산을 수행하며, BLAS 표준보다 높은 정밀도 구현 가능.
  • 신규 수치 형식 지원: Nibble Algebra를 통한 네이티브 Int4 및 UInt4 도트 곱 연산과 AI 샌드박스용 WebAssembly SIMD 백엔드 포함.
  • 검색 최적화: ColBERT 모델을 위한 GPU 없는 'Fused MaxSim' 지연 상호작용(Late Interaction) 스코어링 기능을 통해 CPU 효율성 극대화.
  • 개발 타임라인: 2024년 PR #220 생성 이후 900개 이상의 커밋과 CI 통과를 거쳐 2026년 정식 릴리즈 완료.

향후 전망

  • AI 인프라 표준화: Nvidia DGX-H100과 같은 GenAI 워크호스 서버에서 CPU 기반 고속 벡터 연산의 새로운 표준으로 자리 잡을 것으로 기대.
  • DB 생태계 확장: ClickHouse, DuckDB 등 이미 14개 이상의 언어 바인딩을 통해 통합된 사례를 바탕으로 데이터베이스 시장의 벡터 검색 성능 경쟁을 가속화할 전망.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...