๐ค Kernels: ์ฃผ์ ์ ๋ฐ์ดํธ
- ๐ค Kernels: ์ฃผ์ ์ ๋ฐ์ดํธ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ ๐ค Kernels: Major Updates๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
๐ค Kernels: ์ฃผ์ ์ ๋ฐ์ดํธ
์ด์ ๊ธ(From Zero to GPU)์์๋ custom kernels๋ฅผ ํจํค์งํ๊ณ , ๋ฐฐํฌํ๊ณ , ์ฌ์ฉํ๋ ๋ฐฉ์์ ํ์คํํ๊ธฐ ์ํ ๐ค Kernels ํ๋ก์ ํธ๋ฅผ ์๊ฐํ์ต๋๋ค. ์ด ํ๋ก์ ํธ์ ๋ชฉํ๋ Hub์ ์ต๋ํ ์ ๋ง์ผ๋ฉด์๋ ์ฌ์ฉ ํ๋ฆ์ ๋งค๋๋ฝ๊ณ ๋ณด์์ ๊ฒฌ๊ณ ํ๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค.
์ง๋ ๋ช ๋ฌ ๋์ ์ฐ๋ฆฌ๋ ์ด ๋ชฉํ๋ฅผ ํฅํด ์์ ํด ์์ต๋๋ค. ๊ทธ ๊ณผ์ ์์ ํ๋ก์ ํธ๋ ๊ฑฐ์ ์ ๋ฉด์ ์ผ๋ก ๋ค์ ์ค๊ณํ์ต๋๋ค. ์ด ๊ธ์์๋ ์ง๊ธ๊น์ง ๋ฐฐํฌํ ์ฃผ์ ์ ๋ฐ์ดํธ์ ์์ผ๋ก์ ๋ฐฉํฅ์ ์ ๋ฆฌํฉ๋๋ค.
๋ชฉ์ฐจ
- Kernels โ ์๋ก์ด ์ ์ฅ์ ์ ํ
- ๋ณด์ ๊ฐ์
- CLI ๊ฐํธ
- ํ๋ ์์ํฌ์ ๋ฐฑ์๋ ์ง์ ํ๋
- agentic kernel ๊ฐ๋ฐ์ ์ํ ๊ธฐ๋ฐ
- ๊ธฐํ ์ ๋ฐ์ดํธ
- ๋ง๋ฌด๋ฆฌ
Kernels โ ์๋ก์ด ์ ์ฅ์ ์ ํ
Hub์ โkernelโ์ด๋ผ๋ ์๋ก์ด repository type์ ๋์ ํ์ต๋๋ค. ์ด๋ฅผ ํตํด compute ๊ด๋ จ ์๊ตฌ๊ฐ ๊ตฌ์ฒด์ ์ธ ์ฌ์ฉ์๋ค์ ๋ ์ ์ง์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์๋ ํน์ kernel์ด ์ด๋ค accelerator, operating system, backend version์ ์ง์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
Hub์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ปค๋์ https://huggingface.co/kernels์์ ๋๋ฌ๋ณผ ์ ์์ต๋๋ค.
์ด kernel๋ค์ Hub์ first-class citizen์ผ๋ก ๋ง๋ค๋ฉด AI ์ํ๊ณ์๋ ๋์์ด ๋ฉ๋๋ค. ์ด์ ์ฌ์ฉ์๋ kernel, model, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ฌ์ฉํ๋ application ์ ๋ฐ์ ํ๋ฆ์ ๋ณผ ์ ์์ต๋๋ค. ๋ํ kernel์ ์ฌ์ฉ์์๊ฒ ๋ ์ฝ๊ฒ ๋ฐ๊ฒฌ๋ ์ ์์ต๋๋ค.
๋ณด์ ๊ฐ์
Kernel์ ์ด๋ฅผ ๋ถ๋ฌ์ค๋ Python process์ ๊ฐ์ ๊ถํ์ผ๋ก native code๋ฅผ ์คํํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฑ kernel์ ์ค์ ํผํด๋ฅผ ์ค ์ ์์ต๋๋ค. ๊ทธ๋์ ๋ณด์์ Kernels ํ๋ก์ ํธ์์ ํญ์ ๊ฐ์ฅ ์ค์ํ ์์์์ต๋๋ค.
์ด ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์ด๊ธฐ๋ถํฐ reproducibility์ ์ง์คํ์ต๋๋ค. ์ฌ์ฉ์๊ฐ kernel์ ์ง์ ๋ค์ compileํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๊ณต๊ฐ๋ source์ ์ผ์นํ๋์ง ๊ฒ์ฆํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด Nix๋ฅผ ์ฌ์ฉํฉ๋๋ค. Nix๋ build recipe๋ฅผ hermeticํ๊ฒ ํ๊ฐํ๊ณ ๊ฐํ๊ฒ ๊ฒฉ๋ฆฌ๋ sandbox๋ฅผ ์ฌ์ฉํด build๋ฅผ ์์ํ๊ฒ ์ ์งํฉ๋๋ค. ๋ํ source Git SHA1์ kernel ์์ฒด์ embeddingํด provenance๋ฅผ ๋ ๊ฐํํ์ต๋๋ค.
์ต๊ทผ ๋ช ๋ฌ ๋์ trusted kernel publisher์ code signing์ด๋ผ๋ ์ถ๊ฐ ๋ฐฉ์ด ๊ณ์ธต๋ ๋์ ํ์ต๋๋ค.
์ ๋ขฐํ ์ ์๋ ์ปค๋ ๊ฒ์์(trusted kernel publishers)
์๋ก์ด repo type๊ณผ ํจ๊ป โtrusted publishers(์ ๋ขฐํ ์ ์๋ ๊ฒ์์)โ๋ ๋์ ํ์ต๋๋ค. Kernel์ ์ฌ์ฉ๋๋ machine์์ Python process์ ๊ฐ์ ๊ถํ์ผ๋ก code๋ฅผ ์คํํ๋ฏ๋ก, ๊ณต๊ฒฉ์๋ ์ ์ฑ kernel์ ์ ๋ก๋ํ๊ณ ์ฌ์ฉ์๊ฐ ๊ทธ kernel์ ์ฐ๋๋ก ์ ๋ํด machine์ compromiseํ ์ ์์ต๋๋ค. ์ด๋ฐ ์ ์ฑ kernel์ ํผํ ์ ์๋๋ก, ์ด์ kernels ํจํค์ง๋ ๊ธฐ๋ณธ์ ์ผ๋ก trusted publishers๊ฐ ๊ฒ์ํ ์ปค๋๋ง ๋ก๋ํฉ๋๋ค. trusted publisher๋ community๊ฐ ์ ์๋ก ํ๋ํ๋ค๊ณ ์ ๋ขฐํ๋ organization์ ๋๋ค.
๋ฌผ๋ก trusted publisher๊ฐ ์๋ organization์ด๋ user์ kernel๋ loadํ ์ ์์ด์ผ ํฉ๋๋ค. ๋ค๋ง Hub์์ kernel์ loadํ ๋ trust_remote_code argument๋ฅผ ์ฌ์ฉํด ๋ช
์์ ์ผ๋ก opt inํด์ผ ํฉ๋๋ค.
from kernels import get_kernel
kernel_module = get_kernel(
โAtlas-Inference/gdnโ, version=1, trust_remote_code=True
)
๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์๋ Hub์ kernel repository๋ฅผ publishํ ์ ์์ต๋๋ค. kernel publisher๊ฐ ๋๋ ค๋ฉด ์์ฒญํด์ผ ํฉ๋๋ค. user์ organization์ account settings์์ access๋ฅผ ์์ฒญํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ฐ๋ฆฌ๋ ์์ฒญ์ case-by-case๋ก ๊ฒํ ํ ์๊ฐ์ ํ๋ณดํฉ๋๋ค.
Kernel signing
์ถ๊ฐํ๊ณ ์๋ ๋ ๋ค๋ฅธ ๋ณด์ ๊ณ์ธต์ code signing์ ๋๋ค. code signing์ trusted publisher์ Hub credential์ด compromise๋์ด ๊ณต๊ฒฉ์๊ฐ ํด๋น publisher์ kernel repo์ ์ ์ฑ kernel์ ์ ๋ก๋ํ๋ ์ํฉ์ ๋ฐฉ์ดํฉ๋๋ค. code signing์์๋ kernel developer๋ง ์๊ณ ์๋ private key๋ก kernel์ ์๋ช ํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ๊ณต๊ฐ๋ public key๋ก ์ด๋ฅผ ๊ฒ์ฆํฉ๋๋ค. Hub๊ฐ compromise๋ ์ํฉ์์๋ ๊ณต๊ฒฉ์๋ signing์ ํ์ํ private key๋ฅผ ๊ฐ๊ณ ์์ง ์์ผ๋ฏ๋ก ์ ์ฑ kernel์ ์๋ช ํ ์ ์์ต๋๋ค.
๋ณด์์ ๋ ๊ฐํํ๊ธฐ ์ํด Sigstore์ cosign์ ์ฌ์ฉํด ephemeral private key๋ก ์๋ช ํฉ๋๋ค. ์ด signing key๋ ์ ํ๋ ์๊ฐ ๋์๋ง ์ ํจํ๋ฏ๋ก, ์ ์ถ๋๋๋ผ๋ ๊ณต๊ฒฉ์๊ฐ private key๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๋ํ kernel์ด trusted GitHub repository์ trusted GitHub workflow์์ ์๋ช ๋์๋์ง๋ ๊ฒ์ฆํฉ๋๋ค.
Kernel signing์ ์ด๋ฏธ kernel-builder์์ ์ง์๋๋ฉฐ, kernel์ ๊ฒ์ฆํ ์ ์๋๋ก kernels verify-signature๋ ์ ๊ณตํฉ๋๋ค. ๋ค๋ง Kernels๋ ์์ง kernel load ์์ ์ signature๋ฅผ ๊ฒ์ฆํ์ง ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์ ํ rolloutํ๊ธฐ ์ ์ ๋ ํ
์คํธํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์
๋๋ค. ์์ฒด ์ปค๋์ ์ฝ๋ ์๋ช
์ค์ ์ ๊ดํ ์๋น ์๋ด๋ kernels 0.16.0 ๋ฆด๋ฆฌ์ค ๋
ธํธ์์ ํ์ธํ ์ ์์ต๋๋ค.
CLI ๊ฐํธ
์ด์ ์๋ ์ฌ๋ฌ utility๊ฐ kernels์ kernel-builder ์ฌ์ด์ ๋ค์์ฌ ์์์ต๋๋ค. ์ด์ kernels CLI์ kernel-builder CLI ์ฌ์ด์ concern์ ๋ ๋ช
ํํ ๋ถ๋ฆฌํ์ต๋๋ค. ์ฌ๊ธฐ์์ mental model์ kernels๊ฐ kernel์ loadํ๊ณ ์ฌ์ฉํ ์ค๋น๋ฅผ ํ๋ library๋ผ๋ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ โbuildingโ kernel๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ํฌํจํ์ง ์๋ ๊ฒ์ด ๋ง์ต๋๋ค.
๊ทธ ๊ฒฐ๊ณผ kernels์ kernel-builder๋ ๋ชจ๋ ํจ์ฌ ๋ ๊ฐ๋ณ๊ณ ๋ชฉ์ ์ด ๋ถ๋ช
ํด์ก์ต๋๋ค. ์์ธํ ๋ด์ฉ์ documentation์ ์ฐธ๊ณ ํ์ธ์.
๊ฐ์ ๋ CLI ๊ฒฝํ์ agentic kernel development๊ฐ ๋ถ์ํ๋ ํ๋ฆ์๋ ๋ ์ ๋์ํ๊ฒ ํด ์ค๋๋ค. ์ด์ ๋ํด์๋ ๋ค์์ ๋ ์ค๋ช ํฉ๋๋ค.
ํ๋ ์์ํฌ์ ๋ฐฑ์๋ ์ง์ ํ๋
framework ์ง์๋ ํ์ฅํ์ต๋๋ค. ๊ฐ์ฅ ๋์ ๋๋ ๋ณํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- kernels์ kernel-builder์ Torch Stable ABI ์ง์์ ์ถ๊ฐํ์ต๋๋ค. Torch Stable ABI๋ฅผ ์ฌ์ฉํ๋ฉด kernel developer๊ฐ ํน์ Torch version์ด๋ ๊ทธ ์ดํ ์ฝ 2๋ ๋์ release๋๋ version์ targetํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Torch 2.9 Stable ABI๋ฅผ targetํ๋ kernel์ Torch >= 2.9๋ฅผ ์ง์ํฉ๋๋ค.
- Apache TVM FFI๋ Torch ์ธ์ ์ฒ์์ผ๋ก ์ง์๋๋ framework์ ๋๋ค. TVM FFI๋ PyTorch, JAX, CuPy ๊ฐ์ ๋ค๋ฅธ framework์ ์ํธ ์ด์ฉ๋๋ kernel์ฉ standardized ABI์ ๋๋ค. ์ด๋ฅผ ํตํด kernel developer๋ ์ฌ๋ฌ framework์์ ๋์ํ๋ kernel์ ๋ง๋ค ์ ์์ต๋๋ค.
agentic kernel ๊ฐ๋ฐ์ ์ํ ๊ธฐ๋ฐ
kernel-builder์ kernels๋ agent๊ฐ ์ฒ์๋ถํฐ ์ต์ ํ๋ kernel์ ๋ง๋ค์ด ๋ด๋ agentic kernel development์ ๋ถ์์ ๋ณด์ํฉ๋๋ค. ๋ ๋๊ตฌ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด agent๊ฐ kernel์ scaffoldํ๊ณ , buildํ๊ณ , benchmarkํ๊ณ , ๋ฐ๋ณต์ ์ผ๋ก optimizeํ๋ workflow๋ฅผ ์ง์ํ ์ ์์ต๋๋ค.
Agentic kernel development๋ ์์ง ์ด๊ธฐ ๋จ๊ณ์ด๋ฉฐ, ์ ์ ํ development loop๋ ๊ณ์ ์งํํ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋จ์ํ๊ณ ๋ช ํํ ๊ธฐ๋ณธ๊ธฐ๊ฐ ํนํ ์ค์ํฉ๋๋ค. ๋๊ตฌ๋ ์ฌ๋๋ค์ด ์ ํํ๋ ์ด๋ค agent workflow๋ framework์๋ ์ฝ๊ฒ ์กฐํฉ๋ ์ ์์ด์ผ ํฉ๋๋ค.
kernel-builder๋ kernel source code๋ฅผ ์ด๋ป๊ฒ scaffoldํ๊ณ reproducible build์ ์ฌ์ฉํ ์ง์ ๋ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ๋์์ ์ค๋๋ค. ์ด๋ฅผ ํตํด agent๋ ์์ธก ๊ฐ๋ฅํ project layout๊ณผ ๋ฐ๋ณต ๊ฐ๋ฅํ workflow ์์์ ์์
ํ ์ ์์ต๋๋ค. CLI ์ญ์ agent-optimized๋๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด non-interactive command์ agent๊ฐ programmaticํ๊ฒ ํด์ํ๊ธฐ ์ฌ์ด output์ ์๋ฏธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ์๋ก ๋ค๋ฅธ backend์ ํน์ฑ์ agent๊ฐ ๋ค๋ฃฐ ์ ์๋๋ก backend-specific skills๋ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ skill์ backend๋ณ toolchain, compilation path, performance consideration์ ํฌ์ฐฉํ ์ ์์ต๋๋ค.
kernel์ ์ฑ๊ณต์ ์ผ๋ก buildํ๋ ๊ฒ๋ง์ด ๋ชฉํ๋ ์๋๋๋ค. target hardware์์ baseline ๋๋น ์ค์ speedup์ ์ ๊ณตํ๋์ง๋ ํ์ธํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฑ๊ณต์ ์ธ build๋ ์ฒซ ๋ฒ์งธ validation step์ผ ๋ฟ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก target hardware์๋ ์ฌ๋ฌ accelerator๊ฐ ํฌํจ๋ ์ ์๊ณ , ๊ฐ์ accelerator์ ์๋ก ๋ค๋ฅธ family๊ฐ ํฌํจ๋ ์๋ ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ด๋ จ์ด ์๋ ๊ฒฝ์ฐ hardware vendor์ generation ์ ๋ฐ์์ ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. HF Jobs์์ ๊ธด๋ฐํ integration์ ์ด benchmarking ๊ณผ์ ์ ์ฝ๊ฒ ๋ง๋ค์ด ์ค๋๋ค. Agent๋ ์ด integration์ ์ฌ์ฉํด benchmark suite๋ฅผ ์คํํ๊ณ , performance result๋ฅผ ์์งํ๋ฉฐ, ์ ์๋ baseline๊ณผ ๋น๊ตํ ์ ์์ต๋๋ค.
์ด ๋ฐฉ์์ผ๋ก agent๋ ์๋ก ๋ค๋ฅธ hardware configuration ์ ๋ฐ์์ test๋ฅผ ์คํํด ์์ฑ๋ kernel์ performance์ ๋ํ ์ ๋ขฐํ ์ ์๋ feedback์ ์ป๊ณ , ๋ฌด์์ ํด์ผ ํ๋์ง ์๋ณํ ์ ์์ต๋๋ค. ๊ทธ feedback์ ๋ค์ optimization iteration์ ๋ฐ์๋ฉ๋๋ค.
์๋๋ agent-augmented kernel์ ๋ช ๊ฐ์ง ์์์ ๋๋ค. ์ด ์์๋ค์ ์ด workflow๋ฅผ ํตํด ์ด๋ค ์ข ๋ฅ์ kernel์ ๊ฐ๋ฐํ๊ณ ํ๊ฐํ ์ ์๋์ง ๋ณด์ฌ์ค๋๋ค.
๊ธฐํ ์ ๋ฐ์ดํธ
ํ๊ฒฝ ์ค์
kernel-builder๋ก kernel์ buildํ๊ธฐ ์ํ ํ๊ฒฝ ์ค์ ์ ๋ถ๋ด์ค๋ฌ์ธ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ ์ฝ๊ฒ ์์ํ ์ ์๋๋ก, ์ด์ ํ ๋ฒ์ click์ผ๋ก ํ๊ฒฝ์ ์ค์ ํ ์ ์๋ installation script๋ฅผ ์ ๊ณตํฉ๋๋ค. ephemeral instance์์ ์์
ํ๋ ๊ฒ์ ์ ํธํ๋ค๋ฉด Terraform setup guide๋ ์ฐธ๊ณ ํ ๋งํฉ๋๋ค.
kernel์ฉ system card
kernel์ด build๋ ๋ค์๋ ๊ฐ kernel์ ๋ํด system card๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ๋ ธ์ถ๋ interface ๋ฑ ์ ์ฉํ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. kernel์ด Hub์ push๋๋ฉด ์ด system card๊ฐ kernel์ front matter๊ฐ ๋ฉ๋๋ค.
๋ด system์์ kernel์ด ํธํ๋๋์?
์ด๋ ๋ ๋์ ๊ณํ์ ์ธ์ฐ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฒ ๋ฌป๊ฒ ๋๋ ์ง๋ฌธ์
๋๋ค. ์ด ๋ชฉ์ ์๋ has_kernel() method๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
from kernels import has_kernel
print(has_kernel("kernels-community/activation", version=1))
์ด method๋ bool์ ๋ฐํํฉ๋๋ค. ํน์ kernel์ด ์ ์ง์๋์ง ์๋์ง ๋ ์์ธํ ์ค๋ช
์ด ํ์ํ๋ค๋ฉด get_kernel_variants()๋ฅผ ์ฌ์ฉํ์ธ์.
from kernels import get_kernel_variants, VariantAccepted
for decision in get_kernel_variants("kernels-community/activation", version=1):
name = decision.variant.variant_str
if isinstance(decision, VariantAccepted):
print(f"{name}: compatible")
else:
print(f"{name}: rejected ({decision.reason})")
์คํ ์ค์ธ machine์ ๋ฐ๋ผ ๋ค์๊ณผ ๋น์ทํ output์ด ์ถ๋ ฅ๋ฉ๋๋ค.
torch212-cxx11-cu130-aarch64-linux: compatible
torch210-cu128-x86_64-windows: rejected (CPU (x86_64) does not match system CPU (aarch64))
torch211-cu128-x86_64-windows: rejected (CPU (x86_64) does not match system CPU (aarch64))
torch212-metal-aarch64-darwin: rejected (OS (darwin) does not match system OS (linux))
torch211-metal-aarch64-darwin: rejected (OS (darwin) does not match system OS (linux))
torch210-metal-aarch64-darwin: rejected (OS (darwin) does not match system OS (linux))
torch29-metal-aarch64-darwin: rejected (OS (darwin) does not match system OS (linux))
โฆ
๊ฐ์ ๋ manylinux_2_28 ์ง์
Kernel-builder๋ ๊ฑฐ์ ์ด๊ธฐ๋ถํฐ manylinux_2_28์ targetํด ์์ต๋๋ค. ์ด์ ์๋ glibc 2.28๋ก compile๋ ์ต์ gcc toolchain์ ์ฌ์ฉํด manylinux๋ฅผ targetํ์ต๋๋ค. ์ค๋๋ libstdc++ version๊ณผ์ compatibility issue๋ฅผ ํผํ๊ธฐ ์ํด libstdc++๋ฅผ static linkํ์ต๋๋ค.
ํ์ง๋ง ์ต๊ทผ ์ด ์ ๊ทผ ๋ฐฉ์์์ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ผ๋ถ libstdc++ ๊ธฐ๋ฅ์ global initialization์ ์ฌ์ฉํฉ๋๋ค. PyTorch๊ฐ dynamic linkํ libstdc++์ kernel์ด static linkํ libstdc++์ฒ๋ผ ์ฌ๋ฌ libstdc++ version์ด ํจ๊ป ์ฌ์ฉ๋๋ฉด data corruption์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ผ๋ถ ์ต์ kernel์ C++ regex ๊ฐ์ global initialization์ ์ ๋ฐํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉฐ, ์ด๋ก ์ธํด data corruption, segfault, ๊ธฐํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด kernel์ ์ด์ libstdc++๋ฅผ dynamic linkํฉ๋๋ค. ์ค๋๋ libstdc++ version๊ณผ์ compatibility๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด, ์ด์ ๊ณต์ manylinux_2_28 toolchain์ผ๋ก kernel์ compileํฉ๋๋ค.
๋ง๋ฌด๋ฆฌ
Kernels ํ๋ก์ ํธ์ ๋ชฉํ๋ kernel developer์ custom kernel ์ฌ์ฉ์ ๋ชจ๋๋ฅผ ์ง์ํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ํ ์ ์์์ง์ ๋ํ community feedback์ ํญ์ ํ์ํฉ๋๋ค. ์ธ์ ๋ ๊ธฐ์ฌํด ์ฃผ์ธ์!
๊ฐ์ฌ์ ๋ง: ๊ธ์ reviewํด ์ค Aritra์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
ToyBlocks: ๋ก๋ดฟ ํ์ต๊ณผ ํ๊ฐ๋ฅผ ์ํ ํต์ ๋ ์ธ๊ณ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ ToyBlocks: A controlled world for robot learning and evaluation๋ฅผ ํ๊ตญ์ด๋ก...
StateBench: ๊ธด ๋ฌธ์์์ ์ธ์ด ๋ชจ๋ธ์ด ์ํ ๋ณํ๋ฅผ ์ถ์ ํ๋ ๋ฐฉ์ ํ ์คํธ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ StateBench: Testing how language models track state changes over long...
NVIDIA Nemotron ์คํ ๋ชจ๋ธ๋ก ์ ๋ น์ ์ง ๋ง๋ค๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ nemotron-halloween๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
Granite Switch 4.1.1 โ ์ํํธ์จ์ด๋ฅผ ์ ๋ฐ์ดํธํ๋ฏ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ์ธ์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Granite Switch 4.1.1 โ Update models like you update software๋ฅผ...
AutoSynthData: ์ํฐํ๋ผ์ด์ฆ ์์ด์ ํธ๋ฅผ ์ํ ํ์ต ๋ฐ์ดํฐ ์์ฑ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ AutoSynthData: Generating Training Data for Enterprise Agents๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค....
Open TTS Leaderboard: ๋ค๊ตญ์ด Text-to-Speech ๋ฐ Voice Cloning์ ์ํ ํ์ฅ ๊ฐ๋ฅํ ํ๊ฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Open TTS Leaderboard: Scalable Evaluation for Multilingual Text-to-Speech and Voice...
์ฌ์ค๋ง์ด ์๋๋ผ ์ถ์ฒ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ: MCP ์์ด์ ํธ๋ฅผ ์ํ ์ถ์ฒ ์ธ์ ๊ฒ์ฆ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Getting the Source Right, Not Just the Fact: Source-Aware Verification...
Holo4: ๋ฒ์ฉ ์ปดํจํฐ ์ฌ์ฉ ์์ด์ ํธ๋ฅผ ๊ตฌ๋ํ๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Holo4: powering generalist computer-use agents๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
LFM2.5-VL-DSpark๋ก ๋น์ -์ธ์ด ๋ชจ๋ธ ๊ฐ์ํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Accelerating vision-language models with LFM2.5-VL-DSpark๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
์ด์ Transformers์์ llama.cpp ์์ํ ๋ชจ๋ธ์ ์คํํ ์ ์์ต๋๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Transformers now runs llama.cpp quants๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
oMLX์ ์ ์์์ด์ ์ ์ง ๊ด๋ฆฌ์์ธ Jun Kim์ด MLX ์ปค๋ฎค๋ํฐ๋ฅผ ์ง์ํ๊ธฐ ์ํด Hugging Face์ ํฉ๋ฅํฉ๋๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Jun Kim, oMLX creator and maintainer, joins Hugging Face to...
UK AISI์ EvalEval์ด ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ์ ์ฌํ์ฑ์ ๋์ด๋ ๋ฐฉ๋ฒ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ How UK AISI and EvalEval Are Making Benchmark Results Reproducible๋ฅผ...
tokenizers v1: ์ธ์ฝ๋ฉ, ๋์ฝ๋ฉ ๋ฐ ์ค์ผ์ผ๋ง ์ฑ๋ฅ ์ธก์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ tokenizers v1: encode, decode and scaling, measured๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค....
๋ฌผ๋ฆฌํ์์ฒ๋ผ LLM ๊ฐ์ง์น๊ธฐํ๊ธฐ: ๋ธ๋ก ์ ๊ฑฐ๋ฅผ Ising ์ต์ ํ ๋ฌธ์ ๋ก ๋ณด๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Pruning LLMs Like a Physicist: Block Removal as an Ising...
์์ด์ ํธ๊ฐ ์์ ์ ํด๋๋ค. ๋ค์ ํด๋ผ ์ ์์๊น?
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Your Agent Aced the Task. Will It Do It Again?๋ฅผ...
์์ ์นํ์ ๋ผ์ด์ ์ค์ ํจ๊ป SOTA Granite Time Series PatchTST-FM-r2 ๋ชจ๋ธ ์ถ์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ IBM releases SOTA Granite Time Series PatchTST-FM-r2 model with commercial-friendly...
๋๊ตฌ๋ฅผ ์ํ ์์ ์ฑ์ธ๊ฐ? ์ฃผ์ ์ ์ฒด๊ฐ ์๋๋ผ ์ฌ๋ฐ๋ฅธ ํ์ ์งํฉ์ ๊ฑฐ๋ถํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Safety for Whom? Refusing the Right Subset of a Topic,...
TRL๊ณผ OpenEnv๋ก ์์ฑํ๋ฅผ ๊ทธ๋ฆฌ๋ ์ฝ๋ฉ ๋ชจ๋ธ ํ์ตํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Training a coding model to paint watercolours with TRL and...
Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Fine-tuning a 350M Model for Better Structured Outputs in 100...
์ฌ๋ฌ๋ถ์ด ์์ ํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฝ๋ฉ ์์ด์ ํธ์ ์ ๊ณตํ์ธ์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Give Your Coding Agents a Memory You Own๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ...
@huggingface/kernels ์๊ฐ: ๋ก์ปฌ AI๋ฅผ ์ํ 200๊ฐ ์ด์์ WebGPU ์ปค๋
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Introducing @huggingface/kernels: 200+ WebGPU Kernels for Local AI๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ...
Open ASR Leaderboard์ ์ต์ด์ ๊ธ๋ก๋ฒ ์ฌ์ฐ์ค ์ธ์ด๊ฐ ์ถ๊ฐ๋๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ The Open ASR Leaderboard Adds Its First Global South Language๋ฅผ...
gr.Workflow๋ก ๋ฌด์์ด๋ ๋ง๋ค๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Wire It, Run It, Deploy It: AI Workflows in Gradio๋ฅผ...
Nunchaku 4๋นํธ ํ์ฐ ์ถ๋ก ์ Diffusers์ ๋์ ํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Bringing Nunchaku 4-bit Diffusion Inference to Diffusers๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค....
Grabette: ๋ก๋ด-์กฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ๊ธฐ ์ํ ์คํ ์์คํ
.
*ํจ๊ป ๊ณต์ ๋ฐ์ดํฐ์
์ ๊ตฌ์ถํฉ๋๋ค.*
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Grabette: an open system to record robot-manipulation data๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ...
๋ณด์ ์ฌ๊ณ ๊ณต๊ฐ โ 2026๋ 7์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Security incident disclosure โ July 2026๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
Thinking Machines์ Inkling์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Welcome Inkling by Thinking Machines๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
Real World VoiceEQ ์๊ฐ: ์์ฑ AI์ ์ฌ๋๋ค์ด ํ์ง ์ธก์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Introducing Real World VoiceEQ: Measuring the human quality of voice...
ํ์ดํ ์น์ ํ๋กํ์ผ๋ง(3๋ถ): ์ดํ ์ ์ด ์ ๋ถ๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Profiling in PyTorch (Part 3): Attention is all you profile๋ฅผ...
๋ค์ดํฐ๋ธ-์คํผ๋ vLLM transformers ๋ชจ๋ธ๋ง ๋ฐฑ์๋
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Native-speed vLLM transformers modeling backend๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
LeRobot v0.6.0: ์์ํ๊ณ , ํ๊ฐํ๊ณ , ๊ฐ์ ํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ LeRobot v0.6.0: Imagine, Evaluate, Improve๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
Hugging Face์ Cerebras๊ฐ Gemma 4๋ฅผ ์ค์๊ฐ ์์ฑ AI๋ก ์ ๋ณด์ ๋๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Hugging Face and Cerebras bring Gemma 4 to real-time voice...
Hugging Face ๋ชจ๋ธ ํ์ด์ง์์ Every Eval Ever ๊ฒฐ๊ณผ ๋ณด๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Featuring Every Eval Ever Results on Hugging Face Model Pages๋ฅผ...
HF Jobs์์ vLLM ์๋ฒ๋ฅผ ํ ๋ช ๋ น์ผ๋ก ์คํํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Run a vLLM Server on HF Jobs in One Command๋ฅผ...
FFASR Leaderboard ์๊ฐ: ํ์ค ์ธ๊ณ์์์ ASR ๋ฒค์น๋งํฌ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Introducing the FFASR Leaderboard: Benchmarking ASR in the Real World๋ฅผ...
๋งค์ฃผ AI, ์คํ ๋๊ตฌ, ๊ทธ๋ฆฌ๊ณ ํด๋จผ ์ธ ๋ ๋ฃจํ๊ฐ ํฌํจ๋ huggingface_hub ๋ฐฐํฌ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Shipping huggingface_hub every week with AI, open tools, and a...
Transformers.js์์ ์ ์๋ Cross-Origin Storage API ์คํํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Experimenting with the proposed Cross-Origin Storage API in Transformers.js๋ฅผ ํ๊ตญ์ด๋ก...
Beyond LoRA: ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ฏธ์ธ์กฐ์ ๊ธฐ๋ฒ์ ์ด๊ธธ ์ ์์๊น?
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Beyond LoRA: Can you beat the most popular fine-tuning technique?๋ฅผ...
์ถฉ๋ถํ ์์ด์ ํธ์ ์ธ๊ฐ์? ์์ฒด ๋๊ตฌ๋ก ์คํ ๋ชจ๋ธ ๋ฒค์น๋งํนํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Is it agentic enough? Benchmarking open models on your own...
์์ด์ ํธ ๊ธฐ๋ฐ ๋ฆฌ์์ค ํ์: ์์ด์ ํธ์๊ฒ ๋๊ตฌยท์คํฌยท๋ค๋ฅธ ์์ด์ ํธ ๊ฒ์์ ๋งก๊ธฐ๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Agentic Resource Discovery: Let agents search๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
GitHub CI๋ฅผ Hugging Face Jobs๋ก ๋ง์ด๊ทธ๋ ์ด์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Migrating Your GitHub CI to Hugging Face Jobs๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ...
์คํ ์์ค ์ปค๋ฎค๋ํฐ๊ฐ ์์ด์ ํฑ RL์ ์ํ OpenEnv์ ํ์ ์ฃ๋ค
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ The Open Source Community is backing OpenEnv for Agentic RL๋ฅผ...
PyTorch์์์ ํ๋กํ์ผ๋ง(Part 1): torch.profiler์ ๋ํ ์ด๋ณด์ ๊ฐ์ด๋
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Profiling in PyTorch (Part 1): A Beginnerโs Guide to torch.profiler๋ฅผ...
Reachy Mini๋ฅผ ๋ก์ปฌ์์ ์์ ํ ์คํํ๊ธฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Reachy Mini goes fully local๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ ๊ธ์ ๋๋ค.
TRL์์ Hub Bucket์ผ๋ก 1์กฐ ๋งค๊ฐ๋ณ์ ์ ์ก: ๋ธํ ๊ฐ์ค์น ๋๊ธฐํ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Shipping a Trillion Parameters With a Hub Bucket: Delta Weight...
OlmoEarth v1.1: ๋ ํจ์จ์ ์ธ ์ง๊ตฌ๊ด์ธก ๋ชจ๋ธ ์ ํ๊ตฐ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ OlmoEarth v1.1: A more efficient family of models๋ฅผ ํ๊ตญ์ด๋ก ๋ฒ์ญํ...
PaddleOCR 3.5: Transformers ๋ฐฑ์๋๋ฅผ ํ์ฉํ OCR ๋ฐ ๋ฌธ์ ํ์ฑ ์์ ์คํ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ PaddleOCR 3.5: Running OCR and Document Parsing Tasks with a...
Granite Embedding Multilingual R2: 32K ๋ค๊ตญ์ด ์๋ฒ ๋ฉ
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Granite Embedding Multilingual R2: Open Apache 2.0 Multilingual Embeddings with...
AWS์์ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ ํ์ต ๋ฐ ์ถ๋ก ์ ์ํ ๊ตฌ์ฑ ์์
์ด ๊ธ์ Hugging Face ๋ธ๋ก๊ทธ์ Building Blocks for ํ์ด๋ฐ์ด์ ๋ชจ๋ธ Training and Inference on AWS๋ฅผ...
Hugging Face Transformers ํ๊ธํ - ์ด๋ฒ ๋ฒ์ญ๊ธฐ ์ฌ์ฉ๋ฒ
Hugging Face Transformers ๋ฌธ์๋ฅผ ํ๊ธ๋ก ๋ฒ์ญํ๋ ์ด๋ฒ ๋ฒ์ญ๊ธฐ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๋ดํ๋ ๊ฐ์ด๋์ ๋๋ค. ๐