Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Memahami Learning Curve","local":"understanding-learning-curves","sections":[{"title":"Apa itu Learning Curve?","local":"what-are-learning-curves","sections":[{"title":"Kurva Loss","local":"loss-curves","sections":[],"depth":3},{"title":"Kurva Akurasi","local":"accuracy-curves","sections":[],"depth":3},{"title":"Konvergensi","local":"convergence","sections":[],"depth":3}],"depth":2},{"title":"Menafsirkan Pola Kurva","local":"interpreting-learning-curve-patterns","sections":[{"title":"Kurva Sehat","local":"healthy-learning-curves","sections":[],"depth":3},{"title":"Contoh Praktis","local":"practical-examples","sections":[{"title":"Selama Pelatihan","local":"during-training","sections":[],"depth":4},{"title":"Setelah Pelatihan","local":"after-training","sections":[],"depth":4},{"title":"Overfitting","local":"overfitting","sections":[],"depth":4},{"title":"2. Underfitting","local":"underfitting","sections":[],"depth":4},{"title":"3. Kurva Pembelajaran Tidak Stabil","local":"erratic-learning-curves","sections":[],"depth":4}],"depth":3}],"depth":2},{"title":"Poin-Poin Penting","local":"key-takeaways","sections":[],"depth":2},{"title":"Kuis Bagian","local":"section-quiz","sections":[{"title":"1. Apa arti umum ketika loss pelatihan menurun tapi loss validasi mulai meningkat?","local":"1-apa-arti-umum-ketika-loss-pelatihan-menurun-tapi-loss-validasi-mulai-meningkat","sections":[],"depth":3},{"title":"2. Mengapa kurva akurasi sering menunjukkan pola bertingkat atau seperti dataran tinggi daripada peningkatan yang halus?","local":"2-mengapa-kurva-akurasi-sering-menunjukkan-pola-bertingkat-atau-seperti-dataran-tinggi-daripada-peningkatan-yang-halus","sections":[],"depth":3},{"title":"3. Apa pendekatan terbaik ketika Anda mengamati kurva pembelajaran yang tidak stabil dan sangat berfluktuasi?","local":"3-apa-pendekatan-terbaik-ketika-anda-mengamati-kurva-pembelajaran-yang-tidak-stabil-dan-sangat-berfluktuasi","sections":[],"depth":3},{"title":"4. Kapan Anda harus mempertimbangkan penggunaan early stopping ?","local":"4-kapan-anda-harus-mempertimbangkan-penggunaan-early-stopping-","sections":[],"depth":3},{"title":"5. Apa yang menunjukkan bahwa model Anda mungkin mengalami underfitting ?","local":"5-apa-yang-menunjukkan-bahwa-model-anda-mungkin-mengalami-underfitting-","sections":[],"depth":3}],"depth":2}],"depth":1}"> | |
| <link href="/docs/course/pr_1054/id/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/entry/start.4f92af03.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/scheduler.36a0863c.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/singletons.7dc7b9a4.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/index.733708bb.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/paths.cf097d06.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/entry/app.19cef1b6.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/index.156fee99.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/nodes/0.1203e4a0.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/each.e59479a4.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/nodes/27.64317547.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/Tip.8a648467.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/CodeBlock.4cf998e6.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/CourseFloatingBanner.16bb8bff.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/Question.aeeaa180.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/stores.8f4efe8a.js"> | |
| <link rel="modulepreload" href="/docs/course/pr_1054/id/_app/immutable/chunks/getInferenceSnippets.472bc46d.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{"title":"Memahami Learning Curve","local":"understanding-learning-curves","sections":[{"title":"Apa itu Learning Curve?","local":"what-are-learning-curves","sections":[{"title":"Kurva Loss","local":"loss-curves","sections":[],"depth":3},{"title":"Kurva Akurasi","local":"accuracy-curves","sections":[],"depth":3},{"title":"Konvergensi","local":"convergence","sections":[],"depth":3}],"depth":2},{"title":"Menafsirkan Pola Kurva","local":"interpreting-learning-curve-patterns","sections":[{"title":"Kurva Sehat","local":"healthy-learning-curves","sections":[],"depth":3},{"title":"Contoh Praktis","local":"practical-examples","sections":[{"title":"Selama Pelatihan","local":"during-training","sections":[],"depth":4},{"title":"Setelah Pelatihan","local":"after-training","sections":[],"depth":4},{"title":"Overfitting","local":"overfitting","sections":[],"depth":4},{"title":"2. Underfitting","local":"underfitting","sections":[],"depth":4},{"title":"3. Kurva Pembelajaran Tidak Stabil","local":"erratic-learning-curves","sections":[],"depth":4}],"depth":3}],"depth":2},{"title":"Poin-Poin Penting","local":"key-takeaways","sections":[],"depth":2},{"title":"Kuis Bagian","local":"section-quiz","sections":[{"title":"1. Apa arti umum ketika loss pelatihan menurun tapi loss validasi mulai meningkat?","local":"1-apa-arti-umum-ketika-loss-pelatihan-menurun-tapi-loss-validasi-mulai-meningkat","sections":[],"depth":3},{"title":"2. Mengapa kurva akurasi sering menunjukkan pola bertingkat atau seperti dataran tinggi daripada peningkatan yang halus?","local":"2-mengapa-kurva-akurasi-sering-menunjukkan-pola-bertingkat-atau-seperti-dataran-tinggi-daripada-peningkatan-yang-halus","sections":[],"depth":3},{"title":"3. Apa pendekatan terbaik ketika Anda mengamati kurva pembelajaran yang tidak stabil dan sangat berfluktuasi?","local":"3-apa-pendekatan-terbaik-ketika-anda-mengamati-kurva-pembelajaran-yang-tidak-stabil-dan-sangat-berfluktuasi","sections":[],"depth":3},{"title":"4. Kapan Anda harus mempertimbangkan penggunaan early stopping ?","local":"4-kapan-anda-harus-mempertimbangkan-penggunaan-early-stopping-","sections":[],"depth":3},{"title":"5. Apa yang menunjukkan bahwa model Anda mungkin mengalami underfitting ?","local":"5-apa-yang-menunjukkan-bahwa-model-anda-mungkin-mengalami-underfitting-","sections":[],"depth":3}],"depth":2}],"depth":1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="understanding-learning-curves" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#understanding-learning-curves"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Memahami Learning Curve</span></h1> <div class="flex space-x-1 absolute z-10 right-0 top-0"><a href="https://discuss.huggingface.co/t/chapter-3-questions" target="_blank"><img alt="Ask a Question" class="!m-0" src="https://img.shields.io/badge/Ask%20a%20question-ffcb4c.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgLTEgMTA0IDEwNiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMyMzFmMjA7fS5jbHMtMntmaWxsOiNmZmY5YWU7fS5jbHMtM3tmaWxsOiMwMGFlZWY7fS5jbHMtNHtmaWxsOiMwMGE5NGY7fS5jbHMtNXtmaWxsOiNmMTVkMjI7fS5jbHMtNntmaWxsOiNlMzFiMjM7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5EaXNjb3Vyc2VfbG9nbzwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiPjxnIGlkPSJMYXllcl8zIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MS44NywwQzIzLjcxLDAsMCwyMi44MywwLDUxYzAsLjkxLDAsNTIuODEsMCw1Mi44MWw1MS44Ni0uMDVjMjguMTYsMCw1MS0yMy43MSw1MS01MS44N1M4MCwwLDUxLjg3LDBaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTIuMzcsMTkuNzRBMzEuNjIsMzEuNjIsMCwwLDAsMjQuNTgsNjYuNDFsLTUuNzIsMTguNEwzOS40LDgwLjE3YTMxLjYxLDMxLjYxLDAsMSwwLDEzLTYwLjQzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTc3LjQ1LDMyLjEyYTMxLjYsMzEuNiwwLDAsMS0zOC4wNSw0OEwxOC44Niw4NC44MmwyMC45MS0yLjQ3QTMxLjYsMzEuNiwwLDAsMCw3Ny40NSwzMi4xMloiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik03MS42MywyNi4yOUEzMS42LDMxLjYsMCwwLDEsMzguOCw3OEwxOC44Niw4NC44MiwzOS40LDgwLjE3QTMxLjYsMzEuNiwwLDAsMCw3MS42MywyNi4yOVoiLz48cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Ik0yNi40Nyw2Ny4xMWEzMS42MSwzMS42MSwwLDAsMSw1MS0zNUEzMS42MSwzMS42MSwwLDAsMCwyNC41OCw2Ni40MWwtNS43MiwxOC40WiIvPjxwYXRoIGNsYXNzPSJjbHMtNiIgZD0iTTI0LjU4LDY2LjQxQTMxLjYxLDMxLjYxLDAsMCwxLDcxLjYzLDI2LjI5YTMxLjYxLDMxLjYxLDAsMCwwLTQ5LDM5LjYzbC0zLjc2LDE4LjlaIi8+PC9nPjwvZz48L3N2Zz4="></a> <a href="https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter3/section7.ipynb" target="_blank"><img alt="Open In Colab" class="!m-0" src="https://colab.research.google.com/assets/colab-badge.svg"></a> <a href="https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter3/section7.ipynb" target="_blank"><img alt="Open In Studio Lab" class="!m-0" src="https://studiolab.sagemaker.aws/studiolab.svg"></a></div> <p data-svelte-h="svelte-bk5yam">Sekarang Anda telah mempelajari cara melakukan fine-tuning menggunakan baik <code>Trainer</code> API maupun loop pelatihan kustom, penting untuk memahami cara menafsirkan hasilnya. <strong>Learning curve</strong> adalah alat visual yang sangat berharga untuk mengevaluasi performa model selama pelatihan dan mendeteksi masalah sejak dini.</p> <p data-svelte-h="svelte-va7swi">Di bagian ini, kita akan mempelajari cara membaca dan menafsirkan kurva akurasi dan loss, memahami bentuk-bentuk kurva yang umum, serta belajar menangani berbagai masalah yang muncul saat pelatihan.</p> <h2 class="relative group"><a id="what-are-learning-curves" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#what-are-learning-curves"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Apa itu Learning Curve?</span></h2> <p data-svelte-h="svelte-vgb5r0"><strong>Learning curve</strong> adalah representasi visual dari metrik performa model selama pelatihan. Dua kurva paling penting yang perlu dipantau:</p> <ul data-svelte-h="svelte-18jm4dg"><li><strong>Loss curve</strong>: Menunjukkan perubahan error model selama langkah-langkah pelatihan atau per epoch.</li> <li><strong>Accuracy curve</strong>: Menunjukkan persentase prediksi benar selama pelatihan.</li></ul> <p data-svelte-h="svelte-1sjowng">Kurva ini membantu kita memahami apakah model sedang belajar dengan baik dan memberikan wawasan tentang perlu atau tidaknya penyesuaian strategi pelatihan. Dalam Transformers, metrik ini dihitung untuk setiap batch dan dapat divisualisasikan menggunakan alat seperti <a href="https://wandb.ai/" rel="nofollow">Weights & Biases (W&B)</a>.</p> <h3 class="relative group"><a id="loss-curves" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#loss-curves"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Kurva Loss</span></h3> <p data-svelte-h="svelte-1nj7bux">Kurva loss menunjukkan bagaimana error model menurun dari waktu ke waktu. Dalam pelatihan yang sukses, kurva biasanya terlihat seperti ini:</p> <p data-svelte-h="svelte-19mzsfl"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/1.png" alt="Kurva Loss"></p> <ul data-svelte-h="svelte-105bwla"><li><strong>Loss awal tinggi</strong>: Model belum dioptimalkan, jadi prediksi awal buruk.</li> <li><strong>Loss menurun</strong>: Seiring pelatihan, loss seharusnya menurun secara bertahap.</li> <li><strong>Konvergen</strong>: Akhirnya loss akan stabil di nilai rendah, menunjukkan model telah mempelajari pola data.</li></ul> <p data-svelte-h="svelte-nv2rrl">Contoh penggunaan <code>Trainer</code> API untuk melacak loss dan visualisasi dengan W&B:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class=""><!-- HTML_TAG_START --><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> Trainer, TrainingArguments | |
| <span class="hljs-keyword">import</span> wandb | |
| wandb.init(project=<span class="hljs-string">"transformer-fine-tuning"</span>, name=<span class="hljs-string">"bert-mrpc-analysis"</span>) | |
| training_args = TrainingArguments( | |
| output_dir=<span class="hljs-string">"./results"</span>, | |
| eval_strategy=<span class="hljs-string">"steps"</span>, | |
| eval_steps=<span class="hljs-number">50</span>, | |
| save_steps=<span class="hljs-number">100</span>, | |
| logging_steps=<span class="hljs-number">10</span>, | |
| num_train_epochs=<span class="hljs-number">3</span>, | |
| per_device_train_batch_size=<span class="hljs-number">16</span>, | |
| per_device_eval_batch_size=<span class="hljs-number">16</span>, | |
| report_to=<span class="hljs-string">"wandb"</span>, | |
| ) | |
| trainer = Trainer( | |
| model=model, | |
| args=training_args, | |
| train_dataset=tokenized_datasets[<span class="hljs-string">"train"</span>], | |
| eval_dataset=tokenized_datasets[<span class="hljs-string">"validation"</span>], | |
| data_collator=data_collator, | |
| processing_class=tokenizer, | |
| compute_metrics=compute_metrics, | |
| ) | |
| trainer.train()<!-- HTML_TAG_END --></pre></div> <h3 class="relative group"><a id="accuracy-curves" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#accuracy-curves"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Kurva Akurasi</span></h3> <p data-svelte-h="svelte-1hbmz4n">Kurva akurasi menunjukkan persentase prediksi benar dari waktu ke waktu.</p> <p data-svelte-h="svelte-17fw1tf"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/2.png" alt="Kurva Akurasi"></p> <ul data-svelte-h="svelte-56ergd"><li><strong>Mulai rendah</strong>: Akurasi awal rendah karena model belum belajar.</li> <li><strong>Meningkat</strong>: Akurasi bertambah seiring model belajar pola dalam data.</li> <li><strong>Plateau</strong>: Akurasi naik dalam lonjakan, bukan garis mulus.</li></ul> <div class="course-tip bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400"><p data-svelte-h="svelte-1rhj03s">💡 <strong>Kenapa Kurva Akurasi “Steppy”</strong>: Berbeda dari loss yang kontinu, akurasi dihitung dari prediksi diskret. Peningkatan kecil pada kepercayaan model tidak akan mengubah akurasi sampai nilai prediksi melewati ambang klasifikasi.</p></div> <h3 class="relative group"><a id="convergence" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#convergence"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Konvergensi</span></h3> <p data-svelte-h="svelte-1jla07d">Konvergensi terjadi saat performa model stabil dan kurva loss serta akurasi mendatar.</p> <p data-svelte-h="svelte-1lfdx0p"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/4.png" alt="Konvergensi"></p> <p data-svelte-h="svelte-ao3b0o">Setelah model konvergen, ia siap digunakan untuk membuat prediksi pada data baru.</p> <h2 class="relative group"><a id="interpreting-learning-curve-patterns" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#interpreting-learning-curve-patterns"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Menafsirkan Pola Kurva</span></h2> <p data-svelte-h="svelte-18onui1">Berikut bentuk-bentuk kurva umum dan artinya.</p> <h3 class="relative group"><a id="healthy-learning-curves" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#healthy-learning-curves"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Kurva Sehat</span></h3> <p data-svelte-h="svelte-1khorlm">Pelatihan yang berjalan baik biasanya menghasilkan kurva seperti berikut:</p> <p data-svelte-h="svelte-1gzqs3l"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/5.png" alt="Kurva Sehat"></p> <p data-svelte-h="svelte-nspojx">Mari kita lihat ilustrasi di atas. Gambar tersebut menampilkan kurva loss (di sebelah kiri) dan kurva akurasi yang sesuai (di sebelah kanan). Kedua kurva ini memiliki karakteristik yang berbeda.</p> <p data-svelte-h="svelte-1gu05t5">Kurva loss menunjukkan nilai loss model seiring waktu. Awalnya, nilai loss tinggi lalu secara bertahap menurun, yang menunjukkan bahwa model mengalami peningkatan. Penurunan nilai loss mengindikasikan bahwa model membuat prediksi yang lebih baik, karena loss merepresentasikan kesalahan antara output yang diprediksi dan output sebenarnya.</p> <p data-svelte-h="svelte-137ou4">Sekarang mari kita alihkan fokus ke kurva akurasi. Kurva ini merepresentasikan akurasi model seiring waktu. Kurva akurasi dimulai dari nilai yang rendah dan meningkat seiring pelatihan berlangsung. Akurasi mengukur proporsi instance yang diklasifikasikan dengan benar. Jadi, saat kurva akurasi naik, ini menandakan bahwa model membuat lebih banyak prediksi yang benar.</p> <p data-svelte-h="svelte-1gsffjs">Satu perbedaan mencolok antara kedua kurva adalah kelancaran dan keberadaan “dataran tinggi” (plateau) pada kurva akurasi. Sementara loss menurun secara halus, dataran tinggi pada kurva akurasi menunjukkan lonjakan diskrit dalam akurasi alih-alih peningkatan yang kontinu. Perilaku ini disebabkan oleh cara pengukuran akurasi. Loss bisa membaik jika output model semakin mendekati target, bahkan jika prediksi akhirnya masih salah. Namun, akurasi hanya meningkat ketika prediksi melampaui ambang batas dan menjadi benar.</p> <p data-svelte-h="svelte-1tn4tu5">Sebagai contoh, dalam kasus klasifikasi biner yang membedakan kucing (0) dan anjing (1), jika model memprediksi 0,3 untuk gambar anjing (nilai sebenarnya 1), ini dibulatkan menjadi 0 dan merupakan klasifikasi yang salah. Jika pada langkah berikutnya model memprediksi 0,4, ini tetap salah. Nilai loss akan menurun karena 0,4 lebih dekat ke 1 dibandingkan 0,3, tetapi akurasi tetap tidak berubah, menciptakan dataran tinggi. Akurasi hanya akan naik ketika model memprediksi nilai lebih dari 0,5 yang dibulatkan menjadi 1.</p> <div class="course-tip bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400"><p data-svelte-h="svelte-1ws2p7n"><strong>Karakteristik kurva yang sehat:</strong></p> <ul data-svelte-h="svelte-4rdt8f"><li><strong>Penurunan loss yang halus</strong>: Baik loss pelatihan maupun validasi menurun secara stabil</li> <li><strong>Performa pelatihan/validasi yang serupa</strong>: Perbedaan kecil antara metrik pelatihan dan validasi</li> <li><strong>Konvergensi</strong>: Kurva mulai mendatar, menandakan model telah mempelajari pola-pola</li></ul></div> <h3 class="relative group"><a id="practical-examples" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#practical-examples"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Contoh Praktis</span></h3> <p data-svelte-h="svelte-1h66qz6">Mari kita bahas beberapa contoh praktis dari kurva pembelajaran. Pertama, kita akan menyoroti beberapa pendekatan untuk memantau kurva pembelajaran selama pelatihan. Di bawah ini, kita akan menguraikan berbagai pola yang dapat diamati dalam kurva pembelajaran.</p> <h4 class="relative group"><a id="during-training" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#during-training"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Selama Pelatihan</span></h4> <p data-svelte-h="svelte-1yqstqg">Selama proses pelatihan (setelah Anda menjalankan <code>trainer.train()</code>), Anda dapat memantau indikator-indikator utama berikut:</p> <ol data-svelte-h="svelte-1ebz1ap"><li><strong>Konvergensi loss</strong>: Apakah nilai loss masih menurun atau sudah mendatar?</li> <li><strong>Tanda-tanda overfitting</strong>: Apakah loss validasi mulai meningkat sementara loss pelatihan menurun?</li> <li><strong>Learning rate</strong>: Apakah kurvanya terlalu liar (learning rate terlalu tinggi) atau terlalu datar (learning rate terlalu rendah)?</li> <li><strong>Stabilitas</strong>: Apakah ada lonjakan atau penurunan tiba-tiba yang menandakan adanya masalah?</li></ol> <h4 class="relative group"><a id="after-training" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#after-training"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Setelah Pelatihan</span></h4> <p data-svelte-h="svelte-18gcntk">Setelah proses pelatihan selesai, Anda dapat menganalisis keseluruhan kurva untuk memahami performa model.</p> <ol data-svelte-h="svelte-3ebahs"><li><strong>Performa akhir</strong>: Apakah model mencapai tingkat performa yang dapat diterima?</li> <li><strong>Efisiensi</strong>: Apakah performa yang sama bisa dicapai dengan jumlah epoch yang lebih sedikit?</li> <li><strong>Generalisasi</strong>: Seberapa dekat performa pelatihan dan validasi?</li> <li><strong>Tren</strong>: Apakah pelatihan tambahan kemungkinan akan meningkatkan performa?</li></ol> <div class="course-tip bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400"><p data-svelte-h="svelte-14yslit">🔍 <strong>Fitur Dashboard W&B</strong>: Weights & Biases secara otomatis membuat plot interaktif dan menarik dari kurva pembelajaran Anda. Anda dapat:</p> <ul data-svelte-h="svelte-4228ee"><li>Membandingkan beberapa percobaan secara berdampingan</li> <li>Menambahkan metrik dan visualisasi kustom</li> <li>Menyiapkan notifikasi untuk perilaku anomali</li> <li>Membagikan hasil kepada tim Anda</li></ul> <p data-svelte-h="svelte-ftgzdf">Pelajari lebih lanjut di <a href="https://docs.wandb.ai/" rel="nofollow">dokumentasi Weights & Biases</a>.</p></div> <h4 class="relative group"><a id="overfitting" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#overfitting"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Overfitting</span></h4> <p data-svelte-h="svelte-7d7zy8">Overfitting terjadi ketika model terlalu banyak mempelajari data pelatihan sehingga tidak mampu melakukan generalisasi ke data lain (yang direpresentasikan oleh set validasi).</p> <p data-svelte-h="svelte-281ynk"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/10.png" alt="Overfitting"></p> <p data-svelte-h="svelte-m4ovat"><strong>Gejala:</strong></p> <ul data-svelte-h="svelte-1g3qvq5"><li>Loss pelatihan terus menurun sementara loss validasi meningkat atau mendatar</li> <li>Terdapat celah besar antara akurasi pelatihan dan validasi</li> <li>Akurasi pelatihan jauh lebih tinggi daripada akurasi validasi</li></ul> <p data-svelte-h="svelte-133hkxk"><strong>Solusi untuk overfitting:</strong></p> <ul data-svelte-h="svelte-xy8fmd"><li><strong>Regularisasi</strong>: Tambahkan dropout, weight decay, atau teknik regularisasi lainnya</li> <li><strong>Early stopping</strong>: Hentikan pelatihan saat performa validasi tidak lagi membaik</li> <li><strong>Augmentasi data</strong>: Tingkatkan keragaman data pelatihan</li> <li><strong>Kurangi kompleksitas model</strong>: Gunakan model yang lebih kecil atau dengan parameter lebih sedikit</li></ul> <p data-svelte-h="svelte-1vr0yrv">Contoh berikut menggunakan <em>early stopping</em> untuk mencegah overfitting. Kita menetapkan <code>early_stopping_patience</code> ke 3, artinya jika loss validasi tidak membaik selama 3 epoch berturut-turut, pelatihan akan dihentikan.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class=""><!-- HTML_TAG_START --><span class="hljs-comment"># Contoh deteksi overfitting dengan early stopping</span> | |
| <span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> EarlyStoppingCallback | |
| training_args = TrainingArguments( | |
| output_dir=<span class="hljs-string">"./results"</span>, | |
| eval_strategy=<span class="hljs-string">"steps"</span>, | |
| eval_steps=<span class="hljs-number">100</span>, | |
| save_strategy=<span class="hljs-string">"steps"</span>, | |
| save_steps=<span class="hljs-number">100</span>, | |
| load_best_model_at_end=<span class="hljs-literal">True</span>, | |
| metric_for_best_model=<span class="hljs-string">"eval_loss"</span>, | |
| greater_is_better=<span class="hljs-literal">False</span>, | |
| num_train_epochs=<span class="hljs-number">10</span>, <span class="hljs-comment"># Disetel tinggi, tapi akan dihentikan lebih awal</span> | |
| ) | |
| <span class="hljs-comment"># Tambahkan early stopping untuk mencegah overfitting</span> | |
| trainer = Trainer( | |
| model=model, | |
| args=training_args, | |
| train_dataset=tokenized_datasets[<span class="hljs-string">"train"</span>], | |
| eval_dataset=tokenized_datasets[<span class="hljs-string">"validation"</span>], | |
| data_collator=data_collator, | |
| processing_class=tokenizer, | |
| compute_metrics=compute_metrics, | |
| callbacks=[EarlyStoppingCallback(early_stopping_patience=<span class="hljs-number">3</span>)], | |
| )<!-- HTML_TAG_END --></pre></div> <h4 class="relative group"><a id="underfitting" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#underfitting"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>2. Underfitting</span></h4> <p data-svelte-h="svelte-13cne4j"><strong>Underfitting</strong> terjadi ketika model terlalu sederhana untuk menangkap pola yang mendasari dalam data. Hal ini bisa terjadi karena beberapa alasan:</p> <ul data-svelte-h="svelte-1xlq9g2"><li>Model terlalu kecil atau tidak memiliki kapasitas untuk mempelajari pola</li> <li>Learning rate terlalu rendah, menyebabkan proses belajar menjadi lambat</li> <li>Dataset terlalu kecil atau tidak representatif terhadap masalah</li> <li>Model tidak di-regularisasi dengan baik</li></ul> <p data-svelte-h="svelte-clpn9k"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/7.png" alt="Underfitting"></p> <p data-svelte-h="svelte-m4ovat"><strong>Gejala:</strong></p> <ul data-svelte-h="svelte-1fyluzm"><li>Baik loss pelatihan maupun validasi tetap tinggi</li> <li>Performa model stagnan sejak awal pelatihan</li> <li>Akurasi pelatihan lebih rendah dari yang diharapkan</li></ul> <p data-svelte-h="svelte-8xqu2u"><strong>Solusi untuk underfitting:</strong></p> <ul data-svelte-h="svelte-1tjupgv"><li><strong>Tingkatkan kapasitas model</strong>: Gunakan model yang lebih besar atau tambahkan parameter</li> <li><strong>Latih lebih lama</strong>: Tambah jumlah epoch</li> <li><strong>Sesuaikan learning rate</strong>: Coba berbagai nilai learning rate</li> <li><strong>Periksa kualitas data</strong>: Pastikan data telah diproses dengan baik</li></ul> <p data-svelte-h="svelte-vg0ubf">Pada contoh di bawah, kita melatih lebih banyak epoch untuk melihat apakah model dapat mempelajari pola dalam data.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class=""><!-- HTML_TAG_START --><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TrainingArguments | |
| training_args = TrainingArguments( | |
| output_dir=<span class="hljs-string">"./results"</span>, | |
| -num_train_epochs=<span class="hljs-number">5</span>, | |
| +num_train_epochs=<span class="hljs-number">10</span>, | |
| )<!-- HTML_TAG_END --></pre></div> <h4 class="relative group"><a id="erratic-learning-curves" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#erratic-learning-curves"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>3. Kurva Pembelajaran Tidak Stabil</span></h4> <p data-svelte-h="svelte-19kxuni">Kurva pembelajaran yang tidak stabil terjadi ketika model tidak belajar secara efektif. Ini bisa disebabkan oleh beberapa faktor:</p> <ul data-svelte-h="svelte-swr7dt"><li>Learning rate terlalu tinggi, menyebabkan model melewati parameter optimal</li> <li>Ukuran batch terlalu kecil, menyebabkan pembelajaran menjadi lambat</li> <li>Model tidak di-regularisasi dengan baik, menyebabkan overfitting pada data pelatihan</li> <li>Dataset tidak diproses dengan baik, menyebabkan model belajar dari noise</li></ul> <p data-svelte-h="svelte-1nvkivp"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/3.png" alt="Erratic Learning Curves"></p> <p data-svelte-h="svelte-m4ovat"><strong>Gejala:</strong></p> <ul data-svelte-h="svelte-yogwc7"><li>Fluktuasi yang sering pada nilai loss atau akurasi</li> <li>Kurva menunjukkan variansi tinggi atau ketidakstabilan</li> <li>Performa naik-turun tanpa tren yang jelas</li></ul> <p data-svelte-h="svelte-11fpqek">Baik kurva pelatihan maupun validasi menunjukkan perilaku yang tidak stabil.</p> <p data-svelte-h="svelte-19tpia7"><img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter3/9.png" alt="Erratic Learning Curves"></p> <p data-svelte-h="svelte-sfudfo"><strong>Solusi untuk kurva tidak stabil:</strong></p> <ul data-svelte-h="svelte-nqjy52"><li><strong>Turunkan learning rate</strong>: Kurangi langkah pembelajaran untuk pelatihan yang lebih stabil</li> <li><strong>Perbesar batch size</strong>: Batch yang lebih besar memberikan gradien yang lebih stabil</li> <li><strong>Gradient clipping</strong>: Mencegah gradien meledak</li> <li><strong>Preprocessing data yang lebih baik</strong>: Pastikan kualitas data konsisten</li></ul> <p data-svelte-h="svelte-1rwgupf">Pada contoh di bawah, kita menurunkan learning rate dan memperbesar batch size.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class=""><!-- HTML_TAG_START --><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> TrainingArguments | |
| training_args = TrainingArguments( | |
| output_dir=<span class="hljs-string">"./results"</span>, | |
| -learning_rate=<span class="hljs-number">1e-5</span>, | |
| +learning_rate=<span class="hljs-number">1e-4</span>, | |
| -per_device_train_batch_size=<span class="hljs-number">16</span>, | |
| +per_device_train_batch_size=<span class="hljs-number">32</span>, | |
| )<!-- HTML_TAG_END --></pre></div> <h2 class="relative group"><a id="key-takeaways" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#key-takeaways"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Poin-Poin Penting</span></h2> <p data-svelte-h="svelte-1lomtv9">Memahami kurva pembelajaran sangat penting untuk menjadi praktisi machine learning yang efektif. Alat visual ini memberikan umpan balik langsung tentang kemajuan pelatihan model dan membantu Anda membuat keputusan yang tepat kapan harus menghentikan pelatihan, menyesuaikan hyperparameter, atau mencoba pendekatan berbeda. Dengan latihan, Anda akan mengembangkan intuisi tentang seperti apa kurva pembelajaran yang sehat dan cara mengatasi masalah yang muncul.</p> <div class="course-tip bg-gradient-to-br dark:bg-gradient-to-r before:border-green-500 dark:before:border-green-800 from-green-50 dark:from-gray-900 to-white dark:to-gray-950 border border-green-50 text-green-700 dark:text-gray-400"><p data-svelte-h="svelte-16w77kz">💡 <strong>Poin-Poin Penting:</strong></p> <ul data-svelte-h="svelte-oidgig"><li>Kurva pembelajaran adalah alat penting untuk memahami kemajuan pelatihan model</li> <li>Pantau baik kurva loss maupun akurasi, namun pahami bahwa keduanya memiliki karakteristik berbeda</li> <li>Overfitting ditunjukkan oleh performa pelatihan/validasi yang menyimpang</li> <li>Underfitting ditunjukkan oleh performa buruk di data pelatihan dan validasi</li> <li>Alat seperti Weights & Biases mempermudah pelacakan dan analisis kurva pembelajaran</li> <li>Early stopping dan regularisasi yang tepat bisa mengatasi sebagian besar masalah pelatihan umum</li></ul> <p data-svelte-h="svelte-1z0v0n5">🔬 <strong>Langkah Selanjutnya</strong>: Latih kemampuan Anda dalam menganalisis kurva pembelajaran lewat eksperimen fine-tuning Anda sendiri. Coba berbagai hyperparameter dan amati bagaimana bentuk kurva berubah. Pengalaman langsung adalah cara terbaik untuk mengembangkan intuisi dalam membaca kemajuan pelatihan.</p></div> <h2 class="relative group"><a id="section-quiz" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#section-quiz"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Kuis Bagian</span></h2> <p data-svelte-h="svelte-eaenif">Uji pemahaman Anda tentang kurva pembelajaran dan analisis pelatihan:</p> <h3 class="relative group"><a id="1-apa-arti-umum-ketika-loss-pelatihan-menurun-tapi-loss-validasi-mulai-meningkat" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#1-apa-arti-umum-ketika-loss-pelatihan-menurun-tapi-loss-validasi-mulai-meningkat"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>1. Apa arti umum ketika loss pelatihan menurun tapi loss validasi mulai meningkat?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Model belajar dengan baik dan akan terus meningkat.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Model mengalami overfitting terhadap data pelatihan.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Learning rate terlalu rendah.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="3"> <!-- HTML_TAG_START -->Dataset terlalu kecil.<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="2-mengapa-kurva-akurasi-sering-menunjukkan-pola-bertingkat-atau-seperti-dataran-tinggi-daripada-peningkatan-yang-halus" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#2-mengapa-kurva-akurasi-sering-menunjukkan-pola-bertingkat-atau-seperti-dataran-tinggi-daripada-peningkatan-yang-halus"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>2. Mengapa kurva akurasi sering menunjukkan pola bertingkat atau seperti dataran tinggi daripada peningkatan yang halus?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Ada kesalahan dalam perhitungan akurasi.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Akurasi adalah metrik diskrit yang hanya berubah saat prediksi melewati batas keputusan.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Model tidak belajar dengan efektif.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="3"> <!-- HTML_TAG_START -->Batch size terlalu kecil.<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="3-apa-pendekatan-terbaik-ketika-anda-mengamati-kurva-pembelajaran-yang-tidak-stabil-dan-sangat-berfluktuasi" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#3-apa-pendekatan-terbaik-ketika-anda-mengamati-kurva-pembelajaran-yang-tidak-stabil-dan-sangat-berfluktuasi"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>3. Apa pendekatan terbaik ketika Anda mengamati kurva pembelajaran yang tidak stabil dan sangat berfluktuasi?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Tingkatkan learning rate untuk mempercepat konvergensi.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Kurangi learning rate dan mungkin tingkatkan batch size.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Hentikan pelatihan segera karena model tidak akan membaik.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="3"> <!-- HTML_TAG_START -->Ganti seluruh arsitektur model.<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="4-kapan-anda-harus-mempertimbangkan-penggunaan-early-stopping-" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#4-kapan-anda-harus-mempertimbangkan-penggunaan-early-stopping-"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>4. Kapan Anda harus mempertimbangkan penggunaan early stopping ?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Selalu, karena mencegah segala bentuk overfitting.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Ketika performa validasi berhenti membaik atau mulai menurun.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Hanya saat *training loss* masih menurun dengan cepat.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="3"> <!-- HTML_TAG_START -->Tidak pernah, karena mencegah model mencapai potensinya.<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <h3 class="relative group"><a id="5-apa-yang-menunjukkan-bahwa-model-anda-mungkin-mengalami-underfitting-" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#5-apa-yang-menunjukkan-bahwa-model-anda-mungkin-mengalami-underfitting-"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>5. Apa yang menunjukkan bahwa model Anda mungkin mengalami underfitting ?</span></h3> <div><form><label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="0"> <!-- HTML_TAG_START -->Akurasi pelatihan jauh lebih tinggi daripada akurasi validasi.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="1"> <!-- HTML_TAG_START -->Performa pelatihan dan validasi sama-sama buruk dan mendatar sejak awal.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="2"> <!-- HTML_TAG_START -->Kurva pembelajaran sangat halus tanpa fluktuasi.<!-- HTML_TAG_END --></label> <label class="block"><input autocomplete="off" class="form-input -mt-1.5 mr-2" name="choice" type="checkbox" value="3"> <!-- HTML_TAG_START -->Loss validasi menurun lebih cepat dari loss pelatihan.<!-- HTML_TAG_END --></label> <div class="flex flex-row items-center mt-3"><button class="btn px-4 mr-4" type="submit" disabled>Submit</button> </div></form></div> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/course/blob/main/chapters/id/chapter3/5.mdx" target="_blank"><span data-svelte-h="svelte-1kd6by1"><</span> <span data-svelte-h="svelte-x0xyl0">></span> <span data-svelte-h="svelte-1dajgef"><span class="underline ml-1.5">Update</span> on GitHub</span></a> <p></p> | |
| <script> | |
| { | |
| __sveltekit_ojy514 = { | |
| assets: "/docs/course/pr_1054/id", | |
| base: "/docs/course/pr_1054/id", | |
| env: {} | |
| }; | |
| const element = document.currentScript.parentElement; | |
| const data = [null,null]; | |
| Promise.all([ | |
| import("/docs/course/pr_1054/id/_app/immutable/entry/start.4f92af03.js"), | |
| import("/docs/course/pr_1054/id/_app/immutable/entry/app.19cef1b6.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 27], | |
| data, | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 64.4 kB
- Xet hash:
- 6c1f3cee790e4e6a9b97481bfb79ca050f34c78dbefa6ba6de12d4ae120a225a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.