Povečevanje velikosti jezikovnih modelov je eden največjih trendov v obdelavi naravnega jezika (NLP) v zadnjih letih. Od leta 2018 smo bili priča razvoju in uvajanju vse večjih jezikovnih modelov brez primere, vključno z BERT in njegovimi različicami, GPT-2, T-NLG in GPT-3 (175 milijard parametrov).
Ti modeli so premaknili meje možnih arhitekturnih inovacij. Pri usposabljanju obsežnih modelov globokega učenja se soočamo z več izzivi, zlasti z novim valom generativnih vnaprej usposobljenih transformatorjev. Ti izzivi vključujejo omejitve strojne opreme in kompromise z računanjem in učinkovitostjo. Za premagovanje teh izzivov vzporednosti modelov in podatkov AWS ponuja široko paleto zmogljivosti.
V tem prispevku predstavljamo dva glavna pristopa: vzporeditev podatkov in uporabo paralelizacije modela Amazon SageMakerin razpravljali o njihovih prednostih in slabostih.
Model
Za jezikovni model uporabljamo v prispevku predstavljene transformatorje Pozornost je vse, kar potrebujete. Transformatorji so modeli globokega učenja, zasnovani tako, da se namenoma izognejo pastem RNN-jev, tako da se zanašajo na mehanizem samopozornosti, da narišejo globalne odvisnosti med vhodom in izhodom. Arhitektura modela Transformer omogoča znatno boljšo paralelizacijo in lahko doseže visoko zmogljivost v relativno kratkem času usposabljanja. Zgrajen na uspehu Transformerjev, BERT, predstavljen v časopisu BERT: predhodno usposabljanje globokih dvosmernih transformatorjev za jezikovno razumevanje, dodano dvosmerno predhodno usposabljanje za predstavitev jezika. Po navdihu naloge Cloze je BERT predhodno usposobljen za modeliranje maskiranega jezika (MLM), pri katerem se model nauči obnoviti izvirne besede za naključno maskirane žetone. Model BERT je tudi predhodno usposobljen za nalogo napovedi naslednjega stavka (NSP), da napove, ali sta dva stavka v pravilnem vrstnem redu branja. Od njegovega pojava leta 2018 se BERT in njegove različice pogosto uporabljajo v jezikovnih modelih.
Začnemo z ustvarjanjem dveh vdelanih plasti za žetonsko in pozicijsko vdelavo. Vhodne vdelave so vsota vdelav žetonov in vdelav pozicij.
Nato definiramo transformatorski dekodirni blok z dvema podslojema: plastjo samopozornosti z več glavami in preprostim popolnoma povezanim omrežjem za naprej, ki mu sledita normalizacija in izpad plasti:
Končno ustvarimo naš jezikovni model s predhodnim vdelanim slojem in transformatorskimi bloki:
Odvisno od vaših hiperparametrov lahko ta model prilagodite na več tisoč parametrov na milijarde parametrov. Primarni izziv pri modelih z milijardo parametrov je, da modela ne morete gostiti v enem primeru in morate model porazdeliti po več vozliščih za usposabljanje in sklepanje.
Nabor podatkov
V naših poskusih smo uporabili Nabor podatkov Pile. Pile je 800 GiB nabor podatkov angleškega besedila, zasnovan za usposabljanje obsežnih jezikovnih modelov. Ustvarjen je iz 22 raznolikih in visokokakovostnih naborov podatkov, vključno z uveljavljenimi nabori podatkov NLP in na novo uvedenimi.
Nabor podatkov je ustvarjen iz različnih virov podatkov, vključno s knjigami; repozitoriji GitHub; spletne strani; dnevniki klepetov; ter članke iz medicine, fizike, matematike, računalništva in filozofije. Natančneje, uporablja naslednje vire: Pile-CC, PubMed Central, ArXiv, GitHub, FreeLaw Project, Stack Exchange, Urad ZDA za patente in blagovne znamke, PubMed, Ubuntu, IRC, HackerNews, YouTube, PhilPapers, Books3, Project Gutenberg ( PG-19), OpenSubtitles, angleška Wikipedia, DM Mathematics, EuroParl, korpus Enron Emails in NIH ExPorter. Vključuje tudi OpenWebText2 in BookCorpus2, ki sta razširitvi izvirnih naborov podatkov OpenWebText oziroma BookCorpus. Raznolikost podatkovnih virov lahko izboljša splošno znanje med domenami in posledično izboljša zmožnosti posploševanja na nižji stopnji.
Glavni izziv pri tem naboru podatkov je sama velikost; nabor podatkov ima 825 GiB besedila, kar pomeni 4.2 TiB vnaprej obdelanih in stisnjenih podatkovnih točk. Podobno kot izzivi, s katerimi se srečujemo pri usposabljanju in gostovanju modelov, bo usposabljanje modela s tem naborom podatkov na enem primeru vzelo veliko časa in ni praktično.
Naša rešitev je, da nabor podatkov razdelimo na približno 1 GiB dele podatkov, naložimo in predhodno obdelamo funkcije v Nabor podatkov TensorFlow predmete in jih shranite Amazon Elastic File Service (Amazon EFS). Nabori podatkov TensorFlow zagotavljajo enostaven za uporabo in visoko zmogljiv podatkovni cevovod, ki se dobro integrira z našimi modeli. Amazon EFS je storitev, enostavna za uporabo, ki nam omogoča, da zgradimo datotečni sistem v skupni rabi, ki se samodejno prilagaja, ko se datoteke dodajajo in brišejo. Poleg tega je Amazon EFS sposoben dvigniti višjo prepustnost, ko je to potrebno, kar je ključnega pomena v našem sistemu za usposabljanje podatkov in modelov.
Nato preučimo porazdeljene strategije usposabljanja za spopadanje s temi izzivi.
Porazdeljeno usposabljanje
V tem projektu smo se soočili z dvema izzivoma: skaliranjem velikosti modela in količine podatkov. Povečanje velikosti modela in števila parametrov, ki jih je mogoče učiti, lahko povzroči boljšo natančnost, vendar obstaja omejitev modela, ki ga lahko vstavite v en pomnilnik GPE ali celo v več GPE v enem primeru. Poleg tega večje velikosti modelov zahtevajo več časa za treniranje.
Teh izzivov se lahko lotite na dva različna načina: vzporednost podatkov in vzporednost modelov. S paralelizmom podatkov izvajamo stohastični gradientni spust (SGD) z distribucijo zapisov mini serije po različnih napravah, da pospešimo usposabljanje. Vendar vzporedno usposabljanje podatkov vključuje dodatno zapletenost računanja minipaketnega gradientnega povprečja z gradienti iz vseh naprav, korak, imenovan AllReduce
, ki postane težje, ko se grozd za usposabljanje poveča. Pri uporabi podatkovne paralelnosti moramo biti sposobni prilagoditi model in eno podatkovno točko v napravi (CPE ali GPE), kar je omejevalni dejavnik v naših poskusih, ker je velikost tako velikega modela veliko večja od pomnilnika posamezne GPE. velikost.
Druga rešitev je uporaba paralelizma modela, ki razdeli model na več naprav. Paralelizem modela je postopek razdelitve modela med več naprav ali vozlišč (kot so primerki, opremljeni z grafično procesorsko enoto) in ustvarjanje učinkovitega cevovoda za usposabljanje modela v teh napravah za čim večjo uporabo grafične procesorske enote.
Paralelizacija podatkov
Vzporedno zbiranje podatkov je najpogostejši pristop k več grafičnih procesorjem ali porazdeljenemu usposabljanju. Svoje podatke lahko združite v pakete, jih pošljete v več naprav (vsaka gosti podvojen model), nato pa združite rezultate. Eksperimentirali smo z dvema paketoma za paralelizacijo podatkov: Horovod in the Porazdeljena podatkovna vzporedna knjižnica SageMaker.
Horovod je distribuirano ogrodje za usposabljanje za globoko učenje za TensorFlow, Keras, PyTorch in Apache MXNet. Za uporabo Horovoda smo šli skozi naslednji postopek:
- Inicializirajte z zagonom
hvd.init()
. - Vsako napravo povežite z enim procesom. Prvi proces ali delavec je povezan s prvo napravo, drugi proces je povezan z drugo napravo in tako naprej.
- Prilagodite hitrost učenja glede na število naprav.
- Zavijte optimizator
hvd.DistributedOptimizer
. - Oddaj začetna stanja spremenljivke od prvega delavca z rangom 0 vsem ostalim procesom. To je potrebno za zagotovitev dosledne inicializacije vseh delavcev, ko se usposabljanje začne z naključnimi utežmi ali se obnovi s kontrolne točke.
- Prepričajte se, da samo naprava 0 lahko shrani kontrolne točke, da preprečite, da bi jih drugi delavci poškodovali.
Sledi scenarij usposabljanja:
Vzporedna podatkovna knjižnica SageMaker nam omogoča prilagajanje našega usposabljanja s skoraj linearno učinkovitostjo in pospeši naše usposabljanje z minimalnimi spremembami kode. Knjižnica izvaja po meri AllReduce
delovanje in optimizira komunikacijo med napravami s popolno uporabo omrežne infrastrukture AWS in Amazonski elastični računalniški oblak (Amazon EC2) topologija primerka. Za uporabo vzporedne podatkovne knjižnice SageMaker smo šli skozi naslednji postopek:
- Uvozi in inicializiraj
sdp.init()
. - Vsako napravo povežite z eno samo
smdistributed.dataparallel
postopek zlocal_rank
.sdp.tensorflow.local_rank()
nam daje lokalni rang naprav. Vodja ima rang 0, delavci pa rang 1, 2, 3 itd. - Prilagodite hitrost učenja glede na število naprav.
- Ovijte
tf.GradientTape
zDistributedGradientTape
nastopitiAllReduce
. - Razširite začetne spremenljivke modela iz vodilnega vozlišča vsem delovnim vozliščem.
- Prepričajte se, da samo naprava 0 lahko shrani kontrolne točke.
Paralelizacija modela
Hiperparametre lahko prilagodimo tako, da ostane model dovolj majhen za usposabljanje z uporabo enega samega GPE-ja, lahko pa uporabimo vzporednost modela, da model razdelimo med več GPU-jev v več instancah. Povečanje števila parametrov modela, ki jih je mogoče učiti, lahko povzroči boljšo natančnost, vendar obstaja omejitev največje velikosti modela, ki jo lahko shranite v en pomnilnik GPE. Uporabili smo porazdeljeno vzporedno knjižnico modelov SageMaker za usposabljanje naših večjih modelov. Koraki so naslednji:
- Uvozite in inicializirajte knjižnico z
smp.init()
. - Model Keras mora podedovati smp.DistributedModel namesto razreda modela Keras.
- Kompleti
drop_remainder=True
vtf.Dataset.batch()
metoda za zagotovitev, da je velikost serije vedno deljiva s številom mikroserij. - Vse naključne operacije v podatkovnem cevovodu morajo uporabljati isto seme:
smp.dp_rank()
, Na primer,shuffle(ds, seed=smp.dp_rank())
. To zagotavlja skladnost vzorcev podatkov med napravami, ki imajo različne modelne particije. - Logika naprej in nazaj mora biti v stopenjski funkciji
smp.step
okras. - Izvedite naknadno obdelavo izhodov v mikroserijah z uporabo metod StepOutput, kot je npr
reduce_mean
.smp.step
funkcija mora imeti vrnjeno vrednost, ki je odvisna od izhodasmp.DistributedModel
.
Scenarij usposabljanja je naslednji:
Za podroben vodnik za omogočanje skripta za usposabljanje TensorFlow za vzporedno knjižnico distribuiranega modela SageMaker glejte Spremenite skript za usposabljanje TensorFlow. Za PyTorch glejte Spremenite skript za usposabljanje PyTorch.
Odpravljalnik napak SageMaker
V prejšnjih razdelkih smo razpravljali o tem, kako optimizirati usposabljanje z uporabo modelov in tehnik paralelizacije podatkov. z Napaka Amazon SageMaker, lahko zdaj zajamemo podatke o profiliranju uspešnosti iz naših treningov, da ugotovimo, koliko se je trening izboljšal. Razhroščevalnik privzeto zajame sistemske meritve za vsako učno opravilo SageMaker, kot so GPU, uporaba CPE, pomnilnik, omrežje in V/I v intervalu vzorčenja 500 milisekund. Do podatkov lahko dostopamo na naslednji način:
Debugger ponuja pripomočke za vizualizirati podatke profiliranja na različne načine. V naslednjem primeru vidimo skupno uporabo GPE in CPE ter čakalni čas V/I za opravilo usposabljanja z več GPU z uporabo Horovoda. Za ustvarjanje teh grafov zaženemo naslednjo kodo:
Izkoriščenost GPU pogosto niha med 0–100 %, dolgi V/I čakalni časi z nizko izkoriščenostjo GPE pa so pokazatelj ozkega V/I grla. Poleg tega celotna izkoriščenost procesorja nikoli ne preseže 70 %, kar pomeni, da lahko izboljšamo predprocesiranje podatkov s povečanjem števila delovnih procesov.
Učinkovitost lahko izboljšamo s prehodom s Horovoda na porazdeljeno podatkovno vzporedno knjižnico SageMaker. V naslednjih grafih lahko vidimo, da se grafični procesorji uporabljajo učinkoviteje in le za kratek čas padejo na nizko izkoriščenost.
Infrastruktura za usposabljanje
Za usposabljanje modelov smo uporabili primerke velikosti 10 ml.p3.16xlarge z učnim opravilom SageMaker. SageMaker zmanjša čas in stroške za usposabljanje in prilagajanje modelov strojnega učenja (ML) brez potrebe po upravljanju infrastrukture. S SageMakerjem lahko enostavno trenirate in prilagajate modele ML z uporabo vgrajenih orodij za upravljanje in sledenje poskusom usposabljanja, samodejno izbirate optimalne hiperparametre, odpravljate napake pri izobraževalnih opravilih in spremljate uporabo sistemskih virov, kot so GPE, CPU in pasovna širina omrežja. Podatke je gostil Amazon EFS, kar nam je omogočilo rast in krčenje, ko dodajamo in odstranjujemo datoteke brez potrebe po upravljanju ali zagotavljanju. Naši glavni cilji so bili izboljšati hitrost usposabljanja in zmanjšati stroške.
Razširljivost modela
Čeprav se ta infrastruktura uporablja predvsem za ustvarjanje jezikov, lahko z arhitekturo GPT in naborom podatkov Pile uporabite te tehnike za usposabljanje transformatorskih modelov velikega obsega, kar je uporabno na številnih področjih zunaj NLP. V samem strojnem učenju se številne naloge računalniškega vida zdaj rešujejo z arhitekturami velikih parametrov (transformatorji), kjer se je pokazalo, da prekašajo tradicionalne CNN (konvolucijska nevronska mreža) pri nalogah, kot je učenje predstavitve (glej Napredovanje najsodobnejšega računalniškega vida s samonadzorovanimi transformatorji in 10-krat učinkovitejšim usposabljanjem) in obsežno preslikavo slik v besedilo (kot npr CLIP). Modeli z velikimi parametri prav tako orjejo ledino v znanosti o življenju na področjih, kot je analiza strukture beljakovin in analiza medicinskih slikovnih podatkov.
Rešitve, ki jih podrobno opisujemo v tej objavi za porazdeljeno usposabljanje in upravljanje velikih modelov, bi morale veljati tudi za modele v kateri koli od teh domen.
Kompromisi
V raziskovalni skupnosti poteka stalna razprava o tveganjih usposabljanja obsežnih jezikovnih modelov in o tem, ali je bilo dovolj razmišljanja o možnih tveganjih, povezanih z njihovim razvojem, in o strategijah za ublažitev teh tveganj, med katerimi so nekatera finančna in okoljski stroški. Po mnenju a papirja objavljeno v ACM, je bilo ocenjeno, da usposabljanje enega samega osnovnega modela BERT (brez nastavitve hiperparametrov) na grafičnih procesorjih zahteva toliko energije kot transameriški let. Vplivi na okolje se spreminjajo z velikostjo modela in zmožnost učinkovitega natančnega prilagajanja takšnih modelov lahko znatno zmanjša emisije. AWS je pred kratkim lansiral novo Orodje za ogljični odtis strank, ki je na voljo vsem strankam AWS brezplačno, kot del Amazonovih prizadevanj za povečanje trajnosti in zmanjšanje emisij ogljika. Izvajanje aplikacij v oblaku AWS lahko potencialno zmanjša ogljični odtis (v primerjavi s podjetniškimi podatkovnimi centri, ki so bili anketirani v poročilo 2019).
zaključek
Ta objava je prikazala rešitev, ki olajša fino nastavitev jezikovnih modelov z milijardo parametrov v oblaku AWS z uporabo SageMakerja.
Za več informacij o vzporednosti modela s SageMakerjem glejte Urite 175+ milijard NLP modelov parametrov z vzporednimi dodatki modelov in Hugging Face na Amazon SageMaker in Kako je Latent Space s pomočjo knjižnice paralelnosti modela Amazon SageMaker potisnil meje velikih transformatorjev.
Če želite pomoč pri pospeševanju uporabe ML v svojih izdelkih in procesih, se obrnite na Amazon ML Solutions Lab.
O avtorjih
Sia Gholami je višji podatkovni znanstvenik v Amazon ML Solutions Lab, kjer gradi rešitve AI/ML za stranke v različnih panogah. Navdušen je nad obdelavo naravnega jezika (NLP) in globokim učenjem. Sia izven službe rada preživlja čas v naravi in igra tenis.
Mehdi Noorije vodja in višji aplikativni znanstvenik v Amazon ML Solutions Lab, kjer dela s strankami v različnih panogah in jim pomaga pospešiti njihovo migracijsko pot v oblak ter rešiti njihove težave z ML z uporabo najsodobnejših rešitev in tehnologije.
Muhyun Kim je podatkovni znanstvenik v laboratoriju Amazon Machine Learning Solutions. Različne poslovne probleme stranke rešuje z uporabo strojnega učenja in poglobljenega učenja, pomaga pa jim tudi, da postanejo usposobljeni.
Danny Byrd je uporabni znanstvenik v Amazon ML Solutions Lab. V laboratoriju je strankam pomagal razviti napredne rešitve ML, v specialitetah ML od računalniškega vida do učenja s krepitvijo. Navdušen je nad potiskanjem tehnologije naprej in sproščanjem novih potencialov izdelkov AWS na tej poti.
Francisco Calderon Rodriguez je podatkovni znanstvenik v Amazon ML Solutions Lab. Kot član laboratorija ML Solutions Lab pomaga pri reševanju kritičnih poslovnih problemov za stranke AWS z uporabo globokega učenja. V prostem času Francisco rad igra glasbo in kitaro, igra nogomet s svojima hčerkama in preživlja čas s svojo družino.
Yohei Nakayama je arhitekt poglobljenega učenja v Amazon ML Solutions Lab. Sodeluje s strankami v različnih vertikalah, da bi pospešil njihovo uporabo umetne inteligence in storitev AWS Cloud za reševanje njihovih poslovnih izzivov. Zanima ga uporaba tehnologij ML/AI v vesoljski industriji.
Nathalie Rauschmayr je višja uporabna znanstvenica pri AWS, kjer strankam pomaga pri razvoju aplikacij za globoko učenje.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/create-train-and-deploy-a-billion-parameter-language-model-on-terabytes-of-data-with-tensorflow-and- amazon-sagemaker/
- "
- 10
- 100
- 2019
- a
- O meni
- pospeši
- pospeševanje
- dostop
- Po
- Doseči
- čez
- dodano
- Poleg tega
- napredno
- vsi
- omogoča
- vedno
- Amazon
- Analiza
- API
- aplikacije
- uporabna
- Uporabi
- Uporaba
- pristop
- pristopi
- približno
- architectural
- Arhitektura
- Umetnost
- umetni
- Umetna inteligenca
- povezan
- pozornosti
- samodejno
- Na voljo
- povprečno
- AWS
- ker
- počutje
- med
- Poleg
- večji
- največji
- Billion
- milijardah
- Block
- knjige
- izgradnjo
- Gradi
- vgrajeno
- poslovni
- Zmogljivosti
- lahko
- zajemanje
- ujame
- ogljika
- Emisije ogljikovega
- Osrednji
- izziv
- izzivi
- Izberite
- razred
- Cloud
- storitev v oblaku
- Koda
- Skupno
- Komunikacija
- skupnost
- v primerjavi z letom
- računanje
- Izračunajte
- računalnik
- Računalništvo
- računalništvo
- povezane
- Proti
- dosledno
- kontakt
- stroški
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- kritično
- po meri
- Stranke, ki so
- datum
- Centri podatki
- podatkovni znanstvenik
- globoko
- Dokazano
- odvisno
- razporedi
- uvajanje
- zasnovan
- Podatki
- podrobno
- Ugotovite,
- Razvoj
- razvoju
- Razvoj
- naprava
- naprave
- drugačen
- razpravlja
- porazdeljena
- distribucijo
- raznolikost
- DM
- domen
- navzdol
- enostavno
- enostaven za uporabo
- učinkovitosti
- učinkovite
- učinkovito
- prizadevanja
- Emisije
- omogočajo
- omogoča
- energija
- Angleščina
- Podjetje
- okolja
- zlasti
- ustanovljena
- ocenjeni
- Primer
- presega
- Izmenjava
- razširitve
- Obraz
- soočen
- družina
- Lastnosti
- Področja
- finančna
- prva
- fit
- let
- po
- sledi
- Odtis
- Naprej
- Okvirni
- Francisco
- iz
- funkcija
- Poleg tega
- splošno
- ustvarjajo
- generacija
- generativno
- pridobivanje
- GitHub
- Globalno
- GPU
- Grafične kartice
- Grow
- vodi
- strojna oprema
- pomoč
- Pomaga
- visoka
- visoka kvaliteta
- več
- držite
- gostila
- gostovanje
- Kako
- Kako
- Vendar
- HTTPS
- slika
- slike
- izboljšanje
- izboljšalo
- vključujejo
- vključuje
- Vključno
- Povečajte
- narašča
- Indeks
- industrij
- Industrija
- Podatki
- Infrastruktura
- novosti
- vhod
- navdih
- primer
- Intelligence
- zainteresirani
- IT
- sam
- Job
- Delovna mesta
- Potovanje
- Imejte
- znanje
- lab
- label
- Oznake
- jezik
- velika
- večja
- začela
- plast
- Vodja
- učenje
- ravni
- Knjižnica
- Life Sciences
- obremenitev
- lokalna
- Poglej
- stroj
- strojno učenje
- upravljanje
- upravljanje
- upravitelj
- upravljanje
- kartiranje
- Maska
- math
- matematika
- pomeni
- medicinski
- član
- Spomin
- Metode
- Meritve
- ML
- Model
- modeli
- monitor
- več
- Najbolj
- več
- Glasba
- naravna
- Narava
- potrebno
- potrebe
- mreža
- NIH
- vozlišča
- Številka
- Cilji
- Ponudbe
- Office
- v teku
- Delovanje
- operacije
- Optimizirajte
- Da
- Ostalo
- Papir
- del
- strastno
- patent
- performance
- obdobja
- filozofija
- Fizika
- Predvajaj
- igranje
- Stališče
- mogoče
- potencial
- napovedati
- napoved
- Napovedi
- prejšnja
- primarni
- Težave
- Postopek
- Procesi
- obravnavati
- Izdelki
- profiliranje
- Projekt
- PROS
- zagotavljajo
- zagotavlja
- potisnilo
- območje
- reading
- nedavno
- Pred kratkim
- evidence
- Obnovi
- zmanjša
- o
- zastopanje
- zastopan
- zahteva
- Raziskave
- viri
- Rezultati
- vrnitev
- tveganja
- Run
- tek
- Enako
- Lestvica
- skaliranje
- Znanost
- ZNANOSTI
- Znanstvenik
- seme
- Storitev
- Storitve
- več
- SGD
- Oblikujte
- deli
- Kratke Hlače
- pokazale
- Podoben
- Enostavno
- saj
- sam
- Velikosti
- majhna
- So
- Soccer
- Rešitev
- rešitve
- SOLVE
- Rešuje
- nekaj
- Vesolje
- posebej
- hitrost
- Poraba
- po delih
- Razcepi
- sveženj
- začel
- Država
- state-of-the-art
- Države
- trgovina
- strategije
- uspeh
- Trajnostni razvoj
- sistem
- Naloge
- tehnike
- Tehnologije
- Tehnologija
- O
- tisoče
- skozi
- pretočnost
- čas
- krat
- žeton
- Boni
- orodja
- sledenje
- blagovna znamka
- tradicionalna
- usposabljanje
- Trends
- Ubuntu
- brez primere
- us
- uporaba
- javne gospodarske službe
- Uporaben
- vrednost
- raznolikost
- različnih
- vertikale
- Vizija
- Obseg
- Počakaj
- Wave
- načini
- ali
- medtem
- Wikipedia
- brez
- besede
- delo
- delavec
- delavci
- deluje
- X
- let
- Vaša rutina za
- youtube