Temat AI z „modnego” przekształcił się na „niezbędny”. W wielu branżach korzystanie z taniejących rozwiązań opartych o AI już teraz przeważa o konkurencyjności, a w niedalekiej przyszłości zaadoptowanie AI w biznesie może stać się decydującym czynnikiem o istnieniu firmy.

Spis treści:

  • Czym różni się model, framework i biblioteka AI?
  • Biblioteki AI – jakie są różnice?
  • Jak można wykorzystać biblioteki AI?
  • Biblioteki AI, a tworzenie projektów

Hype na rozwiązania wykorzystujące elementy AI jest ogromny i – co zaskakujące – nie maleje od czasu publicznego udostępnienia ChatGPT. Mimo że rozwiązania wykorzystujące AI dostępne są na rynku od lat, to wzrost popularności z ostatnich miesięcy sprawił, że cena wdrożenia znacząco spadła.

Obecnie możesz wybierać pomiędzy budową dedykowanej, autorskiej aplikacji, korzystaniem z opensourcowych bibliotek i modeli, po korporacyjne rozwiązania takie jak Vertex AI od Google, Azure ML od Microsoftu, czy SageMaker od Amazona.

Co więcej, każdy z tych ekosystemów pozwala na stosunkowo bezproblemowe uploadowanie swoich danych i łączenie endpointów. Na przykładzie chmury Google, AutoML pozwala na doszkalanie (fine tuning) wybranych modeli i wdrażanie rozwiązań bez specjalistycznej wiedzy i umiejętności kodowania.

Mnogość rozwiązań na rynku to jedno, ale prawnie nic nie da się zrobić bez odpowiedniej jakości i ilości danych. Z tego powodu firmom digital first łatwiej integrować AI w swoje procesy.

– Sławomir Wilusz, CEO Fingoweb.

Czym różni się model, framework i biblioteka AI?

Na dobry początek, trzy sformułowania, których znaczenie warto znać. Machine Learning (ML) jest częścią AI, ale nie są to sformułowania równorzędne czy zamienne. Można myśleć o nich w sposób następujący:

  • ML – nauczanie maszynowe ma na tworzenie algorytmów i modeli statystycznych, które pozwalają komputerom wykonywać określona zadania w możliwie najkrótszym czasie i z najwyższą skutecznością.
  • AI – celem AI jest tworzenie systemów, które są w stanie naśladować działanie człowieka. AI wykorzystuje elementy ML, na przykład sieci neuronowe.

Dochodzi do tego jeszcze Deep Learning, odnoszące się do wielopoziomowych algorytmów ML oraz Artificial General Intelligence, czyli system, który jest w stanie naśladować każde działanie człowieka, nieograniczone tylko do jednej kategorii (np. przetwarzanie tekstu, generowanie obrazów, kategoryzacja) i w sposób równy lub lepszy od człowieka. AGI, na szczęście?, nie zostało jeszcze osiągnięte.

Jak wynika z powyższego, AI jest dużo szerszym sformułowaniem. Może okazać się, że w wielu przypadkach w Twojej firmie wystarczą rozwiązania ML-owe. Projekt powinien być więc dobrany przede wszystkim do potrzeb i celów biznesowych.
Wracając do tematu, w ramach AI pojawiają się trzy sformułowania:

  • Model – który został nauczony wykonywania konkretnych zadań poprzez przetwarzanie dużych ilości danych i uczenie się z nich. Wykorzystuje nauczone wzorce do dokonywania prognoz lub podejmowania decyzji bez konieczności powtórnego programowania za każdym razem, kiedy przedstawione mu są nowe dane. Przykładem modelu będzie np. GPT-3.5, LLama 2, Stable Deffusion XL.
  • Framework – zestaw narzędzi zaprojektowanych, aby pomóc programistom w efektywniejszym tworzeniu aplikacji z zakresu sztucznej inteligencji. Umożliwia strukturalne budowanie i trenowanie modeli, co ułatwia i przyspiesza implementację. Przykładem frameworku jest PyTorch lub Keras.
  • Biblioteka AI to zbiór wcześniej napisanego kodu, którego programiści mogą używać do tworzenia aplikacji z zakresu sztucznej inteligencji. Zawiera narzędzia i funkcje do zadań takich jak uczenie maszynowe, analiza danych i rozpoznawanie wzorców. Przykładem biblioteki będzie Scikit-learn.

I jeszcze prościej: modele mogą powstawać lub mogą być wdrażane przy użyciu frameworków, w których osadzone są biblioteki.

Dobór odpowiednich narzędzi do projektu jest kluczowy, żeby ograniczyć czas pracy i zagwarantować najwyższą skuteczność. Z innej biblioteki będzie się korzystać podczas tworzenia systemu rekomendacyjnego dla sklepu online, z innej przy tworzeniu systemów dla pojazdów autonomicznych.

