MLOps este o disciplină cheie care supraveghează adesea calea către producția modelelor de învățare automată (ML). Este firesc să te concentrezi pe un singur model pe care vrei să-l antrenezi și să îl implementezi. Cu toate acestea, în realitate, probabil că veți lucra cu zeci sau chiar sute de modele, iar procesul poate implica mai mulți pași complexi. Prin urmare, este important să existe infrastructura pentru a urmări, antrena, implementa și monitoriza modele cu complexități diferite la scară. Aici intervine instrumentele MLOps. Instrumentele MLOps vă ajută să construiți și să simplificați în mod repetat și fiabil aceste procese într-un flux de lucru adaptat pentru ML.
Pipelines Amazon SageMaker, o caracteristică a Amazon SageMaker, este un serviciu de orchestrare a fluxurilor de lucru conceput special pentru ML, care vă ajută să automatizați fluxurile de lucru ML end-to-end la scară. Simplifică dezvoltarea și întreținerea modelelor ML prin furnizarea unei platforme centralizate pentru a orchestra sarcini precum pregătirea datelor, antrenamentul modelului, reglarea și validarea. SageMaker Pipelines vă poate ajuta să eficientizați gestionarea fluxului de lucru, să accelerați experimentarea și să reeducați mai ușor modelele.
În această postare, punem în evidență o nouă caracteristică interesantă a SageMaker Pipelines, cunoscută ca Execuție selectivă. Această nouă caracteristică vă permite să rulați în mod selectiv anumite porțiuni ale fluxului de lucru ML, ceea ce duce la economii semnificative de timp și de resurse de calcul, limitând rularea la pașii de pipeline din domeniu și eliminând necesitatea de a executa pași în afara domeniului de aplicare. În plus, explorăm diverse cazuri de utilizare în care avantajele utilizării execuției selective devin evidente, solidificându-i și mai mult propunerea de valoare.
Prezentare generală a soluțiilor
SageMaker Pipelines continuă să-și inoveze experiența de dezvoltator odată cu lansarea Execuție selectivă. Constructorii de ML au acum capacitatea de a alege pași specifici pentru a rula într-o conductă, eliminând necesitatea de a rula din nou întreaga conductă. Această caracteristică vă permite să rulați din nou anumite secțiuni ale conductei în timp ce modificați parametrii de rulare asociați cu pașii selectați.
Este important să rețineți că pașii selectați se pot baza pe rezultatele pașilor neselectați. În astfel de cazuri, ieșirile acestor pași neselectați sunt reutilizate dintr-o rulare de referință a versiunii curente a conductei. Aceasta înseamnă că rularea de referință trebuie să se fi finalizat deja. Execuția de referință implicită este cea mai recentă execuție a versiunii curente a conductei, dar puteți alege și să utilizați ca referință o altă execuție a versiunii curente a conductei.
Starea generală a rulării de referință trebuie să fie De succes, A eșuat or Oprit. Nu poate fi Alergare atunci când Selective Execution încearcă să-și folosească ieșirile. Când utilizați Execuția selectivă, puteți alege orice număr de pași de executat, atâta timp cât aceștia formează o porțiune adiacentă a conductei.
Următoarea diagramă ilustrează comportamentul conductei cu o rulare completă.
Următoarea diagramă ilustrează comportamentul conductei utilizând execuția selectivă.
În secțiunile următoare, arătăm cum să utilizați execuția selectivă pentru diferite scenarii, inclusiv fluxuri de lucru complexe în graficele aciclice directe (DAG) în pipeline.
Cerințe preliminare
Pentru a începe să experimentăm cu execuția selectivă, trebuie să setăm mai întâi următoarele componente ale mediului dumneavoastră SageMaker:
- SageMaker Python SDK - Asigurați-vă că aveți o actualizare SageMaker Python SDK instalat în mediul dumneavoastră Python. Puteți rula următoarea comandă de pe notebook sau terminal pentru a instala sau a actualiza versiunea SageMaker Python SDK la 2.162.0 sau mai sus:
python3 -m pip install sagemaker>=2.162.0
orpip3 install sagemaker>=2.162.0
. - Acces la SageMaker Studio (opțional) - Amazon SageMaker Studio poate fi util pentru vizualizarea rulajelor de conducte și interacțiunea vizuală cu ARN-uri de conducte preexistente. Dacă nu aveți acces la SageMaker Studio sau utilizați notebook-uri la cerere sau alte IDE-uri, puteți în continuare să urmăriți această postare și să interacționați cu ARN-urile pipeline folosind SDK-ul Python.
Exemplul de cod pentru o prezentare completă de la capăt la capăt este disponibil în GitHub repo.
Configurarea
Cu sagemaker>=1.162.0
Python SDK, am prezentat SelectiveExecutionConfig
clasa ca parte a sagemaker.workflow.selective_execution_config
modul. Caracteristica de execuție selectivă se bazează pe un ARN pipeline care a fost marcat anterior ca Reușit, A eșuat or Oprit. Următorul fragment de cod demonstrează cum să importați fișierul SelectiveExecutionConfig
clasa, preluați ARN-ul conductei de referință și adunați pașii conductei asociați și parametrii de rulare care guvernează rularea conductei:
import boto3
from sagemaker.workflow.pipeline import Pipeline
from sagemaker.workflow.selective_execution_config import SelectiveExecutionConfig sm_client = boto3.client('sagemaker')
# reference the name of your sample pipeline pipeline_name = "AbalonePipeline"
# filter for previous success pipeline execution arns
pipeline_executions = [_exec for _exec in Pipeline(name=pipeline_name).list_executions()['PipelineExecutionSummaries'] if _exec['PipelineExecutionStatus'] == "Succeeded"
]
# get the last successful execution
latest_pipeline_arn = pipeline_executions[0]['PipelineExecutionArn']
print(latest_pipeline_arn)
>>> arn:aws:sagemaker:us-east-1:123123123123:pipeline/AbalonePipeline/execution/x62pbar3gs6h # list all steps of your sample pipeline
execution_steps = sm_client.list_pipeline_execution_steps( PipelineExecutionArn=latest_pipeline_arn
)['PipelineExecutionSteps']
print(execution_steps)
>>> [{'StepName': 'Abalone-Preprocess', 'StartTime': datetime.datetime(2023, 6, 27, 4, 41, 30, 519000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2023, 6, 27, 4, 41, 30, 986000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'AttemptCount': 0, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-1:123123123123:processing-job/pipelines-fvsmu7m7ki3q-Abalone-Preprocess-d68CecvHLU'}}, 'SelectiveExecutionResult': {'SourcePipelineExecutionArn': 'arn:aws:sagemaker:us-east-1:123123123123:pipeline/AbalonePipeline/execution/ksm2mjwut6oz'}}, {'StepName': 'Abalone-Train', 'StartTime': datetime.datetime(2023, 6, 27, 4, 41, 31, 320000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2023, 6, 27, 4, 43, 58, 224000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'AttemptCount': 0, 'Metadata': {'TrainingJob': {'Arn': 'arn:aws:sagemaker:us-east-1:123123123123:training-job/pipelines-x62pbar3gs6h-Abalone-Train-PKhAc1Q6lx'}}}, {'StepName': 'Abalone-Evaluate', 'StartTime': datetime.datetime(2023, 6, 27, 4, 43, 59, 40000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2023, 6, 27, 4, 57, 43, 76000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'AttemptCount': 0, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-1:123123123123:processing-job/pipelines-x62pbar3gs6h-Abalone-Evaluate-vmkZDKDwhk'}}}, {'StepName': 'Abalone-MSECheck', 'StartTime': datetime.datetime(2023, 6, 27, 4, 57, 43, 821000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2023, 6, 27, 4, 57, 44, 124000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'AttemptCount': 0, 'Metadata': {'Condition': {'Outcome': 'True'}}}] # list all configureable pipeline parameters # params can be altered during selective execution
parameters = sm_client.list_pipeline_parameters_for_execution( PipelineExecutionArn=latest_pipeline_arn
)['PipelineParameters']
print(parameters)
>>> [{'Name': 'XGBNumRounds', 'Value': '120'}, {'Name': 'XGBSubSample', 'Value': '0.9'}, {'Name': 'XGBGamma', 'Value': '2'}, {'Name': 'TrainingInstanceCount', 'Value': '1'}, {'Name': 'XGBMinChildWeight', 'Value': '4'}, {'Name': 'XGBETA', 'Value': '0.25'}, {'Name': 'ApprovalStatus', 'Value': 'PendingManualApproval'}, {'Name': 'ProcessingInstanceCount', 'Value': '1'}, {'Name': 'ProcessingInstanceType', 'Value': 'ml.t3.medium'}, {'Name': 'MseThreshold', 'Value': '6'}, {'Name': 'ModelPath', 'Value': 's3://sagemaker-us-east-1-123123123123/Abalone/models/'}, {'Name': 'XGBMaxDepth', 'Value': '12'}, {'Name': 'TrainingInstanceType', 'Value': 'ml.c5.xlarge'}, {'Name': 'InputData', 'Value': 's3://sagemaker-us-east-1-123123123123/sample-dataset/abalone/abalone.csv'}]
Cazuri de utilizare
În această secțiune, prezentăm câteva scenarii în care execuția selectivă poate economisi timp și resurse. Folosim un flux tipic de conductă, care include pași precum extragerea datelor, instruirea, evaluarea, înregistrarea și implementarea modelului, ca referință pentru a demonstra avantajele execuției selective.
SageMaker Pipelines vă permite să definiți parametrii de rulare pentru rularea conductei dvs. utilizând parametrii conductei. Când se declanșează o nouă rulare, de obicei rulează întreaga conductă de la început până la sfârșit. Cu toate acestea, dacă pas de stocare în cache este activată, SageMaker Pipelines va încerca să găsească o rulare anterioară a pasului curent al conductei cu aceleași valori de atribut. Dacă se găsește o potrivire, SageMaker Pipelines va folosi rezultatele din rularea anterioară în loc să recalculeze pasul. Rețineți că, chiar și cu păstrarea în cache a pașilor activată, SageMaker Pipelines va rula în continuare întregul flux de lucru până la sfârșit în mod implicit.
Odată cu lansarea funcției de execuție selectivă, acum puteți rula din nou un întreg flux de lucru al pipelinei sau puteți rula selectiv un subset de pași folosind un ARN pipeline anterior. Acest lucru se poate face chiar și fără ca stocarea în pas este activată. Următoarele cazuri de utilizare ilustrează diferitele moduri în care puteți utiliza Execuția selectivă.
Cazul de utilizare 1: rulați un singur pas
Oamenii de știință de date se concentrează adesea pe etapa de pregătire a unei conducte MLOps și nu doresc să-și facă griji cu privire la pașii de preprocesare sau implementare. Execuția selectivă permite cercetătorilor de date să se concentreze doar pe pasul de antrenament și să modifice din mers parametrii de antrenament sau hiperparametrii pentru a îmbunătăți modelul. Acest lucru poate economisi timp și reduce costurile, deoarece resursele de calcul sunt utilizate numai pentru rularea pașilor de conductă selectați de utilizator. Vezi următorul cod:
# select a reference pipeline arn and subset step to execute
selective_execution_config = SelectiveExecutionConfig( source_pipeline_execution_arn="arn:aws:sagemaker:us-east-1:123123123123:pipeline/AbalonePipeline/execution/9e3ljoql7s0n", selected_steps=["Abalone-Train"]
) # start execution of pipeline subset
select_execution = pipeline.start( selective_execution_config=selective_execution_config, parameters={ "XGBNumRounds": 120, "XGBSubSample": 0.9, "XGBGamma": 2, "XGBMinChildWeight": 4, "XGBETA": 0.25, "XGBMaxDepth": 12 }
)
Următoarele figuri ilustrează conducta cu o etapă în proces și apoi finalizată.
Cazul de utilizare 2: rulați mai mulți pași ai conductei contigue
Continuând cu cazul de utilizare anterior, un cercetător de date dorește să antreneze un nou model și să evalueze performanța acestuia față de un set de date de testare de aur. Această evaluare este crucială pentru a se asigura că modelul respectă liniile directoare riguroase pentru testarea de acceptare a utilizatorilor (UAT) sau implementarea în producție. Cu toate acestea, cercetătorul de date nu dorește să ruleze întregul flux de lucru al conductei sau să implementeze modelul. Aceștia pot folosi Execuția selectivă pentru a se concentra exclusiv pe etapele de instruire și evaluare, economisind timp și resurse, obținând în același timp rezultatele de validare de care au nevoie:
# select a reference pipeline arn and subset step to execute
selective_execution_config = SelectiveExecutionConfig( source_pipeline_execution_arn="arn:aws:sagemaker:us-east-1:123123123123:pipeline/AbalonePipeline/execution/9e3ljoql7s0n", selected_steps=["Abalone-Train", "Abalone-Evaluate"]
) # start execution of pipeline subset
select_execution = pipeline.start( selective_execution_config=selective_execution_config, parameters={ "ProcessingInstanceType": "ml.t3.medium", "XGBNumRounds": 120, "XGBSubSample": 0.9, "XGBGamma": 2, "XGBMinChildWeight": 4, "XGBETA": 0.25, "XGBMaxDepth": 12 }
)
Cazul de utilizare 3: Actualizați și executați din nou pașii de conductă eșuați
Puteți utiliza Execuția selectivă pentru a rula din nou pașii eșuați dintr-o conductă sau pentru a relua rularea unei conducte de la un pas eșuat încolo. Acest lucru poate fi util pentru depanarea și depanarea pașilor eșuați, deoarece le permite dezvoltatorilor să se concentreze asupra problemelor specifice care trebuie rezolvate. Acest lucru poate duce la o rezolvare mai eficientă a problemelor și la timpi mai rapidi de iterație. Următorul exemplu ilustrează modul în care puteți alege să rulați din nou doar pasul eșuat al unei conducte.
# select a previously failed pipeline arn
selective_execution_config = SelectiveExecutionConfig( source_pipeline_execution_arn="arn:aws:sagemaker:us-east-1:123123123123:pipeline/AbalonePipeline/execution/fvsmu7m7ki3q", selected_steps=["Abalone-Evaluate"]
) # start execution of failed pipeline subset
select_execution = pipeline.start( selective_execution_config=selective_execution_config
)
Alternativ, un cercetător de date poate relua o conductă de la un pas eșuat până la sfârșitul fluxului de lucru, specificând pasul eșuat și toți pașii care îl urmează în SelectiveExecutionConfig
.
Cazul de utilizare 4: Acoperirea conductei
În unele conducte, anumite ramuri sunt conduse mai rar decât altele. De exemplu, ar putea exista o ramură care rulează numai atunci când o anumită condiție eșuează. Este important să testați temeinic aceste ramuri pentru a vă asigura că funcționează conform așteptărilor atunci când apare o defecțiune. Testând aceste ramuri care rulează mai puțin frecvent, dezvoltatorii pot verifica dacă conducta lor este robustă și că mecanismele de gestionare a erorilor mențin în mod eficient fluxul de lucru dorit și produc rezultate fiabile.
selective_execution_config = SelectiveExecutionConfig( source_pipeline_execution_arn="arn:aws:sagemaker:us-east-1:123123123123:pipeline/AbalonePipeline/execution/9e3ljoql7s0n", selected_steps=["Abalone-Train", "Abalone-Evaluate", "Abalone-MSECheck", "Abalone-FailNotify"]
)
Concluzie
În această postare, am discutat despre caracteristica de execuție selectivă a SageMaker Pipelines, care vă permite să rulați selectiv pași specifici ai fluxurilor de lucru ML. Această capacitate duce la economii semnificative de timp și resurse de calcul. Am furnizat un exemplu de cod în fișierul GitHub repo care demonstrează cum se utilizează Execuția selectivă și prezintă diverse scenarii în care poate fi avantajoasă pentru utilizatori. Dacă doriți să aflați mai multe despre execuția selectivă, consultați Ghid pentru dezvoltatori și Ghid de referință API.
Pentru a explora mai detaliat pașii disponibili în fluxul de lucru SageMaker Pipelines, consultați Amazon SageMaker Model Building Pipeline și Fluxuri de lucru SageMaker. În plus, puteți găsi mai multe exemple care prezintă diferite cazuri de utilizare și abordări de implementare folosind SageMaker Pipelines în Exemple AWS SageMaker Depozitul GitHub. Aceste resurse vă pot îmbunătăți și mai mult înțelegerea și vă pot ajuta să profitați de întregul potențial al SageMaker Pipelines și Selective Execution în proiectele dumneavoastră ML actuale și viitoare.
Despre Autori
Pranav Murthy este arhitect specializat în soluții AI/ML la AWS. El se concentrează pe a ajuta clienții să construiască, să antreneze, să implementeze și să migreze sarcinile de lucru de învățare automată (ML) către SageMaker. El a lucrat anterior în industria semiconductoarelor, dezvoltând modele de viziune computerizată (CV) și procesare a limbajului natural (NLP) pentru a îmbunătăți procesele semiconductoare. În timpul liber, îi place să joace șah și să călătorească.
Akhil Numarsu este un Sr.Product Manager-Tehnic axat pe a ajuta echipele să accelereze rezultatele ML prin instrumente și servicii eficiente în cloud. Îi place să joace tenis de masă și este un fan sport.
Nishant Krishnamoorthy este inginer senior de dezvoltare software cu magazine Amazon. El deține o diplomă de master în Informatică și în prezent se concentrează pe accelerarea adoptării ML în diferite organizații din cadrul Amazon prin construirea și operaționalizarea soluțiilor ML pe SageMaker.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- ChartPrime. Crește-ți jocul de tranzacționare cu ChartPrime. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/unlocking-efficiency-harnessing-the-power-of-selective-execution-in-amazon-sagemaker-pipelines/
- :are
- :este
- :Unde
- $UP
- 1
- 100
- 12
- 2023
- 25
- 27
- 30
- 31
- 7
- 9
- a
- capacitate
- Despre Noi
- accelera
- accelerarea
- acceptare
- acces
- aciclic
- În plus,
- Adoptare
- Avantaj
- avantajos
- Avantajele
- împotriva
- AI / ML
- TOATE
- permite
- deja
- de asemenea
- modificate
- Amazon
- Amazon SageMaker
- Pipelines Amazon SageMaker
- Amazon Web Services
- an
- și
- Orice
- abordari
- SUNT
- AS
- asociate
- At
- Încercările
- automatizarea
- disponibil
- AWS
- BE
- deoarece
- deveni
- fost
- comportament
- Branch firma
- ramuri
- construi
- constructori
- Clădire
- dar
- by
- CAN
- nu poti
- capacitate
- caz
- cazuri
- centralizat
- sigur
- Şah
- Alege
- clasă
- Cloud
- cod
- vine
- Completă
- Terminat
- complex
- complexități
- componente
- Calcula
- calculator
- Informatică
- Computer Vision
- condiție
- continuă
- A costat
- crucial
- Curent
- În prezent
- clienţii care
- de date
- Pregătirea datelor
- om de știință de date
- datetime
- Mod implicit
- defini
- Grad
- demonstra
- demonstrează
- implementa
- desfășurarea
- dorit
- detaliu
- Dezvoltator
- Dezvoltatorii
- în curs de dezvoltare
- Dezvoltare
- diferit
- direcționa
- discutat
- face
- Nu
- făcut
- Dont
- zeci
- în timpul
- cu ușurință
- în mod eficient
- eficiență
- eficient
- eliminarea
- imputerniceste
- activat
- permite
- capăt
- un capăt la altul
- inginer
- spori
- asigura
- Întreg
- Mediu inconjurator
- evalua
- evaluare
- Chiar
- evident
- exemplu
- exemple
- captivant
- a executa
- execuție
- de aşteptat
- experienţă
- explora
- extracţie
- A eșuat
- eșuează
- Eșec
- ventilator
- mai repede
- Caracteristică
- puțini
- cifre
- filtru
- Găsi
- termina
- First
- debit
- Concentra
- concentrat
- se concentrează
- urma
- următor
- Pentru
- formă
- găsit
- Gratuit
- frecvent
- din
- Complet
- mai mult
- În plus
- viitor
- aduna
- obține
- obtinerea
- GitHub
- De aur
- guvernare
- grafice
- orientări
- Cablaje
- Avea
- he
- ajutor
- util
- ajutor
- ajută
- superior
- lui
- deține
- Cum
- Cum Pentru a
- Totuși
- HTML
- HTTPS
- sute
- if
- ilustrează
- implementarea
- import
- important
- îmbunătăţi
- in
- include
- Inclusiv
- industrie
- Infrastructură
- inova
- instala
- instalat
- in schimb
- interacţiona
- interacționând
- în
- introdus
- implica
- probleme de
- IT
- repetare
- ESTE
- jpg
- doar
- Cheie
- cunoscut
- limbă
- mare
- Nume
- Ultimele
- conduce
- Conduce
- AFLAȚI
- învăţare
- mai puțin
- ca
- Probabil
- limitativ
- Listă
- Lung
- maşină
- masina de învățare
- menține
- întreținere
- administrare
- marcat
- Meci
- Mai..
- mijloace
- mecanisme
- mediu
- se intalneste
- Metadata
- ar putea
- migra
- ML
- MLOps
- model
- Modele
- modifica
- Module
- monitor
- mai mult
- mai eficient
- multiplu
- trebuie sa
- nume
- Natural
- Procesarea limbajului natural
- Nevoie
- Nou
- nlp
- caiet
- acum
- număr
- of
- de multe ori
- on
- La cerere
- ONE
- afară
- or
- orchestrație
- Altele
- Altele
- al nostru
- afară
- Rezultat
- rezultate
- global
- parametrii
- parte
- cale
- performanță
- conducte
- Loc
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- joc
- porţiune
- Post
- potenţial
- potenţial
- putere
- pregătire
- prezenta
- prezentat
- precedent
- în prealabil
- anterior
- de rezolvare a problemelor
- proces
- procese
- prelucrare
- produce
- Produs
- producere
- Proiecte
- propunere
- prevăzut
- furnizarea
- Piton
- Realitate
- reduce
- Înscriere
- eliberaţi
- de încredere
- se bazează
- depozit
- resursă
- Resurse
- rezultând
- REZULTATE
- relua
- riguros
- robust
- Alerga
- funcţionare
- ruleaza
- sagemaker
- Conducte SageMaker
- acelaşi
- Economisiți
- economisire
- Economie
- Scară
- scenarii
- Ştiinţă
- Om de stiinta
- oamenii de stiinta
- domeniu
- sdk
- Secțiune
- secțiuni
- vedea
- selectate
- selectiv
- semiconductor
- serviciu
- Servicii
- set
- Arăta
- simbolizeazã
- semnificativ
- simplifica
- singur
- fragment
- Software
- de dezvoltare de software
- Numai
- solidificatoare
- soluţii
- unele
- specialist
- specific
- Sportul
- Reflector
- Etapă
- Începe
- Stat
- Pas
- paşi
- Încă
- magazine
- simplifica
- studio
- succes
- de succes
- astfel de
- tabel
- adaptate
- Lua
- sarcini
- echipe
- Terminal
- test
- Testarea
- decât
- acea
- lor
- apoi
- Acolo.
- prin urmare
- Acestea
- ei
- acest
- complet
- Prin
- timp
- ori
- la
- Unelte
- urmări
- Tren
- Pregătire
- Traveling
- a declanșat
- adevărat
- tipic
- tipic
- înţelegere
- deblocare
- Actualizează
- actualizat
- upgrade-ul
- utilizare
- carcasa de utilizare
- Utilizator
- utilizatorii
- folosind
- utilizate
- Utilizand
- validare
- valoare
- Valori
- diverse
- verifica
- versiune
- viziune
- walkthrough
- vrea
- vrea
- modalități de
- we
- web
- servicii web
- cand
- care
- în timp ce
- voi
- cu
- în
- fără
- Apartamente
- a lucrat
- flux de lucru
- fluxuri de lucru
- face griji
- ar
- Tu
- Ta
- zephyrnet