#
Pengantar

##
Selamat Datang di Kursus 🤗!

Kursus ini akan mengajarkan Anda tentang model bahasa besar (LLM) dan pemrosesan bahasa alami (NLP) menggunakan modul dari ekosistem Hugging Face — 🤗 Transformers, 🤗 Datasets, 🤗 Tokenizers, dan 🤗 Accelerate — serta Hugging Face Hub.

Kami juga akan membahas modul dari luar ekosistem Hugging Face. Semua ini merupakan kontribusi luar biasa bagi komunitas AI dan alat yang sangat bermanfaat.

Kursus ini sepenuhnya gratis dan tanpa iklan.

##
Memahami NLP dan LLM

Meskipun kursus ini awalnya berfokus pada NLP (Natural Language Processing), kini berkembang untuk lebih menekankan pada Model Bahasa Besar (LLM), yang merupakan kemajuan terbaru di bidang ini.

Apa bedanya?

- NLP (Pemrosesan Bahasa Alami) adalah bidang luas yang berfokus pada memungkinkan komputer untuk memahami, menafsirkan, dan menghasilkan bahasa manusia. NLP mencakup berbagai teknik dan tugas seperti analisis sentimen, pengenalan entitas bernama, dan terjemahan mesin.
- LLM (Large Language Models) adalah subset NLP yang kuat, dicirikan oleh ukuran besar, data pelatihan yang luas, dan kemampuannya untuk menyelesaikan berbagai tugas bahasa dengan pelatihan khusus minimal. Model seperti Llama, GPT, atau Claude merupakan contoh LLM yang telah merevolusi apa yang mungkin dilakukan dalam NLP.

Sepanjang kursus ini, Anda akan mempelajari konsep-konsep NLP tradisional dan teknik-teknik mutakhir LLM, karena pemahaman dasar NLP sangat penting untuk bekerja secara efektif dengan LLM.

##
Apa yang Diharapkan?

Berikut ini gambaran singkat dari kursus:

- Bab 1–4 memberikan pengantar tentang konsep utama dari modul 🤗 Transformers. Di akhir bagian ini, Anda akan memahami cara kerja model Transformer, cara menggunakan model dari Hugging Face Hub, melakukan fine-tuning terhadap dataset, dan membagikan hasilnya ke Hub!
- Bab 5–8 mengajarkan dasar-dasar dari 🤗 Datasets dan 🤗 Tokenizers, sebelum menyelami tugas-tugas NLP klasik dan teknik LLM. Di akhir bagian ini, Anda akan dapat mengatasi berbagai tantangan pemrosesan bahasa secara mandiri.
- Bab 9 membahas lebih dari sekadar NLP — Anda akan belajar membuat dan membagikan demo model di 🤗 Hub. Pada akhir bagian ini, Anda siap memamerkan aplikasi 🤗 Transformers Anda ke dunia!
- Bab 10–12 menyelami topik LLM lanjutan seperti fine-tuning, kurasi dataset berkualitas tinggi, dan membangun model reasoning.

Kursus ini:

- Membutuhkan pengetahuan yang baik tentang Python
- Sebaiknya diikuti setelah kursus pembelajaran mendalam dasar, seperti Practical Deep Learning for Coders dari fast.ai atau salah satu program dari DeepLearning.AI
- Tidak mengharuskan Anda menguasai PyTorch atau TensorFlow, namun sedikit pemahaman akan membantu

Setelah menyelesaikan kursus ini, kami merekomendasikan Natural Language Processing Specialization dari DeepLearning.AI, yang membahas berbagai model NLP tradisional seperti naive Bayes dan LSTM.

##
Siapa Kami?

Tentang Para Penulis

Abubakar Abid menyelesaikan gelar PhD-nya di Stanford dalam bidang machine learning terapan. Selama masa studi PhD-nya, ia mendirikan Gradio, sebuah modul Python open-source yang telah digunakan untuk membangun lebih dari 600.000 demo machine learning. Gradio kemudian diakuisisi oleh Hugging Face, tempat Abubakar kini menjabat sebagai pemimpin tim machine learning.

Ben Burtenshaw adalah seorang Machine Learning Engineer di Hugging Face. Ia menyelesaikan PhD-nya di bidang Natural Language Processing di Universitas Antwerp, di mana ia menggunakan model Transformer untuk menghasilkan cerita anak-anak dengan tujuan meningkatkan kemampuan literasi. Sejak saat itu, ia fokus mengembangkan materi dan alat edukasi untuk komunitas yang lebih luas.

Matthew Carrigan adalah Machine Learning Engineer di Hugging Face. Ia tinggal di Dublin, Irlandia dan sebelumnya bekerja sebagai ML engineer di Parse.ly serta sebagai peneliti pascadoktoral di Trinity College Dublin. Ia tidak percaya bahwa AGI akan tercapai hanya dengan meningkatkan skala arsitektur yang ada, tetapi tetap memiliki harapan besar pada keabadian robot.

Lysandre Debut adalah Machine Learning Engineer di Hugging Face dan telah bekerja pada modul 🤗 Transformers sejak tahap awal pengembangannya. Tujuannya adalah membuat NLP dapat diakses oleh semua orang melalui pengembangan alat dengan API yang sangat sederhana.

Sylvain Gugger adalah Research Engineer di Hugging Face dan salah satu pemelihara utama modul 🤗 Transformers. Sebelumnya, ia adalah Research Scientist di fast.ai, dan ia turut menulis buku Deep Learning for Coders with fastai and PyTorch bersama Jeremy Howard. Fokus utama penelitiannya adalah membuat deep learning lebih mudah diakses dengan merancang dan menyempurnakan teknik-teknik yang memungkinkan pelatihan model secara cepat dengan sumber daya terbatas.

