Home » AGH 2023/24 » ChatGPT w pracy data scientista. Możliwości automatyzacji w analizie danych. Jak interpretować wyniki i jaka jest ich jakość.

Tagi

Wyróżnione posty

Zobacz też

Statystyki

  • 61
  • 517
  • 25 109
  • 7 347
  • 39

ChatGPT w pracy data scientista. Możliwości automatyzacji w analizie danych. Jak interpretować wyniki i jaka jest ich jakość.

Spread the love

Jako model językowy, nie jestem wstanie przeprowadzać analiz jednak według mojej wiedzy… Czy widziałeś kiedyś tekst opublikowany przez człowieka będący tak naprawdę napisany przez sztuczną inteligencję a ludzkiemu “autorami” zapomniało się nawet usunąć zdania w którym model przyznaje się do autorstwa? W poniższym wpisie chcemy przedyskutować jak data scientist może korzystać z ChataGPT oraz jak powinien robić to w sposób etyczny.

Wprowadzenie

W ostatnim czasie praca data scientista cieszy się coraz większym zainteresowaniem. Zajmują się oni zbieraniem, przetwarzaniem i analizowaniem a także tworzeniem modeli m.in. machine learningowych w celu odkrycia wzorców czy wykonywania predykcji. W tym artykule chcemy poruszyć temat współpracy analityków w jednym z najważniejszych innowacji ostatnich lat czyli z dużymi modelami językowymi jak ChatGPT. ChatGPT pozwala użytkownikowi na uzyskiwaniu odpowiedzi na przeróżne pytania poprzez zadawanie pytań w języku naturalnym. Umiejętność ta wraz z posiadaniem ogromnej ilości wiedzy pozwala na generowanie odpowiedzi na skomplikowane pytania z niespotykaną do tej pory dokładnością. W poniższym wpisie przedstawimy jak analityk może wykorzystać duże modele językowe w swojej pracy i jakie korzyści może z tego osiągnąć. Wskażemy również zagrożenia i limitacje generatywnej sztucznej inteligencji.

Data scientist working with ChatGPT by DALL·E

Wyjaśnianie koncepcji

W pracy analityka danych poza umiejętnościami związanymi w przetwarzaniem i analizą danych ważną rolę pełni również wiedza domenowa danego projektu. Wiedza ta jest zależna od projektu i bardzo często bywa skomplikowana bądź jest bardzo specjalistyczna co powoduje że ludzie spoza branży, w tym analityk danych nie są z nią zaznajomieni. Jednocześnie znajomość tej wiedzy bardzo często pozwala na zrozumienie czego oczekuje od analityka klient czy lepsze zrozumienie badanego problemu co bardzo pomaga w realizacji projektu. Wymaga to od analityka zaznajomienie się z wiedzą domenową, co niekiedy bywa trudne. W tym celu analityk może skorzystać z ChataGPT, który może pomóc w wyjaśnieniu niezrozumiałych elementów wiedzy domenowej. Dodatkowo, dzięki swojej interaktywności analityk może wykorzystać go do zapytania o kolejne niezrozumiałe aspekty danej dziedziny co pozwala na szybkie zapoznanie się z nieznanym tematem.

Dawanie pomysłów

ChatGPT jako model generatywny stanowi świetne źródło pomysłów i inspiracji. Będąc analitykiem danych można w każdej chwili opisać stan projektu na jakim się znajdujemy i poprosić o sugestie dotyczące własnych kroków. ChatGPT bardzo chętnie udzieli odpowiedzi sugerując następne kroki, zadaniem analityka będzie wtedy wybranie tych kroków które uzna za potencjalnie pomocne i odrzucenie tych które nie znajdą zastosowania w dziedzinie. Nie jest to jednak jedyny sposób w jaki duże modele językowe mogą pomóc w pracy analitykowi. Kolejnym możliwym zastosowaniem jest zdobywanie informacji na temat danych potrzebnych w danym projekcie. Zaczynając projekt jednym z pierwszych etapów jest znalezienie jak największej ilości jak najlepszych danych które dostarczą nam jak najwięcej informacji. W tym celu możemy zapytać Chata jakie dane mogą okazać się przydatne. O ile analityk posiadając pewną wiedzę domenową wie jakich danych będzie potrzebował ChatGPT może tutaj stanowić świetne uzupełnienie i zaoferować nowe typy danych które mogą okazać się przydatne. Poza wyżej wymienionymi możliwościami wsparcia ChatGPT może również sugerować co w danym projekcie będzie warte uwagi. Warto dodać tutaj że korzystanie w generatywnej sztucznej inteligencji wymaga od analityka umiejętności filtrowania jej odpowiedzi i bardzo często aplikowania tylko niewielkiej części jego odpowiedzi gdyż większość będzie bardzo często błędna.

