Aigest.
Newsy

Hugging Face wprowadza znaczące aktualizacje w projekcie 🤗 Kernels, zwiększając bezpieczeństwo i wsparcie dla rozwoju a

Hugging Face ogłosiło kluczowe zmiany w projekcie 🤗 Kernels, wprowadzając nowy typ repozytorium, wzmocnione mechanizmy bezpieczeństwa oraz ulepszone wsparcie dla agentowego rozwoju kerneli. Celem jest standaryzacja pako

RA

Udostępnij
Hugging Face wprowadza znaczące aktualizacje w projekcie 🤗 Kernels, zwiększając bezpieczeństwo i wsparcie dla rozwoju a
Fot. Hugging Face

Projekt 🤗 Kernels od Hugging Face, mający na celu standaryzację pakowania, dystrybucji i wykorzystania niestandardowych kerneli, przeszedł szereg znaczących aktualizacji. Zmiany te koncentrują się na zwiększeniu bezpieczeństwa, ułatwieniu użytkowania oraz wspieraniu rozwoju agentowego, co ma uczynić platformę bardziej przyjazną dla użytkowników i deweloperów.

Nowy typ repozytorium „kernel” na platformie Hub

Hugging Face wprowadziło na swojej platformie Hub nowy typ repozytorium o nazwie „kernel”. Dzięki temu użytkownicy mogą teraz łatwiej identyfikować i przeglądać kernele, które są dostosowane do specyficznych wymagań obliczeniowych, takich jak obsługiwane akceleratory, systemy operacyjne czy wersje backendów. Dostęp do wszystkich kerneli jest możliwy pod adresem huggingface.co/kernels.

Uczynienie kerneli pełnoprawnymi elementami Hubu przynosi korzyści całemu ekosystemowi AI, umożliwiając śledzenie trendów w kernelach, modelach i aplikacjach, które z nich korzystają. Zwiększa to również ich wykrywalność dla szerszej społeczności.

Ulepszone mechanizmy bezpieczeństwa

Ponieważ kernele wykonują kod natywny z tymi samymi uprawnieniami co proces Pythona, który je ładuje, kwestie bezpieczeństwa są priorytetem w projekcie Kernels. Wcześniejsze prace skupiały się na reprodukowalności dzięki wykorzystaniu Nix do czystych i izolowanych kompilacji, a także osadzaniu Git SHA1 źródła w samym kernelu.

W ostatnich miesiącach dodano kolejne warstwy obrony:

  • Zaufani wydawcy kerneli: Wprowadzono koncepcję „zaufanych wydawców”. Domyślnie pakiet kernels będzie ładował kernele tylko od organizacji uznanych przez społeczność za godne zaufania. Użytkownicy mogą nadal ładować kernele od niezaufanych źródeł, ale wymaga to jawnego włączenia opcji trust_remote_code=True. Aby zostać wydawcą kerneli, użytkownicy i organizacje muszą złożyć wniosek, co pozwala na indywidualne rozpatrywanie zgłoszeń.
  • Podpisywanie kerneli: Dodatkową warstwą bezpieczeństwa jest podpisywanie kodu. Chroni to przed scenariuszem, w którym atakujący przesyła złośliwy kernel do repozytorium zaufanego wydawcy, którego dane uwierzytelniające na Hubie zostały skompromitowane. Kernel jest podpisywany kluczem prywatnym znanym tylko deweloperowi, a weryfikowany kluczem publicznym. Do podpisywania używany jest Sigstore’s cosign z efemerycznymi kluczami prywatnymi, które są ważne tylko przez ograniczony czas, co dodatkowo utrudnia ich wykorzystanie w przypadku wycieku. Weryfikowane jest również, czy kernel został podpisany przez zaufany przepływ pracy GitHub z zaufanego repozytorium GitHub. Funkcjonalność podpisywania jest już wspierana przez kernel-builder, a narzędzie kernels verify-signature pozwala na weryfikację kerneli. Pełne wdrożenie weryfikacji podpisu podczas ładowania kerneli jest planowane po dalszych testach.

Usprawnione interfejsy CLI i szersze wsparcie

Przeprojektowano interfejsy wiersza poleceń (CLI) dla kernels i kernel-builder, wprowadzając lepsze rozdzielenie odpowiedzialności. kernels koncentruje się teraz na ładowaniu i przygotowywaniu kerneli do użycia, natomiast kernel-builder na ich tworzeniu. Dzięki temu oba narzędzia są bardziej specyficzne i odchudzone.

