AWS-ügyfelek tízezrei használnak AWS gépi tanulási (ML) szolgáltatásokat, hogy felgyorsítsák ML-fejlesztésüket teljesen felügyelt infrastruktúrával és eszközökkel. Azon ügyfelek számára, akik telephelyen, például helyi asztali számítógépükön fejlesztenek ML-modelleket, át akarják költöztetni a régi ML-modelleket az AWS-felhőbe, hogy teljes mértékben kihasználhassák az AWS-en elérhető legátfogóbb ML-szolgáltatások, infrastruktúra és megvalósítási erőforrások előnyeit. .
A kifejezés Legacy kód olyan kódra utal, amelyet úgy fejlesztettek ki, hogy manuálisan futtassák egy helyi asztalon, és nem felhőkompatibilis SDK-kkal, mint pl. AWS SDK Pythonhoz (Boto3) or Amazon SageMaker Python SDK. Más szavakkal, ezek a régi kódok nincsenek felhőben történő telepítésre optimalizálva. Az áttelepítés legjobb gyakorlata az, hogy ezeket a régi kódokat a Amazon SageMaker API vagy a SageMaker Python SDK. Bizonyos esetekben azonban előfordulhat, hogy a sok örökölt modellel rendelkező szervezeteknek nincs idejük vagy erőforrásuk az összes modell újraírására.
Ebben a bejegyzésben egy méretezhető és könnyen megvalósítható megközelítést osztunk meg a régebbi ML-kód AWS-felhőbe való migrálására, hogy következtetéseket lehessen levonni. Amazon SageMaker és a AWS lépésfunkciók, minimális mennyiségű kód átalakítás szükséges. Könnyedén bővítheti ezt a megoldást további funkciók hozzáadásához. Bemutatjuk, hogy két különböző személy, egy adattudós és egy MLOps-mérnök hogyan tud együttműködni több száz örökölt modell felemelésében és áthelyezésében.
Megoldás áttekintése
Ebben a keretben a régebbi kódot egy tárolóban futtatjuk a SageMaker feldolgozás munka. A SageMaker az örökölt szkriptet egy feldolgozó tárolóban futtatja. A feldolgozó tárolókép lehet egy SageMaker beépített kép vagy egy egyéni kép. A feldolgozási feladatok mögöttes infrastruktúráját teljes mértékben a SageMaker felügyeli. Az örökölt kódon nem kell változtatni. Csak ismerni kell a SageMaker feldolgozási feladatok létrehozását.
Két személy részvételét feltételezzük: egy adattudós és egy MLOps mérnök. Az adattudós felelős azért, hogy a kódot áthelyezze a SageMakerbe, akár manuálisan, akár egy kódtárból, például pl. AWS CodeCommit. Amazon SageMaker Studio integrált fejlesztői környezetet (IDE) biztosít az ML életciklus különböző lépéseinek megvalósításához, és az adattudós ennek segítségével manuálisan épít fel egy egyéni tárolót, amely tartalmazza a telepítéshez szükséges kódtermékeket. A tároló egy konténer-nyilvántartásban lesz regisztrálva, mint pl Amazon Elastic Container Registry (Amazon ECR) telepítési célokra.
Az MLOps mérnöke átveszi a Step Functions munkafolyamat felépítését, amelyet újra felhasználhatunk az adattudós által kifejlesztett egyéni tároló telepítéséhez a megfelelő paraméterekkel. A Step Functions munkafolyamat moduláris lehet, amennyire csak szükséges, hogy illeszkedjen a használati esethez, vagy állhat csupán egyetlen lépésből egyetlen folyamat elindításához. A kód áttelepítéséhez szükséges erőfeszítések minimalizálása érdekében három moduláris összetevőt azonosítottunk egy teljesen működőképes telepítési folyamat felépítéséhez:
- Előfeldolgozás
- Következtetés
- Utófeldolgozás
A következő diagram a megoldás architektúráját és munkafolyamatát mutatja be.
Ebben a megoldásban a következő lépések szerepelnek:
- Az adattudós személy a Studio segítségével örökölt kódot importál egy kódtárból való klónozással, majd a kódot különálló összetevőkké modulálja, amelyek követik az ML életciklusának lépéseit (előfeldolgozás, következtetés és utófeldolgozás).
- Az adattudós a Studio-t használja, és különösen a Studio Image Build CLI a SageMaker által biztosított eszköz Docker-kép létrehozásához. Ez a CLI-eszköz lehetővé teszi az adattudós számára, hogy a képet közvetlenül a Studióban készítse el, és automatikusan regisztrálja a képet az Amazon ECR-be.
- Az MLOps mérnök a regisztrált tárolókészletet használja, és a Step Functions segítségével egy adott használati esethez hoz létre egy központi telepítést. A Step Functions egy szerver nélküli munkafolyamat-szolgáltatás, amely közvetlenül vezérelheti a SageMaker API-kat az Amazon States Language használatával.
SageMaker feldolgozási munka
Értsük meg, hogyan a SageMaker feldolgozási munka fut. A következő diagram bemutatja, hogy a SageMaker hogyan pörget fel egy feldolgozási feladatot.
A SageMaker átveszi a szkriptet, és kimásolja az adatait Amazon egyszerű tárolási szolgáltatás (Amazon S3), majd kihúz egy feldolgozótartályt. A feldolgozó tárolókép lehet egy SageMaker beépített kép vagy egy Ön által megadott egyéni kép. A feldolgozási feladatok mögöttes infrastruktúráját teljes mértékben a SageMaker felügyeli. A fürt erőforrásai a feladat időtartamára vannak kiépítve, és a feladat befejezésekor megtisztulnak. A feldolgozási feladat kimenete az Ön által megadott S3 tárolóban tárolódik. Ha többet szeretne megtudni a saját konténer megépítéséről, lásd: Készítse el saját feldolgozási tárolóját (haladó forgatókönyv).
A SageMaker Processing job beállítja a feldolgozási képfájlt egy Docker-tároló belépési pont parancsfájl használatával. Saját egyéni belépési pontot is megadhat a ContainerEntrypoint és ContainerArguments paraméterek használatával. Alkalmazásspecifikáció API. Ha saját egyéni belépési pontot használ, további rugalmassággal futtathatja azt önálló szkriptként a képek újraépítése nélkül.
Ebben a példában egyéni tárolót hozunk létre, és egy SageMaker Processing feladatot használunk a következtetésekhez. Az elő- és utófeldolgozási feladatok a szkript módot használják egy előre beépített scikit-learn tárolóval.
Előfeltételek
A bejegyzés követéséhez hajtsa végre a következő előfeltételeket:
- Hozzon létre egy Studio-tartományt. Az utasításokat lásd Bekapcsolva az Amazon SageMaker tartományba a gyors beállítás segítségével.
- Hozzon létre egy S3 vödröt.
- Klónozza a megadott GitHub repo a Stúdióba.
A GitHub repo különböző mappákba van rendezve, amelyek megfelelnek az ML életciklusának különböző szakaszaiban, megkönnyítve a navigációt és a kezelést:
A régi kód áttelepítése
Ebben a lépésben az örökölt kód áttelepítéséért felelős adattudósként járunk el.
Kezdjük a megnyitással build_and_push.ipynb
jegyzetfüzet.
A notebook kezdő cellája segít a telepítésben Studio Image Build CLI. Ez a parancssori felület leegyszerűsíti a telepítési folyamatot azáltal, hogy automatikusan létrehoz egy újrafelhasználható összeállítási környezetet, amellyel magas szintű parancsokkal kommunikálhat. A CLI segítségével egy kép elkészítése olyan egyszerű, mintha azt mondanák neki, hogy készítse el, és az eredmény egy link lesz a kép helyére az Amazon ECR-ben. Ez a megközelítés szükségtelenné teszi a CLI által irányított, mögöttes összetett munkafolyamat kezelését, és egyszerűsíti az arculatépítési folyamatot.
A build parancs futtatása előtt fontos megbizonyosodni arról, hogy a parancsot futtató szerepkör rendelkezik a CLI-ben meghatározott szükséges engedélyekkel. GitHub readme vagy kapcsolódó hozzászólás. A szükséges engedélyek megadásának elmulasztása hibákat eredményezhet az építési folyamat során.
Lásd a következő kódot:
A régi kód egyszerűsítéséhez ossza fel három különálló Python-szkriptre, amelyek neve preprocessing.py, predikt.py és postprocessing.py. Tartsa be a legjobb programozási gyakorlatokat, ha a kódot olyan függvényekké alakítja, amelyeket fő függvényből hívnak meg. Győződjön meg arról, hogy az összes szükséges könyvtárat importálta, és a követelmények.txt fájlt frissítette, hogy tartalmazza az egyéni könyvtárakat.
A kód rendszerezése után csomagolja be a követelményfájllal együtt egy Docker-tárolóba. A következő paranccsal könnyen összeállíthatja a tárolót a Studio-ból:
Alapértelmezés szerint a kép a sagemakerstudio nevű ECR-tárba kerül a legfrissebb címkével. Ezen túlmenően a Studio alkalmazás végrehajtási szerepe, valamint az alapértelmezett SageMaker Python SDK S3 gyűjtőhely kerül felhasználásra. Ezek a beállítások azonban könnyen módosíthatók a megfelelő CLI-beállításokkal. Lásd a következő kódot:
Most, hogy a tárolót elkészítették és regisztrálták egy ECR-tárolóban, itt az ideje, hogy mélyebben belevessünk abba, hogyan használhatjuk fel apreced.py futtatására. Megmutatjuk egy előre elkészített használatának folyamatát is scikit elsajátítható tároló a preprocesss.py és a postprocesss.py futtatásához.
Készítse elő a tartályt
Ebben a lépésben az MLOps mérnökeként járunk el, aki az előző lépésben épített konténert gyártja.
Lépésfüggvényeket használunk a munkafolyamat megszervezéséhez. A Step Functions kivételes rugalmasságot tesz lehetővé a szolgáltatások sokféleségének a munkafolyamatba való integrálása során, figyelembe véve az örökölt rendszerben esetlegesen meglévő függőségeket. Ez a megközelítés biztosítja, hogy az összes szükséges komponens zökkenőmentesen integrálva legyen, és a kívánt sorrendben működjön, ami hatékony és eredményes munkafolyamat-megoldást eredményez.
A Step Functions bizonyos AWS-szolgáltatásokat közvetlenül az Amazon Államok nyelvéről vezérelhet. Ha többet szeretne megtudni a Step Functions használatáról és a SageMakerrel való integrációjáról, lásd: A SageMaker kezelése lépésfüggvényekkel. A SageMakerrel a Step Functions integrációs képességét használva futtatjuk az elő- és utófeldolgozási szkripteket egy SageMaker Processing job segítségével script módban, és a következtetést SageMaker Processing jobként futtatjuk egy egyedi konténer. Ezt az AWS SDK for Python (Boto3) használatával tesszük. CreateProcessingJob API-hívások.
Előfeldolgozás
A SageMaker számos lehetőséget kínál az egyéni kód futtatására. Ha csak egy szkriptje van egyéni függőségek nélkül, akkor a szkriptet Bring Your Own Script (BYOS) formájában futtathatja. Ehhez egyszerűen adja át a szkriptet az előre elkészített scikit-learn keretrendszer tárolójába, és futtasson egy SageMaker Processing feladatot szkript módban a ContainerArguments és ContainerEntrypoint paraméterek használatával. Alkalmazásspecifikáció API. Ez egy egyszerű és kényelmes módszer egyszerű szkriptek futtatására.
Tekintse meg a „Preprocessing Script Mode” állapotkonfigurációt a minta Step Functions munkafolyamat hogy megértse, hogyan konfigurálhatja a CreateProcessingJob API-hívást egyéni parancsfájl futtatására.
Következtetés
Egyéni tárolót futtathat a Készítse el saját feldolgozási tárolóját megközelítés. A SageMaker Processing job a /opt/ml
helyi elérési út, és megadhatja a ProcessingInputokat és azok helyi elérési útját a konfigurációban. A Feldolgozási feladat ezután a műtermékeket a helyi tárolóba másolja, és elindítja a feladatot. A feladat befejezése után átmásolja a ProcessingOutputs helyi elérési útjában megadott melléktermékeket a megadott külső helyre.
Tekintse meg az „Egyéni tároló következtetése” állapotkonfigurációt a minta Step Functions munkafolyamat hogy megértse, hogyan konfigurálhatja a CreateProcessingJob API-hívást egyéni tároló futtatására.
Utófeldolgozás
Az utófeldolgozási szkriptet ugyanúgy futtathatja, mint egy előfeldolgozó parancsfájlt a Lépésfüggvények CreateProcessingJob lépésével. Az utófeldolgozási parancsfájl futtatása lehetővé teszi egyéni feldolgozási feladatok végrehajtását a következtetési feladat befejezése után.
Hozza létre a Step Functions munkafolyamatot
A gyors prototípuskészítéshez a Step Functions-t használjuk Amazon államok nyelve. A Step Functions definícióját közvetlenül szerkesztheti az Államok nyelvének használatával. Utal minta Step Functions munkafolyamat.
Új Step Functions állapotgépet hozhat létre a Step Functions konzolon a kiválasztásával Írja be a munkafolyamatot kódba.
A Step Functions megtekintheti az Ön által használt erőforrásokat, és létrehozhat egy szerepet. Azonban a következő üzenetet láthatja:
„A lépésfüggvények nem tudnak IAM-házirendet létrehozni, ha a RoleArn for SageMaker egy elérési útból származik. Kódolja keményen a SageMaker RoleArn-t az állapotgép definíciójában, vagy válasszon egy meglévő szerepet a megfelelő engedélyekkel a Step Functions számára a SageMaker meghívásához.
Ennek megoldásához létre kell hoznia egy AWS Identity and Access Management (IAM) szerepkör a Step Functions számára. Az utasításokat lásd IAM szerepkör létrehozása az állapotgéphez. Ezután csatolja a következő IAM-házirendet a munkafolyamat futtatásához szükséges engedélyek megadásához:
A következő ábra az adat- és tárolóképek áramlását mutatja be a Step Functions munkafolyamat egyes lépéseiben.
Az alábbiakban felsoroljuk azokat a minimálisan szükséges paramétereket, amelyeket a Step Functions-ban kell inicializálni; hivatkozhat a minta bemeneti paraméterek JSON:
- input_uri – A bemeneti fájlok S3 URI-ja
- output_uri – A kimeneti fájlok S3 URI-ja
- code_uri – A szkriptfájlok S3 URI-ja
- custom_image_uri – Az Ön által létrehozott egyéni tároló tároló URI-je
- scikit_image_uri – Az előre elkészített scikit-learn keretrendszer tároló-URI-ja
- szerep – A feladat végrehajtásához szükséges végrehajtói szerepkör
- példány_típusa – A tároló futtatásához használandó példánytípus
- volume_size – A konténerhez szükséges tárolási térfogat mérete
- max_runtime – A tároló maximális futási ideje, az alapértelmezett érték 1 óra
Futtassa a munkafolyamatot
Az örökölt kódot kezelhető részekre bontottuk: előfeldolgozásra, következtetésre és utófeldolgozásra. Következtetési igényeinknek támogatására elkészítettünk egy egyedi konténert, amely a szükséges könyvtári függőségekkel van felszerelve. Terveink szerint a Step Functions funkciót használjuk, kihasználva a SageMaker API meghívásának képességét. Két módszert mutattunk be az egyéni kód futtatására a SageMaker API használatával: egy SageMaker Processing feladatot, amely egy előre elkészített képet használ, és futás közben egyéni szkriptet vesz fel, és egy SageMaker Processing feladatot, amely egy egyéni tárolót használ, amely a szükséges elemekkel van csomagolva. műtermékek az egyéni következtetés futtatásához.
A következő ábra a Step Functions munkafolyamat futtatását mutatja be.
Összegzésként
Ebben a bejegyzésben a régi ML Python-kód helyi fejlesztői környezetekből való áttelepítésének és egy szabványos MLOps-eljárás megvalósításának folyamatát tárgyaltuk. Ezzel a megközelítéssel könnyedén átvihet több száz modellt, és beépítheti a kívánt vállalati telepítési gyakorlatokat. Két különböző módszert mutattunk be az egyéni kód futtatására a SageMakeren, és kiválaszthatja az igényeinek leginkább megfelelőt.
Ha nagymértékben testreszabható megoldásra van szüksége, javasoljuk az egyéni konténer megközelítést használni. Megfelelőbbnek találhatja előre elkészített képek használatát az egyéni szkript futtatásához, ha alapvető szkriptjei vannak, és nincs szüksége egyéni tároló létrehozására, a korábban említett előfeldolgozási lépésben leírtak szerint. Továbbá, ha szükséges, ezt a megoldást alkalmazhatja az örökölt modell képzési és értékelési lépéseinek konténerbe foglalására, ugyanúgy, ahogy a következtetési lépést ebben a bejegyzésben tároljuk.
A szerzőkről
Bhavana Chirumamilla az AWS vezető rezidens építésze, aki nagy szenvedélye az adatok és a gépi tanulási műveletek. Rengeteg tapasztalattal és lelkesedéssel segíti a vállalkozásokat hatékony adat- és ML-stratégiák kidolgozásában. Szabadidejében Bhavana szívesen tölt időt a családjával, és különféle tevékenységekben vesz részt, például utazik, túrázik, kertészkedik és dokumentumfilmeket néz.
Shyam Namavaram az Amazon Web Services (AWS) mesterséges intelligencia (AI) és gépi tanulási (ML) megoldások vezető építészmérnöke. Szenvedélyesen dolgozik az ügyfelekkel, hogy felgyorsítsa a mesterséges intelligencia és az ML elterjedését azáltal, hogy műszaki útmutatást ad, és segít nekik az innovációban és biztonságos felhőmegoldások kiépítésében az AWS-en. Szakterülete az AI és az ML, a konténerek és az analitikai technológiák. A munkán kívül szeret sportolni és túrázni a természetben.
Qingwei Li az Amazon Web Services gépi tanulási szakértője. PhD fokozatát operációkutatásból szerezte meg, miután feltörte tanácsadója kutatási támogatási számláját, és nem teljesítette az ígért Nobel-díjat. Jelenleg a pénzügyi szolgáltatási és biztosítási ágazatban tevékenykedő ügyfeleknek segít abban, hogy gépi tanulási megoldásokat építsenek az AWS-re. Szabadidejében szeret olvasni és tanítani.
Srinivasa Shaik a bostoni székhelyű AWS megoldások építésze. Segít a vállalati ügyfeleknek felgyorsítani a felhőhöz vezető utat. Szenvedélyes a konténerek és a gépi tanulási technológiák iránt. Szabadidejében szívesen tölt időt a családjával, főz és utazik.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/bring-legacy-machine-learning-code-into-amazon-sagemaker-using-aws-step-functions/
- :is
- $ UP
- 1
- 10
- 100
- 214
- 7
- 8
- a
- képesség
- Rólunk
- gyorsul
- hozzáférés
- Fiók
- törvény
- Akció
- tevékenységek
- hozzáadott
- Ezen kívül
- cím
- tapad
- Örökbefogadás
- fejlett
- Előny
- Után
- AI
- Minden termék
- lehetővé teszi, hogy
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- Amazon Web Services (AWS)
- összeg
- analitika
- és a
- api
- API-k
- app
- alkalmaz
- megközelítés
- megfelelő
- építészet
- VANNAK
- mesterséges
- mesterséges intelligencia
- Mesterséges intelligencia (AI)
- AS
- At
- csatolja
- automatikusan
- elérhető
- AWS
- AWS gépi tanulás
- AWS lépésfunkciók
- alapján
- alapvető
- BE
- kezdődik
- BEST
- Boston
- hoz
- Bring
- Törött
- Törött
- épít
- Épület
- épült
- beépített
- by
- hívás
- hívott
- kéri
- TUD
- nem tud
- eset
- esetek
- bizonyos
- változik
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- vásárló
- felhő
- Fürt
- kód
- együttműködik
- COM
- teljes
- bonyolult
- alkatrészek
- átfogó
- feltétel
- Configuration
- Konzol
- konstrukció
- Konténer
- Konténerek
- tartalmaz
- ellenőrzés
- Kényelmes
- teremt
- teremt
- létrehozása
- Jelenleg
- szokás
- Ügyfelek
- szabható
- dátum
- adattudós
- mélyebb
- alapértelmezett
- szállít
- bizonyítani
- telepíteni
- bevetés
- leírt
- kívánatos
- asztali
- fejlett
- fejlesztése
- Fejlesztés
- különböző
- közvetlenül
- tárgyalt
- különböző
- számos
- Dokkmunkás
- dokumentumfilmek
- domain
- ne
- le-
- alatt
- minden
- Korábban
- könnyen
- hatás
- Hatékony
- hatékony
- erőfeszítés
- bármelyik
- megszünteti
- vonzó
- mérnök
- biztosítására
- biztosítja
- Vállalkozás
- Vállalatok
- lelkesedés
- Környezet
- környezetek
- felszerelt
- hibák
- értékelés
- példa
- kivételes
- végrehajtás
- létező
- tapasztalat
- tapasztal
- terjed
- külső
- megkönnyítését
- Sikertelen
- bizalmasság
- család
- Ábra
- filé
- pénzügyi
- pénzügyi szolgáltatás
- Találjon
- megfelelő
- Rugalmasság
- áramlási
- következik
- következő
- A
- Keretrendszer
- ból ből
- teljesen
- funkció
- funkcionális
- funkcionalitás
- funkciók
- Továbbá
- generál
- GitHub
- biztosít
- útmutatást
- Útmutatók
- Legyen
- segít
- segít
- segít
- magas szinten
- nagyon
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- Több száz
- azonosított
- Identitás
- kép
- képek
- végrehajtás
- végrehajtási
- importál
- fontos
- in
- Más
- tartalmaz
- bele
- ipar
- Infrastruktúra
- kezdetben
- kezdeményez
- újít
- bemenet
- telepíteni
- telepítése
- példa
- utasítás
- biztosítás
- integrált
- integrálása
- integráció
- Intelligencia
- kölcsönhatásba
- részt
- bevonása
- IT
- ITS
- Munka
- Állások
- utazás
- jpg
- json
- csak egy
- nyelv
- nagy
- legutolsó
- TANUL
- tanulás
- Örökség
- könyvtárak
- könyvtár
- életciklus
- mint
- LINK
- Lista
- helyi
- elhelyezkedés
- néz
- gép
- gépi tanulás
- Fő
- kezelése
- sikerült
- vezetés
- kézzel
- maximális
- említett
- üzenet
- módszer
- mód
- vándorol
- elvándorlás
- minimum
- ML
- MLOps
- Mód
- modell
- modellek
- moduláris
- több
- a legtöbb
- mozgó
- Nevezett
- Természet
- Navigáció
- elengedhetetlen
- Szükség
- igények
- Új
- Nóbel díj
- jegyzetfüzet
- szám
- of
- Ajánlatok
- on
- ONE
- nyitás
- működik
- Művelet
- optimalizált
- Opciók
- hangszerelt
- szervezetek
- Szervezett
- Más
- teljesítmény
- kívül
- saját
- tulajdon
- csomag
- paraméterek
- alkatrészek
- szenvedély
- szenvedélyes
- ösvény
- Teljesít
- engedélyek
- terv
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- politika
- állás
- gyakorlat
- gyakorlat
- előre
- bemutatott
- előző
- díj
- folyamat
- feldolgozás
- Programozás
- igért
- megfelelő
- prototípus
- ad
- feltéve,
- biztosít
- amely
- Húz
- célokra
- meglökött
- Piton
- Quick
- gyorsan
- hatótávolság
- Olvasás
- kapott
- ajánlott
- Refaktor
- kifejezés
- nyilvántartott
- nyilvántartások
- iktató hivatal
- raktár
- szükség
- kötelező
- követelmények
- kutatás
- forrás
- Tudástár
- felelős
- eredményez
- kapott
- újrahasználható
- Szerep
- futás
- futás
- sagemaker
- skálázható
- forgatókönyv
- Tudós
- scikit elsajátítható
- szkriptek
- sdk
- zökkenőmentesen
- biztonság
- kiválasztása
- idősebb
- különálló
- Sorozat
- vagy szerver
- szolgáltatás
- Szolgáltatások
- készlet
- Szettek
- beállítások
- felépítés
- számos
- Megosztás
- váltás
- előadás
- mutatott
- Műsorok
- Egyszerű
- egyszerűen
- egyetlen
- Méret
- So
- megoldások
- Megoldások
- néhány
- szakember
- specializálódott
- különleges
- kifejezetten
- meghatározott
- Költési
- spinek
- Sport
- állapota
- önálló
- kezdődik
- Állami
- nyilatkozat
- Államok
- Lépés
- Lépései
- tárolás
- memorizált
- egyértelmű
- stratégiák
- áramvonal
- ésszerűsítése
- erős
- stúdió
- ilyen
- megfelelő
- támogatás
- SYS
- rendszer
- TAG
- Vesz
- tart
- bevétel
- feladatok
- Tanítási
- Műszaki
- Technologies
- hogy
- A
- azok
- Őket
- Ezek
- ezer
- három
- Keresztül
- idő
- nak nek
- szerszám
- szerszámok
- Képzések
- átruházás
- Utazó
- mögöttes
- megért
- frissítve
- használ
- használati eset
- hasznosság
- hasznosít
- hasznosított
- hasznosítja
- érték
- különféle
- változat
- kötet
- őrzés
- Vagyon
- háló
- webes szolgáltatások
- ami
- WHO
- lesz
- val vel
- belül
- nélkül
- szavak
- Munka
- dolgozó
- művek
- te
- A te
- zephyrnet