Na przestrzeni kilku ostatnich lat rozwój technologii uczenia maszynowego i pojawiające się coraz to nowe komercyjne zastosowania oraz narzędzia, wzbudziły w świadomości społecznej żywą dyskusję. Czy maszyny nas zastąpią? Kto jest bezpieczny, a kto nie? W tym wpisie przyjmiemy nieco bardziej optymistyczny wgląd na tą sytuację i będziemy traktować narzędzia sztucznej inteligencji jako jedynie to – narzędzia. Nie różne, przynajmniej w zamyśle, od maszyny Gutenberga czy aparatu fotograficznego. Co za tym idzie, opiszemy jak z takich systemów korzystać, jak wydawać polecenia tak aby sztuczna inteligencja “zrozumiała” o co nam chodzi.
Systemy generujące obrazy
Zacznijmy od, być może kontrowersyjnych, systemów typu AI art (a więc midjourney itp.). Na ten moment odstawiając na drugi bok tematy etyczności takich systemów, przyjrzyjmy się w jaki sposób możemy “przekonać” system sztucznej inteligencji by wygenerował to o co nam chodzi, albo przynajmniej coś podobnego.
Nielsen (WEB1) w swoim blogu podaje 9 przydatnych rzeczy które pomagają w generacji obrazów za pomocą Midjourney (WEB2). Nie o wszystkich będziemy mogli się w tym blogu rozpisać, ale na pewno warto wspomnieć i powiedzieć czym są:
- Styl – odnosi się do wszystkich słów, które mogą sugerować systemowi jakiego typu obraz powinien wygenerować – bez zmiany w obiektach przedstawianych na obrazie.
- Stylistyka – ustawienie w Midjourney mówiące systemowi jak bardzo styl powinien wpływać na obraz.
- Chaos – kolejne ustawienie tym razem wpływające na poziom abstrakcji.
- Rozdzielczość – słowa kluczowe jak “HD”, “4k”, “8k” – co ciekawe tą kategorię możnaby też potraktować jako część stylu – obrazy treningowe skojarzone z treścią “4k” są prawdopodobnie stworzone w sposób który uwypukla wysoką rozdzielczość.
- Proporcje obrazu – podobnie jak wyżej, co prawda zamysł jest taki aby użytkownik mógł kontrolować rozmiary obrazu, ale nie można powiedzieć czy np. proporcje zgodne z popularnymi proporcjami dla fotografii nie będą bardziej fotorealistyczne.
- Podanie innego obrazu jako linku – można sprecyzować pewien obrazek jako “inspirację” dla systemu.
- Wagi dla obrazka w prompcie – jeżeli obrazek jest ważny, można mu przypisać większą wagę.
- Wagi dla słów w prompcie – jeżeli pewne słowo jest ważne, można mu przypisać większą wagę.
- Zaprzeczanie słowom w prompcie – jeżeli chcemy aby nasz obrazek nie zawierał pewnego obiektu, możemy to osiągnąć.
Poniżej pokażemy bardziej dokładnie co zmienia się w wybranych kategoriach.
Styl
Jak wcześniej wspomnieliśmy, styl (jeżeli mielibyśmy tworzyć twardą jego definicję) tyczy się wszystkiego co wpływa na obraz i to w jaki sposób obiekty zostaną przedstawione, ale nie jakie obiekty zostaną przedstawione. Można do tej kategorii zaliczyć specyfikację nurtu, czy gatunku z którego należy czerpać inspirację, ale też autorów, autora czy nawet dzieła.
Przykłady tych samych obiektów z różnymi parametrami stylu wygenerowanych przez midjourney.
W pierwszym prompcie nie użyliśmy żadnych parametrów stylu i Midjourney w pewnym sensie musiał wybrać styl za nas – wygenerowane obrazki są zupełnie nieoryginalne. Te w stylu Van Gogh są ciekawsze – choć prawdopodobnie kwalifikowałyby się jako plagiat.
Prompt o tradycyjnej sztuce chińskiej produkuje prawdopodobnie najlepsze wyniki (choć nie brak klasycznych problemów z obrazkami generowanymi przez modele uczenia maszynowego) – daje to nam pewien wgląd w to jakie parametry stylu będą dawać najlepsze wyniki – będą to style w których opisywane obiekty są już obecne (nietrudno znaleźć tradycyjne chińskie interpretacje smoka). Model ma wtedy dużą pulę obserwacji w danych treningowych, z których może korzystać.
Porównanie stylów anime i Studio Ghibli daje nam następny wgląd – im bardziej specyficzny styl, tym lepiej. Model dla specyficznych promptów będzie miał mniej przykładów, które różnią się drastycznie między sobą – w związku z czym będzie lepiej oddawał dany styl.
Ostatni przykład daje nam kolejny problem z promptami stylu – styl może wpływać na obiekty, jeżeli model nie rozróżnia dobrze stylu od obiektów. O czym mowa – zobaczmy na liczbę chmur na ostatnim gridzie, wydaje się ona znacząco większa niż w pozostałych przypadkach, być może ze względu na słowo “Cloudy”.
Stylistyka i chaos
Na stylistykę możemy spojrzeć jako na specyfikację dla Midjourney, jak duży wpływ na obraz powinien mieć styl. Wartości bliskie zeru będą bardziej fotorealistyczne, a te większe bardziej będą naśladować pewne środki artystyczne. Poniżej przykład z dokumentacji midjourney dla promptu colorful risograph of a fig
.
Z kolei chaos kontroluje przewidywalność obrazów, oraz mimowolnie zwiększa ich abstrakcyjność. Poniżej przykład podany przez Nielsena.
Treść prompta
Ruskov, M. (2023) proponuje podejście do tworzenia samych treści promptów zaczynając od tekstu, który chcielibyśmy zilustrować (np. w jego przypadku, baśni Grimma). Jego proces ma 4 następujące kroki:
- Przekształć fragment tekstu w coś przypominającego proste zdanie, zachowując to same słownictwo.
- Dokonuj niewielkich zmian, patrz na rezultaty i zachowuj je bądź odrzucaj. Przykładowe zmiany to zamiana słowa na synonim, dodanie przymiotnika, bądź przysłówka, czy dodanie określenia obiektu.
- Dodaj określenia dotyczące stylu.
- Generuj i wybieraj wariacje obrazów aż otrzymasz pożądany efekt.S
Systemy generujące tekst
Kolejnym typem systemów są zyskujące ostatnio wielką popularność systemy generujące tekst. 2023 to rok, w którym ChatGpt zmienił sposób, w jaki tworzony jest tekst, lub nawet kod. Promptowanie jest bardzo ważnym narzędziem, które umożliwia użytkownikom szybkie i precyzyjne uzyskanie odpowiedzi na pytania z różnych dziedzin, wyrażone w rózny sposób. Może pozwolić studentom na szybkie uzyskaniu odpowiedzi na pytania z różnych dziedzin, menedżerom na podjęcie decyzji dotyczących finansów lub strategii, czy nawet pomóc lekarzom w diagnozowaniu chorób lub przepisywaniu leków
Popularność generatorów spowodowała, że pojawiłą się bardzo duża społeczność ludzi dzielących się promptami w sieci. Przykładem takiej społęczności jest portal FlowGPT (WEB3). Użytkownicy takiej platformy mają możliwość zamieszczania swoich promptów, oraz komentowania i oceniania tych dodanych przez innych użytkowników. Doprowadza to do tego, że wchodząc na platformę możliwe jest zobaczenie jakie prompty są uznawane przez społeczność za ciekawe i użyteczne. Analizując popularne prompty można wydzielić ich kilka typów.
Roleplay
Jeden z najprostszych promptów pozwalający zupełnie zmienić sposób wypowiedzi generatora, powodując, że tekst będzie miał pożądany styl i wydźwięk. Poniżej zamieszczono wygenerowany tekst, w którym poproszona chat o wygenerowanie tekstu w różnych stylach w zależności od tego kogo powinien on udawać.
Symulacja narzędzi
Prompt nakazujący naśladowanie nie ogranicza się jednak do osób mających coś opisywać. Można też w ten sposóB nakazać chatowi naśladowanie pewnych narzędzi. Powstało całę repozytorium (WEB4) na platformie github mające na celu agregację różnych promptów typu “I want you to act as …”. Poniżej zamieszczony został przykłąd wykorzystnia tego typu prompt’a do symulacji konsoli JavaScript.
Warto przyjrzeć się też innym promptom z wcześniej wymienionego repozytorium. Zamieszczone są tam prompty, któe pozwalają zasymulować takich narzędzi jak Excel, sprawdzacz pisowni, czy wyszukiwacz plagiatu.
Symulacja usługi
Odpowiednie promptowanie pozwala też zasymulować usługi, za które w normalnych okolicznościach trzeba zapłacić często niemałe pieniądze. Repozytorium Awesome Chatgpt Prompts (WEB4), zawiera kilka z takich promptów, pozwalając zasymulowanie takich usług jak nauczyciel języka, nauczyciel matematyki, czy doradca zawodowy.
Etyczne i społeczne aspekty promptowania
Jak widać, umiejętność generowania właściwych promptów, a przez to efektywnego korzystania z metod sztucznej inteligencji, nie jest bynajmniej tak prosta do nabycia i opanowania jak mogłoby się wydawać. Oczywiście porównywanie jej do kunsztu malarzy, rysowników, pisarzy czy poetów byłoby nadużyciem, prawdopodobnie nawet obraźliwym, ale wymaga ona opanowania pewnej ilości konceptów. Być może w raz z rozwojem tych technologii, będziemy mieli okazję być świadkami narodzin nowych zawodów jak na przykład prompt engineer. Być może w sekcjach twoje umiejętności ogłoszeń o pracę będziemy widywać coraz częściej umiejętności związane z umiejętnością obsługi ChatGPT. Osobiście, nie wydaje nam się to bardzo nieprawdopodobne, choć oczywiście pozostaje pytanie dotyczące sensowności tego typu trendów.
Warto jednak zwrócić uwagę na potencjalne zagrożenie, jakim jest utrata możliwości poznania człowieka poprzez jego pismo. Od czasów wynalezienia pisma dało się wiele powiedzieć o edukacji i oczytaniu człowieka na podstawie tworzonego przez niego tekstu. Osoby, które czytają mniej, mają mniejszy zasób słów i konstrukcji językowych, co może wpłynąć na jakość ich pisania. Czytanie pozwala na zdobycie wiedzy na temat różnych stylów pisarskich i sposobów wyrażania myśli, co z kolei przekłada się na umiejętność składania zdania w sposób bardziej klarowny i zrozumiały. Jednak stnienie takich narzędzi jak ChatGPT oznacza, że nie jesteśmy już w stanie określić jak bardzo ktoś zna się na np. grzybach, ponieważ dana osoba może zapromptować generator tekstu aby ten pisał jak doświadczony mykolog.
Podumowując, razem z generatorami przyją wielkie zmiany pod względem zdolności przydatnych na rynku pracy, jednak technologie te są jeszcze zbyt młode, żeby postawić jednoznaczny werdykt na temat ich wpływu na życie codzienne.
Literatura
- Nielsen, L. (2022) An advanced guide to writing prompts for Midjourney ( text-to-image), https://medium.com/mlearning-ai/an-advanced-guide-to-writing-prompts-for-midjourney-text-to-image-aa12a1e33b6
- Midjourney, https://www.midjourney.com/home/
- Ruskov, M. (2023). Grimm in Wonderland: Prompt Engineering with Midjourney to Illustrate Fairytales. arXiv preprint arXiv:2302.08961.
- FlowGPT, https://flowgpt.com/
- Awesome Chatgpt Prompts repository, https://github.com/f/awesome-chatgpt-prompts
Świetny artykuł! Bardzo dokładnie opisuje zarówno szanse, jak i wyzwania związane z wprowadzeniem kryptowalut, NFT i technologii blockchain do współczesnej…