Dawood Khan adalah Machine Learning Engineer di Hugging Face. Ia berasal dari NYC dan lulus dari New York University di bidang Ilmu Komputer. Setelah beberapa tahun bekerja sebagai iOS Engineer, Dawood memutuskan untuk keluar dan mendirikan Gradio bersama rekan-rekannya. Gradio akhirnya diakuisisi oleh Hugging Face.

Merve Noyan adalah developer advocate di Hugging Face. Ia fokus pada pengembangan alat dan pembuatan konten edukatif untuk mendemokratisasi machine learning bagi semua orang.

Lucile Saulnier adalah Machine Learning Engineer di Hugging Face yang mengembangkan dan mendukung penggunaan alat open-source. Ia juga aktif dalam berbagai proyek riset di bidang NLP, seperti pelatihan kolaboratif dan BigScience.

Lewis Tunstall adalah Machine Learning Engineer di Hugging Face yang fokus pada pengembangan alat open-source dan memastikan alat-alat tersebut dapat diakses oleh komunitas yang lebih luas. Ia juga merupakan salah satu penulis buku dari O’Reilly berjudul Natural Language Processing with Transformers.

Leandro von Werra adalah Machine Learning Engineer di tim open-source Hugging Face dan juga salah satu penulis buku O’Reilly Natural Language Processing with Transformers. Ia memiliki pengalaman industri selama beberapa tahun dalam membawa proyek NLP ke produksi dengan bekerja di seluruh lapisan stack machine learning.

##
FAQ

Beberapa pertanyaan yang sering diajukan:

- Apakah kursus ini memberikan sertifikasi?
  Saat ini belum tersedia, namun kami sedang mengembangkan program sertifikasi untuk ekosistem Hugging Face.

- Berapa lama waktu yang dibutuhkan?
  Setiap bab dirancang untuk diselesaikan dalam waktu seminggu, dengan alokasi sekitar 6–8 jam. Tapi Anda bisa menyelesaikannya sesuai waktu luang.

- Di mana saya bisa bertanya?
  Klik tombol ”Ask a question” di atas halaman kursus untuk diarahkan langsung ke bagian yang sesuai di forum Hugging Face.

- Di mana saya bisa mendapatkan kode kursus?
  Klik banner di atas bagian kursus untuk menjalankan notebook di Google Colab atau Amazon SageMaker Studio Lab.

  Semua notebook juga tersedia di repo `huggingface/notebooks`. Untuk menjalankan secara lokal, lihat panduan di repo `course`.

- Bagaimana saya bisa berkontribusi?
  Temukan typo atau bug? Buat issue di repo `course`. Ingin bantu menerjemahkan kursus ini? Ikuti panduan di sini.

- Apa saja pertimbangan dalam terjemahan?
  Setiap terjemahan memiliki glosarium dan file `TRANSLATING.txt` yang mendokumentasikan pilihan istilah teknis. Contoh: bahasa Jerman.

- Bisakah saya menggunakan ulang materi ini?
  Tentu! Kursus ini dirilis di bawah lisensi Apache 2. Berikan atribusi yang sesuai dan tautan ke lisensi. Bila ingin mengutip, gunakan BibTeX berikut:

    @misc{huggingfacecourse,
      author = {Hugging Face},
      title = {The Hugging Face Course, 2022},
      howpublished = "\url{https://huggingface.co/course}",
      year = {2022},
      note = "[Online; accessed <today>]"
    }

##
Bahasa dan Terjemahan

Kursus ini tersedia dalam banyak bahasa berkat kontribusi komunitas ❤️. Cek halaman ini untuk melihat semua bahasa yang tersedia.

Language | Authors
--- | ---
French | @lbourdois, @ChainYo, @melaniedrevet, @abdouaziz
Vietnamese | @honghanhh
Chinese (simplified) | @zhlhyx, petrichor1122, @yaoqih
Bengali (WIP) | @avishek-018, @eNipu
German (WIP) | @JesperDramsch, @MarcusFra, @fabridamicelli
Spanish (WIP) | @camartinezbu, @munozariasjm, @fordaz
Persian (WIP) | @jowharshamshiri, @schoobani
Gujarati (WIP) | @pandyaved98
Hebrew (WIP) | @omer-dor
Hindi (WIP) | @pandyaved98
Bahasa Indonesia (WIP) | @gstdl, @Vo
Italian (WIP) | @CaterinaBi, @ClonedOne, @Nolanogenn, @EdAbati, @gdacciaro
Japanese (WIP) | @hiromu166, @younesbelkada, @HiromuHota
Korean (WIP) | @Doohae, @wonhyeongseo, @dlfrnaos19
Portuguese (WIP) | @johnnv1, @victorescosta, @LincolnVS
Russian (WIP) | @pdumin, @svv73
Thai (WIP) | @peeraponw, @a-krirk, @jomariya23156, @ckingkan
Turkish (WIP) | @tanersekmen, @mertbozkir, @ftarlaci, @akkasayaz
Chinese (traditional) (WIP) | @davidpeng86

Untuk beberapa bahasa, video kursus di YouTube tersedia dengan subtitle. Klik tombol CC lalu pilih bahasa di menu pengaturan.

Tidak menemukan bahasa Anda atau ingin membantu terjemahan? Lihat panduan kontribusi di sini.

##
Ayo Mulai 🚀

Siap? Di bab ini Anda akan belajar:

- Cara menggunakan fungsi `pipeline()` untuk menyelesaikan tugas NLP seperti klasifikasi teks dan generasi teks
- Tentang arsitektur Transformer
- Cara membedakan arsitektur encoder, decoder, dan encoder-decoder serta penggunaannya

< > Update on GitHub