Rozszerzono również wsparcie dla różnych frameworków i backendów, co jest widoczne w dokumentacji. Ulepszone CLI ma również lepiej wspierać rozwój agentowy kerneli.

Podwaliny pod rozwój agentowy kerneli

kernel-builder i kernels stanowią fundament dla rozwijającego się obszaru agentowego rozwoju kerneli, gdzie agent AI może tworzyć zoptymalizowane kernele od podstaw. Wspierają one przepływ pracy, w którym agenci mogą szkicować, budować, benchmarkować i iteracyjnie optymalizować kernele.

kernel-builder narzuca strukturę kodu źródłowego kerneli, zapewniając przewidywalny układ projektu i powtarzalny proces budowania, co jest kluczowe dla agentów. Jego CLI jest zoptymalizowane pod kątem agentów, oferując bezinteraktywne komendy i programowo interpretowalne wyjścia. Dostępne są również specjalistyczne umiejętności dla agentów, które pomagają im radzić sobie z niuansami różnych backendów, w tym z łańcuchami narzędzi, ścieżkami kompilacji i kwestiami wydajności.

Kluczowe jest nie tylko pomyślne zbudowanie kernela, ale także zapewnienie, że faktycznie przyspiesza on działanie na docelowym sprzęcie. Integracja z HF Jobs ułatwia proces benchmarkingu, umożliwiając agentom uruchamianie testów, zbieranie wyników wydajności i porównywanie ich z bazową linią na różnych konfiguracjach sprzętowych. Pozwala to na uzyskanie wiarygodnych informacji zwrotnych i informowanie kolejnych iteracji optymalizacyjnych.

Inne usprawnienia

  • Ułatwiona konfiguracja środowiska: Dostępny jest skrypt instalacyjny do jednokrotnego ustawienia środowiska dla kernel-builder oraz przewodnik Terraform dla instancji efemerycznych.
  • Karty systemowe dla kerneli: Po zbudowaniu kerneli tworzone są karty systemowe, które zawierają informacje o ich użyciu i interfejsach. Stają się one front-matterem kernela po przesłaniu do Hubu.
  • Sprawdzanie kompatybilności: Metoda has_kernel() pozwala sprawdzić, czy dany kernel jest kompatybilny z systemem użytkownika, zwracając wartość boolean. Bardziej szczegółowe informacje o przyczynach niekompatybilności można uzyskać za pomocą get_kernel_variants().
  • Ulepszone wsparcie dla manylinux_2_28: Rozwiązano problemy z kompatybilnością libstdc++ poprzez dynamiczne linkowanie i kompilowanie kerneli z oficjalnym łańcuchem narzędzi manylinux_2_28, co eliminuje błędy segmentacji i inne problemy spowodowane globalnymi inicjalizacjami.

Te kompleksowe aktualizacje projektu 🤗 Kernels podkreślają zaangażowanie Hugging Face w tworzenie bezpiecznego, wydajnego i elastycznego środowiska dla deweloperów i użytkowników niestandardowych kerneli. Wprowadzone zmiany mają na celu nie tylko usprawnienie obecnych procesów, ale także przygotowanie gruntu pod przyszłe innowacje w dziedzinie sztucznej inteligencji, zwłaszcza w kontekście rozwoju agentowego.

Źródło: huggingface.co

Komentarze

Zaloguj się, aby dołączyć do dyskusji.

Nikt jeszcze nie skomentował. Bądź pierwszy!

Czytaj dalej

Hugging Face integruje wyniki Every Eval Ever bezpośrednio na stronach modeli
Sakana AI wprowadza Sakana Translate – tłumacza japońsko-angielsko-chińskiego z trybami tłumaczenia, korekty i pytań
Synthetic Sciences wprowadza OpenScience: otwartą platformę AI dla badań naukowych
Szef Mistral ostrzega przed zamkniętymi modelami AI: Firmy tracą kontrolę nad danymi
Meta: Rozwój agentów AI wolniejszy niż zakładał Zuckerberg, pomimo gigantycznych inwestycji
Tesla ogranicza wydatki pracowników na AI do 200 dolarów tygodniowo

Bądź na bieżąco ze światem AI

Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.