Chmura to oprogramowanie działające na zdalnych serwerach. Oprogramowanie nie działa tylko na Twoim laptopie, telefonie czy komputerze biurowym. Działa w centrum danych i odpowiada na żądania przez sieć, często internet.
To jest bezpośrednie znaczenie. Usługa chmurowa może działać na jednym wirtualnym serwerze, wielu serwerach lub zarządzanej platformie. Kluczowym punktem jest to, że obliczenia odbywają się gdzieś indziej.
Korzystam z tego prostego testu, gdy termin wydaje się niejasny: gdzie kod działa i dokąd trafiają dane? Jeśli aplikacja wysyła żądanie do zdalnego systemu w celu przetwarzania, przechowywania lub obu tych czynności, korzysta z obliczeń w chmurze.
Wirtualny serwer to zdefiniowany programowo komputer. Działa jak zwykły serwer, posiadając pamięć, magazyn i procesor. Dostawca chmury uruchamia go na współdzielonym sprzęcie fizycznym. Kilka wirtualnych serwerów może korzystać z jednej maszyny fizycznej, pozostając jednocześnie od siebie oddzielone.
Dlatego „chmura” nie oznacza specjalnego rodzaju komputera. Oznacza dostęp do zasobów obliczeniowych poprzez usługę. Sprzęt nadal istnieje w prawdziwym budynku. Słowo ukrywa budynek, kable, system chłodzenia i maszyny.
Co się dzieje, gdy system AI używa chmury
Rozważmy małą aplikację do obrazów. Użytkownik wysyła zdjęcie do aplikacji. Aplikacja wysyła zdjęcie do usługi zdalnej. Ta usługa uruchamia model obrazu, a następnie zwraca wynik.
Model może znajdować się na serwerze z procesorem graficznym. Procesor graficzny, czyli GPU, może obsługiwać wiele małych obliczeń jednocześnie. Często pasuje to do sieci neuronowych, które wykorzystują duże grupy takich obliczeń.
Użytkownik widzi ekran i wynik. Użytkownik może nie widzieć serwera modelu, systemu magazynowego, sieci ani kodu je łączącego. Te części nadal mają znaczenie. Wolna sieć może sprawić, że szybki model będzie wydawać się wolny.
Ten sam schemat działa dla modeli językowych. Aplikacja wysyła tekst do usługi zdalnego modelu. Usługa przetwarza żądanie i zwraca tekst, etykietę lub inny wynik. Aplikacja może korzystać z interfejsu API, czyli zdefiniowanego sposobu, w jaki oprogramowanie wysyła żądania i odbiera odpowiedzi.
System AI w chmurze może również rozdzielać swoją pracę między kilka usług. Jedna usługa może przechowywać pliki. Inna może uruchamiać model. Trzecia może śledzić żądania. Rozkładowca ruchu może kierować żądania do różnych kopii modelu. Pomaga to obsłużyć zmieniające się zapotrzebowanie.
Systemy chmurowe mogą również dodawać lub usuwać pojemność serwerów. Gdy zapotrzebowanie rośnie, dostawca może uruchomić więcej kopii aplikacji. Gdy zapotrzebowanie spada, może je usunąć. Nazywa się to skalowaniem. Dokładna metoda zależy od usługi i jej ustawień.
To jeden z powodów, dla których inżynierowie korzystają z systemów chmurowych. Mogą wynajmować zasoby obliczeniowe zamiast kupować i zarządzać całym sprzętem fizycznym. Zasoby można często tworzyć, gdy są potrzebne, i zwalniać później. Dostawca zajmuje się dużą częścią infrastruktury fizycznej.
Ta wygoda ma swój koszt. Aplikacja teraz zależy od zdalnego systemu i połączenia sieciowego. Zależy też od zasad dostawcy, limitów, cen i zdrowia usługi.
Istotna granica
„W chmurze” nie oznacza, że każda część aplikacji działa zdalnie.
Telefon może utrzymywać mały model na urządzeniu do szybkich zadań. Może wysyłać trudniejsze zadania do modelu w chmurze. Fabryka może przetwarzać kadry z kamer w pobliżu kamer, a następnie wysyłać wybrane wyniki do magazynu w chmurze. Nazywa się to obliczeniami brzegowymi lub lokalnymi.
Wiele rzeczywistych systemów używa zarówno przetwarzania lokalnego, jak i chmurowego. Część lokalna może zmniejszyć opóźnienie i utrzymać niektóre dane w miejscu. Część chmurowa może zapewnić większe modele, współdzielony magazyn lub większą moc obliczeniową.
Granica ma również znaczenie dla danych. Zdjęcie, dokument lub prompt wysłany do usługi chmurowej opuszcza lokalną maszynę. Usługa musi go przetworzyć gdzieś. Magazynowanie może być tymczasowe lub długoterminowe, w zależności od projektu i ustawień dostawcy.
Nie oznacza to, że obliczenia w chmurze są z definicji niebezpieczne. Oznacza to jednak, że przepływ danych musi być jasny. System nie może dobrze chronić danych, gdy nikt nie wie, która usługa je otrzymuje, jak długo je przechowuje lub kto może uzyskać do nich dostęp.
Istnieje inny limit, który przyciąga mniej uwagi: systemy chmurowe mogą wprowadzać opóźnienia. Żądanie musi dotrzeć do zdalnego serwera. Serwer musi je przetworzyć. Wynik musi wrócić. Duży model może wymagać więcej czasu i pamięci niż mały.
Systemy chmurowe mogą również zawodzić w sposób, w jaki nie zawodzi lokalne oprogramowanie. Trasa sieciowa może zostać przerwana. Usługa może stać się niedostępna. Limit żądań może blokować ruch. Zmienione ustawienie usługi może wpłynąć na aplikację. To normalne obawy inżynierskie, a nie oznaki, że koncepcja obliczeń w chmurze zawiodła.
Słowo obejmuje również wiele różnych usług. Wynajem maszyny wirtualnej różni się od korzystania z hostowanej bazy danych. Wywołanie interfejsu API modelu różni się od wdrożenia modelu w zarządzanej usłudze kontenerowej. Wszystkie one używają obliczeń zdalnych, ale stopień kontroli jest inny.
Z maszyną wirtualną zespół zarządza dużą częścią systemu operacyjnego i aplikacji. W przypadku usługi zarządzanej dostawca ukrywa więcej elementów konfiguracji. Redukuje to część pracy, ale także zmniejsza kontrolę. Kompromis jest łatwy do przeoczenia, gdy usługa wygląda prosto z zewnątrz.
Fraza „w chmurze” jest również mniej precyzyjna niż „w chmurze” (in the cloud) lub „oparta na chmurze” (cloud-based). Ludzie często używają wszystkich trzech fraz w tym samym znaczeniu. Przydatnym pytaniem pozostaje pytanie techniczne: które komponenty działają zdalnie, a które pozostają lokalne?
Dla systemów AI to pytanie powinno być odpowiadane dla każdego etapu. Gdzie jest przyjmowane wejście? Gdzie ładowany jest model? Gdzie zachodzi wnioskowanie? Gdzie są przechowywane wyniki? Gdzie są prowadzone dzienniki? Diagram z tymi odpowiedziami jest często wart więcej niż szeroka etykieta chmury.
Moje obecne zdanie jest proste. Obliczenia w chmurze to sposób korzystania ze zdalnych, współdzielonych zasobów obliczeniowych poprzez sieć. Dla AI często oznacza to, że modele, GPU, magazyn lub usługi pomocnicze działają w centrum danych dostawcy, a nie na maszynie użytkownika.
Przydatną częścią jest oddzielenie aplikacji od sprzętu fizycznego. Trudną częścią jest zarządzanie nowymi ograniczeniami: opóźnieniem sieci, awarią usługi, przenoszeniem danych, kosztem i zależnością od dostawcy.
Chmura nie jest magią i nie jest automatycznie lepsza. Jest to wybór miejsca dla oprogramowania i danych. Gdy ten wybór zostanie jasno określony, reszta systemu staje się łatwiejsza do analizy.
To jest praktyczny fokus The Model Log: jedna przydatna koncepcja AI, jeden działający przykład i jeden szczery look na to, co naprawdę działa.