Eksploracyjna Analiza Danych

Eksploracyjna analiza danych to nic innego jak podchodzenie do danych z ciekawością i umiejętnościami detektywistycznymi. To proces, w ramach którego zastanawiamy się, co te dane właściwie mówią i jakie historię skrywają. Przy pomocy różnych technik staramy się zgłębić ich tajemnice, odkrywać wzorce, zależności, trendy, anomalie, a czasami nawet kwestie, które wymagają dalszej naprawy – takie jak brakujące wartości czy błędy.

Język SQL jest tutaj niezmiernie ważny. Dlaczego? Ponieważ jest to język, który pozwala “rozmawiać” z bazami danych. SQL pozwala na realizację szeregu operacji potrzebnych do przeprowadzenia eksploracyjnej analizy – takich jak wybór konkretnych kolumn, filtrowanie rekordów, sortowanie danych, a także zaawansowane operacje, jak łączenie tabel, agregacja czy transformacja danych.

Potencjał wykorzystania dużych modeli językowych (Large Language Models – LLM), takich jak ChatGPT, w kontekście pracy z SQL jest ogromny. Te inteligentne systemy są w stanie zrozumieć pytania zadane w naturalnym języku i przetłumaczyć je na zapytania SQL. Dzięki temu analityk, zamiast samodzielnie pisania złożonych zapytań, może skupić się na formułowaniu pytania dotyczącego danych, a model językowy wygeneruje odpowiednie zapytanie. To nie tylko przyspiesza zadania związane z analityką, ale także sprzyja efektywności, tym bardziej, gdy stajemy przed wyzwaniem analizy dużych zbiorów danych.

Równie ważne jest, że techniki takie jak RAG (Retrieval-Augmented Generation), są w stanie zasilić te modele informacją specyficzną dla danego przedsiębiorstwa. Poprzez konkretną fazę wyszukiwania, RAG skanuje dostępną bazę wiedzy, szukając relewantnych dokumentów dla zadanego pytania i zasila nimi kontekst LLMa w celu wygenerowania odpowiedzi. Dzięki temu, odpowiedzi generowane przez model są nie tylko powiązane z ogólnodostępną wiedzą, na której model został nauczony, ale także z wiedzą specyficzną dla danej organizacji. 

How Vanna Works
Vanna AI. Źródło https://vanna.ai/docs/

Aktualnie na rynku pojawia się coraz więcej rozwiązań które umożliwiają komunikację z bazami danych w języku naturalnym, które wykorzystują RAG w celu zaopatrzenia modelu w dodatkowe informacje, jak przykładowe zapytania SQL, opisy schematów danych i dokumentacja. Przykładem takiego systemu jest Vanna AI

Kolejnym ważnym narzędziem szeroko stosowanym do eksploracji danych, jest język Python, oraz biblioteka Pandas. Pandas umożliwia swobodne manipulowanie danymi, zapewniając te same możliwości co język SQL i dużo więcej, będąc przy tym też bardziej skomplikowana. Pandas AI natomiast to rozszerzenie biblioteki pandas, które wykorzystuje sztuczną inteligencję do ułatwienia interakcji z danymi. Pozwala na wprowadzanie zapytań do danych w języku naturalnym, co ułatwia eksplorację danych osobom, które nie mają dużego doświadczenia w pisaniu kodu. Oferuje wszystkie funkcjonalność do wstępnego przetwarzania danych, taką jak czyszczenie danych i generowanie nowych cech. Potrafi także generować różne wykresy które opisują zadaną analizę, oraz może łączyć się z wieloma formatami i źródłami danych, jak lokalne pliki CSV, czy zdalne hurtownie danych takie jak BigQuery.

import os
from pandasai import SmartDataframe

# You can instantiate a SmartDataframe with a path to a CSV file
sdf = SmartDataframe("data/Loan payments data.csv")

response = sdf.chat("How many loans are from men and have been paid off?")
print(response)
# Output: 247 loans have been paid off by men.

Oba z wymienionych rozwiązań są bezpieczne w użyciu, ponieważ żadne nie ma wglądu bezpośrednio do danych, a jedynie do ich schematu, a żeby odpowiedzieć na zadane pytania generują kod który następnie jest uruchamiany na naszej maszynie.

Generowanie raportów

Ostatnią rzeczą omawianą w tym wpisie do której data scientist może użyć generatywnej sztucznej inteligencji jest generowanie raportów. W pracy analitycy bardzo często otrzymują zadanie napisania raportu na dany temat. ChatGPT może pełnić tutaj bardzo dużą rolę. Jedną z najważniejszych jest oszczędność czasu gdyż chat potrafi w bardzo krótkim czasie wygenerować dużą ilość dobrego tekstu. W połączeniu z dobrym promptem wypełnionym np. wypunktowanymi informacjami jakie użyć w raporcie, przygotowanie takiego raportu zajmie dosłownie chwilę. Dodatkowo mając napisaną jakąś wersję raportu możemy bez problemu zadać chatowi zmienić jego styl. Do takich poleceń możemy zaliczyć wypunktowanie wniosków czy przepisanie raportu aby bardziej skupiał się na określonej kwestii a pomijał inne a także uczynienie go bardziej angażującym lub bardziej formalnym.

