Projektowanie architektury sztucznej inteligencji (AI)
Sztuczna inteligencja (AI) to możliwość komputera do naśladowania inteligentnego zachowania człowieka. Dzięki sztucznej inteligencji maszyny mogą analizować obrazy, rozumieć mowę, korzystać z naturalnych sposobów i przewidywać przy użyciu danych.
Pojęcia dotyczące sztucznej inteligencji
Algorytm
Algorytm to sekwencja obliczeń i reguł używanych do rozwiązywania problemu lub analizowania zestawu danych. Jest to jak schemat blokowy z instrukcjami krok po kroku dotyczącymi zadawania pytań, ale napisanymi w kodzie matematycznym i programistycznym. Algorytm może opisać, jak określić, czy zwierzę jest kotem, psem, rybą, ptakem czy jaszczurką. Inny znacznie bardziej skomplikowany algorytm może opisać sposób identyfikowania napisanego lub mówionego języka, analizowania słów, tłumaczenia ich na inny język, a następnie sprawdzania dokładności tłumaczenia.
Uczenie maszynowe
Uczenie maszynowe to technika sztucznej inteligencji, która używa algorytmów matematycznych do tworzenia modeli predykcyjnych. Algorytm służy do analizowania pól danych i "uczenia się" z tych danych przy użyciu wzorców znalezionych w nim w celu wygenerowania modeli. Te modele są następnie używane do podejmowania świadomych przewidywań lub decyzji dotyczących nowych danych.
Modele predykcyjne są weryfikowane pod kątem znanych danych, mierzone przez metryki wydajności wybrane dla określonych scenariuszy biznesowych, a następnie dostosowane zgodnie z potrzebami. Ten proces uczenia się i walidacji jest nazywany szkoleniem. Dzięki okresowemu ponownemu trenowaniu modele uczenia maszynowego są ulepszane w czasie.
Uczenie głębokie
Uczenie głębokie to typ uczenia maszynowego, który może określić, czy jego przewidywania są dokładne. Używa również algorytmów do analizowania danych, ale robi to na większą skalę niż ML.
Uczenie głębokie używa sztucznych sieci neuronowych, które składają się z wielu warstw algorytmów. Każda warstwa analizuje dane przychodzące, wykonuje własną wyspecjalizowaną analizę i generuje dane wyjściowe, które mogą zrozumieć inne warstwy. Te dane wyjściowe są następnie przekazywane do następnej warstwy, gdzie inny algorytm wykonuje własną analizę itd.
W przypadku wielu warstw w każdej sieci neuronowej, a czasami przy użyciu wielu sieci neuronowych maszyna może uczyć się przy użyciu własnego przetwarzania danych. Wymaga to znacznie większej ilości danych i znacznie większej mocy obliczeniowej niż ml.
Rozproszone trenowanie modeli uczenia głębokiego na platformie Azure
Ocenianie wsadowych modeli uczenia głębokiego na platformie Azure
Szkolenie modeli uczenia głębokiego i uczenia głębokiego w języku Python na platformie Azure
Boty
Bot jest zautomatyzowanym programem programowym przeznaczonym do wykonywania określonego zadania. Pomyśl o tym jako robot bez ciała. Wczesne boty były stosunkowo proste, obsługują powtarzalne i obszerne zadania z stosunkowo prostą logiką algorytmiczną. Przykładem może być przeszukiwarki internetowe używane przez wyszukiwarki do automatycznego eksplorowania i katalogowania zawartości internetowej.
Boty stały się znacznie bardziej wyrafinowane, wykorzystując sztuczną inteligencję i inne technologie do naśladowania ludzkiej aktywności i podejmowania decyzji, często podczas interakcji bezpośrednio z ludźmi za pośrednictwem tekstu lub nawet mowy. Przykłady obejmują boty, które mogą przyjmować rezerwację kolacji, czatboty (lub konwersacyjne sztucznej inteligencji), które pomagają w interakcjach z obsługą klienta, oraz botów społecznościowych, które publikują aktualności lub dane naukowe w serwisach społecznościowych.
Firma Microsoft oferuje usługę Azure Bot Service, która jest przeznaczona do tworzenia botów klasy korporacyjnej.
Architektura referencyjna platformy Azure: bot konwersacyjny klasy korporacyjnej
Przykładowe obciążenie: Czatbot konwersacji dla rezerwacji hotelowych na platformie Azure
Systemy autonomiczne
Systemy autonomiczne są częścią ewoluującej nowej klasy, która wykracza poza podstawową automatyzację. Zamiast wykonywać określone zadanie wielokrotnie z małą zmianami lub bez zmian (takich jak boty), systemy autonomiczne zapewniają inteligencję maszynom, dzięki czemu mogą dostosować się do zmieniających się środowisk w celu osiągnięcia pożądanego celu.
Inteligentne budynki używają systemów autonomicznych do automatycznego sterowania operacjami, takimi jak oświetlenie, wentylacja, klimatyzacja i zabezpieczenia. Bardziej wyrafinowanym przykładem byłoby samokierunkowy robot eksplorujący zawalony wał kopalni, aby dokładnie zamapować swoje wnętrze, określić, które części są strukturalnie brzmiące, analizować powietrze pod kątem oddychania i wykrywać oznaki uwięzionych górników potrzebujących ratownictwa wszystkich bez ludzkiego monitorowania w czasie rzeczywistym na zdalnym końcu.
Ogólne informacje na temat sztucznej inteligencji firmy Microsoft
Dowiedz się więcej o sztucznej inteligencji firmy Microsoft i na bieżąco z powiązanymi wiadomościami:
Typy architektury wysokiego poziomu
Wstępnie utworzona sztuczna inteligencja
Wstępnie utworzona sztuczna inteligencja jest dokładnie taka, jak gotowe do użycia modele sztucznej inteligencji, usługi i interfejsy API. Ułatwiają one dodawanie analizy do aplikacji, witryn internetowych i przepływów bez konieczności zbierania danych, a następnie kompilowania, trenowania i publikowania własnych modeli.
Jednym z przykładów wstępnie utworzonej sztucznej inteligencji może być wstępnie wstępnie wytrenowany model, który można włączyć jako lub użyć do zapewnienia punktu odniesienia do dalszego niestandardowego trenowania. Innym przykładem jest usługa interfejsu API oparta na chmurze, którą można wywołać, aby przetwarzać język naturalny w żądany sposób.
Azure Cognitive Services
Usługi Cognitive Services umożliwiają deweloperom korzystanie ze wstępnie utworzonych interfejsów API i zestawów narzędzi do integracji w celu tworzenia aplikacji, które mogą wyświetlać, słyszeć, mówić, rozumieć, a nawet zaczynać rozumować. Katalog usług w usługach Cognitive Services można podzielić na pięć głównych filarów: Vision, Speech, Language, Web Search i Decision/Recommendation.
Wstępnie utworzone modele sztucznej inteligencji w narzędziu AI Builder
Narzędzie AI Builder to nowa funkcja w usłudze Microsoft Power Platform , która udostępnia interfejs typu punkt-i kliknięcie do dodawania sztucznej inteligencji do aplikacji, nawet jeśli nie masz umiejętności kodowania ani nauki o danych. (Niektóre funkcje w narzędziu AI Builder nie zostały jeszcze wydane w celu zapewnienia ogólnej dostępności i pozostają w stanie wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz stronę Dostępność funkcji według regionów ).
Możesz tworzyć i trenować własne modele, ale narzędzie AI Builder udostępnia również wstępnie utworzone modele sztucznej inteligencji , które są gotowe do użycia od razu. Na przykład można dodać składnik w usłudze Microsoft Power Apps na podstawie wstępnie utworzonego modelu, który rozpoznaje informacje kontaktowe z wizytówek.
Niestandardowa sztuczna inteligencja
Chociaż wstępnie skompilowana sztuczna inteligencja jest przydatna (i coraz bardziej elastyczna), najlepszym sposobem uzyskania potrzebnych danych ze sztucznej inteligencji jest prawdopodobnie samodzielne utworzenie systemu. Jest to oczywiście bardzo głęboki i złożony temat, ale przyjrzyjmy się pewnym podstawowym pojęciom poza tym, co właśnie omówiliśmy.
Języki kodu
Podstawową koncepcją sztucznej inteligencji jest użycie algorytmów do analizowania danych i generowania modeli w celu opisania (lub oceny) w sposób przydatny. Algorytmy są pisane przez deweloperów i analityków danych (a czasami przez inne algorytmy) przy użyciu kodu programowania. Dwa z najpopularniejszych języków programowania na potrzeby programowania sztucznej inteligencji to obecnie Python i R.
Język Python to język programowania ogólnego przeznaczenia, wysokiego poziomu. Ma prostą, łatwą do nauki składnię, która podkreśla czytelność. Nie ma kroku kompilowania. Język Python ma dużą bibliotekę standardową, ale obsługuje również możliwość dodawania modułów i pakietów. Zachęca to do modułowości i umożliwia rozszerzanie możliwości w razie potrzeby. Istnieje duży i rosnący ekosystem bibliotek sztucznej inteligencji i uczenia maszynowego dla języka Python, w tym wiele z tych, które są łatwo dostępne na platformie Azure.
Wprowadzenie do uczenia maszynowego z użyciem języka Python i usługi Azure Notebooks
scikit-learn. Biblioteka uczenia maszynowego typu open source dla języka Python
PyTorch. Biblioteka języka Python typu open source z bogatym ekosystemem, który może służyć do uczenia głębokiego, przetwarzania obrazów, przetwarzania języka naturalnego i nie tylko
TensorFlow. Biblioteka matematyczna typu open source używana również dla aplikacji uczenia maszynowego i sieci neuronowych
Język R to język i środowisko do obliczeń statystycznych i grafiki. Może być używany do wszystkiego, od mapowania szerokich trendów społecznych i marketingowych online do opracowywania modeli finansowych i klimatycznych.
Firma Microsoft w pełni przyjęła język programowania R i oferuje wiele różnych opcji uruchamiania kodu na platformie Azure przez deweloperów języka R.
Microsoft R Open. Rozszerzona dystrybucja języka R firmy Microsoft, w pełni zgodna z językiem R-3.5.3, z dodatkowymi możliwościami w celu zwiększenia wydajności i powtarzalności, oprócz obsługi platform opartych na systemach Windows i Linux
Szkolenie
Szkolenie jest podstawą uczenia maszynowego. Jest to iteracyjny proces "nauczania" algorytmu do tworzenia modeli, które są używane do analizowania danych, a następnie tworzenia dokładnych przewidywań na ich podstawie. W praktyce ten proces ma trzy ogólne fazy: trenowanie, walidację i testowanie.
W fazie trenowania jest oznaczany zestaw jakości znanych danych, dzięki czemu poszczególne pola są możliwe do zidentyfikowania. Oznakowane dane są przekazywane do algorytmu skonfigurowanego do tworzenia określonego przewidywania. Po zakończeniu algorytm generuje model, który opisuje wzorce znalezione jako zestaw parametrów. Podczas walidacji nowe dane są oznaczane i używane do testowania modelu. Algorytm jest dostosowywany zgodnie z potrzebami i ewentualnie wprowadzany przez więcej szkoleń. Na koniec faza testowania używa danych rzeczywistych bez tagów ani wstępnie wybranych celów. Zakładając, że wyniki modelu są dokładne, jest uznawane za gotowe do użycia i można je wdrożyć.
Dostrajanie hiperparametrów
Hiperparametry to zmienne danych, które regulują sam proces trenowania. Są to zmienne konfiguracji, które kontrolują sposób działania algorytmu. Hiperparametry są więc zwykle ustawiane przed rozpoczęciem trenowania modelu i nie są modyfikowane w procesie trenowania w sposób, w jaki są to parametry. Dostrajanie hiperparametryczne polega na uruchamianiu prób w ramach zadania szkoleniowego, ocenieniu, jak dobrze są wykonywane zadania, a następnie dostosowywaniu w razie potrzeby. Ten proces generuje wiele modeli, z których każdy jest trenowany przy użyciu różnych rodzin hiperparametrów.
Wybieranie modelu
Proces trenowania i dostrajania hiperparametrów tworzy wiele modeli kandydatów. Mogą one mieć wiele różnych wariancji, w tym nakład pracy potrzebny do przygotowania danych, elastyczność modelu, ilość czasu przetwarzania i oczywiście stopień dokładności jego wyników. Wybór najlepiej wytrenowanego modelu dla Twoich potrzeb i ograniczeń nosi nazwę selectio n modelu, ale chodzi o wstępne zaplanowanie przed trenowaniem, ponieważ chodzi o wybór tego, który działa najlepiej.
Zautomatyzowane uczenie maszynowe (AutoML)
Zautomatyzowane uczenie maszynowe, znane również jako AutoML, to proces automatyzacji czasochłonnych, iteracyjnych zadań tworzenia modelu uczenia maszynowego. Może znacznie skrócić czas potrzebny na przygotowanie modeli uczenia maszynowego w środowisku produkcyjnym. Zautomatyzowane uczenie maszynowe może pomóc w wyborze modelu, dostrajaniu hiperparametrów, trenowanie modelu i innych zadaniach bez konieczności obszernego programowania lub wiedzy na temat domeny.
Scoring (Ocenianie)
Ocenianie jest również nazywane przewidywaniem i jest procesem generowania wartości na podstawie wytrenowanego modelu uczenia maszynowego, biorąc pod uwagę nowe dane wejściowe. Utworzone wartości lub wyniki mogą reprezentować przewidywania przyszłych wartości, ale mogą również reprezentować prawdopodobną kategorię lub wynik. Proces oceniania może generować wiele różnych typów wartości:
Lista zalecanych elementów i wynik podobieństwa
Wartości liczbowe dla modeli szeregów czasowych i modeli regresji
Wartość prawdopodobieństwa wskazująca prawdopodobieństwo, że nowe dane wejściowe należą do jakiejś istniejącej kategorii
Nazwa kategorii lub klastra, do której najbardziej przypomina nowy element
Przewidywana klasa lub wynik dla modeli klasyfikacji
Ocenianie wsadowe polega na tym, że dane są zbierane w określonym czasie, a następnie przetwarzane w partii. Może to obejmować generowanie raportów biznesowych lub analizowanie lojalności klientów.
Ocenianie w czasie rzeczywistym jest dokładnie to, że ocenianie jest w toku i wykonywane tak szybko, jak to możliwe. Klasycznym przykładem jest wykrywanie oszustw związanych z kartami kredytowymi, ale ocenianie w czasie rzeczywistym może być również używane w rozpoznawaniu mowy, diagnozach medycznych, analizach rynku i wielu innych aplikacjach.
Ogólne informacje na temat niestandardowej sztucznej inteligencji na platformie Azure
Niestandardowa sztuczna inteligencja w repozytorium GitHub platformy Azure. Kolekcja skryptów i samouczków ułatwiających deweloperom efektywne korzystanie z platformy Azure na potrzeby obciążeń sztucznej inteligencji
Przykładowe notesy usługi Azure Machine Learning Service (Python). Repozytorium GitHub przykładowych notesów demonstrujących zestaw SDK języka Python usługi Azure Machine Learning
Oferty platformy Azure AI
Poniżej przedstawiono podział technologii, platform i usług platformy Azure, których można użyć do tworzenia rozwiązań sztucznej inteligencji dla Twoich potrzeb.
Azure Machine Learning
Jest to usługa uczenia maszynowego klasy korporacyjnej do szybszego tworzenia i wdrażania modeli. Usługa Azure Machine Learning oferuje interfejsy internetowe i zestawy SDK, dzięki czemu można szybko trenować i wdrażać modele i potoki uczenia maszynowego na dużą skalę. Korzystaj z tych możliwości za pośrednictwem platform typu open source języka Python, takich jak PyTorch, TensorFlow i scikit-learn.
Jakie produkty z zakresu uczenia maszynowego oferuje firma Microsoft?
Omówienie przewodnika po architekturze danych usługi Azure Machine Learning
Co to jest usługa Azure Machine Learning? Ogólna orientacja z linkami do wielu zasobów szkoleniowych, zestawów SDK, dokumentacji i nie tylko
Architektury referencyjne uczenia maszynowego dla platformy Azure
Szkolenie modeli scikit-learn i uczenia głębokiego w języku Python na platformie Azure
Rozproszone trenowanie modeli uczenia głębokiego na platformie Azure
Ocenianie wsadowe modeli uczenia maszynowego w języku Python na platformie Azure
Ocenianie wsadowe modeli uczenia głębokiego na platformie Azure
Ocenianie modeli scikit-learn i uczenia głębokiego w czasie rzeczywistym na platformie Azure
Ocenianie wsadowe modeli uczenia maszynowego języka R na platformie Azure
Ocenianie modeli uczenia maszynowego języka R w czasie rzeczywistym na platformie Azure
Ocenianie wsadowe modeli uczenia maszynowego platformy Spark w usłudze Azure Databricks
Tworzenie interfejsu API rekomendacji w czasie rzeczywistym na platformie Azure
Zautomatyzowane uczenie maszynowe platformy Azure
Platforma Azure zapewnia rozbudowaną obsługę zautomatyzowanego uczenia maszynowego. Deweloperzy mogą tworzyć modele przy użyciu interfejsu użytkownika bez kodu lub za pomocą środowiska notesów typu code-first.
Strona główna produktu zautomatyzowanego uczenia maszynowego na platformie Azure
Infografika zautomatyzowanego uczenia maszynowego platformy Azure (PDF)
Samouczek: Przewidywanie opłat za taksówkę za pomocą zautomatyzowanego uczenia maszynowego
Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego w języku Python
Korzystanie z rozszerzenia interfejsu wiersza polecenia dla usługi Azure Machine Learning
Azure Cognitive Services
Jest to kompleksowa rodzina usług sztucznej inteligencji i poznawczych interfejsów API, które ułatwiają tworzenie inteligentnych aplikacji. Te wstępnie wytrenowane modele sztucznej inteligencji specyficzne dla domeny można dostosować przy użyciu danych.
Azure Cognitive Search
Jest to oparta na sztucznej inteligencji usługa wyszukiwania w chmurze do tworzenia aplikacji mobilnych i internetowych. Usługa może przeszukiwać prywatną zawartość heterogeniczną z opcjami wzbogacania sztucznej inteligencji, jeśli zawartość jest nieustrukturyzowana lub nie można jej przeszukiwać w postaci nieprzetworzonej.
Wybieranie technologii przetwarzania języka naturalnego na platformie Azure
Szybki start: tworzenie zestawu umiejętności poznawczych Azure Cognitive Search w Azure Portal
Usługa Azure Bot
Jest to specjalnie utworzone środowisko deweloperskie botów z wbudowanymi szablonami, które umożliwiają szybkie rozpoczęcie pracy.
Architektura referencyjna platformy Azure: bot konwersacyjny klasy korporacyjnej
Przykładowe obciążenie: czatbot konwersacyjny na potrzeby rezerwacji hotelowych na platformie Azure
Platforma Apache Spark na platformie Azure
Apache Spark to platforma przetwarzania równoległego, która obsługuje przetwarzanie w pamięci w celu zwiększania wydajności aplikacji do analizy danych big data. Platforma Spark udostępnia typom pierwotnym możliwość używania klastrów obliczeniowych korzystających z funkcji przetwarzania w pamięci. Zadanie platformy Spark może ładować i buforować dane do pamięci i wykonywać zapytania wielokrotnie, co jest znacznie szybsze niż aplikacje oparte na dyskach, takie jak Hadoop.
Platforma Apache Spark w usłudze Azure HDInsight to implementacja platformy Apache Spark w chmurze firmy Microsoft. Klastry Spark w usłudze HDInsight są zgodne z usługami Azure Storage i Azure Data Lake Storage, dzięki czemu można przetwarzać dane przechowywane na platformie Azure przy użyciu klastrów spark usługi HDInsight.
Biblioteka microsoft Machine Learning dla platformy Apache Spark to MMLSpark (Microsoft ML for Apache Spark). Jest to biblioteka typu open source, która dodaje wiele narzędzi do uczenia głębokiego i nauki o danych, możliwości sieci i wydajności klasy produkcyjnej do ekosystemu platformy Spark. Dowiedz się więcej o funkcjach i możliwościach programu MMLSpark.
Omówienie usługi Azure HDInsight. Podstawowe informacje o funkcjach, architekturze klastra i przypadkach użycia wraz ze wskaźnikami do przewodników Szybki start i samouczków.
Samouczek: tworzenie aplikacji uczenia maszynowego platformy Apache Spark w usłudze Azure HDInsight
Najlepsze rozwiązania dotyczące platformy Apache Spark w usłudze HDInsight
Konfigurowanie ustawień klastra Apache Spark w usłudze HDInsight
Tworzenie potoku uczenia maszynowego platformy Apache Spark w usłudze HDInsight
Środowisko uruchomieniowe usługi Azure Databricks na potrzeby uczenia maszynowego
Usługa Azure Databricks to oparta na platformie Apache Spark platforma analityczna z konfiguracją jednym kliknięciem, usprawnione przepływy pracy i interaktywnym obszarem roboczym do współpracy między analitykami danych, inżynierami i analitykami biznesowymi.
Środowisko Databricks Runtime dla uczenia maszynowego (Databricks Runtime ML) umożliwia uruchomienie klastra usługi Databricks ze wszystkimi bibliotekami wymaganymi do trenowania rozproszonego. Zapewnia gotowe do użycia środowisko do uczenia maszynowego i nauki o danych. Ponadto zawiera wiele popularnych bibliotek, w tym TensorFlow, PyTorch, Keras i XGBoost. Obsługuje ono także trenowanie rozproszone przy użyciu struktury Horovod.
Historie klientów
Różne branże stosują sztuczną inteligencję w innowacyjne i inspirujące sposoby. Poniżej przedstawiono szereg analiz przypadków klientów i scenariuszy sukcesu:
ASOS: Sprzedawca detaliczny online rozwiązuje problemy z usługą Azure Machine Learning Service
Volkswagen: Tłumaczenie maszynowe mówi Volkswagenowi – w 40 językach
Buncee: Szkoła NYC umożliwia czytelnikom w każdym wieku i umiejętnościach dzięki usłudze Azure AI
Asklepios Klinik Altona: Operacje precyzyjne z wizualizacją Microsoft HoloLens 2 i 3D
Przeglądaj więcej historii klientów sztucznej inteligencji
Następne kroki
Aby dowiedzieć się więcej na temat produktów do tworzenia sztucznej inteligencji dostępnych od firmy Microsoft, zapoznaj się ze stroną platformy microsoft AI .
Aby dowiedzieć się, jak opracowywać rozwiązania sztucznej inteligencji, zapoznaj się z tematem Microsoft AI School.
Sztuczna inteligencja firmy Microsoft w witrynie GitHub: przykłady, architektury referencyjne i najlepsze rozwiązania organizują repozytoria oparte na sztucznej inteligencji firmy Microsoft open source, udostępniając samouczki i materiały szkoleniowe.