Z radością ogłaszamy wydanie open-source GraphStorm 0.1, niskokodową platformę uczenia maszynowego (ML) dla przedsiębiorstw do tworzenia, trenowania i wdrażania rozwiązań Graph ML na złożonych wykresach w skali przedsiębiorstwa w ciągu dni zamiast miesięcy. Dzięki GraphStorm możesz tworzyć rozwiązania, które bezpośrednio uwzględniają strukturę relacji lub interakcji między miliardami podmiotów, które są nieodłącznie osadzone w większości rzeczywistych danych, w tym scenariuszach wykrywania oszustw, zaleceniach, wykrywaniu społeczności oraz problemach z wyszukiwaniem/pobieraniem.
Do tej pory budowanie, trenowanie i wdrażanie rozwiązań Graph ML dla złożonych wykresów korporacyjnych, które z łatwością mają miliardy węzłów, setki miliardów krawędzi i dziesiątki atrybutów, było niezwykle trudne — wystarczy pomyśleć o grafie przechwytującym produkty Amazon.com , atrybuty produktów, klienci i nie tylko. Wraz z GraphStorm udostępniamy narzędzia, których Amazon używa wewnętrznie do wprowadzania wielkoskalowych rozwiązań ML do tworzenia wykresów. GraphStorm nie wymaga od Ciebie bycia ekspertem w dziedzinie Graph ML i jest dostępny na licencji Apache v2.0 na GitHub. Aby dowiedzieć się więcej o GraphStorm, odwiedź stronę Repozytorium GitHub.
W tym poście przedstawiamy wprowadzenie do GraphStorm, jego architekturę oraz przykład użycia.
Przedstawiamy GraphStorm
Algorytmy grafowe i ML stają się najnowocześniejszymi rozwiązaniami wielu ważnych problemów biznesowych, takich jak przewidywanie ryzyka transakcji, przewidywanie preferencji klientów, wykrywanie włamań, optymalizacja łańcuchów dostaw, analiza sieci społecznościowych i przewidywanie ruchu. Na przykład, Amazon Guard Obowiązek, natywna usługa wykrywania zagrożeń AWS, wykorzystuje wykres z miliardami krawędzi, aby poprawić zasięg i dokładność analizy zagrożeń. Dzięki temu GuardDuty może kategoryzować wcześniej niewidziane domeny jako potencjalnie złośliwe lub niegroźne na podstawie ich powiązań ze znanymi złośliwymi domenami. Korzystając z Graph Neural Networks (GNN), GuardDuty może zwiększyć swoje możliwości ostrzegania klientów.
Jednak opracowywanie, uruchamianie i obsługa rozwiązań Graph ML zajmuje miesiące i wymaga specjalistycznej wiedzy w zakresie Graph ML. Jako pierwszy krok, naukowiec zajmujący się grafami ML musi zbudować grafowy model ML dla danego przypadku użycia przy użyciu frameworka, takiego jak Deep Graph Library (DGL). Szkolenie takich modeli jest trudne ze względu na rozmiar i złożoność grafów w aplikacjach korporacyjnych, które rutynowo obejmują miliardy węzłów, setki miliardów krawędzi, różne typy węzłów i krawędzi oraz setki atrybutów węzłów i krawędzi. Grafy korporacyjne mogą wymagać terabajtów pamięci, co wymaga od naukowców zajmujących się grafami uczenia maszynowego tworzenia złożonych potoków szkoleniowych. Wreszcie, po przeszkoleniu modelu, należy je wdrożyć do wnioskowania, co wymaga potoków wnioskowania, które są równie trudne do zbudowania jak potoki szkoleniowe.
GraphStorm 0.1 to niskokodowa platforma ML Graph ML, która umożliwia praktykom ML łatwe wybieranie predefiniowanych modeli ML grafów, które okazały się skuteczne, przeprowadzanie rozproszonego szkolenia na grafach z miliardami węzłów i wdrażanie modeli w środowisku produkcyjnym. GraphStorm oferuje kolekcję wbudowanych grafowych modeli ML, takich jak relacyjne sieci konwolucyjne grafów (RGCN), relacyjne sieci uwagi grafów (RGAT) i heterogeniczny transformator grafów (HGT) dla aplikacji korporacyjnych z heterogenicznymi grafami, które pozwalają inżynierom ML przy niewielkiej graph ekspertyzy ML, aby wypróbować różne rozwiązania modelowe dla swoich zadań i szybko wybrać właściwe. Kompleksowe rozproszone potoki uczenia i wnioskowania, które można skalować do wykresów korporacyjnych w skali miliarda, ułatwiają uczenie, wdrażanie i uruchamianie wnioskowania. Jeśli jesteś nowy w GraphStorm lub ogólnie w Graph ML, skorzystasz z predefiniowanych modeli i potoków. Jeśli jesteś ekspertem, masz wszystkie opcje dostrojenia potoku szkoleniowego i architektury modelu, aby uzyskać najlepszą wydajność. GraphStorm jest zbudowany na DGL, bardzo popularnej platformie do tworzenia modeli GNN i jest dostępny jako kod open source na licencji Apache v2.0.
„GraphStorm został zaprojektowany, aby pomóc klientom eksperymentować i wdrażać metody Graph ML do aplikacji branżowych, aby przyspieszyć przyjęcie Graph ML” — mówi George Karypis, starszy główny naukowiec w Amazon AI/ML Research. „Od momentu udostępnienia w firmie Amazon GraphStorm nawet pięciokrotnie zmniejszył nakład pracy związany z tworzeniem rozwiązań opartych na graficznym uczeniu maszynowym”.
„GraphStorm umożliwia naszemu zespołowi trenowanie osadzania GNN w sposób samonadzorowany na grafie z 288 milionami węzłów i 2 miliardami krawędzi” — mówi Haining Yu, główny naukowiec ds. stosowanych w Amazon Measurement, Ad Tech i Data Science. „Wstępnie wytrenowane osadzenie GNN pokazuje 24% poprawę w zadaniu przewidywania aktywności kupujących w stosunku do najnowocześniejszej linii bazowej opartej na BERT; przewyższa również wyniki testów porównawczych w innych aplikacjach reklamowych”.
„Przed GraphStorm klienci mogli skalować tylko w pionie, aby obsługiwać wykresy o 500 milionach krawędzi” — mówi Brad Bebee, dyrektor generalny Amazon Neptune i Amazon Timestream. „GraphStorm umożliwia klientom skalowanie szkolenia modeli GNN na ogromnych wykresach Amazon Neptune z dziesiątkami miliardów krawędzi”.
Architektura techniczna GraphStorm
Poniższy rysunek przedstawia techniczną architekturę GraphStorm.
GraphStorm jest zbudowany na bazie PyTorch i może działać na jednym GPU, wielu GPU i wielu maszynach GPU. Składa się z trzech warstw (zaznaczonych żółtymi ramkami na poprzednim rysunku):
- Dolna warstwa (Dist GraphEngine) – Dolna warstwa zawiera podstawowe komponenty umożliwiające uczenie się grafów rozproszonych, w tym grafy rozproszone, tensory rozproszone, osadzania rozproszone i próbniki rozproszone. GraphStorm zapewnia wydajne implementacje tych komponentów w celu skalowania szkolenia ML grafów do grafów o miliardach węzłów.
- Warstwa środkowa (potok szkoleniowy/wnioskowania GS) – Warstwa środkowa zapewnia trenerów, ewaluatorów i predyktorów, które upraszczają szkolenie modeli i wnioskowanie zarówno dla modeli wbudowanych, jak i modeli niestandardowych. Zasadniczo, korzystając z API tej warstwy, możesz skupić się na rozwoju modelu, nie martwiąc się o to, jak skalować trening modelu.
- Górna warstwa (ogólny model ogrodu zoologicznego GS) – Górna warstwa to modelowe zoo z popularnymi modelami GNN i non-GNN dla różnych typów wykresów. W chwili pisania tego tekstu zapewnia RGCN, RGAT i HGT dla grafów heterogenicznych oraz BERTGNN dla grafów tekstowych. W przyszłości dodamy obsługę modeli wykresów czasowych, takich jak TGAT dla wykresów czasowych oraz TransE i DistMult dla wykresów wiedzy.
Jak korzystać z GraphStorma
Po zainstalowaniu GraphStorm wystarczą tylko trzy kroki, aby zbudować i wyszkolić modele GML dla Twojej aplikacji.
Najpierw wstępnie przetwarzasz swoje dane (potencjalnie łącznie z niestandardową inżynierią funkcji) i przekształcasz je w format tabeli wymagany przez GraphStorm. Dla każdego typu węzła definiujesz tabelę zawierającą wszystkie węzły tego typu i ich cechy, podając unikalny identyfikator dla każdego węzła. Dla każdego typu krawędzi w podobny sposób definiujesz tabelę, w której każdy wiersz zawiera identyfikatory węzła źródłowego i docelowego dla krawędzi tego typu (więcej informacji znajduje się w Skorzystaj z własnego samouczka dotyczącego danych). Ponadto udostępniasz plik JSON opisujący ogólną strukturę wykresu.
Po drugie, poprzez interfejs wiersza poleceń (CLI), korzystasz z wbudowanego interfejsu GraphStorm construct_graph
komponent do przetwarzania danych specyficznych dla GraphStorm, który umożliwia efektywne rozproszone szkolenie i wnioskowanie.
Po trzecie, konfigurujesz model i szkolenie w pliku YAML (przykład) i ponownie za pomocą interfejsu CLI wywołaj jeden z pięciu wbudowanych komponentów (gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) jako potoki szkoleniowe do uczenia modelu. W wyniku tego kroku zostaną wyszkolone artefakty modelu. Aby przeprowadzić wnioskowanie, należy powtórzyć pierwsze dwa kroki w celu przekształcenia danych wnioskowania w wykres przy użyciu tego samego komponentu GraphStorm (construct_graph
) jak wcześniej.
Na koniec można wywołać jeden z pięciu wbudowanych składników, tego samego, który był używany do uczenia modeli, jako potok wnioskowania do generowania osadzania lub wyników prognozowania.
Ogólny przepływ jest również przedstawiony na poniższym rysunku.
W następnej sekcji przedstawiamy przykładowy przypadek użycia.
Dokonuj prognoz na surowych danych OAG
W tym poście pokazujemy, jak łatwo GraphStorm może włączyć trenowanie Graph ML i wnioskowanie na dużym surowym zbiorze danych. The Otwórz wykres akademicki (OAG) obejmuje pięć podmiotów (artykuły, autorów, miejsca, afiliacje i dziedzinę nauki). Surowy zestaw danych jest przechowywany w plikach JSON o pojemności ponad 500 GB.
Naszym zadaniem jest zbudowanie modelu do przewidywania dziedziny studiów artykułu. Aby przewidzieć dziedzinę nauki, można sformułować to jako zadanie klasyfikacji z wieloma etykietami, ale trudno jest użyć kodowania na gorąco do przechowywania etykiet, ponieważ istnieją setki tysięcy pól. Dlatego powinieneś utworzyć węzły dziedzinowe i sformułować ten problem jako zadanie przewidywania powiązań, przewidujące, z którymi węzłami dziedzinowymi powinien się połączyć węzeł papierowy.
Aby wymodelować ten zbiór danych metodą grafową, pierwszym krokiem jest przetworzenie zbioru danych i wyodrębnienie jednostek i krawędzi. Możesz wyodrębnić pięć typów krawędzi z plików JSON, aby zdefiniować wykres, jak pokazano na poniższym rysunku. Możesz użyć notatnika Jupyter w GraphStorm przykładowy kod przetworzyć zestaw danych i wygenerować pięć tabel jednostek dla każdego typu jednostek i pięć tabel krawędzi dla każdego typu krawędzi. Notatnik Jupyter generuje również osadzania BERT na jednostkach z danymi tekstowymi, takimi jak dokumenty.
Po zdefiniowaniu elementów i krawędzi między elementami można tworzyć mag_bert.json
, który definiuje schemat grafu i wywołuje wbudowany potok konstruowania grafu construct_graph
w GraphStorm, aby zbudować wykres (zobacz poniższy kod). Mimo że potok konstruowania grafu GraphStorm działa na jednej maszynie, obsługuje on przetwarzanie wieloprocesorowe w celu równoległego przetwarzania węzłów i funkcji krawędzi (--num_processes
) i może przechowywać obiekty i funkcje krawędzi w pamięci zewnętrznej (--ext-mem-workspace
) w celu skalowania do dużych zestawów danych.
Aby przetworzyć tak duży wykres, potrzebujesz instancji procesora o dużej pamięci do skonstruowania wykresu. Możesz użyć Elastyczna chmura obliczeniowa Amazon (Amazon EC2) instancja r6id.32xlarge (128 vCPU i 1 TB RAM) lub instancje r6a.48xlarge (192 vCPU i 1.5 TB RAM) do skonstruowania wykresu OAG.
Po zbudowaniu wykresu możesz użyć gs_link_prediction
wytrenować model przewidywania linków na czterech instancjach g5.48xlarge. W przypadku korzystania z wbudowanych modeli można wywołać tylko jeden wiersz polecenia, aby uruchomić rozproszone zadanie szkoleniowe. Zobacz następujący kod:
Po szkoleniu modelu artefakt modelu jest zapisywany w folderze /data/mag_lp_model
.
Teraz możesz uruchomić wnioskowanie o przewidywaniu powiązań, aby wygenerować osadzenie GNN i ocenić wydajność modelu. GraphStorm zapewnia wiele wbudowanych metryk oceny do oceny wydajności modelu. Na przykład w przypadku problemów z przewidywaniem powiązań GraphStorm automatycznie generuje metrykę średniej wzajemnej rangi (MRR). MRR jest cenną miarą do oceny modeli przewidywania połączeń grafów, ponieważ ocenia, jak wysoko rzeczywiste łącza są uszeregowane wśród przewidywanych łączy. Pozwala to uchwycić jakość prognoz, upewniając się, że nasz model prawidłowo nadaje priorytet prawdziwym powiązaniom, co jest naszym celem w tym przypadku.
Możesz uruchomić wnioskowanie za pomocą jednego wiersza polecenia, jak pokazano w poniższym kodzie. W tym przypadku model osiąga MRR na poziomie 0.31 na zbiorze testowym konstruowanego grafu.
Należy zauważyć, że potok wnioskowania generuje osadzania z modelu przewidywania powiązań. Aby rozwiązać problem znalezienia kierunku studiów dla dowolnej pracy, po prostu przeprowadź wyszukiwanie k-najbliższych sąsiadów na osadzaniach.
Wnioski
GraphStorm to nowa platforma Graph ML, która ułatwia tworzenie, trenowanie i wdrażanie modeli Graph ML na wykresach branżowych. Zajmuje się niektórymi kluczowymi wyzwaniami związanymi z ML grafów, w tym skalowalnością i użytecznością. Zapewnia wbudowane komponenty do przetwarzania grafów w skali miliarda, od surowych danych wejściowych po szkolenie modeli i wnioskowanie o modelach, a także umożliwiło wielu zespołom Amazon szkolenie najnowocześniejszych modeli ML grafów w różnych aplikacjach. Sprawdź nasze Repozytorium GitHub po więcej informacji.
O autorach
Da Zheng jest starszym naukowcem stosowanym w badaniach AWS AI/ML, kierującym zespołem uczenia maszynowego zajmującym się grafami w celu opracowania technik i ram umożliwiających wdrożenie uczenia maszynowego grafów w produkcji. Tata zrobił doktorat z informatyki na Johns Hopkins University.
Floriana Saupe'a jest głównym kierownikiem produktu technicznego w AWS AI/ML research, wspierając zaawansowane zespoły naukowe, takie jak grupa graph machine learning, oraz ulepszając produkty, takie jak Amazon DataZone, z możliwościami ML. Przed dołączeniem do AWS Florian kierował zarządzaniem produktami technicznymi w zakresie zautomatyzowanej jazdy w firmie Bosch, był konsultantem ds. strategii w firmie McKinsey & Company oraz pracował jako naukowiec zajmujący się systemami sterowania/robotykiem — w tej dziedzinie ma stopień doktora.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- EVM Finanse. Ujednolicony interfejs dla zdecentralizowanych finansów. Dostęp tutaj.
- Quantum Media Group. Wzmocnienie IR/PR. Dostęp tutaj.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :ma
- :Jest
- $W GÓRĘ
- 1
- 1 TB
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- Zdolny
- O nas
- akademicki
- przyśpieszyć
- Konto
- precyzja
- działalność
- rzeczywisty
- Ad
- Dodaj
- dodatek
- Adresy
- Przyjęcie
- Reklamy
- zaawansowany
- powiązania
- Po
- ponownie
- AI / ML
- Alarm
- Algorytmy
- Wszystkie kategorie
- dopuszczać
- pozwala
- również
- Amazonka
- Amazon EC2
- Amazon Neptun
- Strumień czasu Amazona
- Amazon Web Services
- Amazon.com
- wśród
- an
- analiza
- i
- Ogłosić
- przewidywanie
- każdy
- Apache
- api
- Zastosowanie
- aplikacje
- stosowany
- architektura
- SĄ
- AS
- Stowarzyszenie
- At
- Uwaga
- atrybuty
- Autorzy
- zautomatyzowane
- automatycznie
- dostępny
- AWS
- na podstawie
- Baseline
- podstawowy
- Gruntownie
- BE
- bo
- być
- zanim
- Benchmark
- korzyści
- BEST
- pomiędzy
- Miliard
- miliardy
- obie
- Dolny
- Skrzynki
- ćwiek
- przynieść
- budować
- wybudowany
- wbudowany
- biznes
- ale
- by
- CAN
- możliwości
- przechwytuje
- Przechwytywanie
- walizka
- więzy
- wyzwania
- wyzwanie
- ZOBACZ
- klasyfikacja
- kod
- kolekcja
- COM
- społeczność
- sukcesy firma
- kompleks
- kompleksowość
- składnik
- składniki
- obliczać
- komputer
- Computer Science
- Skontaktuj się
- połączenia
- składa się
- skonstruować
- budowy
- Budowa
- konsultant
- zawiera
- kontrola
- mógłby
- pokrycie
- Stwórz
- zwyczaj
- klient
- Klientów
- da
- dane
- analiza danych
- nauka danych
- zbiory danych
- Dni
- głęboko
- Definiuje
- definiowanie
- wykazać
- rozwijać
- wdrażane
- zaprojektowany
- miejsce przeznaczenia
- Wykrywanie
- rozwijać
- rozwijanie
- oprogramowania
- tak jak
- różne
- trudny
- bezpośrednio
- dystrybuowane
- szkolenia rozproszone
- do
- Nie
- domeny
- dziesiątki
- jazdy
- z powodu
- każdy
- z łatwością
- łatwo
- krawędź
- Efektywne
- wydajny
- wysiłek
- osadzone
- osadzanie
- wschodzących
- umożliwiać
- włączony
- Umożliwia
- koniec końców
- Inżynieria
- Inżynierowie
- wzmacniać
- Enterprise
- podmioty
- jednostka
- oceniać
- oceny
- ewaluację
- Parzyste
- przykład
- przekracza
- podniecony
- eksperyment
- ekspert
- ekspertyza
- zewnętrzny
- wyciąg
- Cecha
- Korzyści
- pole
- Łąka
- Postać
- filet
- Akta
- W końcu
- znalezieniu
- i terminów, a
- pływ
- Skupiać
- następujący
- W razie zamówieenia projektu
- format
- cztery
- Framework
- Ramy
- oszustwo
- wykrywanie oszustw
- od
- przyszłość
- Ogólne
- Generować
- generuje
- George
- otrzymać
- GitHub
- dany
- GM
- GPU
- GPU
- wykres
- wykresy
- Zarządzanie
- uchwyt
- Ciężko
- Have
- he
- pomoc
- tutaj
- Wysoki
- wysoko
- jego
- posiada
- W jaki sposób
- Jak wysoka
- How To
- http
- HTTPS
- Setki
- ID
- ids
- if
- ważny
- podnieść
- poprawa
- poprawy
- in
- W innych
- Włącznie z
- przemysł
- Informacja
- właściwie
- wkład
- Instalacja
- przykład
- zamiast
- Inteligencja
- Interakcje
- Interfejs
- wewnętrznie
- najnowszych
- Wprowadzenie
- IT
- JEGO
- Praca
- Johns Hopkins University
- łączący
- jpg
- json
- właśnie
- Klawisz
- wiedza
- znany
- Etykiety
- duży
- na dużą skalę
- uruchomić
- wodowanie
- warstwa
- nioski
- prowadzić
- prowadzący
- UCZYĆ SIĘ
- nauka
- Biblioteka
- Licencja
- lubić
- Prawdopodobnie
- Linia
- LINK
- linki
- wykazy
- mało
- maszyna
- uczenie maszynowe
- maszyny
- Maj
- robić
- WYKONUJE
- Dokonywanie
- i konserwacjami
- kierownik
- sposób
- wiele
- wyraźny
- masywny
- McKinsey
- McKinsey & Company
- oznaczać
- pomiary
- Pamięć
- metoda
- metody
- metryczny
- Metryka
- Środkowy
- milion
- ML
- model
- modele
- miesięcy
- jeszcze
- większość
- wielokrotność
- rodzimy
- Potrzebować
- Neptun
- sieć
- sieci
- sieci neuronowe
- Nowości
- węzeł
- węzły
- notatnik
- już dziś
- cel
- of
- Oferty
- on
- ONE
- tylko
- open source
- kod open source
- operacyjny
- optymalizacji
- Opcje
- or
- Inne
- ludzkiej,
- na zewnątrz
- koniec
- ogólny
- własny
- Papier
- Papiery
- Parallel
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- wybierać
- rurociąg
- plato
- Analiza danych Platona
- PlatoDane
- Popularny
- Post
- potencjalnie
- przewidzieć
- Przewiduje
- przewidywanie
- przepowiednia
- Przewidywania
- preferencje
- poprzednio
- Główny
- Problem
- problemy
- wygląda tak
- przetwarzanie
- Produkt
- zarządzanie produktem
- product manager
- Produkcja
- Produkty
- Sprawdzony
- zapewniać
- zapewnia
- że
- położyć
- płomień
- jakość
- szybko
- RAM
- w rankingu
- Surowy
- dosięgnąć
- Osiąga
- Prawdziwy świat
- zalecenia
- Zredukowany
- Relacje
- zwolnić
- powtarzać
- wymagać
- wymagany
- Wymaga
- Badania naukowe
- Efekt
- prawo
- ryzyko
- rutynowo
- RZĄD
- run
- taki sam
- mówią
- Skalowalność
- Skala
- scenariusze
- nauka
- Naukowiec
- Naukowcy
- Szukaj
- Sekcja
- widzieć
- senior
- usługa
- Usługi
- zestaw
- powinien
- pokazać
- pokazane
- Targi
- Podobnie
- upraszczać
- po prostu
- pojedynczy
- Rozmiar
- Obserwuj Nas
- serwis społecznościowy
- Rozwiązania
- ROZWIĄZANIA
- kilka
- Źródło
- state-of-the-art
- Ewolucja krok po kroku
- Cel
- przechowywanie
- sklep
- przechowywany
- Strategia
- Struktura
- Badanie
- taki
- Dostawa
- Dostarczać łańcuchy
- wsparcie
- Wspierający
- podpory
- stół
- Brać
- trwa
- Zadanie
- zespół
- Zespoły
- tech
- Techniczny
- Techniki
- kilkadziesiąt
- test
- że
- Połączenia
- Przyszłość
- Wykres
- Źródło
- ich
- Tam.
- w związku z tym
- Te
- one
- myśleć
- to
- chociaż?
- tysiące
- groźba
- trzy
- czasy
- do
- narzędzia
- Top
- ruch drogowy
- Pociąg
- przeszkolony
- Trening
- transakcja
- Przekształcać
- transformator
- prawdziwy
- próbować
- drugiej
- rodzaj
- typy
- dla
- wyjątkowy
- uniwersytet
- użyteczność
- posługiwać się
- przypadek użycia
- używany
- zastosowania
- za pomocą
- Cenny
- różnorodny
- miejsc
- pionowo
- przez
- Odwiedzić
- była
- Droga..
- we
- sieć
- usługi internetowe
- DOBRZE
- jeśli chodzi o komunikację i motywację
- który
- szeroko
- będzie
- w
- bez
- pracował
- pisanie
- jamla
- You
- Twój
- zefirnet
- ZOO