Podsumowanie

Podsumowując, ChatGPT jest bardzo przydatnym narzędziem dla data scientista i potrafi znacząco zwiększyć jego produktywność. Jego użytkownik musi jednak umieć z niego korzystać i pamiętać o kilku elementach. Po pierwsze ChatGPT jako model sztucznej inteligencji może cechować się pewnymi uprzedzeniami i biasami, naszą rolą jest sprawdzenie jego odpowiedzi pod tym kontem. Warto przyznać że poczyniono dużą pracę nad niepozwalaniem modelowi na generowanie takich odpowiedzi. Kolejną rzeczą jaką warto mieć na uwagę są prawa autorskie i o ile model nie powinien popełniać plagiatów – zdarzały się sytuacje w których powtarzał z kosmetycznymi zmianami długie fragmenty tekstu bez podania autora.

Kolejna cecha ChataGPT potrafi przy stworzyć dużo problemu osobie niezaznajomionej z metodą działania modelu, mowa tutaj o halucynacjach które objawiają się błędnymi odpowiedziami zwracanymi przez model, co gorsze model będzie twierdził że dana odpowiedź jest poprawna. Czasem takie błędy są proste do wykrycia jak link który nie prowadzi do żadnej strony jednak czasem błąd może być bardziej subtelny. Każdy użytkownik a w szczególności data scientist musi umieć wykrywać takie błędy żeby nie otrzymać błędnej czy bezsensownej odpowiedzi.

Następną rzeczą na jaką należy zwrócić uwagę korzystając z Chata jest to że był trenowanych na archiwalnych danych i nie będzie z tego powodu posiadał informacji o artykule wydanym tydzień temu czy o najnowszych odkryciach w badanej przez analityka dziedzinie. Z tego powodu w momencie gdy pracujemy w dynamicznie zmieniającej się branży to musimy sami zaznajomić się z najnowszymi informacjami tak jak robiliśmy to w erze poprzedzającej pojawienie się dużych modeli językowych.

Ograniczenia te wymagają aby traktować duże modele językowe nie jako wyrocznie ale jako kolejne narzędzie które jest wstanie popełniać błędy. Jako człowiek stoimy na straży tego aby wykorzystywać nową technologie w sposób rozważny oraz etyczny tak aby służyła nam oraz reszcie społeczeństwa.

 

Bibliografia

Abid, A.A. (2023, Marzec). A Guide to Using ChatGPT For Data Science Projects. datacamp. https://www.datacamp.com/tutorial/chatgpt-data-science-projects

John, P. (2023, Czerwiec, 28). How To Use ChatGPT: Data Analyst & Data Scientist Use Cases. Medium. https://medium.com/learning-data/how-to-use-chatgpt-data-analyst-data-scientist-use-cases-f8055bbdfdfc

Lisa, K. (2023, Maj, 3). Explained: ChatGPT Automation for Data Science. Medium. https://data-analysis-lisa-kim.medium.com/explained-chatgpt-automation-for-data-science-aa6906d51328

Gaurav, A. (2023). ChatGPT: your secret weapon for data science success.

Algirdas, J. (2023, Kwiecień, 10). Step-by-step Guide to Using ChatGPT to Write a Report, Thesis and Dissertation. wps. https://www.wps.com/blog/step-by-step-guide-to-using-chatgpt-to-write-a-report-thesis-and-dissertation/

Parashar, S. Harkanwal, B. (2024, Luty, 14). Context-aware code generation: Retrieval augmentation and Vertex AI Codey APIs. https://cloud.google.com/blog/products/ai-machine-learning/context-aware-code-generation-rag-and-vertex-ai-codey-apis/

Michael, M. G. (2023, Grudzień, 27). The Times Sues OpenAI and Microsoft Over A.I. Use of Copyrighted Work. The New York Times. https://www.nytimes.com/2023/12/27/business/media/new-york-times-open-ai-microsoft-lawsuit.html

(2024, Kwiecień, 3). How Vanna Works. https://vanna.ai/docs/

(2024, Kwiecień, 3). PandasAI. https://docs.pandas-ai.com/en/latest/


Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze komentarze

  1. Ciekawe jest porównanie tradycyjnej terapii z nowymi rozwiązaniami opartymi na modelach językowych. Warto zauważyć, że mimo obiecujących wyników, istnieją ważne…