Hugging Face heeft belangrijke updates uitgerold voor zijn Kernels-project, met een speciaal repository-type, verbeterde beveiligingsmaatregelen, opnieuw ontworpen commandoregelinterfaces, uitgebreide frameworkondersteuning en de basis voor agent-gestuurde kernelontwikkeling.
Kernels worden een eersteklas repository-type
De Hugging Face Hub heeft nu een nieuw repository-type genaamd "kernel". Deze wijziging stelt gebruikers in staat om ondersteunde acceleratoren, besturingssystemen en backendversies direct te zien. Zo worden de compatibiliteitsdetails van een kernel nu prominent weergegeven:

Alle beschikbare kernels zijn te bekijken op https://huggingface.co/kernels. Door kernels eersteklas burgers op de Hub te maken, verbetert de vindbaarheid en helpt het AI-ecosysteem trends te ontdekken tussen kernels, modellen en toepassingen.
Beveiliging krijgt een flinke boost
Kernels draaien native code met dezelfde rechten als het Python-proces dat ze laadt, waardoor beveiliging een topprioriteit is. Het project heeft altijd de nadruk gelegd op reproduceerbaarheid: gebruikers kunnen een kernel herbouwen en verifiëren dat deze overeenkomt met de openbare broncode met behulp van Nix voor hermetische builds en geïsoleerde sandboxes. De bron-Git-SHA1 is ingebed in de kernel om de herkomst te verbeteren.
Recente toevoegingen zijn vertrouwde kerneluitgevers en code-ondertekening.
Vertrouwde kerneluitgevers
Met het nieuwe repository-type introduceerde Hugging Face "vertrouwde uitgevers". Standaard laadt het kernels-pakket alleen kernels van organisaties die de gemeenschap vertrouwt. Gebruikers kunnen ervoor kiezen om kernels uit andere bronnen te laden met het argument trust_remote_code:
from kernels import get_kernel
kernel_module = get_kernel(
"Atlas-Inference/gdn", version=1, trust_remote_code=True
)
Het publiceren van kernelrepositories is standaard beperkt. Gebruikers en organisaties moeten toegang aanvragen via hun accountinstellingen, zodat het team elk verzoek afzonderlijk kan beoordelen.
Kernel-ondertekening
Code-ondertekening beschermt tegen gecompromitteerde Hub-inloggegevens. Een kernel wordt ondertekend met een privésleutel die alleen bekend is bij de ontwikkelaar en gevalideerd met een openbare sleutel. Zelfs als een aanvaller de inloggegevens van een vertrouwde uitgever compromitteert, kan deze geen kwaadaardige kernel ondertekenen zonder de privésleutel.
Het project gebruikt Sigstore's cosign om te ondertekenen met tijdelijke privésleutels die een beperkte geldigheidsduur hebben. Het verifieert ook dat de kernel is ondertekend door een vertrouwde GitHub-workflow van een vertrouwde repository. Kernel-ondertekening wordt al ondersteund door kernel-builder en de opdracht kernels verify-signature is beschikbaar. Handtekeningverificatie bij het laden wordt nog niet afgedwongen, in afwachting van verdere tests. Voorlopige installatienotities staan in de release notes van kernels 0.16.0: https://github.com/huggingface/kernels/releases/tag/v0.16.0.
Vernieuwde CLI's
Hulpprogramma's die voorheen waren gemengd tussen kernels en kernel-builder zijn gescheiden. De kernels-bibliotheek richt zich nu uitsluitend op het laden en voorbereiden van kernels, terwijl kernel-builder het bouwen voor zijn rekening neemt. Dit maakt beide tools slanker en meer gefocust.
De verbeterde CLI legt ook de basis voor agentische kernelontwikkeling.
Bredere framework- en backendondersteuning
De ondersteuning voor frameworks is uitgebreid. Belangrijke wijzigingen zijn:
Ondersteuning voor de Torch Stable ABI, waarmee kernelontwikkelaars een specifieke Torch-versie kunnen targeten of elke versie die ongeveer twee jaar na die versie is uitgebracht. Een kernel die Torch 2.9 Stable ABI target, ondersteunt bijvoorbeeld Torch >= 2.9.
Apache TVM FFI wordt nu ondersteund naast Torch. TVM FFI is een gestandaardiseerde ABI die werkt met PyTorch, Jax, CuPy en andere, waardoor kernels op meerdere frameworks kunnen draaien.
Basis voor agentische kernelontwikkeling
kernel-builder en kernels ondersteunen agentische kernelontwikkeling, waarbij een agent een geoptimaliseerde kernel vanaf nul maakt. Samen maken ze een workflow mogelijk voor agents om kernels te scaffolden, bouwen, benchmarken en iteratief te optimaliseren.
Agentische kernelontwikkeling is nog nieuw, dus eenvoudige, duidelijke basisprincipes zijn belangrijk. kernel-builder handhaaft een reproduceerbare structuur voor het scaffolden en bouwen van kernels, waardoor agents een voorspelbare projectindeling krijgen. De CLI is geoptimaliseerd voor agents met niet-interactieve opdrachten en uitvoer die eenvoudig programmatisch te interpreteren is. Backend-specifieke vaardigheden helpen agents om de eigenaardigheden van verschillende backends te navigeren.
Het succesvol bouwen van een kernel is slechts de eerste stap: deze moet echte versnellingen opleveren ten opzichte van een basislijn op de doelhardware. Integratie met HF Jobs maakt benchmarken eenvoudig, waardoor agents benchmarksuites kunnen uitvoeren, prestatiegegevens kunnen verzamelen en kunnen vergelijken met een basislijn op verschillende hardwareconfiguraties.
Hieronder staan enkele voorbeelden van agent-verbeterde kernels die illustreren welke soorten kernels kunnen worden ontwikkeld en geëvalueerd via deze workflow.
Diverse updates
Omgevingsinstellingen
Een installatiescript biedt nu een one-click setup voor het bouwen van kernels met kernel-builder. Voor tijdelijke instanties is er een Terraform-installatiehandleiding beschikbaar.
Systeemkaart voor kernels
Na het bouwen van kernels wordt er voor elke kernel een systeemkaart gemaakt die nuttige informatie bevat, zoals hoe deze te gebruiken en de interfaces. Wanneer deze naar de Hub wordt gepusht, wordt deze kaart de front matter van de kernel:

Kernelcompatibiliteitscontroles
Gebruik de methode has_kernel() om te controleren of een kernel compatibel is met uw systeem:
from kernels import has_kernel
print(has_kernel("kernels-community/activation", version=1))
Het retourneert een bool. Voor meer details over waarom een kernel niet wordt ondersteund, gebruikt u 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})")
Het zou moeten afdrukken (afhankelijk van uw machine):
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))
…
Verbeterde manylinux_2_28-ondersteuning
Kernel-builder heeft vanaf het begin manylinux_2_28 als doel gehad. Voorheen gebruikte het een moderne gcc-toolchain gecompileerd met glibc 2.28 en statisch gelinkte libstdc++. Dit veroorzaakte echter problemen wanneer meerdere libstdc++-versies betrokken waren, zoals degene die dynamisch is gelinkt door PyTorch en degene die statisch is gelinkt door een kernel. Sommige kernels die functionaliteit zoals C++-regex gebruikten, veroorzaakten globale initialisaties, wat leidde tot beschadigde gegevens en segfaults.
Om dit op te lossen, heeft het team de aanpak bijgewerkt om dergelijke conflicten te voorkomen, wat zorgt voor een grotere stabiliteit.
Deze updates positioneren het Kernels-project voor bredere adoptie en meer geavanceerde gebruiksscenario's, waaronder agent-gestuurde optimalisatieworkflows. Met verbeterde beveiliging, vindbaarheid en cross-frameworkondersteuning legt Hugging Face de basis voor een robuuster en flexibeler kernel-ecosysteem.



