Pentru a împărtăși magia lui DALL E 2 cu un public larg, trebuia să reducem riscurile asociate cu modelele puternice de generare de imagini. În acest scop, punem diverse balustrade pentru a preveni ca imaginile generate să ne încalce politica de conținut. Această postare se concentrează pe atenuări înainte de antrenament, un subset al acestor balustrade care modifică direct datele din care învață DALL·E 2. În special, DALL·E 2 este antrenat pe sute de milioane de imagini subtitrate de pe internet și eliminăm și reponderăm unele dintre aceste imagini pentru a schimba ceea ce învață modelul.
Acest post este organizat în trei secțiuni, fiecare descriind o atenuare diferită înainte de antrenament:
- În prima secțiune, descriem modul în care am filtrat imaginile violente și sexuale din setul de date de antrenament al DALL·E 2. Fără această atenuare, modelul ar învăța să producă imagini grafice sau explicite atunci când i s-a solicitat pentru ele și ar putea chiar să returneze astfel de imagini neintenționat ca răspuns la solicitări aparent inofensive.
- În a doua secțiune, constatăm că filtrarea datelor de antrenament poate amplifica distorsiunile și descrie tehnica noastră pentru a atenua acest efect. De exemplu, fără această atenuare, am observat că modelele instruite pe date filtrate au generat uneori mai multe imagini care descriu bărbați și mai puține imagini care înfățișează femei în comparație cu modelele antrenate pe setul de date original.
- În secțiunea finală, ne întoarcem la problema memorării, constatând că modele precum DALL·E 2 pot reproduce uneori imagini pe care au fost instruiți, mai degrabă decât să creeze imagini noi. În practică, am constatat că aceasta regurgitarea imaginii este cauzată de imaginile care sunt replicate de mai multe ori în setul de date și atenuează problema prin eliminarea imaginilor care sunt vizual similare cu alte imagini din setul de date.
Reducerea datelor grafice și explicite de antrenament
Deoarece datele de antrenament modelează capacitățile oricărui model învățat, filtrarea datelor este un instrument puternic pentru limitarea capacităților nedorite ale modelului. Am aplicat această abordare la două categorii – imagini care prezintă violență grafică și conținut sexual – utilizând clasificatori pentru a filtra imaginile din aceste categorii din setul de date înainte de antrenamentul DALL·E 2. Am instruit acești clasificatori de imagini în interior și continuăm să studiem efectele filtrării setului de date asupra modelului nostru antrenat.
Pentru a ne instrui clasificatorii de imagini, am reutilizat o abordare pe care am folosit-o anterior pentru a filtra datele de antrenament pentru ALUNECARE. Pașii de bază pentru această abordare sunt următorii: în primul rând, creăm o specificație pentru categoriile de imagini pe care dorim să le etichetăm; în al doilea rând, adunăm câteva sute de exemple pozitive și negative pentru fiecare categorie; în al treilea rând, folosim o procedură de învățare activă pentru a aduna mai multe date și pentru a îmbunătăți compromisul precizie/rechemare; și în cele din urmă, rulăm clasificatorul rezultat pe întregul set de date cu un prag de clasificare conservator pentru a favoriza retragerea în detrimentul preciziei. Pentru a seta aceste praguri, am prioritizat filtrarea tuturor Rău date peste plecarea în toate bine date. Acest lucru se datorează faptului că putem întotdeauna să ne ajustam modelul cu mai multe date ulterior pentru a-l învăța lucruri noi, dar este mult mai greu să facem modelul să uite ceva ce a învățat deja.
În timpul fazei de învățare activă, ne-am îmbunătățit în mod iterativ clasificatorii prin adunarea etichetelor umane pentru imagini potențial dificile sau clasificate greșit. În special, am folosit două tehnici de învățare activă pentru a alege imagini din setul nostru de date (care conține sute de milioane de imagini neetichetate) pentru a le prezenta oamenilor pentru etichetare. În primul rând, pentru a reduce rata de fals pozitive a clasificatorului nostru (adică, frecvența cu care acesta clasifică greșit o imagine benignă ca fiind violentă sau sexuală), am atribuit etichete umane imaginilor pe care modelul actual le-a clasificat drept pozitive. Pentru ca acest pas să funcționeze bine, ne-am reglat pragul de clasificare pentru aproape 100% reamintire, dar o rată ridicată de fals pozitive; în acest fel, etichetatorii noștri au etichetat în mare parte cazurile cu adevărat negative. Deși această tehnică ajută la reducerea rezultatelor false pozitive și reduce nevoia ca etichetatorii să se uite la imagini potențial dăunătoare, nu ajută la găsirea mai multor cazuri pozitive pe care modelul le lipsește în prezent.
Pentru a reduce rata fals negative a clasificatorului nostru, am folosit o a doua tehnică de învățare activă: căutarea celui mai apropiat vecin. În special, am efectuat o validare încrucișată de mai multe ori pentru a găsi eșantioane pozitive în setul nostru de date etichetat actual, pe care modelul tindea să le clasifice greșit drept negative (pentru a face acest lucru, am antrenat literalmente sute de versiuni ale clasificatorului cu diferite împărțiri de validare a trenului). Apoi am scanat colecția noastră mare de imagini neetichetate pentru cei mai apropiați vecini ai acestor mostre într-un spațiu de caracteristici perceptive și am atribuit etichete umane imaginilor descoperite. Datorită infrastructurii noastre de calcul, a fost trivial să extindem atât instruirea clasificatorului, cât și căutarea celui mai apropiat vecin la multe GPU-uri, permițând pasului de învățare activă să aibă loc pe un număr de minute și nu pe ore sau zile.
Pentru a verifica eficacitatea filtrelor noastre de date, am antrenat două modele GLIDE cu aceiași hiperparametri: unul pe date nefiltrate și unul pe setul de date după filtrare. Ne referim la fostul model ca model nefiltrat, iar acesta din urmă ca model filtrat. După cum era de așteptat, am constatat că modelul nefiltrat a produs, în general, conținut mai puțin explicit sau mai puțin grafic ca răspuns la solicitările pentru acest tip de conținut. Cu toate acestea, am găsit și un efect secundar neașteptat al filtrării datelor: a creat sau a amplificat prejudecățile modelului față de anumite categorii demografice.
Remedierea părtinirii introduse de filtrele de date
Modelele generative încearcă să se potrivească cu distribuția datelor lor de antrenament, inclusiv orice prejudecăți din acestea. Ca rezultat, filtrarea datelor de antrenament are potențialul de a crea sau de a amplifica părtiniri în modelele din aval. În general, remedierea distorsiunilor în setul de date original este o sarcină sociotehnică dificilă pe care continuăm să o studiem și depășește scopul acestei postări. Problema pe care o abordăm aici este amplificarea distorsiunilor cauzate în mod specific de filtrarea datelor în sine. Prin abordarea noastră, ne propunem să împiedicăm apariția modelului filtrat mai mult părtinitoare decât modelul nefiltrat, reducând în esență schimbarea distribuției cauzată de filtrarea datelor.
Ca exemplu concret de amplificare a părtinirii datorită filtrării, luați în considerare promptul „un director general”. Atunci când modelul nostru nefiltrat a generat imagini pentru acest prompt, a avut tendința de a produce mai multe imagini cu bărbați decât femei și ne așteptăm ca cea mai mare parte a acestei părtiniri să fie o reflectare a datelor noastre actuale de antrenament. Cu toate acestea, atunci când am rulat același prompt prin modelul nostru filtrat, părtinirea părut a fi amplificată; generațiile erau aproape exclusiv imagini ale bărbaților.
Emitem ipoteza că acest caz particular de amplificare a părtinirii provine din două locuri: în primul rând, chiar dacă femeile și bărbații au o reprezentare aproximativ egală în setul de date original, setul de date poate fi părtinitor spre prezentarea femeilor în contexte mai sexualizate; și în al doilea rând, clasificatorii noștri înșiși pot fi părtinitori fie din cauza implementării, fie din cauza definirii clasei, în ciuda eforturilor noastre de a ne asigura că acest lucru nu a fost cazul în timpul fazelor de colectare și validare a datelor. Datorită ambelor efecte, filtrul nostru poate elimina mai multe imagini cu femei decât bărbați, ceea ce modifică raportul de gen pe care modelul îl observă la antrenament.
Pentru a investiga mai amănunțit părtinirea indusă de filtru, ne-am dorit o modalitate de a măsura cât de mult au afectat filtrele noastre de date părtinirea față de diferite concepte. În special, filtrele noastre de violență și conținut sexual se bazează exclusiv pe imagini, dar natura multimodală a setului nostru de date ne permite să măsuram direct efectele acestor filtre asupra textului. Deoarece fiecare imagine este însoțită de o legendă de text, am putut să analizăm frecvența relativă a cuvintelor cheie selectate manual în setul de date filtrate și nefiltrate pentru a estima cât de mult au afectat filtrele orice concept dat.
To put this into practice, we used Apache Spark to compute the frequencies of a handful of keywords (e.g., "parent", “woman”, “kid”) over all of the captions in both our filtered and unfiltered datasets. Even though our dataset contains hundreds of millions of text-image pairs, computing these keyword frequencies only took a few minutes using our compute cluster.
După ce am calculat frecvențele cuvintelor cheie, am putut să confirmăm că filtrele noastre de seturi de date au denaturat într-adevăr frecvențele anumitor cuvinte cheie mai mult decât altele. De exemplu, filtrele au redus frecvența cuvântului „femeie” cu 14%, în timp ce frecvența cuvântului „bărbat” a fost redusă doar cu 6%. Acest lucru a confirmat, la scară largă, ceea ce observasem deja anecdotic prin eșantionarea din modelele GLIDE antrenate pe ambele seturi de date.
Acum că aveam un proxy pentru măsurarea părtinirii induse de filtru, aveam nevoie de o modalitate de a o atenua. Pentru a rezolva această problemă, am urmărit să reponderăm setul de date filtrat, astfel încât distribuția acestuia să se potrivească mai bine cu distribuția imaginilor nefiltrate. Ca exemplu de jucărie pentru a ilustra această idee, să presupunem că setul nostru de date este format din 50% fotografii cu pisici și 50% fotografii cu câini, dar filtrele noastre de date elimină 75% dintre câini, dar numai 50% dintre pisici. Setul de date final ar fi ⅔ pisici și ⅓ câini, iar un model generativ bazat pe probabilitate antrenat pe acest set de date ar genera probabil mai multe imagini cu pisici decât câini. Putem remedia acest dezechilibru prin înmulțirea pierderii de dresaj a fiecărei imagini a unui câine cu 2, emulând efectul repetării fiecărei imagini de câine de două ori. Se pare că putem scala această abordare la seturile și modelele noastre reale într-un mod care este în mare parte automat, adică nu trebuie să selectăm manual caracteristicile pe care dorim să le reponderăm.
Calculăm ponderi pentru imagini din setul de date filtrat folosind probabilități dintr-un clasificator special, similar cu abordarea utilizată de Choi și colab. (2019). Pentru a antrena acest clasificator, eșantionăm uniform imagini din ambele seturi de date și anticipăm din ce set de date provine imaginea. În special, acest model prezice P(nefiltrat|imagine), dat un prealabil P(nefiltrat) = 0.5. În practică, nu dorim ca acest model să fie prea puternic, altfel ar putea afla funcția exactă implementată de filtrele noastre în primul rând. În schimb, dorim ca modelul să fie mai neted decât filtrele noastre de date originale, captând categorii largi care sunt afectate de filtre, fără a fi siguri dacă o anumită imagine va fi filtrată sau nu. În acest scop, am antrenat o sondă liniară deasupra unui mic CLIP model.
Odată ce avem un clasificator care prezice probabilitatea ca o imagine să fie din setul de date nefiltrat, mai trebuie să convertim această predicție într-o pondere pentru imagine. De exemplu, să presupunem că P(nefiltrat|imagine) = 0.8. Aceasta înseamnă că eșantionul este de 4 ori mai probabil să fie găsit în datele nefiltrate decât în datele filtrate, iar o pondere de 4 ar trebui să corecteze dezechilibrul. Mai general, putem folosi greutatea P(nefiltrat|imagine)/P(filtrat|imagine).[1]
Cât de bine atenuează de fapt această schemă de reponderare părtinirea amplificată? Când ne-am ajustat modelul anterior filtrat cu noua schemă de ponderare, comportamentul modelului ajustat s-a potrivit mult mai strâns cu modelul nefiltrat pe exemplele părtinitoare pe care le-am găsit anterior. Deși acest lucru a fost încurajator, am dorit, de asemenea, să evaluăm această atenuare mai amănunțit folosind euristica noastră de părtinire bazată pe cuvinte cheie. Pentru a măsura frecvențele cuvintelor cheie ținând cont de noua noastră schemă de ponderare, putem pur și simplu să ponderăm fiecare instanță a unui cuvânt cheie din setul de date filtrat cu greutatea eșantionului care îl conține. Făcând acest lucru, obținem un nou set de frecvențe de cuvinte cheie care reflectă ponderile eșantionului din setul de date filtrat.
În majoritatea cuvintelor cheie pe care le-am verificat, schema de reponderare a redus modificarea frecvenței induse de filtrare. Pentru exemplele noastre anterioare de „bărbat” și „femeie”, reducerile relative ale frecvenței au devenit 1% și –1%, în timp ce valorile lor anterioare au fost de 14% și, respectiv, 6%. În timp ce această valoare este doar un proxy pentru părtinirea reală de filtrare, este liniștitor că schema noastră de reponderare bazată pe imagini îmbunătățește de fapt o valoare bazată pe text atât de semnificativ.
Continuăm să investigăm părtinirile rămase în DALL·E 2, parțial prin evaluări mai mari ale comportamentului modelului și investigații asupra modului în care filtrarea a afectat părtinirea și dezvoltarea capacităților.
Prevenirea regurgitării imaginii
Am observat că predecesorii noștri interni ai DALL·E 2 reproduceau uneori imagini de antrenament text. Acest comportament a fost nedorit, deoarece ne-am dori ca DALL·E 2 să creeze imagini originale, unice în mod implicit, și nu doar să „împletească” bucăți de imagini existente. În plus, reproducerea textului textual a imaginilor de antrenament poate ridica întrebări juridice cu privire la încălcarea drepturilor de autor, proprietatea și confidențialitatea (dacă fotografiile oamenilor au fost prezente în datele de antrenament).
Pentru a înțelege mai bine problema regurgitării imaginii, am colectat un set de date de solicitări care au dus frecvent la imagini duplicate. Pentru a face acest lucru, am folosit un model antrenat pentru a eșantiona imagini pentru 50,000 de solicitări din setul nostru de date de antrenament și am sortat eșantioanele după similitudinea perceptivă cu imaginea de antrenament corespunzătoare. În cele din urmă, am inspectat cele mai bune potriviri manual, găsind doar câteva sute de perechi duplicate adevărate din totalul de 50 de mii de solicitări. Chiar dacă rata de regurgitare părea a fi mai mică de 1%, am simțit că este necesar să împingem rata la 0 din motivele menționate mai sus.
Când am studiat setul nostru de date de imagini regurgitate, am observat două modele. În primul rând, imaginile erau aproape toate grafice vectoriale simple, care erau probabil ușor de memorat datorită conținutului lor scăzut de informații. În al doilea rând, și mai important, toate imaginile au avut multe aproape duplicate în setul de date de antrenament. De exemplu, ar putea exista o grafică vectorială care arată ca un ceas care arată ora 1, dar apoi am descoperi un eșantion de antrenament care conține același ceas care arată ora 2 și apoi ora 3 etc. O dată ne-am dat seama de acest lucru, am folosit o căutare distribuită a vecinului cel mai apropiat pentru a verifica că, într-adevăr, toate imaginile regurgitate aveau duplicate similare perceptuale în setul de date. Altele fabrică au observat un fenomen similar în modelele mari de limbaj, constatând că duplicarea datelor este strâns legată de memorare.
The above finding suggested that, if we deduplicated our dataset, we might solve the regurgitation problem. To achieve this, we planned to use a neural network to identify groups of images that looked similar, and then remove all but one image from each group.[2] However, this would require checking, for each image, whether it is a duplicate of every other image in the dataset. Since our whole dataset contains hundreds of millions of images, we would naively need to check hundreds of quadrillions of image pairs to find all the duplicates. While this is technically within reach, especially on a large compute cluster, we found a much more efficient alternative that works almost as well at a small fraction of the cost.
Consider what happens if we cluster our dataset before performing deduplication. Since nearby samples often fall into the same cluster, most of the duplicate pairs would not cross cluster decision boundaries. We could then deduplicate samples within each cluster without checking for duplicates outside of the cluster, while only missing a small fraction of all duplicate pairs. This is much faster than the naive approach, since we no longer have to check every single pair of images.[3] When we tested this approach empirically on a small subset of our data, it found 85% of all duplicate pairs when using K = 1024 clustere.
Pentru a îmbunătăți rata de succes a algoritmului de mai sus, am folosit o observație cheie: atunci când grupați diferite subseturi aleatoare ale unui set de date, limitele de decizie ale clusterului rezultate sunt adesea destul de diferite. Prin urmare, dacă o pereche duplicată traversează granița unui cluster pentru o grupare a datelor, aceeași pereche ar putea intra într-un singur cluster într-o grupare diferită. Cu cât încercați mai multe grupări, cu atât este mai probabil să descoperiți o anumită pereche duplicată. În practică, ne-am hotărât să folosim cinci grupări, ceea ce înseamnă că căutăm duplicate ale fiecărei imagini în uniunea a cinci grupuri diferite. În practică, aceasta a găsit 97% din toate perechile duplicate pe un subset al datelor noastre.
În mod surprinzător, aproape un sfert din setul nostru de date a fost eliminat prin deduplicare. Când ne-am uitat la perechile aproape duplicate care au fost găsite, multe dintre ele au inclus modificări semnificative. Amintiți-vă exemplul de ceas de mai sus: setul de date poate include multe imagini ale aceluiași ceas la diferite momente ale zilei. În timp ce aceste imagini ar putea face modelul să memoreze aspectul acestui ceas, ele ar putea ajuta, de asemenea, modelul să învețe să facă distincția între momentele din zi pe un ceas. Având în vedere câte date au fost eliminate, ne-am îngrijorat că eliminarea unor astfel de imagini ar fi afectat performanța modelului.
Pentru a testa efectul deduplicării asupra modelelor noastre, am antrenat două modele cu hiperparametri identici: unul pe setul de date complet și unul pe versiunea deduplicată a setului de date. Pentru a compara modelele, am folosit aceleași evaluări umane pe care le-am folosit pentru a evalua modelul nostru original GLIDE. În mod surprinzător, am constatat că evaluatorii umani ușor preferat modelul s-a antrenat pe date deduplicate, sugerând că cantitatea mare de imagini redundante din setul de date a afectat de fapt performanța.
Odată ce am avut un model antrenat pe date deduplicate, am reluat căutarea de regurgitare pe care o făcusem anterior peste 50 de solicitări din setul de date de antrenament. Am descoperit că noul model nu a regurgitat niciodată o imagine de antrenament atunci când a primit promptul exact pentru imaginea din setul de date de antrenament. Pentru a face acest test încă un pas mai departe, am efectuat și o căutare a celui mai apropiat vecin pe întregul set de date de antrenament pentru fiecare dintre cele 50k imagini generate. În acest fel, ne-am gândit că am putea surprinde modelul regurgitând o imagine diferită de cea asociată cu un prompt dat. Chiar și cu această verificare mai amănunțită, nu am găsit niciodată un caz de regurgitare a imaginii.
Pasii urmatori
În timp ce toate atenuările discutate mai sus reprezintă un progres semnificativ către obiectivul nostru de a reduce riscurile asociate cu DALL·E 2, fiecare atenuare mai are loc de îmbunătățit:
- Filtre mai bune de pre-antrenament ne-ar putea permite să antrenăm DALL·E 2 pe mai multe date și, potențial, să reducem și mai mult părtinirea modelului. Filtrele noastre actuale sunt reglate pentru o rată scăzută de erori, cu prețul multor rezultate false pozitive. Drept urmare, am filtrat aproximativ 5% din întregul nostru set de date, chiar dacă majoritatea acestor imagini filtrate nu încalcă deloc politica noastră de conținut. Îmbunătățirea filtrelor ne-ar putea permite să revendicăm unele dintre aceste date de antrenament.
- Bias-ul este introdus și potențial amplificat în multe etape ale dezvoltării și implementării sistemului. Evaluarea și atenuarea părtinirii în sisteme precum DALL·E 2 și a prejudiciului indus de această părtinire este o problemă interdisciplinară importantă pe care continuăm să o studiem la OpenAI, ca parte a misiunii noastre mai ample. Munca noastră în acest sens include construirea de evaluări pentru a înțelege mai bine problema, tratarea noilor seturi de date și aplicarea unor tehnici precum feedbackul uman și reglarea fină pentru a construi tehnologii mai robuste și reprezentative.
- De asemenea, este crucial să continuăm să studiem memorarea și generalizarea în sistemele de învățare profundă. În timp ce deduplicarea este un prim pas bun spre prevenirea memorării, nu ne spune tot ce trebuie să aflăm despre de ce sau cum modele precum DALL·E 2 memorează datele de antrenament.
- 000
- 2019
- a
- Despre Noi
- Cont
- Obține
- peste
- activ
- adresa
- care afectează
- Algoritmul
- TOATE
- Permiterea
- permite
- deja
- alternativă
- mereu
- sumă
- O alta
- a apărut
- aplicat
- Aplicarea
- abordare
- în jurul
- alocate
- asociate
- audiență
- deoarece
- înainte
- fiind
- Mai bine
- între
- Dincolo de
- construi
- Clădire
- capacități
- legende
- caz
- cazuri
- Captură
- Categorii
- cauzată
- sigur
- Schimbare
- control
- Alege
- clasă
- clasificare
- clasificate
- Ceas
- colectare
- comparație
- Calcula
- tehnica de calcul
- concept
- Lua în considerare
- conține
- conţinut
- contexte
- continua
- drepturi de autor
- încălcarea drepturilor de autor
- Corespunzător
- ar putea
- crea
- a creat
- Crearea
- crucial
- Curent
- În prezent
- de date
- zi
- Zi
- decizie
- adânc
- Criterii demografice
- desfășurarea
- descrie
- În ciuda
- Dezvoltare
- diferit
- dificil
- direct
- descoperi
- a descoperit
- distanţă
- distribuite
- distribuire
- jos
- duplicate
- în timpul
- fiecare
- efect
- în mod eficient
- eficacitate
- efecte
- eficient
- Eforturile
- Fii încurajator.
- mai ales
- În esență,
- estima
- etc
- evalua
- tot
- exemplu
- exemple
- exclusiv
- existent
- aștepta
- de aşteptat
- mai repede
- Caracteristică
- DESCRIERE
- feedback-ul
- Figura
- filtrare
- Filtre
- În cele din urmă
- descoperire
- First
- Repara
- se concentrează
- urmează
- găsit
- din
- Complet
- funcţie
- mai mult
- culegere
- Gen
- General
- în general
- genera
- generată
- generaţie
- generații
- generativ
- scop
- bine
- unități de procesare grafică
- grafică
- grup
- Grupului
- garantat
- mână
- ajutor
- ajută
- aici
- Înalt
- Cum
- Totuși
- HTTPS
- uman
- Oamenii
- sute
- idee
- identifica
- imagine
- imagini
- implementarea
- implementat
- important
- îmbunătăţi
- îmbunătățit
- îmbunătățirea
- include
- inclus
- include
- Inclusiv
- informații
- Infrastructură
- instanță
- Internet
- investiga
- problema
- IT
- în sine
- Cheie
- Etichetă
- etichetarea
- etichete
- limbă
- mare
- mai mare
- AFLAȚI
- învățat
- învăţare
- Legal
- Probabil
- Uite
- uitat
- face
- marca
- Meci
- semnificativ
- mijloace
- măsura
- măsurare
- Bărbați
- ar putea
- Militar
- milioane
- Misiune
- model
- Modele
- mai mult
- cele mai multe
- multiplicându-se
- Natură
- necesar
- negativ
- reţea
- număr
- comandă
- Organizat
- original
- Altele
- proprietate
- parte
- special
- performanță
- efectuarea
- fază
- piese
- planificat
- Politica
- pozitiv
- posibil
- potenţial
- puternic
- practică
- prezice
- prezicere
- prezenta
- prevenirea
- precedent
- intimitate
- sondă
- Problemă
- proces
- produce
- Produs
- protest
- împuternicit
- Trimestru
- ridica
- ajunge
- realizat
- motive
- reduce
- Redus
- reducerea
- reflecta
- reflecţie
- rămas
- eliminarea
- reprezenta
- reprezentare
- reprezentant
- cereri de
- necesita
- Necesită
- răspuns
- rezultând
- reveni
- Riscurile
- Alerga
- acelaşi
- Scară
- schemă
- Caută
- set
- forme
- Distribuie
- schimbare
- semnificativ
- asemănător
- simplu
- întrucât
- singur
- Mărimea
- mic
- So
- REZOLVAREA
- unele
- ceva
- Spaţiu
- special
- specific
- specificație
- șpalturi
- Stadiile
- Începe
- stabilit
- Încă
- Studiu
- succes
- sistem
- sisteme
- luare
- tehnici de
- Tehnologii
- test
- prin urmare
- lucruri
- complet
- trei
- prag
- Prin
- timp
- ori
- instrument
- top
- față de
- Tren
- Pregătire
- înţelege
- uniune
- unic
- us
- utilizare
- validare
- diverse
- verifica
- versiune
- dorit
- Ce
- dacă
- în timp ce
- în
- fără
- Femei
- Apartamente
- fabrică
- îngrijorat
- ar
- X