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.

Ilustracja przedstawiająca relację sztucznej inteligencji jako koncepcji nadrzędnej. W ramach sztucznej inteligencji jest uczenie maszynowe. Uczenie maszynowe jest uczeniem głębokim.

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.

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.

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.

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.

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

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.

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 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.

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.

Usługa Azure Bot

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 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.

Ś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:

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

Następne kroki