You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Panduan Hands-On: Pemrosesan Bahasa Alami Berbasis Transformer
Mata kuliah: Pemrosesan Bahasa Alami Berbasis Transformer Program studi: Sains Data Fakultas: Sains Institusi: Institut Teknologi Sumatera (Itera)
Repositori ini digunakan sebagai laboratorium praktikum untuk mempelajari berbagai tugas NLP dengan implementasi PyTorch, dengan penekanan pada arsitektur Transformer dan turunannya (BERT, GPT, seq2seq Transformer, dan sejenisnya).
Kredit dan sumber
Kode dan struktur proyek diambil dari repositori open source berikut:
shawroad/NLP_pytorch_project
Koleksi implementasi PyTorch untuk embedding, klasifikasi teks, NER, NMT, generasi teks, chatbot, distilasi model, dan tugas NLP lainnya.
README asli (bahasa Mandarin) disimpan di README-old.md sebagai referensi. Panduan ini adalah adaptasi hands-on dalam Bahasa Indonesia khusus untuk keperluan mata kuliah di Itera, tanpa mengubah hak cipta kode sumber.
Setelah menyelesaikan praktikum di repositori ini, mahasiswa diharapkan mampu:
Menjelaskan alur kerja umum NLP: data → representasi → model → latih → evaluasi → inferensi.
Mengimplementasikan dan menjalankan model berbasis self-attention / Transformer pada tugas klasifikasi, pelabelan urutan, terjemahan, dan generasi.
Membandingkan pendekatan pra-pelatihan + fine-tuning (mis. BERT) dengan model yang dilatih dari awal atau arsitektur klasik (CNN, BiLSTM).
Membaca struktur kode per modul dan menyesuaikan hyperparameter, data, serta skrip latih.
Persiapan lingkungan
Perangkat lunak
Komponen
Rekomendasi
Python
3.8 – 3.10
PyTorch
Sesuai CUDA/CPU mesin Anda
GPU
Disarankan untuk modul BERT, GPT, NMT Transformer
Instalasi dasar
# Buat lingkungan virtual (opsional tetapi disarankan)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate# Dependensi umum (sesuaikan versi jika diperlukan)
pip install torch torchvision torchaudio
pip install transformers numpy pandas scikit-learn tqdm
Catatan: Setiap subfolder dapat membutuhkan paket tambahan (mis. crf, nlpcda, jieba). Baca komentar di awal skrip train.py atau file readme.txt / readme.md di folder modul yang dipilih.
Struktur repositori
Setiap modul utama memiliki README.md panduan hands-on (Bahasa Indonesia). Nama folder di bawah ini adalah path aktual di repositori.
Anda bebas menyesuaikan urutan dengan silabus dosen pengampu.
Daftar modul dan perintah
Di bawah ini, setiap entri menjelaskan tujuan modul dan perintah utama. Jalankan perintah dari direktori modul yang bersangkutan, kecuali dinyatakan lain.
Chatbot
Modul
Deskripsi
Perintah
Bert_chatbot
Chatbot gaya UniLM dengan BERT
python train.py → python infernece.py
seq2seq_luong
Encoder 2×GRU, decoder 1×GRU + Luong attention
python train.py → python inference.py
transformer_chatbot
Chatbot Transformer standar; data contoh: Qingyun dialogue
Mulai dari modul kecil — misalnya Embedding/001-skipgram-word2vec.py atau Text_Classification/001-TextCNN.py sebelum BERT penuh.
Perhatikan path data — banyak error berasal dari path relatif; pastikan working directory benar (contoh: cd Neural-Machine-Translation/Transformers_NMT).
GPU memori — kurangi batch_size di file config jika terjadi OOM.
Bahasa data — sebagian besar contoh menggunakan teks Mandarin; untuk tugas Indonesia, siapkan korpus sendiri dan sesuaikan tokenizer (mis. multilingual BERT atau model Indonesia).
Versi library — repositori asli dari 2023; jika transformers versi terbaru menimbulkan error API, catat versi yang berhasil di laporan.