– Kuba Mieszczak, Machine Learning Engineer, Fingoweb.

Biblioteki AI – jakie są różnice?

Biblioteki AI powinny być dobierane pod dany projekt, ponieważ oferują różne możliwość często nakierowane na określone segmenty AI (przetwarzanie tekstu, computer vision, modele klasyfikacji). W naszych projektach często korzystamy z:

  • Pandas. Pythonowa biblioteka szczególnie przydatna przy wizualizacji danych i przy zarządzaniu nimi.
  • Numpy. Biblioteka pozwalająca w efektywny sposób wykonywać między innymi obliczenia na macierzach, które są często spotykane w Data Science.
  • Matplotlib. Pozwala tworzyć wykresy danych, na których operujemy.
  • Scikit-learn. Biblioteka pozwalająca na budowanie wielu rodzajów modeli, przykładowo modeli regresji liniowej czy klasyfikacji. Dostarcza też narzędzia określające ocenę jakości tych modeli.

Bibliotek jest oczywiście więcej, w tym biblioteki do przetwarzania języka naturalnego i analizy tekstu, analizy podobieństw dokumentów, przetwarzania obrazów, budowania sieci neuronowych i Deep Learningu.

Jak można wykorzystać biblioteki AI?

Wykorzystanie biblioteki AI w projekcie uwarunkowane powinno być przede wszystkim potrzebami projektu i celami, które realizujemy. Biblioteka AI powinna być osadzona w większej strategii, np. strategii digital transformation czy w ramach optymalizacji procesów danego działu.

Na podstawie celów, które mają zostać zrealizowane, zespół specjalistów będzie dobierał narzędzia, w tym frameworki i biblioteki. Przykład:

  1. Organizacja posiada dużo zdygitalizowanych dokumentów i chce stworzyć chatbota, który pozwoli pracownikom firmy konwersować z bazą, dzięki czemu czas wyszukiwania informacji będzie ograniczony, a dostępność zwiększona.
  2. Z dokumentów zostają stworzone wektory i osadzone w wektorowej bazie danych Pinecone.
  3. Do tworzenia modelu wykorzystana zostanie biblioteka transformers, framework LangChain i opensourcowy model Llama 2 70B.
  4. Na bazie modelu powstanie lokalna aplikacja dostępna tylko w ramach firmowego intranetu.

To tylko jeden z nieskończonych przykładów użycia bibliotek. Przy realizacji projektów AI w Fingoweb wykorzystujemy biblioteki z rozbudowaną dokumentacją, które pozwalają na rozbudowę (np. dodanie własnej funkcji). Jedną z nich było wyżej wspomniane Pandas.

Biblioteki AI, a tworzenie projektów

Biblioteka AI jest tylko jednym, małym elementem podczas realizowania projektów wykorzystujących nauczanie maszynowe lub AI. Decyzja o tego typu projekcie powinna wynikać przede wszystkim z potrzeby i chęci podniesienia skuteczności działań organizacji, zwiększenia konkurencyjności czy wchodzenia na nowe rynki.

Projekt AI zaczyna się od zrozumienia biznesowych celów oraz od możliwości ich realizacji. A nawet najlepszego pomysłu nie stworzy się bez… danych. Dane będą kolejnym tematem serii artykułów poświęconych AI.

Masz pytania dotyczące AI, pomysł na rozwiązanie lub szukasz wsparcia w tym temacie? Koniecznie do nas napisz!

Najczęściej zadawane pytania

Czym różni się model, framework i biblioteka AI?

  • Model AI to nauczony algorytm, który wykonuje określone zadania (np. GPT-3.5, LLama 2, Stable Deffusion XL).
  • Framework AI to zestaw narzędzi wspomagających tworzenie aplikacji AI, umożliwiających strukturalne budowanie i trenowanie modeli (np. PyTorch, Keras).
  • Biblioteka AI to zbiór wcześniej napisanego kodu używanego do tworzenia aplikacji AI, zawierający narzędzia i funkcje do określonych zadań AI (np. Scikit-learn, Pandas).

Jakie są główne różnice między poszczególnymi bibliotekami AI?

Biblioteki AI różnią się możliwościami i są często specjalizowane w określonych segmentach AI, takich jak przetwarzanie tekstu, computer vision czy modele klasyfikacji.

Jak można wykorzystać biblioteki AI w projektach?

Wykorzystanie bibliotek AI powinno być dostosowane do potrzeb i celów projektu. Biblioteki powinny być częścią większej strategii, takiej jak transformacja cyfrowa czy optymalizacja procesów. Dobre dobranie bibliotek i narzędzi pozwala na efektywne tworzenie zaawansowanych rozwiązań, takich jak chatboty wykorzystujące bazę zdigitalizowanych dokumentów, czy inne aplikacje służące do optymalizacji pracy w firmie.