Projektowanie architektury sztucznej inteligencji

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.

Illustration depicting the relationship of artificial intelligence as a parent concept. Within AI is machine learning. Within machine learning is deep learning.

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 lub jaszczurką. Inny znacznie bardziej skomplikowany algorytm może opisywać sposób identyfikowania napisanego lub mówionego języka, analizowania jego słów, tłumaczenia ich na inny język, a następnie sprawdzania poprawnoś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 do generowania 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 inne warstwy mogą zrozumieć. Te dane wyjściowe są następnie przekazywane do następnej warstwy, w której 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ę za pomocą własnego przetwarzania danych. Wymaga to znacznie większej ilości danych i znacznie większej mocy obliczeniowej niż uczenie maszynowe.

Boty

Bot to zautomatyzowany program przeznaczony do wykonywania określonego zadania. Pomyśl o tym jako robota bez ciała. Wczesne boty były stosunkowo proste, obsługiwały powtarzające się i obszerne zadania z stosunkowo prostą logiką algorytmiczną. Przykładem mogą być przeszukiwarki internetowe używane przez wyszukiwarki do automatycznego eksplorowania i katalogowania zawartości internetowej.

Boty stały się znacznie bardziej zaawansowane, korzystając ze sztucznej inteligencji i innych technologii, aby naśladować ludzką aktywność i podejmowanie decyzji, często podczas interakcji bezpośrednio z ludźmi za pomocą tekstu, a nawet mowy. Przykłady obejmują boty, które mogą przyjmować rezerwację kolacji, czatboty (lub konwersacyjne sztuczna inteligencja), które pomagają w interakcjach z obsługą klienta, oraz boty społecznościowe, które publikują istotne wiadomości lub dane naukowe w witrynach mediów społecznościowych.

Firma Microsoft oferuje usługę Azure Bot Service, zarządzaną usługę utworzoną specjalnie na potrzeby tworzenia botów klasy korporacyjnej.

Systemy autonomiczne

Systemy autonomiczne są częścią ewoluującej nowej klasy, która wykracza poza podstawową automatyzację. Zamiast wykonywać określone zadanie wielokrotnie z niewielkimi lub żadnymi odmianami (takimi 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 samoreżyserowany robot eksplorujący zawalony wał kopalni, aby dokładnie zamapować jego wnętrze, określić, które części są strukturalne, analizować powietrze pod kątem oddychania i wykrywać oznaki uwięzionych górników potrzebujących ratowania wszystkich bez monitorowania przez człowieka 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 skompilowana sztuczna inteligencja jest dokładnie taka, jak gotowe do użycia modele, 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 tworzenia, trenowania i publikowania własnych modeli.

Jednym z przykładów wstępnie utworzonej sztucznej inteligencji może być wstępnie wytrenowany model, który można włączyć jako lub użyć do zapewnienia punktu odniesienia na potrzeby dalszego niestandardowego trenowania. Innym przykładem może być 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 integracji do tworzenia aplikacji, które mogą wyświetlać, słyszeć, mówić, rozumieć, a nawet zaczynać rozumować. Katalog usług w ramach usług 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 platformy Microsoft Power Platform , która udostępnia interfejs typu punkt-kliknięcie do dodawania sztucznej inteligencji do aplikacji, nawet jeśli nie masz umiejętności związanych z kodowaniem ani nauką 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ż wybrane wstępnie utworzone modele sztucznej inteligencji, które są gotowe do użycia od razu. Możesz na przykład 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

Mimo że wstępnie utworzona sztuczna inteligencja jest przydatna (i coraz bardziej elastyczna), najlepszym sposobem uzyskania potrzebnych elementów sztucznej inteligencji jest prawdopodobnie samodzielne utworzenie systemu. Jest to oczywiście bardzo głęboki i złożony temat, ale przyjrzyjmy się niektórym 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ą w nauce 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, które są łatwo dostępne na platformie Azure.

R to język i środowisko do obliczeń statystycznych i grafiki. Można go używać do wszystkiego, od mapowania szerokich trendów społecznych i marketingowych online na opracowywanie modeli finansowych i klimatycznych.

Firma Microsoft w pełni przyjęła język programowania R i oferuje wiele różnych opcji dla deweloperów języka R do uruchamiania kodu na platformie Azure.

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 wykonywania dokładnych przewidywań na ich podstawie. W praktyce ten proces ma trzy ogólne fazy: trenowanie, walidację i testowanie.

W fazie trenowania otagowany jest 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 trenowania. Na koniec faza testowania używa danych rzeczywistych bez żadnych tagów ani wstępnie wybranych celów. Przy założeniu, ż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 zarządzają samym procesem trenowania. Są to zmienne konfiguracji, które kontrolują sposób działania algorytmu. Hiperparametry są zwykle ustawiane przed rozpoczęciem trenowania modelu i nie są modyfikowane w procesie trenowania w sposób, w jaki są to parametry. Dostrajanie hiperparametryczne obejmuje uruchamianie prób w ramach zadania szkoleniowego, ocenianie, jak dobrze wykonuje zadanie, a następnie dostosowywanie zgodnie z potrzebami. 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 najlepszego wytrenowanego modelu dla Twoich potrzeb i ograniczeń jest nazywany wyborem modelu, ale jest to tak samo wstępnie zaplanowane przed rozpoczęciem szkolenia, 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 automatyzowania czasochłonnych, iteracyjnych zadań tworzenia modelu uczenia maszynowego. Może znacznie skrócić czas potrzebny na przygotowanie do produkcji modeli uczenia maszynowego. 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ę niektóre 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órego najbardziej podobny jest 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 kart kredytowych, 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

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.

Uczenie maszynowe Azure

Jest to usługa uczenia maszynowego klasy korporacyjnej do szybszego kompilowania i wdrażania modeli. Usługa Azure Machine Edukacja 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.

Architektury referencyjne uczenia maszynowego dla platformy 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.

Azure Cognitive Services

Jest to kompleksowa rodzina usług sztucznej inteligencji i interfejsów API poznawczych, które ułatwiają tworzenie inteligentnych aplikacji. Te wstępnie wytrenowane modele sztucznej inteligencji specyficzne dla domeny można dostosować przy użyciu danych.

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 jest przeszukiwana w postaci pierwotnej.

Azure Bot Service

Jest to specjalnie utworzone środowisko deweloperskie botów z wbudowanymi szablonami, które umożliwiają szybkie rozpoczęcie pracy.

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 za pomocą klastrów spark usługi HDInsight.

Biblioteka uczenia maszynowego firmy Microsoft dla platformy Apache Spark to SynapseML (wcześniej znana jako MMLSpark). Ta biblioteka typu open source 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 usługi SynapseML.

Azure Databricks Runtime for Machine Edukacja

Azure Databricks to oparta na platformie Apache Spark platforma analityczna z jednym kliknięciem, usprawnione przepływy pracy i interaktywny obszar roboczy do współpracy między analitykami danych, inżynierami i analitykami biznesowymi.

Środowisko Databricks Runtime for Machine Edukacja (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 innowacyjny i inspirujący sposób. Poniżej przedstawiono wiele analiz przypadków klientów i historii sukcesu:

Przeglądaj więcej historii klientów sztucznej inteligencji

Następne kroki