Dzisiejsze wiadomości programistyczne, co to oznacza dla programistów: skupienie się na Pythonie
Osoby uczące się języka Python i młodsi inżynierowie nieustannie skanują nagłówki gazet, obawiając się, że nagłe zmiany w strategii dużych technologii sprawią, że ich umiejętności staną się przestarzałe. Dzisiejsze nagłówki dotyczą przychodów z chmury, pojawiających się modeli głosu, napięć geopolitycznych wokół procesorów graficznych, dotychczasowych zasad nazewnictwa, pochodzenia danych i eksperymentalnych agentów AI. Pytanie nie brzmi, czy te wydarzenia mają znaczenie, ale jak przełożyć je na konkretne etapy uczenia się.
Poniżej opisujemy każdą historię, wyjaśniamy jej wpływ na pracę w Pythonie i przedstawiamy krótki wniosek, który można wykorzystać w praktyce. Celem jest dostosowanie ścieżki uczenia się do rzeczywistości rynkowej bez gonienia za każdym cyklem szumu.
Spadek przychodów z wyszukiwarki Google
Jak wynika z ostatniej analizy przeprowadzonej na kadoa.com, działalność wyszukiwawcza Alphabet generuje obecnie mniej niż połowę jej całkowitych przychodów. Ta zmiana sygnalizuje większy nacisk na usługi w chmurze, platformy AI i produkty reklamowe, które znajdują się poza klasycznym stosem wyszukiwania. Dla programistów Pythona oznacza to większe zapotrzebowanie na kod natywny w chmurze, potoki danych i interfejsy API oparte na sztucznej inteligencji, a nie proste narzędzia do przeglądania stron internetowych lub SEO.
Co zrobić: zacznij eksperymentować z bibliotekami klienckimi Google Cloud (google-cloud-storage, google-cloud-bigquery), aby tworzyć usługi oparte na danych, które mogłyby zastąpić tradycyjne skrypty skupiające się na wyszukiwaniu.
PYTONz magazynu importu google.cloud klient = pamięć.Klient() wiadro = klient.bucket("zasobnik-moich danych") blob = wiadro.blob("przykład.txt") blob.upload_from_string("Witam w Pythonie") print("Przesłano")
Głos LLM
Wpis Martina Fowlera na bliki w „LLM-Voice” podkreśla zbieżność dużych modeli językowych i syntezy mowy. Interfejsy oparte na komunikacji głosowej przechodzą z wersji demonstracyjnych do produktów klasy produkcyjnej, a język Python jest językiem używanym do prototypowania tych potoków. Głównym kompromisem jest opóźnienie: generowanie tekstu za pomocą LLM, a następnie konwertowanie go na dźwięk zwiększa obciążenie, dlatego programiści muszą zrównoważyć rozmiar modelu z wymaganiami czasu rzeczywistego.
Co zrobić: Wypróbuj potok TTS typu open source z biblioteki gtts w połączeniu z interfejsem API uzupełniania czatu openai, aby zbudować szybkiego bota głosowego.
PYTONimportuj openai z gtts importuj gTTS importuj os resp = openai.ChatCompletion.create( model="gpt-3.5-turbo", Messages=[{"role": "user", "content": "Wyjaśnij znaczenia list"}], ) tts = gTTS(text=resp.choices[0].message.content, lang="en") tts.save("wyjaśnij.mp3") os.system("mpg321 wyjaśnij.mp3")
Domniemany chiński szpieg powiązany z szefem Nvidii
Raport New York Post twierdzi, że agent chińskiego wywiadu miał bliskie powiązania z dyrektorem generalnym Nvidii, Jensenem Huangiem. Choć twierdzenie to pozostaje niezweryfikowane, podkreśla ono ryzyko geopolityczne związane z łańcuchami dostaw procesorów graficznych. Obciążenia AI w języku Python zależne od procesorów graficznych z obsługą CUDA mogą podlegać ograniczeniom eksportowym lub nagłym zmianom cen.
Co zrobić: dodaj w kodzie ścieżkę zastępczą, która wykrywa dostępność procesora graficznego i bezpiecznie powraca do wykonywania wyłącznie na procesorze.
PYTONimportuj pochodnię jeśli latarka.cuda.is_available(): urządzenie = latarka.urządzenie("cuda") inne: urządzenie = latarka.urządzenie("procesor") print(f"Używam urządzenia: {urządzenie}")
Jeśli chcesz przećwiczyć to interaktywnie w przeglądarce (bez instalacji), wypróbuj powiązaną lekcję.
Polityka nazewnictwa Google Earth (2008)
W poście na blogu Google z 2008 roku wyjaśniono, w jaki sposób firma decyduje o nazwach zbiorników wodnych w programie Google Earth. Proces opiera się na danych władz lokalnych, wykorzystaniu historycznym i wkładzie społeczności. Dla programistów Pythona pracujących z danymi geoprzestrzennymi lekcja jest taka, że konwencje nazewnictwa nie są statyczne; mogą się zmieniać w zależności od aktualizacji zasad, wpływając na zbiory danych opierające się na stałych identyfikatorach.
Co zrobić: Użyj „geopanda”, aby połączyć swoje dane w stabilnych identyfikatorach (np. identyfikatorach GNIS), a nie w zmiennych nazwach.
PYTONimportuj geopandy jako gpd świat = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres")) rzeki = gpd.read_file("https://example.com/rivers.geojson") połączone = świat.merge(rzeki, left_on="iso_a3", Right_on="kod_kraju") print(scalona.głowa())
Statystyki zombie: skąd pochodzą liczby AI
Badanie Trakkr.ai dotyczące „statystyk zombie” pokazuje, że wiele liczb generowanych przez sztuczną inteligencję pochodzi z przestarzałych lub sfabrykowanych źródeł. To ostrzega inżynierów danych Pythona, którzy często ufają zdrapanym statystykom. Na wynos sprawdzamy pochodzenie przed wprowadzeniem liczb do modeli.
Co zrobić: zastosuj prostą kontrolę pochodzenia, która rejestruje źródłowy adres URL i sygnaturę czasową każdego przetwarzanego zbioru danych.
PYTONimportuj pandy jako pd importuj datę i godzinę def loading_with_provenance(url): df = pd.read_csv(url) df.attrs["źródło"] = adres URL df.attrs["loaded_at"] = datetime.datetime.utcnow().isoformat() powrót zm dane = loading_with_provenance("https://example.com/data.csv") print(data.attrs)
W Minecraft i Mindustry roi się od agentów AI
W laboratoriach Y Combinator prezentowane są roje agentów AI, które uczą się strategii współpracy w grach typu sandbox, takich jak Minecraft i Mindustry. Eksperymenty wykorzystują wieloagentowe uczenie się przez wzmacnianie, czyli dziedzinę, którą biblioteki Pythona, takie jak pettingzoo i stable-baselines3, wspierają od razu po wyjęciu z pudełka. Praktyczną konsekwencją jest to, że młodsi programiści mogą teraz prototypować systemy wieloagentowe bez konieczności tworzenia niestandardowego silnika symulacyjnego.
Co zrobić: Uruchom małe środowisko roju za pomocą pettingzoo i wytrenuj wspólną politykę przy użyciu stable-baselines3.
PYTONz pettingzoo.butterfly import tłokball_v4 z stable_baselines3 importuj PPO env = kula tłokowa_v4.parallel_env() model = PPO("MlpPolicy", env, verbose=0) model.learn(total_timesteps=5000) print("Trening zakończony")
Często zadawane pytania
Jak odejście Alphabet od wyszukiwania wpłynie na moje projekty w języku Python?
Zmniejszona zależność od przychodów z wyszukiwania oznacza, że Google promuje więcej usług w chmurze i sztucznej inteligencji. Dzięki nauce pakietów SDK Google Cloud Python Twoje umiejętności będą przydatne. Możesz zacząć od ćwiczeń praktycznych na naszej ścieżce „Podstawy”: Zacznij tutaj.
Jakie praktyczne kroki mogę podjąć, aby poeksperymentować z LLM-Voice w Pythonie?
Użyj bibliotek openai i gtts, jak pokazano powyżej, a następnie wykonaj iterację w oparciu o opóźnienia, profilując kompleksowy potok. Nasze lekcje podstaw obejmują projekt startowy z asystentem głosowym, który możesz wypróbować: Zacznij tutaj.
Czy powinienem się martwić dostępnością procesora graficznego po historii o szpiegostwie Nvidii?
Kontrola eksportu może ograniczyć dostęp, więc zawsze koduj defensywnie, korzystając z rezerwowego procesora, jak pokazano. Ścieżka podstaw obejmuje również wzorce PyTorch niezależne od urządzenia.
Jak mogę chronić analizy geoprzestrzenne przed zmianami nazewnictwa?
Anchor łączy się na podstawie stabilnych identyfikatorów, takich jak identyfikatory GNIS, zamiast zmiennych nazw, i tworzy wersję plików kształtu. Nasz moduł obsługi danych w kursie podstawowym omawia to podejście.
Dlaczego pochodzenie danych ma kluczowe znaczenie dla statystyk AI?
Niezweryfikowane liczby mogą zepsuć szkolenie modelu i prowadzić do mylących wyników. Rejestrowanie metadanych źródłowych, jak w przykładzie, stanowi minimalne zabezpieczenie. Program nauczania podstaw zawiera arkusz audytu danych, z którego możesz skorzystać.
Gotowy do ćwiczeń? Zacznij tutaj