Buckets:
| # Quiz de final de capitol[[end-of-chapter-quiz]] | |
| <CourseFloatingBanner | |
| chapter={5} | |
| classNames="absolute z-10 right-0 top-0" | |
| /> | |
| Acest capitol a acoperit o mulțime de subiecte! Nu vă faceți griji dacă nu ați înțeles toate detaliile; capitolele următoare vă vor ajuta să înțelegeți cum funcționează lucrurile mai aprofundat. | |
| Înainte de a trece mai departe, totuși trebuie să testăm ce ați învățat în acest capitol. | |
| ### 1. Funcția `load_dataset()` din 🤗 Datasets vă permite să încărcați un dataset din care dintre următoarele locații? | |
| <Question | |
| choices={[ | |
| { | |
| text: "Local, de exemplu pe laptop", | |
| explain: "Corect! Puteți trece path-urile fișierelor locale ca argument al `data_files` al `load_dataset()` pentru a încărca dataseturi locale.", | |
| correct: true | |
| }, | |
| { | |
| text: "Hugging Face Hub", | |
| explain: "Corect! Puteți încărca dataseturi de pe Hub furnizând ID-ul datasetului, de exemplu load_dataset('emotion').", | |
| correct: true | |
| }, | |
| { | |
| text: "Un server remote", | |
| explain: "Corect! Puteți trece URL-uri ca argument al `data_files` al `load_dataset()` pentru a încărca fișiere remote.", | |
| correct: true | |
| }, | |
| ]} | |
| /> | |
| ### 2. Presupunem că încărcați una dintre sarcinile GLUE astfel: | |
| ```py | |
| from datasets import load_dataset | |
| dataset = load_dataset("glue", "mrpc", split="train") | |
| ``` | |
| Care dintre următoarele comenzi va produce un exemplu aleatoriu de 50 de elemente din `dataset`? | |
| <Question | |
| choices={[ | |
| { | |
| text: "dataset.sample(50)", | |
| explain: "Acest lucru este incorect -- nu există o metodă `Dataset.sample()`." | |
| }, | |
| { | |
| text: "dataset.shuffle().select(range(50))", | |
| explain: "Corect! Așa cum ați văzut în acest capitol, mai întâi faceți shuffle datasetului și apoi selectați exemplele din el.", | |
| correct: true | |
| }, | |
| { | |
| text: "dataset.select(range(50)).shuffle()", | |
| explain: "Acest lucru este incorect -- deși codul va rula, va amesteca doar primele 50 de elemente din setul de date." | |
| } | |
| ]} | |
| /> | |
| ### 3. Presupunem că aveți un set de date despre animale de companie numit `pets_dataset`, care are o coloană `name` care denotă numele fiecărui animal de companie. Care dintre următoarele abordări v-ar permite să filtrați setul de date pentru toate animalele de companie ale căror nume încep cu litera "L"? | |
| <Question | |
| choices={[ | |
| { | |
| text: "pets_dataset.filter(lambda x : x['name'].startswith('L'))", | |
| explain: "Corect! Utilizarea unei funcții lambda python pentru aceste filtre rapide este o idee grozavă. Vă puteți gândi și la o altă soluție?", | |
| correct: true | |
| }, | |
| { | |
| text: "pets_dataset.filter(lambda x['name'].startswith('L'))", | |
| explain: "Acest lucru este incorect -- o funcție lambda are forma generală lambda *arguments* : *expression*, deci trebuie să furnizați argumente în acest caz." | |
| }, | |
| { | |
| text: "Creați o funcție ca def filter_names(x): return x['name'].startswith('L') și rulați pets_dataset.filter(filter_names).", | |
| explain: "Corect! La fel ca și cu Dataset.map(), puteți trece funcții explicite la Dataset.filter(). Acest lucru este util atunci când aveți o logică complexă care nu este potrivită pentru o funcție lambda. Care dintre celelalte soluții ar mai funcționa?", | |
| correct: true | |
| } | |
| ]} | |
| /> | |
| ### 4. Ce este memory mapping? | |
| <Question | |
| choices={[ | |
| { | |
| text: "Mappingul între CPU și GPU RAM", | |
| explain: "Acest lucru nu este corect -- încearcă din nou!", | |
| }, | |
| { | |
| text: "Mapping între RAM și stocarea sistemului de fișiere", | |
| explain: "Corect! 🤗 Datasets tratează fiecare dataset ca pe un fișier memory-mapped. Acest lucru permite bibliotecii să acceseze și să opereze pe elemente ale datasetului fără să fie nevoie să îl încarce complet în memorie.", | |
| correct: true | |
| }, | |
| { | |
| text: "Mapping între două fișiere din cache-ul 🤗 Datasets", | |
| explain: "Acest lucru nu este corect -- încearcă din nou!" | |
| } | |
| ]} | |
| /> | |
| ### 5. Care sunt principalele beneficii ale memory-mapping? | |
| <Question | |
| choices={[ | |
| { | |
| text: "Accesarea fișierelor memory-mapped este mai rapid decât citirea de pe disc sau scrierea pe disc.", | |
| explain: "Corect! Acest lucru permite 🤗 Datasets să fie extrem de rapid. Acesta însă nu este singurul beneficiu.", | |
| correct: true | |
| }, | |
| { | |
| text: "Aplicațiile pot accesa segmente de date dintr-un fișier extrem de mare fără a fi necesar să citească întregul fișier în RAM mai întâi.", | |
| explain: "Corect! Acest lucru permite 🤗 Datasets să încarce dataseturi de câțiva gigabytes pe laptopul tău fără a fi nevoie să supraîncărcați CPU-ul. Ce alt avantaj oferă memory-mapping?", | |
| correct: true | |
| }, | |
| { | |
| text: "Acesta consumă mai puțină energie, astfel încât bateria ta ține mai mult.", | |
| explain: "Acest lucru nu este corect -- încearcă din nou!" | |
| } | |
| ]} | |
| /> | |
| ### 6. De ce codul următor eșuează? | |
| ```py | |
| from datasets import load_dataset | |
| dataset = load_dataset("allocine", streaming=True, split="train") | |
| dataset[0] | |
| ``` | |
| <Question | |
| choices={[ | |
| { | |
| text: "Încearcă să facă streaming unui dataset prea mare pentru a încăpea în RAM.", | |
| explain: "Acest lucru nu este corect -- streaming datasets sunt decomprimate pe loc, și puteți prelucra dataseturi de terabytes cu foarte puțin RAM!", | |
| }, | |
| { | |
| text: "Încearcă să acceseze un IterableDataset.", | |
| explain: "Corect! Un IterableDataset este un generator, nu un container, deci ar trebui să accesați elementele sale utilizând next(iter(dataset)).", | |
| correct: true | |
| }, | |
| { | |
| text: "Datasetul allocine nu are o un split train.", | |
| explain: "Acest lucru este incorect -- consultați cardul datasetului allocine de pe Hub pentru a vedea ce splituri conține." | |
| } | |
| ]} | |
| /> | |
| ### 7. Care sunt principalele beneficii ale creării unui dataset card? | |
| <Question | |
| choices={[ | |
| { | |
| text: "Oferă informații despre utilizarea intenționată și sarcinile susținute ale datasetului, astfel încât ceilalți din comunitate să poată lua o decizie cu privire la utilizarea acestuia.", | |
| explain: "Corect! Dataseturile nedocumentate pot fi utilizate pentru a antrena modele care pot să nu reflecte intențiile creatorilor sau pot produce modele a căror statut juridic este incert dacă sunt antrenate pe date care încalcă confidențialitatea sau restricțiile de licențiere. Acesta nu este singurul beneficiu, totuși!", | |
| correct: true | |
| }, | |
| { | |
| text: "Ajută la sublinierea biasurilor prezente într-un corpus.", | |
| explain: "Corect! Aproape toate dataseturile au o formă de bias, ceea ce poate produce consecințe negative. A fi conștient de ele ajută creatorii de modele să înțeleagă cum să abordeze biasurile indispensabile. Cu ce altceva vă pot ajuta dataset cardurile?", | |
| correct: true | |
| }, | |
| { | |
| text: "Îmbunătățește șansele ca ceilalți din comunitate să utilizeze datasetul meu.", | |
| explain: "Corect! Un dataset card bine scris va avea tendința de a duce la o utilizare mai mare a prețiosului tău dataset. Ce beneficiu mai oferă?", | |
| correct: true | |
| }, | |
| ]} | |
| /> | |
| ### 8. Ce este căutarea semantică? | |
| <Question | |
| choices={[ | |
| { | |
| text: "Un mod de a căuta pentru a găsi potriviri exacte între cuvintele dintr-un query și documentele dintr-un corpus", | |
| explain: "Acest lucru este incorect -- acest tip de căutare se numește *căutare lexicală*, și este ceea ce vedeți de obicei cu motoarele de căutare tradiționale." | |
| }, | |
| { | |
| text: "Un mod de a căuta documente care se potrivesc prin înțelegerea sensului contextual al unui query", | |
| explain: "Corect! Căutarea semantică utilizează embedding vectors pentru a reprezenta queries și documente și utilizează o metrică de similaritate pentru a măsura cantitatea de suprapunere între ele. Cum altfel ați putea descrie-o?", | |
| correct: true | |
| }, | |
| { | |
| text: "Un mod de a îmbunătăți acuratețea căutării", | |
| explain: "Corect! Motoarele de căutare semantice pot captura intenția unui query mult mai bine decât potrivirea de cuvinte cheie și de obicei preia documente cu o precizie mai mare. Dar acesta nu este singurul răspuns corect -- ce alt beneficiu oferă căutarea semantică?", | |
| correct: true | |
| } | |
| ]} | |
| /> | |
| ### 9. Pentru căutarea semantică asimetrică, de obicei aveți: | |
| <Question | |
| choices={[ | |
| { | |
| text: "Un query scurt și un paragraf mai lung care răspunde la query", | |
| explain: "Corect!", | |
| correct: true | |
| }, | |
| { | |
| text: "Queries și paragrafe care sunt de aproximativ aceeași lungime", | |
| explain: "Acest lucru este de fapt un exemplu de căutare semantică simetrică -- încercați din nou!" | |
| }, | |
| { | |
| text: "Un query lung și un paragraf mai scurt care răspunde la query", | |
| explain: "Acest lucru este incorect -- încercați din nou!" | |
| } | |
| ]} | |
| /> | |
| ### 10. Pot utiliza 🤗 Datasets pentru a încărca date pentru utilizare în alte domenii, cum ar fi speech processing? | |
| <Question | |
| choices={[ | |
| { | |
| text: "Nu", | |
| explain: "Acest lucru este incorect -- 🤗 Datasets acceptă în prezent date tabulare, audio și imagini. Consultați datasetul MNIST de pe Hub pentru a vedea un exemplu de computer vision." | |
| }, | |
| { | |
| text: "Da", | |
| explain: "Corect! Consultați dezvoltările interesante cu privire la speech și vision în biblioteca 🤗 Transformers pentru a vedea cum 🤗 Datasets este utilizat în aceste domenii.", | |
| correct: true | |
| }, | |
| ]} | |
| /> | |
Xet Storage Details
- Size:
- 10.5 kB
- Xet hash:
- 7b8a892d308e1ea5cbdd33df8b09a2c6ddcea026449212e899894762783ec8d7
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.